genericArmCtrl.h
Go to the documentation of this file.
00001 #ifndef __GENERIC_ARM_CTRL_V4_H_
00002 #define __GENERIC_ARM_CTRL_V4_H_
00003 
00004 #include "ros/ros.h"
00005 //#include "Manipulation/ManipUtil/Joint.h"
00006 //#include "ManipUtil/datastructsManipulator.h"
00007 //#include "ManipUtil/ManipulatorXML.h"
00008 //#include "Interfaces/KinematicsInterface.h"
00009 //#include "Interfaces/armInterface_ctrl.h"
00010 
00011 #include <trajectory_msgs/JointTrajectory.h>
00012 
00013 #include <cob_trajectory_controller/RefVal_JS.h>
00014 #include <cob_trajectory_controller/TimeStamp.h>
00015 
00016 class genericArmCtrl
00017 {
00018         public: 
00019                 
00020                 genericArmCtrl(int DOF, double PTPvel = 0.7, double PTPacc = 0.2, double maxError = 0.7);
00021                 ~genericArmCtrl();
00022                 
00023                 std::vector<double> GetPTPvel() const;
00024                 std::vector<double> GetPTPacc() const;
00025                 void SetPTPvel(double vel);
00026                 void SetPTPacc(double acc);
00027         
00028                 // void stop(); --> TODO: better reset
00029 
00030                 bool step(std::vector<double> current_pos, std::vector<double> & desired_vel);
00031 
00032                 bool moveThetas(std::vector<double> conf_goal, std::vector<double> conf_current);
00033                 bool moveTrajectory(trajectory_msgs::JointTrajectory pfad, std::vector<double> conf_current);
00034 
00035 
00036 //              bool movePos(AbsPos position);
00037 
00038                 int m_DOF;
00039                 
00040                 RefVal_JS* m_pRefVals;
00041                 
00042                 std::vector<double> m_vel_js;
00043                 std::vector<double> m_acc_js;
00044                 bool isMoving;
00045 
00046                 TimeStamp startTime_;
00047                 double TotalTime_;
00048                 double m_P;
00049                 double m_Vorsteuer;
00050                 double m_AllowedError;
00051                 double m_CurrentError;
00052                 double m_TargetError;
00053                 double m_ExtraTime;     // Zusätzliche Zeit, um evtl. verbleibende Regelfehler auszuregeln
00054 };
00055 
00056 
00057 
00058 #endif


cob_trajectory_controller
Author(s): Alexander Bubeck
autogenerated on Sun Oct 5 2014 23:02:43