[发明专利]一种基于CANOPEN协议控制伺服电机曲线运动的方法有效
| 申请号: | 202010349709.8 | 申请日: | 2020-04-28 |
| 公开(公告)号: | CN111522313B | 公开(公告)日: | 2021-09-28 |
| 发明(设计)人: | 董辉;付建伟;彭宣聪;张成祥 | 申请(专利权)人: | 浙江工业大学 |
| 主分类号: | G05B19/418 | 分类号: | G05B19/418;H04L12/40;H04L12/403 |
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨天娇 |
| 地址: | 310014 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 canopen 协议 控制 伺服 电机 曲线运动 方法 | ||
1.一种基于CANOPEN协议控制伺服电机曲线运动的方法,实现多台伺服电机带动工件完成曲线运动,所述CANOPEN协议包括主站和从站,其特征在于,控制各伺服电机运动的多台伺服驱动器中,作为主站的为主控制器,作为从站的为从控制器,所述基于CANOPEN协议控制伺服电机曲线运动的方法,包括:
步骤S1、主站检测当前CAN总线中在线的从站;
步骤S2、主站发送广播指令,通知各在线从站进入预操作模式;
步骤S3、主站发送TPDO指令,配置各在线从站的通信参数和映射参数,并且发送广播指令,通知各在线从站控制伺服电机运动至零点位置并进入操作模式;
步骤S4、主站接收到位移指令后,解析得到位移指令中包含的目标曲线运动轨迹,将目标曲线运动轨迹离散化为若干个小线段,依次取小线段作为当前理想运动轨迹;
步骤S5、主站发送周期性SYNC指令,根据各从站的反馈得到工件的当前位置信息(xi,yi),其中i表示当前周期,并根据当前位置信息(xi,yi)计算第一预测位置(xi+D0,yi)和第二预测位置(xi+D0,yi+D0)在竖直方向上和当前理想运动轨迹的差值,其中D0为移动距离,取最小差值对应的预测位置作为下一周期的目标位置,并通过TPOD指令将目标位置拆分发送给对应的在线从站,直至工件运动到当前理想运动轨迹的末端;
步骤S6、判断当前理想运动轨迹是否为目标曲线运动轨迹中的最后一个小线段,若是则完成并结束;若不是则取下一个小线段作为当前理想运动轨迹,并重新执行步骤S5;
其中,所述步骤S5具体包括以下步骤:
S5.1、设当前理想运动轨迹的轨迹方程为y=kx+b,主站发送SYNC指令获取各在线从站反馈的位置,合并得到工件的当前位置信息(xi,yi),i≥1;
S5.2、令每个周期内工件在X轴上的移动距离为D0,在Y轴上的移动距离为0或D0,因此得到下一周期工件的两个预测位置分别为:第一预测位置(xi+D0,yi)和第二预测位置(xi+D0,yi+D0);
S5.3、根据轨迹方程得到下一周期工件的轨迹位置为(xi+1′,yi+1′),且Yi+1yi+1′=kxi+1′+b,xi+1′=xi+D0,其中i+1表示下一周期;
S5.4、分别计算预测位置与轨迹位置之间的距离:
d1=|yi+1′-yi|=|kxi+1′+b-yi|
d2=|yi+D0-yi+1′|=|yi+D0-kxi+1′-b|
S5.5、根据距离d1、d2确定下一周期的目标位置(xi+1,yi+1),包括:
若d1>d2时,表明第二预测位置(xi+D0,yi+D0)距离当前理想运动轨迹较近,则选取第二预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi+D0;
当d1≤d2时,表明第一预测位置(xi+D0,yi)距离当前理想运动轨迹较近,则选取第一预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi;
S5.6、主站通过TPOD指令将目标位置拆分发送给对应的在线从站,控制从站下一周期的运动距离,使工件到达下一周期的目标位置;
S5.7、重复执行步骤S5.1~步骤S5.6,直至工件运动到当前理想运动轨迹的末端;
或者,所述步骤S5具体包括以下步骤:
S5.1、设当前理想运动轨迹的轨迹方程为y=kx+b,主站发送SYNC指令获取各在线从站反馈的位置,合并得到工件的当前位置信息(xi,yi),i≥1;
S5.2、令每个周期内工件在X轴上的移动距离为D0,在Y轴上的移动距离为0或D0,因此得到下一周期工件的两个预测位置分别为:第一预测位置(xi+D0,yi)和第二预测位置(xi+D0,yi+D0);
S5.3、根据轨迹方程得到下一周期工件的轨迹位置为(xi+1′,yi+1′),且yi+1′=kxi+1′+b,xi+1′=xi+D0,其中i+1表示下一周期;
S5.4、分别计算预测位置与轨迹位置之间的Y轴位置差:
d3=yi+1′-yi=kxi+1′+b-yi
d4=yi+D0-yi+1′=yi+D0-kxi+1′-b
S5.5、根据距离d3、d4确定下一周期的目标位置(xi+1,yi+1),包括:
令Ci=Δx×(d3-d4)=2Δy×xi-2Δx×yi+f
其中,Δx=(x2-x1),Δy=(y2-y1),(x1,y1)和(x2,y2)为当前理想运动轨迹上的第一个点和第二个点,且k=Δy/Δx,f=2Δy×D0+Δx(2b-D0);
对于第i+1个周期而言,Ci+1=Δx×(d3-d4)=2Δy×xi+1-2Δx×yi+1+f,且xi+1=xi+D0;
将两式相减得到递推公式为:Ci+1=Ci+2Δy×D0-2Δx(yi+1-yi);
假设工件的起始运动点为当前理想运动轨迹上的第一个点,则满足:y1=kx1+b;
因此C1=2Δy×D0-Δx×D0;
根据Ci的计算公式可知,Ci与d3-d4具有相同的符号,因此可得如下判定规则:若k>0,且Ci≥0时,表明第二预测位置(xi+D0,yi+D0)距离当前理想运动轨迹较近,则选取第二预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi+D0,并且根据递推公式可得Ci+1=Ci+2D0(Δy-Δx);
当k>0,且Ci<0时,表明第一预测位置(xi+D0,yi)距离当前理想运动轨迹较近,则选取第一预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi,并且根据递推公式可得Ci+1=Ci+2Δy×D0;
若k<0,且Ci<0时,表明第二预测位置(xi+D0,yi+D0)距离当前理想运动轨迹较近,则选取第二预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi+D0,并且根据递推公式可得Ci+1=Ci+2D0(Δy-Δx);
当k>0,且Ci≥0时,表明第一预测位置(xi+D0,yi)距离当前理想运动轨迹较近,则选取第一预测位置作为下一个周期的目标位置,即下一个周期的目标位置(xi+1,yi+1)中xi+1=xi+D0,yi+1=yi,并且根据递推公式可得Ci+1=Ci+2Δy×D0;
S5.6、主站通过TPOD指令将目标位置拆分发送给对应的在线从站,控制从站下一周期的运动距离,使工件到达下一周期的目标位置;
S5.7、重复执行步骤S5.1~步骤S5.6,直至工件运动到当前理想运动轨迹的末端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010349709.8/1.html,转载请声明来源钻瓜专利网。





