1.一种基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述基于PLCopen的交叉耦合多轴同步插补控制方法封装于PLCopen运动控制功能块中,且包括如下步骤:S1、根据获取的多轴机器人的各轴关节的初始位置,利用正运动学变换确定多轴机器人的末端执行器在笛卡尔坐标系OXY下的起始位置 的坐标 ;
S2、根据起始位置 的坐标 和目标轨迹的终点 的坐标 ,采用S型加减速算法计算出多轴机器人的末端执行器的总插补时间 和实时理论位置,所述实时理论位置即为当前插补位置 的坐标 ;
S3、采用交叉耦合控制算法进行插补过程实时补偿,直至完成总插补时间 结束流程,所述采用交叉耦合控制算法进行插补过程实时补偿具体如下:S31、根据当前插补位置 逆运动学变换获得多轴机器人的各轴的理论关节角;
S32、将各轴的理论关节角和反馈的对应轴输出的实际关节角通过第一PID控制器后作用于对应轴到达相应位置;
S33、根据对应轴到达的位置通过正运动学变换得到多轴机器人的末端执行器在笛卡尔坐标系OXY下的实际位置 的坐标 ;
S34、建立插补过程中实际位置 与当前插补位置 之间的轮廓误差 的公式以实时计算轮廓误差 ;
S35、根据轮廓误差 的公式并对应 ,计算出对应的X轴的交叉耦合增益和Y轴的交叉耦合增益 ,所述X轴的交叉耦合增益 和Y轴的交叉耦合增益 计算如下:对于直线轨迹:
, ;
对于圆弧轨迹:
, ;
式中, 为笛卡尔坐标系OXY下的X轴方向误差, 为笛卡尔坐标系OXY下的Y轴方向误差, 为直线轨迹与笛卡尔坐标系OXY下的X轴正方向的夹角, 为圆弧轨迹在当前时刻 的角度, 为圆弧轨迹的半径;
S36、将轮廓误差 输入交叉耦合控制器,并将X轴的交叉耦合增益 、Y轴的交叉耦合增益 和交叉耦合控制器的输出量u补偿到多轴机器人的末端执行器的当前插补位置获得多轴机器人的实际输入,所述多轴机器人的实际输入满足如下公式:;
式中, 为实际输入的X轴坐标, 为实际输入的Y轴坐标。
2.如权利要求1所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述根据起始位置 的坐标 和目标轨迹的终点 的坐标 ,采用S型加减速算法计算出多轴机器人的末端执行器的总插补时间 和实时理论位置,所述实时理论位置即为当前插补位置 的坐标 ,具体如下:
1)当目标轨迹为直线轨迹时,执行如下操作:由两点间的距离公式得到直线段 的长度 ,从而计算出直线段 的单位向量 ,其中, 为X轴方向的运动分量, 为Y轴方向的运动分量;
根据直线段 的长度L和直线段 的单位向量 ,利用S型加减速算法计算出总插补时间 并获得多轴机器人的末端执行器的位移与时间关系式;
根据直线插补原理,可得当前插补位置 的坐标 :;
2)当目标轨迹为圆弧轨迹时,执行如下操作:利用atan2函数计算圆弧轨迹的起始角 和终止角 ,其中,起始角 为圆弧轨迹的圆心 指向起始位置 的向量与笛卡尔坐标系OXY下的X轴正方向的夹角,终止角 为圆弧轨迹的圆心 指向圆弧轨迹的终点 的向量与笛卡尔坐标系OXY下的X轴正方向的夹角,起始角 和终止角 的角度范围均为 ;
根据圆弧轨迹运行方向计算总角位移 ,具体如下:若圆弧轨迹为顺时针,则
;
若圆弧轨迹为逆时针,则
;
根据圆弧段 的长度 ,且圆弧段 的半径 ,为圆弧轨迹的圆心 的坐标,利用S型加减速算法计算出总插补时间 并获得多轴机器人的末端执行器的位移与时间关系式;
根据圆弧插补原理,可得当前插补位置 的坐标 为:;
其中,
;
圆弧轨迹在当前时刻 的角度 的计算如下:若圆弧轨迹为顺时针,则
;
若圆弧轨迹为逆时针,则
;
式中, 为零时刻至当前时刻 的圆弧的角位移, 为当前时刻 的位移。
3.如权利要求2所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述S型加减速算法划分为加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段七个阶段,其中:所述总插补时间 计算如下:
由于加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段的运行时间依次对应为 、 、 、 、 、 、 ,且满足:;
;
;
;
;
;
;
加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段的速度依次对应为 、 、 、 、 、 、 ,且满足:;
;
;
;
;
;
;
加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段的位移依次对应为 、 、 、 、 、 、 ,且满足:;
;
;
;
;
;
;
;
;
综上,求解出 ,公式如下:
;
从而计算出加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段的终止时间 、 、、 、、 、 ,获得总插补时间 ;
多轴机器人的末端执行器的位移与时间关系式如下:;
式中, 为当前时刻 的位移, 为最大加加速度, 为最大加速度, 为最大减速度, 为最大速度, 为起始速度, 为终止速度即为零,L为总位移, 为加速段的总位移, 为减速段的总位移,加速段包括加加速阶段、匀加速阶段和减加速阶段,减速段包括加减速阶段、匀减速阶段和减减速阶段。
4.如权利要求2所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述利用atan2函数计算圆弧轨迹的起始角 和终止角 前,还进行如下操作:判断是否满足 ,若不满足,则认为不是圆弧轨迹,发出错误警告并结束流程,若满足,则认为是圆弧轨迹,利用atan2函数计算圆弧轨迹的起始角 和终止角 ,其中, 为起始位置 的坐标 到圆弧轨迹的圆心 的坐标 的距离, 为圆弧轨迹的终点 的坐标 到圆心 的坐标 的距离, 为预设极小值。
5.如权利要求1所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述建立插补过程中实际位置 与当前插补位置 之间的轮廓误差 的公式以实时计算轮廓误差 ,具体如下:由于,
;
;
当目标轨迹为直线轨迹时,轮廓误差 的公式如下:;
当目标轨迹为圆弧轨迹时,轮廓误差 的公式如下:;
其中,
;
式中, 为圆弧轨迹的圆心 的坐标;
对圆弧轨迹的轮廓误差 的公式进行泰勒公式展开,可得:;
式中, 表示高阶项即二阶以上的展开式;
忽略高阶项 ,将轮廓误差 的公式化简为:。
6.如权利要求5所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述交叉耦合控制器为第二PID控制器,且满足如下公式:;
式中, 为第i个插补周期交叉耦合控制器的输出量, 为比例系数, 为积分系数,为微分系数, 为插补周期, 为第i个插补周期的轮廓误差, 为第i‑1个插补周期轮廓误差, 。
7.如权利要求1所述的基于PLCopen的交叉耦合多轴同步插补控制方法,其特征在于:所述PLCopen运动控制功能块,具体如下:当目标轨迹为直线轨迹时,PLCopen运动控制功能块为直线插补功能块,所述直线插补功能块的输入引脚包括轴组引脚AxisGroup、启动引脚Execute、终点位置引脚Position、速度引脚Velocity、加速度引脚Acceleration、减速度引脚Deceleration、加加速度引脚Jerk、缓存模式引脚BufferMode;输出引脚包括完成标志引脚Done、指令执行状态引脚Busy、指令控制轴状态引脚Active、指令打断引脚CommandAborted、错误状态引脚Error、错误码引脚ErrorID;
当目标轨迹为圆弧轨迹时,PLCopen运动控制功能块为圆弧插补功能块,所述圆弧插补功能块的输入引脚包括轴组引脚AxisGroup、启动引脚Execute、圆心坐标引脚AuxPoint、终点坐标引脚EndPoint、路径方向引脚PathChoice、速度引脚Velocity、加速度引脚Acceleration、减速度引脚Deceleration、加加速度引脚Jerk、缓存模式引脚BufferMode;
输出引脚包括完成标志引脚Done、指令执行状态引脚Busy、指令控制轴状态引脚Active、指令打断引脚CommandAborted、错误状态引脚Error、错误码引脚ErrorID;
其中,所述轴组引脚AxisGroup用于指定参与运动所需轴的ID,所述启动引脚Execute用于使能以触发插补运动信号,圆心坐标引脚AuxPoint用于指定圆弧轨迹的圆心的坐标,终点坐标引脚EndPoint用于指定圆弧轨迹的终点的坐标,路径方向引脚PathChoice用于确定圆弧轨迹是顺时针运行还是逆时针运行,所述终点位置引脚Position用于指定直线轨迹的终点的坐标,所述速度引脚Velocity用于指定最大速度 ,即匀速阶段的速度,所述加速度引脚Acceleration用于指定最大加速度 ,所述减速度引脚Deceleration用于指定最大减速度 ,所述加加速度引脚Jerk用于指定最大加加速度 ,所述缓存模式引脚BufferMode为两个指令之间的缓存模式,所述完成标志引脚Done用于标志插补运动完成状态,所述指令执行状态引脚Busy用于标志指令执行状态,所述指令控制轴状态引脚Active用于标志多轴机器人的轴的运动状态,所述指令打断引脚CommandAborted用于标志指令未完成时被打断的状态,所述错误状态引脚Error用于标志参与运动所需轴的ID指令执行状态,所述错误码引脚Error用于输出错误码。