CN103092128B - 一种多轴运动控制器 - Google Patents

一种多轴运动控制器 Download PDF

Info

Publication number
CN103092128B
CN103092128B CN201310028832.XA CN201310028832A CN103092128B CN 103092128 B CN103092128 B CN 103092128B CN 201310028832 A CN201310028832 A CN 201310028832A CN 103092128 B CN103092128 B CN 103092128B
Authority
CN
China
Prior art keywords
module
coordinate data
control
coordinate
dynamic memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310028832.XA
Other languages
English (en)
Other versions
CN103092128A (zh
Inventor
高满元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING E-MOTION CONTROL EQUIPMENT TECHNOLOGY Co Ltd
Original Assignee
BEIJING E-MOTION CONTROL EQUIPMENT TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING E-MOTION CONTROL EQUIPMENT TECHNOLOGY Co Ltd filed Critical BEIJING E-MOTION CONTROL EQUIPMENT TECHNOLOGY Co Ltd
Priority to CN201310028832.XA priority Critical patent/CN103092128B/zh
Publication of CN103092128A publication Critical patent/CN103092128A/zh
Application granted granted Critical
Publication of CN103092128B publication Critical patent/CN103092128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Numerical Control (AREA)

Abstract

本发明提出了一种多轴运动控制器和运动控制算法,用于解决现有多轴运动控制器对伺服电机进行运动控制时运动速度和工作效率低的问题,包括:接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补等多种轨迹曲线的多个坐标数据;动态存储模块,用于实时接收并动态存储多个坐标数据;控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成多轴复杂轨迹曲线的加工。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。

Description

一种多轴运动控制器
技术领域
本发明涉及数控技术领域,特别是指一种多轴运动控制器。
背景技术
传统的用于控制伺服电机,从而伺服电机对刀具控制,完成圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿等轨迹曲线的加工的设备及运动控制方法对伺服电机进行运动控制时运动速度和工作效率低。
发明内容
本发明提出了一种多轴运动控制器,用于解决现有多轴运动控制器对伺服电机进行运动控制时运动速度和工作效率低的问题。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种多轴运动控制器,包括:
接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;
轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与接收模块连接;
动态存储模块,用于实时接收并动态存储多个坐标数据,与轨迹运算模块连接;
控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与动态存储模块和外部伺服电机连接。
其中,优选地,轨迹运算模块包括:
正常计算模块,用于当轨迹曲线为相对坐标原点时,进行正常情况运算。
其中,优选地,轨迹运算模块还包括:
非正常计算模块,用于当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
其中,优选地,控制模块包括:
调取模块,用于调取动态存储模块中的坐标数据;
执行模块,用于根据坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与调取模块连接;
其中,优选地,控制模块还包括:
数据安全控制模块,用于对动态存储模块的坐标数据进行安全写入和覆盖,与动态存储模块连接。
一种多轴运动控制器的运动控制算法,其特征在于,包括:
步骤S1:接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;
步骤S2:根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据;
步骤S3:用于实时接收并动态存储多个坐标数据;
步骤S4:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。
其中,优选地,步骤S2包括:
步骤S200:当轨迹曲线为相对坐标原点时,进行正常情况运算。
其中,优选地,步骤S2还包括:
步骤S201:当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
其中,优选地,步骤S4包括:
S400:调取动态存储模块中的坐标数据;
S401:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。
其中,优选地,还包括:
步骤S5:当动态存储模块实时接收并动态存储多个坐标数据时,对坐标数据进行安全写入和覆盖进行控制。
本发明提出的一种多轴运动控制器和运动控制算法,利用External ProfileMode,使用C语言,为多轴运动控制器创建了可以存在控制器上存储器内执行和可以存在计算机实时传送执行的运动轨迹控制算法,包括圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿和背隙补偿等。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多轴运动控制器的结构示意图;
图2为本发明实施例提供的多轴运动控制器的运动控制算法的流程示意图;
图3为本发明实施例中圆弧的圆心在坐标原点的运算示意图;
图4为本发明实施例中圆弧的圆心不在坐标原点的运算示意图;
图5为本发明实施例中圆弧的圆心不在坐标原点的运算示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种多轴运动控制器,包括:
接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;
轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与接收模块连接;
动态存储模块,用于实时接收并动态存储多个坐标数据,与轨迹运算模块连接;
控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与动态存储模块和外部伺服电机连接。
与现有技术相比,本发明提出的一种多轴运动控制器和运动控制算法,利用External Profile Mode,使用C语言,为多轴运动控制器创建了可以存在控制器上存储器内执行和可以存在计算机实时传送执行的运动轨迹控制算法,包括圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿和背隙补偿等。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。
其中,优选地,轨迹运算模块包括:
正常计算模块,用于当轨迹曲线为相对坐标原点时,进行正常情况运算。
其中,优选地,轨迹运算模块还包括:
非正常计算模块,用于当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
其中,优选地,控制模块包括:
调取模块,用于调取动态存储模块中的坐标数据;
执行模块,用于根据坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与调取模块连接;
其中,优选地,控制模块还包括:
数据安全控制模块,用于对动态存储模块的坐标数据进行安全写入和覆盖,与动态存储模块连接。
如图2所示,本发明实施例提供一种多轴运动控制器的运动控制算法,包括以下步骤:
步骤S1:接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;
步骤S2:根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据;
步骤S3:用于实时接收并动态存储多个坐标数据;
步骤S4:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。
其中,优选地,步骤S2包括:
步骤S200:当轨迹曲线为相对坐标原点时,进行正常情况运算。
其中,优选地,步骤S2还包括:
步骤S201:当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
其中,优选地,步骤S4包括:
S400:调取动态存储模块中的坐标数据;
S401:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。
其中,优选地,还包括:
步骤S5:当动态存储模块实时接收并动态存储多个坐标数据时,对坐标数据进行安全写入和覆盖的控制。
下面以圆弧插补为例,详细介绍本发明实施例提供的多轴运动控制器和运动控制算法如何实现圆弧插补:
采用起点,终点及半径方法来实现圆弧插补,及已知圆弧的起点,终点,半径,及插补方向(顺时针或逆时针)来实现圆弧插补。如图3所示,最简单的为圆弧的圆心就在坐标(0,0)点的情况:
在圆上任意取一点A(x1,y1),由圆的极坐标公式可以得出:x1=Rcosa;y1=Rsina;R为圆的半径,a为A点与X轴的夹角。因为R已知,角a是一个变化量。对于图3所示圆,相当于角a从0°旋转到360°,就形成了圆。
上面我们提到,控制器可以设置每一个伺服周期(或每几个)伺服周期的位置,因此只要得出在某一个伺服周期的角a值,就可以运算出该伺服周期内的坐标值,从而可以得出该伺服周期X轴及Y轴两个电机的位置。
对于圆弧插补,我们一般给出圆弧插补的线速度V,因此我们可以计算出角速度ω=V/R。然后,我们可以自己设定一个固定的插补周期T,该插补周期要为控制卡伺服周期的整数倍。有了角速度及插补周期T,我们可以计算出每一个插补周期角a的变化量θ。θ=w﹡T。这样,角a从0°开始,每到下一个插补周期,角a的当前值都增加一个θ值,直到旋转到360°为止。
由公式x1=Rcosa;y1=Rsina,角a是个可以计算出的变化量,这样可以计算出每一个插补周期的x和y的坐标值。对于非整圆的弧,我们的计算方法完全相同,只是需要再计算出角a的起始角度及最终角度即可。
多轴运动控制器为用户提供了一个可以编写运动轨迹算法的窗口叫External Profile Mode,用户可以设定每一个(或者每几个)伺服周期的电机位置、速度、加速度、加加速度的初始参数,从而我们可以实现复杂的轨迹曲线。我们通过上述数学算法生成这些多个坐标数据后,可以将坐标数据写到控制器的双端口RAM中。
整个RAM将类似于一个数据表,整个双端口RAM可以写16K个32bit变量,如果我们的数据很多,无法一次全部放到双端口RAM中,那么我们可以让这个RAM区以一种旋转缓冲区的方式工作。我们可以通过多轴运动控制器的指令GetBufferWriteIndex及GetBufferReadIndex来获得当前RAM区中读指针及写指针的位置。通过比较这两个指针的位置,我们可以命令什么时候可以写入新的数据,什么时候可以安全的覆盖掉旧的数据。这样的数据安全控制方法安全、可靠。
上面我们给出示例的圆心在(0,0)点,但是对于绝大部分圆弧的圆心不在坐标原点,如图4所示,对于这样的圆弧,我们可以使用坐标平移的方法来解决问题。
圆弧的计算方法是相同的,只是在计算每个插补周期的A点位置时,都要加上圆心的坐标值。即:x1=Rcosa+Xc;y1=Rsina+Yc;那么,问题的重点就变为如何找到圆心。有了正确的圆心坐标后,我们的问题就能得到解决。
下面首先我们来看如何通过起点坐标,终点坐标及半径值,计算出圆心坐标:
我们可以计算出起点及终点弦长AB,弦长AB=(X2-X1)2+(Y2-Y1)2,然后做直线段CM⊥AB。则M为线段AB的中点。M点的坐标Xm及Ym及线段BM长度我们也可以计算出来。有了这些,我们就可以计算出弦AB所对的圆心角。
如图5所示,过M点及A点分别做线段MD//Y轴,AD//X轴。过M点及C点分别做线段ME//Y轴,MC//X轴。首先,我们可以计算出线段MD及AD的长度:MD=|Ym-Y1|,AD=|Xm-X1|,然后,我们可以通过简单的数学方法证明出△MDA∽△MEC,因此MD/ME=AD/EC=MA/MC。
我们已经计算出了MD,AD,MA,MC的值,因此可以计算出ME及EC的长度。因为ME=|Xm-Xc|,EC=|Ym-Yc|。因此,我们就可以得到圆心的坐标值了。
这样,由公式x1=Rcosa+Xc;y1=Rsina+Yc,角a是个可以计算出的变化量,就可以计算出每一个插补周期的x和y的坐标值。对于非整圆的弧,我们的计算方法完全相同,只是需要再计算出角a的起始角度及最终角度即可。
多轴运动控制器的控制模块调取RAM中的坐标数据,根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,提高了工作效率,安全、可靠,加工精度高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种多轴运动控制器,其特征在于,包括:
接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;
轨迹运算模块,用于根据用户输入的所述初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与所述接收模块连接;
动态存储模块,用于实时接收并动态存储所述多个坐标数据,与所述轨迹运算模块连接;
控制模块,用于根据所述多个坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工,与所述动态存储模块和外部伺服电机连接;
所述轨迹运算模块包括:
正常计算模块,用于当所述轨迹曲线为相对坐标原点时,进行正常情况运算;
非正常计算模块,用于当所述轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算;
所述控制模块包括:
调取模块,用于调取所述动态存储模块中的坐标数据;
执行模块,用于根据所述坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工,与所述调取模块连接。
2.如权利要求1所述的多轴运动控制器,其特征在于,所述控制模块还包括:
数据安全控制模块,用于对所述动态存储模块的坐标数据进行安全写入和覆盖,与所述动态存储模块连接。
CN201310028832.XA 2013-01-25 2013-01-25 一种多轴运动控制器 Active CN103092128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310028832.XA CN103092128B (zh) 2013-01-25 2013-01-25 一种多轴运动控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310028832.XA CN103092128B (zh) 2013-01-25 2013-01-25 一种多轴运动控制器

Publications (2)

Publication Number Publication Date
CN103092128A CN103092128A (zh) 2013-05-08
CN103092128B true CN103092128B (zh) 2015-01-14

Family

ID=48204834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310028832.XA Active CN103092128B (zh) 2013-01-25 2013-01-25 一种多轴运动控制器

Country Status (1)

Country Link
CN (1) CN103092128B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103592892A (zh) * 2013-10-12 2014-02-19 欣旺达电子股份有限公司 多轴运动控制的方法及系统
CN103714042B (zh) * 2013-12-06 2017-05-03 苏州逸美德科技有限公司 一种变形五次多项式凸轮运行曲线设计方法
CN104076743B (zh) * 2014-07-07 2016-12-07 浙江理工大学 一种自识别插补种类的插补控制方法
CN104570952B (zh) * 2015-01-19 2017-11-07 深圳市微秒控制技术有限公司 多轴插补控制方法与装置
CN106647638B (zh) * 2016-11-09 2019-03-26 湖南戈人自动化科技有限公司 运动控制系统
CN108750653B (zh) * 2018-07-17 2024-02-27 陕西科技大学 一种多轨迹电子凸轮取置机械手的控制方法
CN109667750B (zh) * 2018-12-14 2020-08-14 北京卫星制造厂有限公司 一种基于在线补偿的多轴协同高精度液相泵控制方法
CN113352421B (zh) * 2021-06-04 2022-12-09 浙江工业大学 一种木材侧孔机的多模式加工控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615024A (zh) * 2009-07-23 2009-12-30 哈尔滨工业大学 具有nurbs插补功能的五坐标数控机床运动控制器
CN102566511B (zh) * 2010-12-09 2013-07-03 中国科学院沈阳计算技术研究所有限公司 五轴数控系统刀心点插补路径插值方法
CN102147600B (zh) * 2011-04-30 2012-09-19 上海交通大学 实时生成曲率连续路径的数控插补系统

Also Published As

Publication number Publication date
CN103092128A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
CN103092128B (zh) 一种多轴运动控制器
Sencer et al. A curvature optimal sharp corner smoothing algorithm for high-speed feed motion generation of NC systems along linear tool paths
CN110497411B (zh) 一种工业机器人协同运动控制方法
CN103676787B (zh) 一种用于运动控制系统的圆心模式空间圆弧插补方法
CN102799145B (zh) 拐角多周期恒加加速度过渡的s曲线加减速直线插补方法
CN109159151A (zh) 一种机械臂空间轨迹跟踪动态补偿方法和系统
CN105710881A (zh) 一种机器人末端连续轨迹规划过渡方法
CN111002315B (zh) 一种轨迹规划方法、装置及机器人
CN103085072A (zh) 基于三维建模软件实现工业机器人离线编程的方法
CN111266762B (zh) 一种基于多个机器人协同焊接方法及系统
CN107030702B (zh) 一种机械臂的轨迹规划方法
CN109960157A (zh) 舵机运动的平滑处理方法、装置、终端设备和存储介质
CN107710084A (zh) 一种加工路径规划方法、加工路径规划装置及数控机床
CN103744346A (zh) 一种电子凸轮曲线生成方法
CN109623825A (zh) 一种移动轨迹规划方法、装置、设备和存储介质
CN110850883A (zh) 一种机器人的移动控制方法、介质、终端和装置
CN110297460A (zh) 热位移修正系统以及计算机
CN105892412A (zh) 基于自定义总线的多轴运动控制系统硬件架构
CN107450466A (zh) 一种冲压机器人控制器及其高速平稳控制方法
Li et al. Feedrate scheduling of a five-axis hybrid robot for milling considering drive constraints
Xiao et al. A jerk-limited heuristic feedrate scheduling method based on particle swarm optimization for a 5-DOF hybrid robot
CN108490874B (zh) 一种双轴运动控制系统的非线性pid交叉耦合控制方法
CN107553485B (zh) 一种人机交互过程中动态虚拟夹具的生成方法
CN102650862A (zh) 可编程逻辑控制器的电子凸轮控制系统及方法
CN104570952A (zh) 多轴插补控制方法与装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant