00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __N_AXES_CONTROLLER_POS_VEL_H__
00022 #define __N_AXES_CONTROLLER_POS_VEL_H__
00023
00024 #include <rtt/RTT.hpp>
00025
00026 #include <rtt/TaskContext.hpp>
00027 #include <rtt/Properties.hpp>
00028 #include <rtt/Ports.hpp>
00029
00030 #include <ocl/OCL.hpp>
00031
00032 namespace OCL
00033 {
00045 class nAxesControllerPosVel : public RTT::TaskContext
00046 {
00047 public:
00054 nAxesControllerPosVel(std::string name);
00055 virtual ~nAxesControllerPosVel();
00066 virtual bool configureHook();
00074 virtual bool startHook();
00079 virtual void updateHook();
00080 virtual void stopHook();
00081
00082 private:
00083 unsigned int num_axes;
00084
00085 std::vector<double> p_meas, p_desi, v_desi, v_out, gain;
00086 protected:
00088 RTT::ReadDataPort< std::vector<double> > p_meas_port;
00090 RTT::ReadDataPort< std::vector<double> > p_desi_port;
00092 RTT::ReadDataPort< std::vector<double> > v_desi_port;
00094 RTT::WriteDataPort< std::vector<double> > v_out_port;
00096 RTT::Property< std::vector<double> > gain_prop;
00098 RTT::Property< unsigned int > num_axes_prop;
00099 };
00100 }
00101 #endif // __N_AXES_CONTROLLER_POS_VEL_H__