CODeME
Trayectory_Library.h
1 
13 #ifndef TRAYECTORY_LIBRARY_H_INCLUDED
14 #define TRAYECTORY_LIBRARY_H_INCLUDED
15 
16 typedef struct
17 {
18  int DoF;
19  int Intervals;
20  double* Time;
21  double* Position;
22  double* Velocity;
23  double** Parameter;
24 } CUBIC_DATA;
25 
26 void (*Set_Trajectory_Functions) ();
27 
28 /*************************************************************************************************************/
29 /******************************************* Cartesian Trayectory ********************************************/
30 /*************************************************************************************************************/
31 
32 double* (*Position_Function) (double Time , double* Parameter);
33 double* (*Velocity_Function) (double Time , double* Parameter);
34 double* (*Acceleration_Function) (double Time , double* Parameter);
35 
36 void Set_2DOF_Circle_Trajectory ();
37 void Set_3DOF_Circle_Trajectory ();
38 void Set_3DOF_Helix_Trajectory ();
39 void Set_6DOF_Helix_Trajectory ();
40 void Set_6DOF_Points_Trajectory ();
41 
42 double* Circule_Position_Two_DOF (double t , double* Parameter);
43 double* Circule_Velocity_Two_DOF (double t , double* Parameter);
44 double* Circule_Acceleration_Two_DOF (double t , double* Parameter);
45 
46 double* Circule_Position_Three_DOF (double t , double* Parameter);
47 double* Circule_Velocity_Three_DOF (double t , double* Parameter);
48 double* Circule_Acceleration_Three_DOF (double t , double* Parameter);
49 
50 double* Helix_Position_Three_DOF (double t , double* Parameter);
51 double* Helix_Velocity_Three_DOF (double t , double* Parameter);
52 double* Helix_Acceleration_Three_DOF (double t , double* Parameter);
53 
54 double* Helix_Position_Six_DOF (double t , double* Parameter);
55 double* Helix_Velocity_Six_DOF (double t , double* Parameter);
56 double* Helix_Acceleration_Six_DOF (double t , double* Parameter);
57 
58 double* Point_Position_Six_DOF (double t , double* Parameter);
59 double* Point_Velocity_Six_DOF (double t , double* Parameter);
60 double* Point_Acceleration_Six_DOF (double t , double* Parameter);
61 
62 /*************************************************************************************************************/
63 /********************************************* Joint Trayectory **********************************************/
64 /*************************************************************************************************************/
65 
66 double* (*Joint_Position_Function) (double t , CUBIC_DATA Data);
67 double* (*Joint_Velocity_Function) (double t , CUBIC_DATA Data);
68 double* (*Joint_Acceleration_Function) (double t , CUBIC_DATA Data);
69 
70 void Set_Cubic_Interpolation();
71 
72 double** Cubic_Interpolation (int DOF, int Intervals, double* Time, double* Position , double* Velocity);
73 double* Get_Cubic_Interpolation_Parameters (int DOF, double* Time, double* Position , double* Velocity);
74 
75 double* Cubic_Interpolation_Position (double t , CUBIC_DATA Data);
76 double* Cubic_Interpolation_Velocity (double t , CUBIC_DATA Data);
77 double* Cubic_Interpolation_Acceleration (double t , CUBIC_DATA Data);
78 
79 void Set_Polinomial_Trayectory();
80 double* Joint_Polinomial_Position (double t , CUBIC_DATA Data);
81 double* Joint_Polinomial_Velocity (double t , CUBIC_DATA Data);
82 double* Joint_Polinomial_Acceleration (double t , CUBIC_DATA Data);
83 
84 #endif // TRAYECTORY_LIBRARY_H_INCLUDED
Definition: Trayectory_Library.h:16