00001 /* -*- mode: C++ -*- 00002 * 00003 * Copyright (C) 2011 Austin Robot Technology 00004 * License: Modified BSD Software License Agreement 00005 * 00006 * $Id: accel_speed.h 1539 2011-05-09 04:09:20Z jack.oquin $ 00007 */ 00008 00017 #ifndef _ACCEL_SPEED_H_ 00018 #define _ACCEL_SPEED_H_ 00019 00020 #include "accel.h" 00021 #include "speed.h" 00022 00023 namespace pilot 00024 { 00025 00027 class AccelSpeed: public AccelBase 00028 { 00029 public: 00030 00031 AccelSpeed(art_pilot::PilotConfig &config); 00032 virtual ~AccelSpeed(); 00033 00034 typedef boost::shared_ptr<device_interface::ServoDeviceBase> ServoPtr; 00035 00042 virtual void adjust(art_msgs::PilotState &pstate, 00043 ServoPtr brake, ServoPtr throttle); 00044 00046 virtual void reconfigure(art_pilot::PilotConfig &newconfig); 00047 00049 virtual void reset(void); 00050 00051 private: 00052 00053 boost::shared_ptr<SpeedControl> speed_; // speed control 00054 }; 00055 00056 }; // namespace pilot 00057 00058 #endif // _ACCEL_SPEED_H_