00001 00027 #ifndef _SR_TEST_CONTROLLERS_HPP_ 00028 #define _SR_TEST_CONTROLLERS_HPP_ 00029 00030 #include "sr_mechanism_controllers/sr_controller.hpp" 00031 #include <boost/smart_ptr.hpp> 00032 00033 #include <control_toolbox/pid.h> 00034 #include <pr2_hardware_interface/hardware_interface.h> 00035 #include <pr2_mechanism_model/robot.h> 00036 #include <tinyxml.h> 00037 #include <sr_hardware_interface/sr_actuator.hpp> 00038 00039 class TestControllers 00040 { 00041 public: 00042 TestControllers(); 00043 virtual ~TestControllers(); 00044 00045 void init(); 00046 00047 virtual void init_controller() = 0; 00048 virtual double compute_output(double input, double current_position) = 0; 00049 00050 boost::shared_ptr<controller::SrController> controller; 00051 boost::shared_ptr<pr2_hardware_interface::HardwareInterface> hw; 00052 boost::shared_ptr<pr2_mechanism_model::Robot> robot; 00053 boost::shared_ptr<pr2_mechanism_model::RobotState> robot_state; 00054 boost::shared_ptr<TiXmlDocument> model; 00055 boost::shared_ptr<sr_actuator::SrActuator> actuator; 00056 pr2_mechanism_model::JointState* joint_state; 00057 }; 00058 00059 00060 /* For the emacs weenies in the crowd. 00061 Local Variables: 00062 c-basic-offset: 2 00063 End: 00064 */ 00065 00066 #endif