Go to the documentation of this file.
12 #include <mrpt/math/TPoint2D.h>
57 mrpt::math::TPoint2D
pos;
63 {
"l_wheel", {0.0, 0.5}},
64 {
"r_wheel", {0.0, -0.5}},
95 static const char* class_name() {
return "raw"; }
122 virtual void teleop_interface(
const TeleopInput& in, TeleopOutput& out)
override;
150 std::array<PID_Controller, 2>
PIDs_;
172 virtual void teleop_interface(
const TeleopInput& in, TeleopOutput& out)
override;
234 {
"l_wheel", {0.0, 0.5}},
235 {
"r_wheel", {0.0, -0.5}},
236 {
"caster_wheel", {0.5, 0.0}},
253 {
"lr_wheel", {0.0, 0.5}},
254 {
"rr_wheel", {0.0, -0.5}},
255 {
"lf_wheel", {0.5, 0.5}},
256 {
"rf_wheel", {0.5, -0.5}},
bool setTwistCommand(const mrpt::math::TTwist2D &t) override
mrpt::math::TTwist2D setpoint_
"vx" and "omega" only
mrpt::math::TTwist2D setpoint() const
#define DECLARES_REGISTER_VEHICLE_DYNAMICS(CLASS_NAME)
double max_torque
Maximum abs. value torque (for clamp) [Nm].
double KP
PID controller parameters.
static const char * class_name()
virtual void teleop_interface(const TeleopInput &in, TeleopOutput &out) override
DynamicsDifferential_4_wheels(World *parent)
ControllerRawForces(DynamicsDifferential &veh)
virtual void control_step(const DynamicsDifferential::TControllerInput &ci, DynamicsDifferential::TControllerOutput &co) override
std::shared_ptr< ControllerBaseTempl< VEH_DYNAMICS > > Ptr
virtual void load_config(const rapidxml::xml_node< char > &node) override
double setpoint_wheel_torque_r
bool setTwistCommand(const mrpt::math::TTwist2D &t) override
double setpoint_wheel_torque_l
virtual std::vector< double > invoke_motor_controllers(const TSimulContext &context) override
mrpt::math::TTwist2D setpoint() const
ControllerBase::Ptr controller_
The installed controller.
const ControllerBase::Ptr & getController() const
const std::vector< ConfigPerWheel > configPerWheel_
Defined at ctor time:
DynamicsDifferential(World *parent)
std::array< PID_Controller, 2 > PIDs_
double setpoint_teleop_steps
mrpt::math::TTwist2D setpoint_
"vx" and "omega" only
ConfigPerWheel(const std::string &_name, const mrpt::math::TPoint2D &_pos)
ControllerTwistPID(DynamicsDifferential &veh)
virtual void control_step(const DynamicsDifferential::TControllerInput &ci, DynamicsDifferential::TControllerOutput &co) override
virtual void dynamics_load_params_from_xml(const rapidxml::xml_node< char > *xml_node) override
void control_step(const DynamicsDifferential::TControllerInput &ci, DynamicsDifferential::TControllerOutput &co) override
void on_post_step(const TSimulContext &context) override
virtual mrpt::math::TTwist2D getVelocityLocalOdoEstimate() const override
virtual ControllerBaseInterface * getControllerInterface() override
virtual void teleop_interface(const TeleopInput &in, TeleopOutput &out) override
TControllerOutput()=default
ControllerBase::Ptr & getController()
static const char * class_name()
virtual void teleop_interface(const TeleopInput &in, TeleopOutput &out) override
DynamicsDifferential_3_wheels(World *parent)
ControllerTwistIdeal(DynamicsDifferential &veh)
geometry_msgs::TransformStamped t
virtual void invoke_motor_controllers_post_step(const TSimulContext &context) override
mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:08