Robot
Embed:
(wiki syntax)
Show/hide line numbers
MotionCommand.h
00001 #ifndef MOTIONCOMMAND_H 00002 #define MOTIONCOMMAND_H 00003 #include "mbed.h" 00004 #include "Ro/Robot.h" 00005 #include "Ro/Trajectory.h" 00006 00007 class MotionCommand{ 00008 private: 00009 Robot* _Robot; 00010 float* Initial_point; 00011 float* Final_point; 00012 float SamplingTime; 00013 Vector<float> PrevPosition; 00014 Trajectory* _Trajectory; 00015 int CurrentCycle; 00016 int TotalCycle; 00017 bool IsFinalized; 00018 00019 int Zone; 00020 int index; 00021 Ticker TimInterrupt; 00022 00023 void Trapezoid(float q0,float q1, float qd, float qdd,float stime,float Constraints_v,float Contrains_a); 00024 int SCurve(float q0,float q1, float qd0,float qdf, float qdd,float stime,float Constraints_v,float Constraints_a, float Constraints_j); 00025 void Spline_5th (float q0,float q1, float qd0, float qd1, float qdd,float stime,float tfin,float Constraints_v ,float Constraints_a); 00026 void Spline_7th(float q0,float q1, float qd0, float qd1, float qdd,float stime,float tfin,float Constraints_v ,float Constraints_a); 00027 void TimFunctionMoveL1(); 00028 void StartMoveL1(); 00029 void StopMoveL1(); 00030 00031 void TimFunctionMoveL2(); 00032 void StartMoveL2(); 00033 void StopMoveL2(); 00034 00035 public: 00036 00037 enum Trajectory_Types {TRAPEZOIDAL, SCURVE, SPLINE5, SPLINE7}; 00038 00039 MotionCommand(Robot* Robot1); 00040 ~MotionCommand(); 00041 00042 void MoveJ(End_Effector qf,float v0,float v1,float a,float samplingtime,float time,int zone,Trajectory_Types _trajectory); 00043 void MoveL1(End_Effector qf, float v, float a,float samplingtime); 00044 void MoveL2(End_Effector qf, float v, float a,float samplingtime); 00045 00046 00047 }; 00048 00049 template <typename T> 00050 inline T sign (T a); 00051 00052 00053 #endif //MOTIONCOMMAND_H
Generated on Sun Jul 31 2022 05:13:07 by
1.7.2