controller
DynamicsInterface.h 文件参考

机器人运动学接口 更多...

#include "Base/robotStruct.h"

浏览源代码.

结构体

struct  Dyn_inertia
 惯性矩阵 更多...
 
struct  Dyn_coriolis
 科氏力及向心力 更多...
 
struct  Dyn_gravity
 重力 更多...
 
struct  Dyn_friction
 摩擦力 更多...
 
struct  Dyn_externalTorque
 外部施加力 更多...
 
struct  R_DYNAMICS
 动力学数据 更多...
 

类型定义

typedef struct Dyn_inertia Dyn_inertia
 惯性矩阵 更多...
 
typedef struct Dyn_coriolis Dyn_coriolis
 科氏力及向心力 更多...
 
typedef struct Dyn_gravity Dyn_gravity
 重力 更多...
 
typedef struct Dyn_friction Dyn_friction
 摩擦力 更多...
 
typedef struct Dyn_externalTorque Dyn_externalTorque
 外部施加力 更多...
 

函数

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) 更多...
 
void init_R_DYNAMICS2 (R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd, int _dof)
 初始化动力学数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_payload (R_DYNAMICS *_rdyn, PayLoad *payload)
 设置动力学负载数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_payload1 (R_DYNAMICS *_rdyn, char *payloadname)
 设置动力学负载数据(R_DYNAMICS) 更多...
 
void set_joint_state_to_R_DYNAMICS (R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd)
 设置动力学关节状态数据(R_DYNAMICS) 更多...
 
void get_joint_state_from_R_DYNAMICS (R_DYNAMICS *_rdyn, double *q, double *qd, double *qdd)
 获取动力学关节状态数据(R_DYNAMICS) 更多...
 
void set_torque_to_R_DYNAMICS (R_DYNAMICS *_rdyn, double *torque)
 设置动力学关节力矩数据(R_DYNAMICS) 更多...
 
void get_torque_from_R_DYNAMICS (R_DYNAMICS *_rdyn, double *torque)
 获取动力学关节力矩数据(R_DYNAMICS) 更多...
 
void set_fext_to_R_DYNAMICS (R_DYNAMICS *_rdyn, double *fext)
 设置动力学关节外力数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_INERTIA (R_DYNAMICS *_rdyn, double *q, int _dof)
 设置动力学惯性项所需数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_CORIOLIS (R_DYNAMICS *_rdyn, double *q, double *qd, int _dof)
 设置动力学科氏力及向心力所需数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_GRAVITY (R_DYNAMICS *_rdyn, double *q, int _dof)
 设置动力学重力项所需数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_FRICTION (R_DYNAMICS *_rdyn, double *qd, int _dof)
 设置动力学摩擦项所需数据(R_DYNAMICS) 更多...
 
void set_R_DYNAMICS_EXTERNALTORQUE (R_DYNAMICS *_rdyn, double *q, double *fext, int _dof)
 设置动力学外力项所需数据(R_DYNAMICS) 更多...
 
int Dyn_Inverse (char *serialLinkName, R_DYNAMICS *rdyn)
 逆动力学 更多...
 
int Dyn_Forward (char *serialLinkName, R_DYNAMICS *rdyn)
 正动力学 更多...
 
int Dyn_Inertia (char *serialLinkName, R_DYNAMICS *rdyn)
 惯性力 更多...
 
int Dyn_Coriolis (char *serialLinkName, R_DYNAMICS *rdyn)
 科氏力及向心力 更多...
 
int Dyn_Gravity (char *serialLinkName, R_DYNAMICS *rdyn)
 重力 更多...
 
int Dyn_Friction (char *serialLinkName, R_DYNAMICS *rdyn)
 摩擦力 更多...
 
int Dyn_ExternalTorque (char *serialLinkName, R_DYNAMICS *rdyn)
 外部力 更多...
 

详细描述

机器人运动学接口

作者
hanbing
版本
1.0
日期
2020-04-9

类型定义说明

◆ Dyn_coriolis

typedef struct Dyn_coriolis Dyn_coriolis

科氏力及向心力

描述动力学中的科氏力及向心力项

◆ Dyn_externalTorque

外部施加力

描述动力学中的外力项

◆ Dyn_friction

typedef struct Dyn_friction Dyn_friction

摩擦力

描述动力学中的摩擦力项

◆ Dyn_gravity

typedef struct Dyn_gravity Dyn_gravity

重力

描述动力学中的重力项

◆ Dyn_inertia

typedef struct Dyn_inertia Dyn_inertia

惯性矩阵

描述动力学中的惯性项

函数说明

◆ Dyn_Coriolis()

int Dyn_Coriolis ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

科氏力及向心力

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据,利用set_R_DYNAMICS_CORIOLIS设置参数
返回
int 0:成功,其他:失败

◆ Dyn_ExternalTorque()

int Dyn_ExternalTorque ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

外部力

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据,利用set_R_DYNAMICS_EXTERNALTORQUE设置参数
返回
int 0:成功,其他:失败

◆ Dyn_Forward()

int Dyn_Forward ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

正动力学

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据
返回
int 0:成功,其他:失败

◆ Dyn_Friction()

int Dyn_Friction ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

摩擦力

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据,利用set_R_DYNAMICS_FRICTION设置参数
返回
int 0:成功,其他:失败

