accel_example.h
Go to the documentation of this file.
00001 /* -*- mode: C++ -*-
00002  *
00003  *  Copyright (C) 2011 Austin Robot Technology
00004  *  License: Modified BSD Software License Agreement
00005  * 
00006  *  $Id: accel_example.h 1539 2011-05-09 04:09:20Z jack.oquin $
00007  */
00008 
00017 #ifndef _ACCEL_EXAMPLE_H_
00018 #define _ACCEL_EXAMPLE_H_
00019 
00020 #include "accel.h"
00021 
00022 class Pid;                              // class reference for pointers
00023 
00024 namespace pilot
00025 {
00026 
00028 class AccelExample: public AccelBase
00029 {
00030  public:
00031 
00032   AccelExample(art_pilot::PilotConfig &config);
00033   virtual ~AccelExample();
00034 
00035   typedef boost::shared_ptr<device_interface::ServoDeviceBase> ServoPtr;
00036 
00043   virtual void adjust(art_msgs::PilotState &pstate,
00044                       ServoPtr brake, ServoPtr throttle);
00045 
00047   virtual void reconfigure(art_pilot::PilotConfig &newconfig);
00048 
00050   virtual void reset(void);
00051 
00052 private:
00053 
00054   // When true, brake is the controlling device, otherwise throttle.
00055   bool braking_;
00056 
00057   boost::shared_ptr<Pid> brake_pid_;    // Brake_Pilot control PID
00058   boost::shared_ptr<Pid> throttle_pid_; // Throttle control PID
00059 };
00060   
00061 }; // namespace pilot
00062 
00063 #endif // _ACCEL_EXAMPLE_H_


art_pilot
Author(s): Austin Robot Technology, Jack O'Quin
autogenerated on Fri Jan 3 2014 11:09:32