controller
DynamicsInterface.h
浏览该文件的文档.
1 
10 #ifndef DYNAMICSINTERFACE_H_
11 #define DYNAMICSINTERFACE_H_
12 
13 /*---------------------------- Includes ------------------------------------*/
14 #include "Base/robotStruct.h"
15 
16 
17 
18 #ifdef __cplusplus
19 namespace HYYRobotBase
20 {
21 extern "C" {
22 #endif
23 
24 
25 /*-------------------------------------------------------------------------*/
31 /*-------------------------------------------------------------------------*/
32 typedef struct Dyn_inertia{
34  int order_num;
36 
37 /*-------------------------------------------------------------------------*/
43 /*-------------------------------------------------------------------------*/
44 typedef struct Dyn_coriolis{
46  int order_num;
48 
49 /*-------------------------------------------------------------------------*/
55 /*-------------------------------------------------------------------------*/
56 typedef struct Dyn_gravity{
57  double D[ROBOT_MAX_DOF];
58  int order_num;
60 
61 /*-------------------------------------------------------------------------*/
67 /*-------------------------------------------------------------------------*/
68 typedef struct Dyn_friction{
69  double Fcv[ROBOT_MAX_DOF];
70  int order_num;
72 
73 /*-------------------------------------------------------------------------*/
79 /*-------------------------------------------------------------------------*/
80 typedef struct Dyn_externalTorque{
81  double Fn[ROBOT_MAX_DOF];
82  int order_num;
84 
85 /*-------------------------------------------------------------------------*/
91 /*-------------------------------------------------------------------------*/
92 typedef struct {
93  double q[ROBOT_MAX_DOF];
94  double qd[ROBOT_MAX_DOF];
95  double qdd[ROBOT_MAX_DOF];
96  double fext[6];
97  int fcv_flag;
98  int g_flag;
99  double torque[ROBOT_MAX_DOF];
100  double torque_1[ROBOT_MAX_DOF];
101  int dof;
105  //
112 }R_DYNAMICS;
113 
128 extern void init_R_DYNAMICS(R_DYNAMICS* _rdyn, double* q, double* qd, double* qdd, double* torque, double* fext, int fcv_flag, int g_flag, int _dof, PayLoad* payload);
129 
139 extern void init_R_DYNAMICS2(R_DYNAMICS* _rdyn, double* q, double* qd, double* qdd, int _dof);
140 
147 extern void set_R_DYNAMICS_payload(R_DYNAMICS* _rdyn, PayLoad* payload);
148 
155 extern void set_R_DYNAMICS_payload1(R_DYNAMICS* _rdyn, char* payloadname);
156 
165 extern void set_joint_state_to_R_DYNAMICS(R_DYNAMICS* _rdyn, double* q, double* qd, double* qdd);
166 
175 extern void get_joint_state_from_R_DYNAMICS(R_DYNAMICS* _rdyn, double* q,double* qd,double* qdd);
176 
183 extern void set_torque_to_R_DYNAMICS(R_DYNAMICS* _rdyn, double* torque);
184 
191 extern void get_torque_from_R_DYNAMICS(R_DYNAMICS* _rdyn, double* torque);
192 
199 extern void set_fext_to_R_DYNAMICS(R_DYNAMICS* _rdyn, double* fext);
200 
208 extern void set_R_DYNAMICS_INERTIA(R_DYNAMICS* _rdyn, double* q, int _dof);
209 
218 extern void set_R_DYNAMICS_CORIOLIS(R_DYNAMICS* _rdyn, double* q, double* qd, int _dof);
219 
227 extern void set_R_DYNAMICS_GRAVITY(R_DYNAMICS* _rdyn, double* q, int _dof);
228 
236 extern void set_R_DYNAMICS_FRICTION(R_DYNAMICS* _rdyn, double* qd, int _dof);
237 
246 extern void set_R_DYNAMICS_EXTERNALTORQUE(R_DYNAMICS* _rdyn, double* q, double* fext, int _dof);
247 
255 extern int Dyn_Inverse(char* serialLinkName, R_DYNAMICS* rdyn);
256 
264 extern int Dyn_Forward(char* serialLinkName, R_DYNAMICS* rdyn);
265 
273 extern int Dyn_Inertia(char* serialLinkName, R_DYNAMICS* rdyn);
274 
282 extern int Dyn_Coriolis(char* serialLinkName, R_DYNAMICS* rdyn);
283 
291 extern int Dyn_Gravity(char* serialLinkName, R_DYNAMICS* rdyn);
292 
300 extern int Dyn_Friction(char* serialLinkName, R_DYNAMICS* rdyn);
301 
309 extern int Dyn_ExternalTorque(char* serialLinkName, R_DYNAMICS* rdyn);
310 
311 #ifdef __cplusplus
312 }
313 }
314 #endif
315 
316 
317 #endif /* DYNAMICSINTERFACE_H_ */
set_R_DYNAMICS_INERTIA
void set_R_DYNAMICS_INERTIA(R_DYNAMICS *_rdyn, double *q, int _dof)
设置动力学惯性项所需数据(R_DYNAMICS)
Dyn_externalTorque
struct Dyn_externalTorque Dyn_externalTorque
外部施加力
R_DYNAMICS::coriolis
Dyn_coriolis coriolis
Definition: DynamicsInterface.h:107
set_R_DYNAMICS_FRICTION
void set_R_DYNAMICS_FRICTION(R_DYNAMICS *_rdyn, double *qd, int _dof)
设置动力学摩擦项所需数据(R_DYNAMICS)
robotStruct.h
机器人运动指令数据类型
Dyn_gravity
struct Dyn_gravity Dyn_gravity
重力
set_R_DYNAMICS_payload
void set_R_DYNAMICS_payload(R_DYNAMICS *_rdyn, PayLoad *payload)
设置动力学负载数据(R_DYNAMICS)
Dyn_externalTorque::order_num
int order_num
Definition: DynamicsInterface.h:82
R_DYNAMICS::inertia
Dyn_inertia inertia
Definition: DynamicsInterface.h:106
set_R_DYNAMICS_payload1
void set_R_DYNAMICS_payload1(R_DYNAMICS *_rdyn, char *payloadname)
设置动力学负载数据(R_DYNAMICS)
Dyn_friction
摩擦力
Definition: DynamicsInterface.h:68
Dyn_inertia
惯性矩阵
Definition: DynamicsInterface.h:32
get_joint_state_from_R_DYNAMICS
void get_joint_state_from_R_DYNAMICS(R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd)
获取动力学关节状态数据(R_DYNAMICS)
Dyn_ExternalTorque
int Dyn_ExternalTorque(char *serialLinkName, R_DYNAMICS *rdyn)
外部力
Dyn_Gravity
int Dyn_Gravity(char *serialLinkName, R_DYNAMICS *rdyn)
重力
Dyn_Forward
int Dyn_Forward(char *serialLinkName, R_DYNAMICS *rdyn)
正动力学
R_DYNAMICS::gravity
Dyn_gravity gravity
Definition: DynamicsInterface.h:108
Dyn_inertia
struct Dyn_inertia Dyn_inertia
惯性矩阵
set_R_DYNAMICS_CORIOLIS
void set_R_DYNAMICS_CORIOLIS(R_DYNAMICS *_rdyn, double *q, double *qd, int _dof)
设置动力学科氏力及向心力所需数据(R_DYNAMICS)
Dyn_inertia::order_num
int order_num
Definition: DynamicsInterface.h:34
Dyn_Coriolis
int Dyn_Coriolis(char *serialLinkName, R_DYNAMICS *rdyn)
科氏力及向心力
Dyn_friction
struct Dyn_friction Dyn_friction
摩擦力
set_R_DYNAMICS_EXTERNALTORQUE
void set_R_DYNAMICS_EXTERNALTORQUE(R_DYNAMICS *_rdyn, double *q, double *fext, int _dof)
设置动力学外力项所需数据(R_DYNAMICS)
R_DYNAMICS::friction
Dyn_friction friction
Definition: DynamicsInterface.h:109
init_R_DYNAMICS2
void init_R_DYNAMICS2(R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd, int _dof)
初始化动力学数据(R_DYNAMICS)
set_joint_state_to_R_DYNAMICS
void set_joint_state_to_R_DYNAMICS(R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd)
设置动力学关节状态数据(R_DYNAMICS)
R_DYNAMICS::payload
PayLoad payload
Definition: DynamicsInterface.h:102
R_DYNAMICS::dof
int dof
Definition: DynamicsInterface.h:101
Dyn_Inverse
int Dyn_Inverse(char *serialLinkName, R_DYNAMICS *rdyn)
逆动力学
PayLoad
负载数据
Definition: robotStruct.h:78
set_fext_to_R_DYNAMICS
void set_fext_to_R_DYNAMICS(R_DYNAMICS *_rdyn, double *fext)
设置动力学关节外力数据(R_DYNAMICS)
Dyn_coriolis
科氏力及向心力
Definition: DynamicsInterface.h:44
Dyn_gravity
重力
Definition: DynamicsInterface.h:56
R_DYNAMICS
动力学数据
Definition: DynamicsInterface.h:92
Dyn_gravity::order_num
int order_num
Definition: DynamicsInterface.h:58
R_DYNAMICS::fcv_flag
int fcv_flag
Definition: DynamicsInterface.h:97
Dyn_friction::order_num
int order_num
Definition: DynamicsInterface.h:70
Dyn_coriolis::order_num
int order_num
Definition: DynamicsInterface.h:46
Dyn_coriolis
struct Dyn_coriolis Dyn_coriolis
科氏力及向心力
set_torque_to_R_DYNAMICS
void set_torque_to_R_DYNAMICS(R_DYNAMICS *_rdyn, double *torque)
设置动力学关节力矩数据(R_DYNAMICS)
ROBOT_MAX_DOF
#define ROBOT_MAX_DOF
Definition: robotStruct.h:31
Dyn_Friction
int Dyn_Friction(char *serialLinkName, R_DYNAMICS *rdyn)
摩擦力
set_R_DYNAMICS_GRAVITY
void set_R_DYNAMICS_GRAVITY(R_DYNAMICS *_rdyn, double *q, int _dof)
设置动力学重力项所需数据(R_DYNAMICS)
get_torque_from_R_DYNAMICS
void get_torque_from_R_DYNAMICS(R_DYNAMICS *_rdyn, double *torque)
获取动力学关节力矩数据(R_DYNAMICS)
Dyn_Inertia
int Dyn_Inertia(char *serialLinkName, R_DYNAMICS *rdyn)
惯性力
R_DYNAMICS::g_flag
int g_flag
Definition: DynamicsInterface.h:98
R_DYNAMICS::externalTorque
Dyn_externalTorque externalTorque
Definition: DynamicsInterface.h:110
Dyn_externalTorque
外部施加力
Definition: DynamicsInterface.h:80
init_R_DYNAMICS
void init_R_DYNAMICS(R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd, double *torque, double *fext, int fcv_flag, int g_flag, int _dof, PayLoad *payload)
初始化动力学数据(R_DYNAMICS)