一种基于CANOPEN协议控制伺服电机曲线运动的方法技术

技术编号:25222688 阅读:131 留言:0更新日期:2020-08-11 23:12
本发明专利技术公开了一种基于CANOPEN协议控制伺服电机曲线运动的方法,实现多台伺服电机带动工件完成曲线运动,CANOPEN协议包括主站和从站,控制各伺服电机运动的多台伺服驱动器中,作为主站的为主控制器,作为从站的为从控制器。本发明专利技术将独立的伺服电机驱动器组网控制,发送周期性SYNC指令读取反馈信息形成闭环系统,在运动过程中根据接收到的位置信息调整下一次运动位置,从而实现伺服电机带动工件完成曲线运动。采用CAN总线建立一主多从的集群控制,利用CANOPEN协议协完成数据交互从而实现伺服电机位置同步。

【技术实现步骤摘要】
一种基于CANOPEN协议控制伺服电机曲线运动的方法
本申请属于工业控制领域,具体涉及一种基于CANOPEN协议控制伺服电机曲线运动的方法。
技术介绍
CANOPEN是一种架构在控制局域网路(ControllerAreaNetwork,CAN)上的高层通讯协定,包括通讯子协定及设备子协定,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。它实现了OSI模型中的网络层以上(包括网络层)的协定。CANOPEN标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANOPEN支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。除了CANOPEN外,也有其他的通讯协定(如EtherCAT)实作CANOPEN的设备子协定。工业上广泛采用的伺服接口总线有CANOPEN、Powerlink、EtherCAT、等,这些方案通过全数字式信息传输可以实现分布式多轴控制,降低了系统的复杂性且易于扩展。EtherCAT、Powerlink等工业以太网虽然具有通信速率高、传输数据量大的优点,但是,其多采用专有硬件或者大容量FPGA实现,具有较高的硬件成本和最大传输距离仅为100m等不可忽视的缺陷。然而,目前绝大多数的MCU都含有CAN外设,可以通过此外设实现CANOPEN网络,不仅可以降低系统的成本,而且增加了系统的抗干扰能力。并且,目前在工业控制中,传统伺服电机大多独立运作,难以实现曲线轨迹运作的问题,这给工业控制加工带来一定的限制性。
技术实现思路
本申请的目的在于提供一种基于CANOPEN协议控制伺服电机曲线运动的方法,将独立的伺服电机驱动器组网控制,实现工件的曲线运动。为实现上述目的,本申请所采取的技术方案为:一种基于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+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-yid4=yi+D0-yi+1′=yi+D0-kxi+1′-bS5.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时,表明第二预测位置(本文档来自技高网
...

【技术保护点】
1.一种基于CANOPEN协议控制伺服电机曲线运动的方法,实现多台伺服电机带动工件完成曲线运动,所述CANOPEN协议包括主站和从站,其特征在于,控制各伺服电机运动的多台伺服驱动器中,作为主站的为主控制器,作为从站的为从控制器,所述基于CANOPEN协议控制伺服电机曲线运动的方法,包括:/n步骤S1、主站检测当前CAN总线中在线的从站;/n步骤S2、主站发送广播指令,通知各在线从站进入预操作模式;/n步骤S3、主站发送TPDO指令,配置各在线从站的通信参数和映射参数,并且发送广播指令,通知各在线从站控制伺服电机运动至零点位置并进入操作模式;/n步骤S4、主站接收到位移指令后,解析得到位移指令中包含的目标曲线运动轨迹,将目标曲线运动轨迹离散化为若干个小线段,依次取小线段作为当前理想运动轨迹;/n步骤S5、主站发送周期性SYNC指令,根据各从站的反馈得到工件的当前位置信息(x

【技术特征摘要】
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。


2.如权利要求1所述的基于CANOPEN协议控制伺服电机曲线运动的方法,其特征在于,所述步骤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,直至工件运动到当前理想运动轨迹的末端。


3.如权利要求...

【专利技术属性】
技术研发人员:董辉付建伟彭宣聪张成祥
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1