32 double TAU_delay_sec = 1.8,
double CMD_delay_sec = 0.)
53 "Wrong vehicle kinematic class, expected " 54 "`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...
CVehicleVelCmd_DiffDriven kinematic_cmd_t
double cTAU
The time-constants for the first order low-pass filter for the velocities changes.
double Command_Time
Dynamic limitations of the robot.
Virtual base for velocity commands of different kinematic models of planar mobile robot...
CVehicleSimul_DiffDriven()
~CVehicleSimul_DiffDriven() override
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...
#define ASSERTMSG_(f, __ERROR_MSG)
Defines an assertion mechanism.
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...
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.