Go to the documentation of this file.
93 bool enabled,
double Ax_err_bias = 1e-3,
double Ax_err_std = 10e-3,
94 double Ay_err_bias = 1e-3,
double Ay_err_std = 10e-3,
double m_firmware_control_period
The period at which the low-level controller updates velocities (Default: 0.5 ms)
virtual ~CVehicleSimulVirtualBase()
This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile...
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
const mrpt::math::TPose2D & getCurrentOdometricPose() const
Returns the current pose according to (noisy) odometry.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
mrpt::math::TPose2D m_GT_pose
ground truth pose in world coordinates.
CVehicleSimulVirtualBase()
void resetTime()
Reset all simulator variables to 0 (except the.
virtual void internal_simulControlStep(const double dt)=0
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.
void setCurrentGTPose(const mrpt::math::TPose2D &pose)
Brute-force move robot to target coordinates ("teleport")
mrpt::math::TTwist2D getCurrentOdometricVelLocal() const
Returns the instantaneous, odometric velocity vector (vx,vy,omega) in the robot local frame.
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))
Enable/Disable odometry errors.
virtual CVehicleVelCmd::Ptr getVelCmdType() const =0
Gets an empty velocity command object that can be queried to find out the number of velcmd components...
virtual void sendVelCmd(const CVehicleVelCmd &cmd_vel)=0
Sends a velocity command to the robot.
std::shared_ptr< CVehicleVelCmd > Ptr
double getTime() const
Get the current simulation time.
mrpt::math::TTwist2D getCurrentGTVelLocal() const
Returns the instantaneous, ground truth velocity vector (vx,vy,omega) in the robot local frame.
virtual void internal_clear()=0
Resets all pending cmds.
mrpt::math::TTwist2D m_odometric_vel
Velocity in (x,y,omega)
mrpt::math::TPose2D m_odometry
Virtual base for velocity commands of different kinematic models of planar mobile robot.
void simulateOneTimeStep(const double dt)
Runs the simulator during "dt" seconds.
double m_time
simulation running time
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega)
bool m_use_odo_error
Whether to corrupt odometry with noise.
double DEG2RAD(const double x)
Degrees to radians.
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |