12 #include <mrpt/img/TColor.h> 83 virtual void control_step(
87 virtual void teleop_interface(
97 static const char*
class_name() {
return "twist_front_steer_pid"; }
102 virtual void control_step(
106 virtual void teleop_interface(
115 setpoint_lin_speed = t.vx;
116 setpoint_ang_speed = t.omega;
129 static const char*
class_name() {
return "front_steer_pid"; }
133 virtual void control_step(
139 virtual void teleop_interface(
166 const double desired_equiv_steer_ang,
double& out_fl_ang,
167 double& out_fr_ang)
const;
172 const double w1,
const double w2,
const double diffBias,
173 const double defaultSplitRatio,
double& t1,
double& t2);
DifferentialType diff_type_
min turning radius
double setpoint_lin_speed
ControllerBase::Ptr controller_
The installed controller.
const ControllerBase::Ptr & getController() const
double getMaxSteeringAngle() const
virtual mrpt::math::TTwist2D getVelocityLocalOdoEstimate() const override
double max_torque
Maximum abs. value torque (for clamp) [Nm].
void setMaxSteeringAngle(double val)
static const char * class_name()
double setpoint_steer_ang
virtual void dynamics_load_params_from_xml(const rapidxml::xml_node< char > *xml_node) override
virtual ControllerBaseInterface * getControllerInterface() override
DynamicsAckermannDrivetrain(World *parent)
void computeDiffTorqueSplit(const double w1, const double w2, const double diffBias, const double defaultSplitRatio, double &t1, double &t2)
std::shared_ptr< ControllerBaseTempl< VEH_DYNAMICS > > Ptr
static const char * class_name()
static const char * class_name()
#define DECLARES_REGISTER_VEHICLE_DYNAMICS(CLASS_NAME)
double steer_ang
Equivalent Ackermann steering angle.
ControllerTwistFrontSteerPID twist_control_
virtual std::vector< double > invoke_motor_controllers(const TSimulContext &context) override
double max_torque
Maximum abs. value torque (for clamp) [Nm].
void computeFrontWheelAngles(const double desired_equiv_steer_ang, double &out_fl_ang, double &out_fr_ang) const
double setpoint_wheel_torque
virtual bool setTwistCommand(const mrpt::math::TTwist2D &t) override
ControllerBase::Ptr & getController()