trajectory_follower

trajectory_follower

The trajectoryfollower package is to control the vehicle by directly applying the output from the `nloptcontrolplanner` package.

Inputs

Following are the arguments are required by trajectory_follower.launch package

Vehicle State

NameDescription
/state/uxvelocity in the x direction (vehicle frame) in (m/s)

Trajectories

NameDescription
/trajectory/ttime (s)
/trajectory/xglobal x position trajectory (m)
/trajectory/yglobal y position trajectory (m)
/trajectory/psiglobal heading angle trajectory (rad)
/trajectory/sasteering angle trajectory at the tire (rad)
/trajectory/uxspeed in the x direction (vehicle frame) (m/s)

Output

The output of this package is as follows.

Vehicle State

NameDescription
/control/sasteering angle at the tire (rad)
/control/thrthrottle input, range: [0, 1]
/control/brkbreak input, range: [0, 1]

Logic

The other kind of follower is trajectory follower, namely longitudinal speed and steering angle control, shown below.

link

The control of the chrono vehicle model utilizes the longitudinal speed and steering angle command from the planner. For longitudinal speed, it is controlled by a closed-loop PID controller which calculates the throttle and braking input into the chrono model. For steering angle, it is under open-loop control which calculates the steering input to the chrono model, where a low-pass filter is implemented to prevent the steering input from changing drastically.