class mrpt::kinematics::CVehicleSimul_DiffDriven
Python API: mrpt.kinematics.CVehicleSimul_DiffDriven
Overview
Simulates the kinematics of a differential-driven planar mobile robot/vehicle, including odometry errors and dynamics limitations.
#include <mrpt/kinematics/CVehicleSimul_DiffDriven.h> class CVehicleSimul_DiffDriven: public mrpt::kinematics::CVehicleSimulVirtualBase { public: // typedefs typedef CVehicleVelCmd_DiffDriven kinematic_cmd_t; // construction CVehicleSimul_DiffDriven(); // methods void setDelayModelParams(double TAU_delay_sec = 1.8, double CMD_delay_sec = 0.); void setV(double v); void setW(double w); double getV(); double getW(); void movementCommand(double lin_vel, double ang_vel); virtual void sendVelCmd(const CVehicleVelCmd& cmd_vel); virtual CVehicleVelCmd::Ptr getVelCmdType() const; };
Inherited Members
public: // methods void simulateOneTimeStep(const double dt); const mrpt::math::TPose2D& getCurrentGTPose() const; void setCurrentGTPose(const mrpt::math::TPose2D& pose); const mrpt::math::TPose2D& getCurrentOdometricPose() const; template <typename T> void setCurrentOdometricPose(const T& pose); const mrpt::math::TTwist2D& getCurrentGTVel() const; mrpt::math::TTwist2D getCurrentGTVelLocal() const; const mrpt::math::TTwist2D& getCurrentOdometricVel() const; mrpt::math::TTwist2D getCurrentOdometricVelLocal() const; double getTime() const; virtual void sendVelCmd(const CVehicleVelCmd& cmd_vel) = 0; virtual CVehicleVelCmd::Ptr getVelCmdType() const = 0; void setOdometryErrors( bool enabled, double Ax_err_bias = 1e-3, double Ax_err_std = 10e-3, double Ay_err_bias = 1e-3, double Ay_err_std = 10e-3, double Aphi_err_bias = mrpt::DEG2RAD(1e-3), double Aphi_err_std = mrpt::DEG2RAD(10e-3) ); void resetStatus(); void resetTime();
Methods
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.
See also:
void movementCommand(double lin_vel, double ang_vel)
Used to command the robot a desired movement:
Parameters:
lin_vel |
Linar velocity (m/s) |
ang_vel |
Angular velocity (rad/s) |
virtual void sendVelCmd(const CVehicleVelCmd& cmd_vel)
Sends a velocity command to the robot.
The number of components and their meaning depends on the vehicle-kinematics derived class
virtual CVehicleVelCmd::Ptr getVelCmdType() const
Gets an empty velocity command object that can be queried to find out the number of velcmd components,…