#include <speed.h>

| Public Member Functions | |
| virtual void | adjust (float speed, float error, float *brake_req, float *throttle_req) | 
| virtual void | configure (art_pilot::PilotConfig &newconfig) | 
| virtual void | reset (void) | 
| SpeedControlPID () | |
| virtual | ~SpeedControlPID () | 
| Private Attributes | |
| boost::shared_ptr< Pid > | brake_pid_ | 
| bool | braking_ | 
| boost::shared_ptr< Pid > | throttle_pid_ | 
| SpeedControlPID::~SpeedControlPID | ( | ) |  [virtual] | 
| void SpeedControlPID::adjust | ( | float | speed, | 
| float | error, | ||
| float * | brake_req, | ||
| float * | throttle_req | ||
| ) |  [virtual] | 
Adjust speed to match goal.
Generate brake and throttle changes directly from separate PID controllers. Uses a state machine to avoid applying simultaneous brake and throttle.
| speed | absolute value of current velocity in m/sec | 
| error | immediate goal minus speed | 
| brake_req | -> previous brake request (input), updated brake request (output). | 
| throttle_req | -> previous throttle request (input), updated throttle request (output). | 
Implements SpeedControl.
| void SpeedControlPID::configure | ( | art_pilot::PilotConfig & | newconfig | ) |  [virtual] | 
| void SpeedControlPID::reset | ( | void | ) |  [virtual] | 
| boost::shared_ptr<Pid> SpeedControlPID::brake_pid_  [private] | 
| bool SpeedControlPID::braking_  [private] | 
| boost::shared_ptr<Pid> SpeedControlPID::throttle_pid_  [private] |