Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID Class Reference

#include <VehicleAckermann.h>

Inheritance diagram for mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID:
Inheritance graph
[legend]

Public Member Functions

virtual void control_step (const DynamicsAckermann::TControllerInput &ci, DynamicsAckermann::TControllerOutput &co) override
 
 ControllerTwistFrontSteerPID (DynamicsAckermann &veh)
 
virtual void load_config (const rapidxml::xml_node< char > &node) override
 
virtual bool setTwistCommand (const mrpt::math::TTwist2D &t) override
 
virtual void teleop_interface (const TeleopInput &in, TeleopOutput &out) override
 
- Public Member Functions inherited from mvsim::ControllerBaseTempl< VEH_DYNAMICS >
virtual void clearLogs ()
 
virtual void control_step (const typename VEH_DYNAMICS::TControllerInput &ci, typename VEH_DYNAMICS::TControllerOutput &co)=0
 
 ControllerBaseTempl (VEH_DYNAMICS &veh)
 
virtual void load_config ([[maybe_unused]] const rapidxml::xml_node< char > &node)
 
virtual void newLogSession ()
 
virtual void on_post_step ([[maybe_unused]] const TSimulContext &context)
 
virtual void setLogRecording (bool recording)
 
virtual ~ControllerBaseTempl ()
 
- Public Member Functions inherited from mvsim::ControllerBaseInterface
virtual bool setTwistCommand ([[maybe_unused]] const mrpt::math::TTwist2D &t)
 
virtual void teleop_interface ([[maybe_unused]] const TeleopInput &in, [[maybe_unused]] TeleopOutput &out)
 

Static Public Member Functions

static const char * class_name ()
 

Public Attributes

double KD
 PID controller parameters. More...
 
double KI
 
double KP
 
double max_torque
 Maximum abs. value torque (for clamp) [Nm]. More...
 
double setpoint_ang_speed
 desired velocities (m/s) and (rad/s) More...
 
double setpoint_lin_speed
 

Private Attributes

double dist_fWheels_
 
PID_Controller PID_ [2]
 
double r2f_L_
 

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_
 

Detailed Description

PID controller that controls the vehicle with front traction & steering from Twist commands

Definition at line 82 of file VehicleAckermann.h.

Constructor & Destructor Documentation

◆ ControllerTwistFrontSteerPID()

DynamicsAckermann::ControllerTwistFrontSteerPID::ControllerTwistFrontSteerPID ( DynamicsAckermann veh)

Member Function Documentation

◆ class_name()

static const char* mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::class_name ( )
inlinestatic

Directly set these values to tell the controller the desired setpoints

Definition at line 86 of file VehicleAckermann.h.

◆ control_step()

void DynamicsAckermann::ControllerTwistFrontSteerPID::control_step ( const DynamicsAckermann::TControllerInput ci,
DynamicsAckermann::TControllerOutput co 
)
overridevirtual

◆ load_config()

void DynamicsAckermann::ControllerTwistFrontSteerPID::load_config ( const rapidxml::xml_node< char > &  node)
overridevirtual

◆ setTwistCommand()

virtual bool mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::setTwistCommand ( const mrpt::math::TTwist2D &  t)
inlineoverridevirtual

Definition at line 102 of file VehicleAckermann.h.

◆ teleop_interface()

void DynamicsAckermann::ControllerTwistFrontSteerPID::teleop_interface ( const TeleopInput in,
TeleopOutput out 
)
overridevirtual

This is to handle basic need of all the controllers.

Reimplemented from mvsim::ControllerBaseTempl< VEH_DYNAMICS >.

Definition at line 148 of file VehicleAckermann_ControllerTwistFrontSteerPID.cpp.

Member Data Documentation

◆ dist_fWheels_

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::dist_fWheels_
private

Definition at line 110 of file VehicleAckermann.h.

◆ KD

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::KD

PID controller parameters.

Definition at line 98 of file VehicleAckermann.h.

◆ KI

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::KI

Definition at line 98 of file VehicleAckermann.h.

◆ KP

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::KP

Definition at line 98 of file VehicleAckermann.h.

◆ max_torque

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::max_torque

Maximum abs. value torque (for clamp) [Nm].

Definition at line 99 of file VehicleAckermann.h.

◆ PID_

PID_Controller mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::PID_[2]
private

Definition at line 111 of file VehicleAckermann.h.

◆ r2f_L_

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::r2f_L_
private

Definition at line 110 of file VehicleAckermann.h.

◆ setpoint_ang_speed

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::setpoint_ang_speed

desired velocities (m/s) and (rad/s)

Definition at line 89 of file VehicleAckermann.h.

◆ setpoint_lin_speed

double mvsim::DynamicsAckermann::ControllerTwistFrontSteerPID::setpoint_lin_speed

Definition at line 89 of file VehicleAckermann.h.


The documentation for this class was generated from the following files:


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:23