◆ Dyn_Gravity()

int Dyn_Gravity ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

重力

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据,利用set_R_DYNAMICS_GRAVITY设置参数
返回
int 0:成功,其他:失败

◆ Dyn_Inertia()

int Dyn_Inertia ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

惯性力

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据,利用set_R_DYNAMICS_INERTIA设置参数
返回
int 0:成功,其他:失败

◆ Dyn_Inverse()

int Dyn_Inverse ( char *  serialLinkName,
R_DYNAMICS rdyn 
)

逆动力学

参数
serialLinkName机器人名字(同EtherCAT的机器人子设备名字)
rdyn动力学数据
返回
int 0:成功,其他:失败

◆ get_joint_state_from_R_DYNAMICS()

void get_joint_state_from_R_DYNAMICS ( R_DYNAMICS _rdyn,
double *  q,
double *  qd,
double *  qdd 
)

获取动力学关节状态数据(R_DYNAMICS)

参数
_rdyn动力学数据
q返回关节位置(rad 或 mm)
qd返回关节速度(rad/s 或 mm/s)
qdd返回关节加速度(rad/s^2 或 mm/s^2)

◆ get_torque_from_R_DYNAMICS()

void get_torque_from_R_DYNAMICS ( R_DYNAMICS _rdyn,
double *  torque 
)

获取动力学关节力矩数据(R_DYNAMICS)

参数
_rdyn动力学数据
torque返回关节力矩阵(Nmm 或 N)

◆ 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)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
qd关节速度(rad/s 或 mm/s)
qdd关节加速度(rad/s^2 或 mm/s^2)
torque关节力矩(Nmm 或 N)
fext外部力
fcv_flag是否使用摩擦力标识,0:不使用,1:使用
g_flag是否使用重力标识,0:不使用,1:使用
_dof机器人自由度
payload负载

◆ init_R_DYNAMICS2()

void init_R_DYNAMICS2 ( R_DYNAMICS _rdyn,
double *  q,
double *  qd,
double *  qdd,
int  _dof 
)

初始化动力学数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
qd关节速度(rad/s 或 mm/s)
qdd关节加速度(rad/s^2 或 mm/s^2)
_dof机器人自由度

◆ set_fext_to_R_DYNAMICS()

void set_fext_to_R_DYNAMICS ( R_DYNAMICS _rdyn,
double *  fext 
)

设置动力学关节外力数据(R_DYNAMICS)

参数
_rdyn动力学数据
fext外力(N, Nmm)

◆ set_joint_state_to_R_DYNAMICS()

void set_joint_state_to_R_DYNAMICS ( R_DYNAMICS _rdyn,
double *  q,
double *  qd,
double *  qdd 
)

设置动力学关节状态数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
qd关节速度(rad/s 或 mm/s)
qdd关节加速度(rad/s^2 或 mm/s^2)

◆ set_R_DYNAMICS_CORIOLIS()

void set_R_DYNAMICS_CORIOLIS ( R_DYNAMICS _rdyn,
double *  q,
double *  qd,
int  _dof 
)

设置动力学科氏力及向心力所需数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
qd关节速度(rad/s 或 mm/s)
_dof机器人自由度

◆ set_R_DYNAMICS_EXTERNALTORQUE()

void set_R_DYNAMICS_EXTERNALTORQUE ( R_DYNAMICS _rdyn,
double *  q,
double *  fext,
int  _dof 
)

设置动力学外力项所需数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
fext外力(N, Nmm)
_dof机器人自由度

◆ set_R_DYNAMICS_FRICTION()

void set_R_DYNAMICS_FRICTION ( R_DYNAMICS _rdyn,
double *  qd,
int  _dof 
)

设置动力学摩擦项所需数据(R_DYNAMICS)

参数
_rdyn动力学数据
qd关节速度(rad/s 或 mm/s)
_dof机器人自由度

◆ set_R_DYNAMICS_GRAVITY()

void set_R_DYNAMICS_GRAVITY ( R_DYNAMICS _rdyn,
double *  q,
int  _dof 
)

设置动力学重力项所需数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
_dof机器人自由度

◆ set_R_DYNAMICS_INERTIA()

void set_R_DYNAMICS_INERTIA ( R_DYNAMICS _rdyn,
double *  q,
int  _dof 
)

设置动力学惯性项所需数据(R_DYNAMICS)

参数
_rdyn动力学数据
q关节位置(rad 或 mm)
_dof机器人自由度

◆ set_R_DYNAMICS_payload()

void set_R_DYNAMICS_payload ( R_DYNAMICS _rdyn,
PayLoad payload 
)

设置动力学负载数据(R_DYNAMICS)

参数
_rdyn动力学数据
payload负载

◆ set_R_DYNAMICS_payload1()

void set_R_DYNAMICS_payload1 ( R_DYNAMICS _rdyn,
char *  payloadname 
)

设置动力学负载数据(R_DYNAMICS)

参数
_rdyn动力学数据
payloadname负载名字

◆ set_torque_to_R_DYNAMICS()

void set_torque_to_R_DYNAMICS ( R_DYNAMICS _rdyn,
double *  torque 
)

设置动力学关节力矩数据(R_DYNAMICS)

参数
_rdyn动力学数据
torque关节力矩阵(Nmm 或 N)