39 void simulateOneTimeStep(
const double dt);
71 virtual CVehicleVelCmdPtr getVelCmdType()
const = 0;
76 double Ax_err_bias = 1e-3,
77 double Ax_err_std = 10e-3,
78 double Ay_err_bias = 1e-3,
79 double Ay_err_std = 10e-3,
84 m_use_odo_error=enabled;
85 m_Ax_err_bias=Ax_err_bias;
86 m_Ax_err_std=Ax_err_std;
87 m_Ay_err_bias=Ay_err_bias;
88 m_Ay_err_std=Ay_err_std;
89 m_Aphi_err_bias=Aphi_err_bias;
90 m_Aphi_err_std=Aphi_err_std;
114 virtual void internal_simulControlStep(
const double dt) = 0;
115 virtual void internal_clear() =0;
mrpt::math::TTwist2D m_odometric_vel
Velocity in (x,y,omega)
mrpt::math::TPose2D m_odometry
This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile...
double DEG2RAD(const double x)
Degrees to radians.
double m_time
simulation running time
mrpt::math::TPose2D m_GT_pose
ground truth pose in world coordinates.
const mrpt::math::TTwist2D & getCurrentOdometricVel() const
Returns the instantaneous, odometric velocity vector (vx,vy,omega) in world coordinates.
void setCurrentOdometricPose(const T &pose)
Brute-force overwrite robot odometry.
mrpt::math::TTwist2D m_GT_vel
Velocity in (x,y,omega)
const mrpt::math::TTwist2D & getCurrentGTVel() const
Returns the instantaneous, ground truth velocity vector (vx,vy,omega) in world coordinates.
const mrpt::math::TPose2D & getCurrentGTPose() const
Returns the instantaneous, ground truth pose in world coordinates.
Virtual base for velocity commands of different kinematic models of planar mobile robot...
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega)
double getTime() const
Get the current simulation time.
#define KINEMATICS_IMPEXP
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool m_use_odo_error
Whether to corrupt odometry with noise.
double m_firmware_control_period
The period at which the low-level controller updates velocities (Default: 0.5 ms) ...
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::utils::DEG2RAD(1e-3), double Aphi_err_std=mrpt::utils::DEG2RAD(10e-3))
Enable/Disable odometry errors.
const mrpt::math::TPose2D & getCurrentOdometricPose() const
Returns the current pose according to (noisy) odometry.