34 double TAU_delay_sec = 1.8,
double CMD_delay_sec = 0.)
56 "Wrong vehicle kinematic class, expected " 57 "`CVehicleVelCmd_DiffDriven`");
double cDELAY
The delay constant for the velocities changes.
double m_v
lin & angular velocity in the robot local frame.
This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile...
virtual ~CVehicleSimul_DiffDriven()
double cTAU
The time-constants for the first order low-pass filter for the velocities changes.
double Command_Time
Dynamic limitations of the robot.
GLubyte GLubyte GLubyte GLubyte w
Virtual base for velocity commands of different kinematic models of planar mobile robot...
CVehicleSimul_DiffDriven()
void movementCommand(double lin_vel, double ang_vel)
Used to command the robot a desired movement:
Simulates the kinematics of a differential-driven planar mobile robot/vehicle, including odometry err...
double ang_vel
Angular velocity (rad/s)
CVehicleVelCmd_DiffDriven kinematic_cmd_t
double lin_vel
Linear velocity (m/s)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
void internal_clear() override
Resets all pending cmds.
void setDelayModelParams(double TAU_delay_sec=1.8, double CMD_delay_sec=0.)
Change the model of delays used for the orders sent to the robot.
std::shared_ptr< CVehicleVelCmd > Ptr
CVehicleVelCmd::Ptr getVelCmdType() const override
Gets an empty velocity command object that can be queried to find out the number of velcmd components...
#define ASSERTMSG_(f, __ERROR_MSG)
Kinematic model for Ackermann-like or differential-driven vehicles.
void internal_simulControlStep(const double dt) override
void sendVelCmd(const CVehicleVelCmd &cmd_vel) override
Sends a velocity command to the robot.