Public Types | Public Member Functions | Protected Attributes | List of all members
mvsim::ControllerBaseTempl< VEH_DYNAMICS > Class Template Referenceabstract

#include <ControllerBase.h>

Inheritance diagram for mvsim::ControllerBaseTempl< VEH_DYNAMICS >:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< ControllerBaseTempl< VEH_DYNAMICS > >
 

Public Member Functions

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 void teleop_interface (const TeleopInput &in, TeleopOutput &out) override
 
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)
 

Protected Attributes

VEH_DYNAMICS & veh_
 

Detailed Description

template<class VEH_DYNAMICS>
class mvsim::ControllerBaseTempl< VEH_DYNAMICS >

Virtual base for controllers of vehicles of any type (template)

Definition at line 54 of file ControllerBase.h.

Member Typedef Documentation

◆ Ptr

template<class VEH_DYNAMICS >
using mvsim::ControllerBaseTempl< VEH_DYNAMICS >::Ptr = std::shared_ptr<ControllerBaseTempl<VEH_DYNAMICS> >

Definition at line 57 of file ControllerBase.h.

Constructor & Destructor Documentation

◆ ControllerBaseTempl()

template<class VEH_DYNAMICS >
mvsim::ControllerBaseTempl< VEH_DYNAMICS >::ControllerBaseTempl ( VEH_DYNAMICS &  veh)
inline

Definition at line 59 of file ControllerBase.h.

◆ ~ControllerBaseTempl()

template<class VEH_DYNAMICS >
virtual mvsim::ControllerBaseTempl< VEH_DYNAMICS >::~ControllerBaseTempl ( )
inlinevirtual

Definition at line 60 of file ControllerBase.h.

Member Function Documentation

◆ clearLogs()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::clearLogs ( )
inlinevirtual

Definition at line 120 of file ControllerBase.h.

◆ control_step()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::control_step ( const typename VEH_DYNAMICS::TControllerInput &  ci,
typename VEH_DYNAMICS::TControllerOutput &  co 
)
pure virtual

The core of the controller: will be called at each timestep before the numeric integration of dynamical eqs

◆ load_config()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::load_config ( [[maybe_unused] ] const rapidxml::xml_node< char > &  node)
inlinevirtual

Override to load class-specific options from the <controller> node

Definition at line 111 of file ControllerBase.h.

◆ newLogSession()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::newLogSession ( )
inlinevirtual

Definition at line 121 of file ControllerBase.h.

◆ on_post_step()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::on_post_step ( [[maybe_unused] ] const TSimulContext context)
inlinevirtual

Definition at line 108 of file ControllerBase.h.

◆ setLogRecording()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::setLogRecording ( bool  recording)
inlinevirtual

Definition at line 116 of file ControllerBase.h.

◆ teleop_interface()

template<class VEH_DYNAMICS >
virtual void mvsim::ControllerBaseTempl< VEH_DYNAMICS >::teleop_interface ( const TeleopInput in,
TeleopOutput out 
)
inlineoverridevirtual

Member Data Documentation

◆ veh_

template<class VEH_DYNAMICS >
VEH_DYNAMICS& mvsim::ControllerBaseTempl< VEH_DYNAMICS >::veh_
protected

Definition at line 124 of file ControllerBase.h.


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


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