#include <linear_tracking_controller.h>
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::APVehicle * | m_pVehParameters |
adore::params::APTrajectoryTracking * | m_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 |
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.
|
inline |
Constructor.
pVehicle | vehicle parameters |
pControl | feedback control parameters |
|
inline |
Compute the controller.
x | current state |
xref | reference state, xref=tau(t), including feedforward control |
u | vehicle control input, output of the function |
|
inline |
returns the longitudinal tracking error
|
inline |
returns the lateral tracking error
|
inline |
|
inline |
|
private |
|
private |
longitudinal tracking error
|
private |
lateral tracking error
|
private |
integrator in longitudinal direction
|
private |
|
private |
|
private |
|
private |
integrator in lateral direction