TKinematicParameter¶
运动学变换参数结构体
结构体说明:
typedef union KinematicParameter
{
TRobotKinematicParameter robot;
TFiveAxisKinematicParameter fiveAxis
TMultiAxisKinematicParameter multiAxis
TParallelParameter parallel;
double data[48];
} TKinematicParameter;
TRobotKinematicParameter
typedef struct RobotKinematicParameter
{
short type;
short subtype;
short dir[8];
short reserve1[6];
double prm[20];
double offset[8];
long reserve2[10];
double reserve3[11];
}TRobotKinematicParameter;
ROBOT_TYPE_SCARA(0):SCARA机械臂。
ROBOT_TYPE_SIX_REVOLUTE(1):6自由度串联机械臂。
ROBOT_TYPE_FOUR_REVOLUTE(2):4自由度串联机械臂。
ROBOT_TYPE_PALLETIZE(3):码垛机器人。
ROBOT_TYPE_POSITIONER(4):变位机。
ROBOT_TYPE_FIVE_REVOLUTE(5):5自由度串联机械臂。
ROBOT_TYPE_XYZRR(6):XYZRR机器人。
ROBOT_TYPE_7R(7):七自由度机器人。
ROBOT_TYPE_UR(10):UR机器人。
ROBOT_TYPE_CYLINDER(20):圆柱机器人。
ROBOT_TYPE_DELTA(100):Delta机器人。
6自由度串联机械臂:
SCARA机械臂子类型:
码垛机器人子类型:
变位机子类型:
ROBOT_TYPE_XYZRR子类型:
UR机器人:
5自由度串联机械臂子类型:
4自由度串联机械臂子类型:
DELTA子类:
没有提供子类型定义的机器人类型,子类型必须设置为0。
dir:关节方向,0:与定义方向相同,1:与定义方向相反。
reserve:保留参数,必须为0。
prm:结构参数,杆长。
当结构为变位机模型时,参数意义如下:
prm[0]~prm[2]:第一个旋转轴的旋转中心相对MCS零点的坐标。
prm[3]~prm[5]:第一个旋转轴的旋转轴线方向相对MCS坐标系的坐标。
prm[6]~prm[8]:第二个旋转轴的旋转中心相对第一个旋转轴的旋转中心的坐标。
prm[9]~prm[11]:第二个旋转轴的旋转轴线方向相对第一个旋转轴坐标系的坐标。
offset:关节偏移,实际初始姿态与定义的初始姿态的偏移(实际初始姿态在定义坐标系下的位置)。单位:旋转轴:弧度,直线轴:规划单位(微米)。
reserve2:保留参数,必须为0。
reserve3:保留参数,必须为0。
fiveAxis:五轴结构参数。详情说明请参照TFiveAxisKinematicParameter
TFiveAxisKinematicParameter
typedef struct FiveAxisKinematicParameter
{
short type; //机床类型
short reserve1[3]; //保留参数
double primaryAxisPoint[3]; //第一旋转轴中心在MCS的坐标
double slaveAxisPoint[3]; //第二旋转轴中心在MCS的坐标
double toolLocationPoint[3]; //刀具坐标系中心在MCS的坐标
short dirMode; //方向描述模式
short reserve2[2]; //保留参数
short dir[5]; //各轴方向
double axisVector[5][3]; //各轴轴线方向
long reserve3[10];
double reserve4[16];
}TFiveAxisKinematicParameter;
双转台
RW_C_ON_B(0):B为第一旋转轴,C为第二旋转轴。
RW_B_ON_A(1):A为第一旋转轴,B为第二旋转轴。
RW_A_ON_B(2):B为第一旋转轴,A为第二旋转轴。
RW_C_ON_A(3):A为第一旋转轴,C为第二旋转轴。
DT_B_ON_A(4):A为第一旋转轴,B为第二旋转轴。
DT_A_ON_B(5):B为第一旋转轴,A为第二旋转轴。
DT_A_ON_C(6):C为第一旋转轴,A为第二旋转轴。
DT_B_ON_C(7):C为第一旋转轴,B为第二旋转轴。
T_A_W_B(8):A为第一旋转轴,B为第二旋转轴
T_B_W_A(9):B为第一旋转轴,A为第二旋转轴
T_A_W_C(10):A为第一旋转轴,C为第二旋转轴
T_B_W_C(11):B为第一旋转轴,C为第二旋转轴
primaryAxisPoint:第一旋转轴中心在MCS的坐标,旋转轴中心可以为旋转轴轴线上的任何一点,单位:mm。
slaveAxisPoint:第二旋转轴中心在MCS的坐标,旋转轴中心可以为旋转轴轴线上的任何一点,单位:mm。
toolLocationPoint:刀具坐标系中心在MCS的坐标,单位:mm。
dirMode:dirMode:轴方向描述模式。范围:[0,1]。
0:通过描述轴方向是否满足右手坐标系来确定轴方向,只适用于正交模型的描述,轴方向通过dir[5]数组的五个参数来描述5个轴的方向。
1:通过描述轴矢量方向来确定轴方向,适用于正交和非正交模型,该模式需要设置dir[5]数组的前3个轴是位于工件侧还是工具侧,并通过参数axisVector[5][3]描述5个轴的轴矢量方向。
dir:当dirMode为0时,用于描述5个轴的方向。 当dirMode为1时,数组的前3个元素用于描述前3个轴是位于工件侧还是工具侧,后两个元素没有意义,必须设置为0。 reserve2:保留参数,必须为0。
axisVector:各轴轴线方向。设置5个轴的轴向矢量方向。注意:需要转换成单位矢量来描述。 矢量方向参数都是相对MCS坐标系的方向来描述的。
reserve3:保留参数,必须为0。
reserve4:保留参数,必须为0。
multiAxis:多轴结构参数。详情说明请参照TMultiAxisKinematicParameter
TMultiAxisKinematicParameter
typedef struct MultiAxisKinematicParameter
{
short axisCount; //轴数
short reserve1[3]; //保留参数
long reserve2[10];
double reserve3[42];
}TMultiAxisKinematicParameter;
reserve1:保留参数,必须为0。
reserve2:保留参数,必须为0。
reserve3:保留参数,必须为0。
parallel:平行轴结构参数。详情说明请参照TParallelParameter
TParallelParameter
typedef struct ParallelParameter
{
short subType;
short axisCount;
short mode;
short majorAxis[3];
short reserve1[6];
short parallelAxis[8];
long reserve2[10];
double reserve3[38];
}TParallelParameter;
axisCount:平行轴结构的总轴数。
mode:当平行轴为平行叠加轴模式时,该参数生效,参数范围:[0,2]。
0:运动过程中相互平行的轴根据叠加后的末端运动量按比例线性变化。
1:运动过程中保证重载轴单调变化,剩余的运动量由另外一个平行轴完成。
2:运动过程中重载轴和叠加后末端位置的比例从起点占的比例线性变化到终点占的比例,剩余的运动量由另外一个平行轴完成。
reserve1:保留参数,必须为0。
parallelAxis:设置各个轴对应的末端轴号。1为X轴,2为Y轴,3为Z轴。
reserve2:保留参数,必须为0。
reserve3:保留参数,必须为0。
data:保留参数,必须为0。
相关指令: