ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::fun::LinearTrackingController Class Reference

#include <linear_tracking_controller.h>

Collaboration diagram for adore::fun::LinearTrackingController:
Collaboration graph

Public Member Functions

 LinearTrackingController (adore::params::APVehicle *pVehicle, adore::params::APTrajectoryTracking *pControl)
 
double get_ex ()
 returns the longitudinal tracking error More...
 
double get_ey ()
 returns the lateral tracking error More...
 
void setUseIntegrator (bool value)
 
void resetIntegrator (bool value)
 
void compute_control_input (const VehicleMotionState9d &x, const PlanarVehicleState10d &xref, MotionCommand &u)
 

Private Attributes

adore::params::APVehiclem_pVehParameters
 
adore::params::APTrajectoryTrackingm_pCtrlParameters
 
double m_ex
 
double m_ey
 longitudinal tracking error More...
 
double m_Ix
 lateral tracking error More...
 
double m_Iy
 integrator in longitudinal direction More...
 
bool m_use_integrator
 integrator in lateral direction More...
 
bool m_reset_integrator
 

Detailed Description

An (almost) linear trajectory tracking controller. The controller computes error states in longitudinal (ex, ev) and lateral direction (ey, epsi, eomega) and feeds these back linearly via the control inputs ax (acceleration) and delta (steering angle). Feedback terms are combined with feedforward control inputs axs and deltas. Nonlinearity occurs as cos, sin in transformation of position error into coordinates of reference trajectory.

Constructor & Destructor Documentation

◆ LinearTrackingController()

adore::fun::LinearTrackingController::LinearTrackingController ( adore::params::APVehicle pVehicle,
adore::params::APTrajectoryTracking pControl 
)
inline

Constructor.

Parameters
pVehiclevehicle parameters
pControlfeedback control parameters

Member Function Documentation

◆ compute_control_input()

void adore::fun::LinearTrackingController::compute_control_input ( const VehicleMotionState9d x,
const PlanarVehicleState10d xref,
MotionCommand u 
)
inline

Compute the controller.

Parameters
xcurrent state
xrefreference state, xref=tau(t), including feedforward control
uvehicle control input, output of the function
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_ex()

double adore::fun::LinearTrackingController::get_ex ( )
inline

returns the longitudinal tracking error

◆ get_ey()

double adore::fun::LinearTrackingController::get_ey ( )
inline

returns the lateral tracking error

◆ resetIntegrator()

void adore::fun::LinearTrackingController::resetIntegrator ( bool  value)
inline
Here is the caller graph for this function:

◆ setUseIntegrator()

void adore::fun::LinearTrackingController::setUseIntegrator ( bool  value)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ m_ex

double adore::fun::LinearTrackingController::m_ex
private

◆ m_ey

double adore::fun::LinearTrackingController::m_ey
private

longitudinal tracking error

◆ m_Ix

double adore::fun::LinearTrackingController::m_Ix
private

lateral tracking error

◆ m_Iy

double adore::fun::LinearTrackingController::m_Iy
private

integrator in longitudinal direction

◆ m_pCtrlParameters

adore::params::APTrajectoryTracking* adore::fun::LinearTrackingController::m_pCtrlParameters
private

◆ m_pVehParameters

adore::params::APVehicle* adore::fun::LinearTrackingController::m_pVehParameters
private

◆ m_reset_integrator

bool adore::fun::LinearTrackingController::m_reset_integrator
private

◆ m_use_integrator

bool adore::fun::LinearTrackingController::m_use_integrator
private

integrator in lateral direction


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