|
MVSim
Lightweight simulator for 2.5D vehicles and robots
|
#include <VehicleDifferential.h>


Public Member Functions | |
| ControllerTrajectory (DynamicsDifferential &veh) | |
| void | control_step (const DynamicsDifferential::TControllerInput &ci, DynamicsDifferential::TControllerOutput &co) override |
| void | on_post_step (const TSimulContext &context) override |
| virtual void | load_config (const rapidxml::xml_node< char > &node) override |
| bool | getTrajectoryPlotPoints (std::vector< mrpt::math::TPoint2D > &pts, double &height) const override |
Public Member Functions inherited from mvsim::ControllerBaseTempl< VEH_DYNAMICS > | |
| ControllerBaseTempl (VEH_DYNAMICS &veh) | |
| virtual void | teleop_interface (const TeleopInput &in, TeleopOutput &out) override |
| virtual void | control_step (const typename VEH_DYNAMICS::TControllerInput &ci, typename VEH_DYNAMICS::TControllerOutput &co)=0 |
| virtual void | on_post_step ([[maybe_unused]] const TSimulContext &context) |
| virtual void | load_config ([[maybe_unused]] const rapidxml::xml_node< char > &node) |
| virtual void | setLogRecording (bool recording) |
| virtual void | clearLogs () |
| virtual void | newLogSession () |
Public Member Functions inherited from mvsim::ControllerBaseInterface | |
| virtual void | teleop_interface ([[maybe_unused]] const TeleopInput &in, [[maybe_unused]] TeleopOutput &out) |
| virtual bool | setTwistCommand ([[maybe_unused]] const mrpt::math::TTwist2D &t) |
| virtual bool | getTrajectoryPlotPoints ([[maybe_unused]] std::vector< mrpt::math::TPoint2D > &pts, [[maybe_unused]] double &height) const |
Static Public Member Functions | |
| static const char * | class_name () |
Additional Inherited Members | |
Public Types inherited from mvsim::ControllerBaseTempl< VEH_DYNAMICS > | |
| using | Ptr = std::shared_ptr< ControllerBaseTempl< VEH_DYNAMICS > > |
Protected Attributes inherited from mvsim::ControllerBaseTempl< VEH_DYNAMICS > | |
| VEH_DYNAMICS & | veh_ |
Exactly-reproducible-trajectory controller: drives the vehicle along a closed-form, time-parameterized (t, x, y) polyline given in the <controller> XML node, using a pure-pursuit strategy (see PoseTrajectoryFollower). Like ControllerTwistIdeal, the resulting twist is imposed directly on the vehicle state, bypassing the physical wheel torque model, so the same trajectory is reproduced exactly run after run: useful for offline experiments that need repetitive or predefined motion (benchmarking perception/planning pipelines, regression tests, etc.).
XML usage example: