12 #ifndef DYNAMIC_MECHANISM_H_INCLUDED 13 #define DYNAMIC_MECHANISM_H_INCLUDED 15 #include "Complex_Dynamic_Control.h" 17 double** (*Serial_Get_Mass_Center_Position) (
int DoF ,
double* DH_Parameters ,
double* Theta);
19 double** (*Inertia_Matrix) (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
20 double** (*Coriolis_Matrix) (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
21 double* (*Gravitational_Vector) (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
22 void (*Direct_Dynamic_Function) (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
23 void (*Inverse_Dynamic_Function) (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
32 double** Serial_midLink_Mass_Position (
int DoF ,
double* DH_Parameters ,
double* Theta);
33 double*** Serial_Linear_Cylindrical_Inertia_Tensor (
int DoF ,
double* DH_Parameters ,
double* Mass ,
double* Radious);
35 double** Serial_Compute_Jacobian_Position (
int DoF ,
double* DH_Parameters ,
double* Theta);
36 double** Serial_Compute_Jacobian_Orientation (
int DoF ,
double* DH_Parameters ,
double* Theta);
38 double*** Serial_Get_Inertia_Derivative (
int DoF ,
double* DH_Parameters ,
double* Theta ,
double*** Inertia ,
double* Mass);
39 double** Serial_Set_Coriolis_Matrix (
int DoF ,
double* DH_Parameters ,
double* Theta ,
double*** Inertia ,
double* Mass ,
double* Velocitys);
40 double* Serial_Set_Gravitational_Vector (
int DoF ,
double* DH_Parameters ,
double* Theta ,
double* Mass ,
double* Gravity);
41 void Serial_Direct_Dynamic (
int DoF ,
double* DH_Parameters ,
double** q ,
double* Torque,
double*** Inertia ,
double* Mass ,
double* Gravity);
42 void Serial_Inverse_Dynamic (
int DoF ,
double* DH_Parameters ,
double** q ,
double* Torque,
double*** Inertia ,
double* Mass ,
double* Gravity,
double dt);
45 int Elbow_Set_Functions ();
46 double** Elbow_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
47 double** Elbow_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
48 double* Elbow_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
49 void Elbow_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
50 void Elbow_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
52 int Two_Link_Set_Functions ();
53 double** Two_Link_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
54 double** Two_Link_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
55 double* Two_Link_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
56 void Two_Link_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
57 void Two_Link_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
59 int Two_LinkMass_Set_Functions ();
60 double** Two_LinkMass_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
61 double** Two_LinkMass_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
62 double* Two_LinkMass_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
63 void Two_LinkMass_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
64 void Two_LinkMass_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
67 int Elbow_3DOF_Set_Functions ();
68 double** Elbow_3DOF_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
69 double** Elbow_3DOF_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
70 double* Elbow_3DOF_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
71 void Elbow_3DOF_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
72 void Elbow_3DOF_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
75 int Articulated_Set_Functions ();
76 double** Articulated_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
77 double** Articulated_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
78 double* Articulated_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
79 void Articulated_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
80 void Articulated_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
83 int Anthro_Set_Functions ();
84 double** Anthro_Set_Inertia_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
85 double** Anthro_Set_Coriolis_Matrix (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
86 double* Anthro_Set_Gravitational_Vector (
double* DH_Parameters ,
double** q ,
ROBOT_DATA Robot);
87 void Anthro_Direct_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot);
88 void Anthro_Inverse_Dynamic (
double* DH_Parameters ,
double** q ,
double* Torque,
ROBOT_DATA Robot,
double dt);
90 #endif // DYNAMIC_MECHANISM_H_INCLUDED Definition: Complex_Dynamic_Control.h:31
double ** Serial_Set_Inertia_Matrix(int DoF, double *DH_Parameters, double *Theta, double ***Inertia, double *Mass)
Definition: Dynamic_Mechanism.c:117