CN105334806A - 基于EtherCAT总线的工业机器人运动控制方法和*** - Google Patents
基于EtherCAT总线的工业机器人运动控制方法和*** Download PDFInfo
- Publication number
- CN105334806A CN105334806A CN201510813119.5A CN201510813119A CN105334806A CN 105334806 A CN105334806 A CN 105334806A CN 201510813119 A CN201510813119 A CN 201510813119A CN 105334806 A CN105334806 A CN 105334806A
- Authority
- CN
- China
- Prior art keywords
- data
- industrial robot
- encoder
- encoder data
- sent
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
公开了一种基于EtherCAT总线的工业机器人运动控制方法和***。本发明通过采用EtherCAT总线进行数据同步传输,无需额外的运动控制卡,简化了***硬件设计;通过在第一缓冲子单元未接收第一编码器数据时将第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至数据处理单元,能够提高工业机器人运动的连续性;通过比较数据处理周期和数据通信周期、且当寄存器数值大于预设的阈值次数时,延长数据通信周期,能够提高机器人运动过程中数据传输的有效性。
Description
技术领域
本发明涉及工业机器人的多轴运动控制方法,具体涉及一种基于EtherCAT总线的工业机器人运动控制方法和***。
背景技术
以下对本发明的相关技术背景进行说明,但这些说明并不一定构成本发明的现有技术。
目前,工业机器人的多轴运动控制方法多采用“计算机+运动控制卡”的架构。计算机进行工业机器人运动学算法运算,运动控制卡解算工业机器人的各轴数据,通过硬件定时方式同时发送给工业机器人各伺服轴,控制工业机器人各轴同时运动。这种控制方式需要增加额外的运动控制卡,而且不易于进行***扩展。
发明内容
本发明的目的在于提出一种基于EtherCAT总线的工业机器人运动控制方法和***,工业机器人各轴运动的同步性和连续性好,***硬件设计简单、可扩展性好。
根据本发明的一个方面,提供了一种基于EtherCAT总线的工业机器人运动控制方法,包括:
S1、判断接收缓冲单元的第一缓冲子单元是否接收到驱动器通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;若第一缓冲子单元接收到第一编码器数据,则将第一编码器数发送至EtherCAT总站的数据处理单元;若第一缓冲子单元未接收第一编码器数据,则将接收缓冲单元的第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至所述数据处理单元;记录当前时刻t1;
S2、根据用户指令确定运动学算法,基于第一编码器数据和所述运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据;
S3、通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元和发送缓冲单元,并将发送缓冲单元中的第二编码器数据发送至驱动器;记录当前时刻t2;
S4、若数据处理周期T1大于数据通信周期T2,将寄存器数值增加1;当寄存器数值大于预设的阈值次数时,延长数据通信周期T2;
其中,所述数据处理周期T1是指从数据处理单元接收第一编码器数据开始到将发送缓冲单元中的第二编码器数据发送至驱动器为止的时间,T1=t2-t1;所述数据通信周期T2是指驱动器通过EtherCAT总线发送第一编码器数据的时间间隔。
优选地,将第二编码器数据发送至第二缓冲子单元时,以第二编码器数据覆盖第二缓冲子单元中的数据。
优选地,步骤S4包括:
若T1>T2,将寄存器数值增加1,并获取数据处理周期T1与数据通信周期T2的周期差;
根据所述寄存器数值以及每次增加寄存器数值时获取的所述周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;
根据所述数据通信周期的延长量,延长数据通信周期T2。
优选地,根据本发明的工业机器人运动控制方法进一步包括:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈。
优选地,步骤S2包括:
若所述用户指令为直线运动或圆弧运动,将所述运动学算法确定为机器人笛卡尔空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
进行工业机器人正解运算,将所述当前位置的关节空间角度转化为当前位置的笛卡尔空间点坐标;
根据工业机器人的运动参数判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的空间点坐标;
进行工业机器人逆解运算,将下一个运动位置的空间点坐标转化成下一个运动位置的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
优选地,步骤S2包括:
若所述用户指令为点到点运动,将所述运动学算法确定为机器人关节空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
根据工业机器人的运动参数判断判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
根据本发明的另一个方面,提供了一种基于EtherCAT总线的工业机器人运动控制***,包括:控制单元、接收缓冲单元、数据处理单元、发送缓冲单元、寄存器单元、数据通信调整单元和数据存储单元;其中,
接收缓冲单元包括:第一接收缓冲子单元和第二接收缓冲子单元;第一接收缓冲子单元用于接收和存储驱动器通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;第二接收缓冲子单元用于接收和存储数据处理单元通过EtherCAT总线发送的第二编码器数据;
数据处理单元用于判断第一缓冲子单元是否接收到驱动器发送的第一编码器数据:若第一缓冲子单元接收到第一编码器数据,则通过EtherCAT总线从第一缓冲子单元获取第一编码器数,若第一缓冲子单元未接收第一编码器数据,则以第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据、并通过EtherCAT总线获取第一编码器数据;数据处理单元还用于根据用户指令确定运动学算法,基于第一编码器数据和所述运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据,通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元和发送缓冲单元,并将发送缓冲单元中的第二编码器数据发送至驱动器;
数据通信调整单元包括:计时器和寄存器;计时器用于记录数据处理单元接收第一编码器数据的时刻t1、将发送缓冲单元中的第二编码器数据发送至驱动器的时刻t2;
控制单元用于判断数据处理周期T1是否大于数据通信周期T2:若T1>T2,将寄存器数值增加1,当寄存器数值大于预设的阈值次数时,延长数据通信周期T2;
其中,所述数据处理周期T1是指从数据处理单元接收第一编码器数据开始到将发送缓冲单元中的第二编码器数据发送至驱动器为止的时间,T1=t2-t1;所述数据通信周期T2是指驱动器通过EtherCAT总线发送第一编码器数据的时间间隔;数据存储单元中存储EtherCAT网络的协议栈,所述EtherCAT网络的协议栈包括数据通信周期T2。
优选地,将第二编码器数据发送至第二缓冲子单元时,以第二编码器数据覆盖第二缓冲子单元中的数据。
优选地,所述控制单元还用于:若T1>T2,获取数据处理周期T1与数据通信周期T2的周期差;确定每次增加寄存器数值时获取的所述周期差的标准差;根据所述寄存器数值以及所述周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;根据所述数据通信周期的延长量,延长数据通信周期T2;
所述数据存储单元中存储有寄存器数值以及所述周期差的标准差查询预设的第一映射关系。
优选地,控制单元进一步用于:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈。
根据本发明的基于EtherCAT总线的工业机器人运动控制方法,包括:根据用户指令对应的运动学算法和第一编码器数据确定工业机器人各轴在下一个运动位置的第二编码器数据,并将发送缓冲单元中的第二编码器数据发送至驱动器;若数据处理周期T1大于数据通信周期T2,将寄存器数值增加1;当寄存器数值大于预设的阈值次数时,延长数据通信周期T2。本发明通过采用EtherCAT总线进行数据同步传输,无需额外的运动控制卡,简化了***硬件设计;通过在第一缓冲子单元未接收第一编码器数据时将第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至数据处理单元,能够提高工业机器人运动的连续性;通过比较数据处理周期和数据通信周期、且当寄存器数值大于预设的阈值次数时,延长数据通信周期,能够提高机器人运动过程中数据传输的有效性。
本发明还提供了一种基于EtherCAT总线的工业机器人运动控制***,该***具有上述方法的所有有益效果。
附图说明
通过以下参照附图而提供的具体实施方式部分,本发明的特征和优点将变得更加容易理解,在附图中:
图1是示出根据本发明的基于EtherCAT总线的工业机器人运动控制***的原理图。
具体实施方式
下面参照附图对本发明的示例性实施方式进行详细描述。对示例性实施方式的描述仅仅是出于示范目的,而绝不是对本发明及其应用或用法的限制。
现有技术中,工业机器人运动控制方法多采用“计算机+运动控制卡”的架构,计算机进行工业机器人运动学算法运算,运动控制卡将解算工业机器人的各轴数据通过硬件定时方式同时发送给工业机器人各伺服轴,控制工业机器人各轴同时运动。这种控制方式需要增加额外的运动控制卡,而且不易于进行***扩展。本发明通过采用EtherCAT总线进行数据同步传输,无需额外的运动控制卡,简化了***硬件设计。
在工业机器人运动控制过程中,驱动器通过EtherCAT总线向接收缓冲单元发送工业机器人在当前位置的第一编码器数据,数据处理单元根据第一编码器数据计算工业机器人各轴在下一个运动位置的第二编码器数据并发送给驱动器,通过驱动器控制工业机器人运动至下一个运动位置。为了提高工业机器人运动轨迹的精确性和连续性,可以使工业机器人在运动轨迹上的运动位置尽量多。定义数据处理周期T1为从数据处理单元接收第一编码器数据开始到将第二编码器数据发送至驱动器为止的时间,数据通信周期T2为驱动器通过EtherCAT总线发送第一编码器数据的时间间隔。工业机器人运动位置的数量往往会受数据通信周期的影响,比如,当T1<T2时,在工业机器人运动控制过程刚开始时,工业机器人位于第一运动位置,驱动器将第一运动位置的第一编码器数据发送至第一缓冲子单元中后,数据处理单元可以获得第一编码器数据并将第一编码器数据转化成第二编码器数据发送给驱动器后,工业机器人在驱动器的驱动下会运动到第二个运动位置,由于T1<T2,驱动器不会立刻再通过EtherCAT总线发送工业机器人在第二个运动位置的第一编码器数据,只有当本次数据通信周期结束且进入下一个数据通信周期时,驱动器才会再次发送工业机器人在第二个运动位置的第一编码器数据,在第二个运动位置之后的任意一个运动位置处都有可能出现上述的情况,从而导致工业机器人在运动轨迹上的有效运动位置数量较少,降低了工业机器人运动轨迹控制的精确性。
为了解决这个问题,根据本发明的基于EtherCAT总线的工业机器人运动控制方法,在步骤S1中首先判断接收缓冲单元的第一缓冲子单元是否接收到驱动器通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;若第一缓冲子单元接收到第一编码器数据,则将第一编码器数发送至EtherCAT总站的数据处理单元;若第一缓冲子单元未接收第一编码器数据,则将接收缓冲单元的第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至所述数据处理单元。通过采用这种方式能够保证当T1<T2时,数据处理单元不断获得第一编码器数据,从而增加工业机器人在运动轨迹上的有效运动位置数量,提高了工业机器人运动轨迹控制的精确性。
本发明中的第一编码器数据可以包括:与工业机器人各轴对应的驱动器的状态字、当前位置、当前速度和当前转矩。
数据处理单元接收第一编码器数据的时刻记为t1。
S2、根据用户指令确定运动学算法,基于第一编码器数据和所述运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据。本发明中的第二编码信息可以包括:驱动器的控制字、下一个运动位置、下一个运动速度和下一个运动转矩。
根据本发明的一个优选实施例,步骤S2包括:
若用户指令为直线运动或圆弧运动,将运动学算法确定为机器人笛卡尔空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
进行工业机器人正解运算,将当前位置的关节空间角度转化为当前位置的笛卡尔空间点坐标;
根据工业机器人的运动参数判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的空间点坐标;
进行工业机器人逆解运算,将下一个运动位置的空间点坐标转化成下一个运动位置的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
根据本发明的再一个优选实施例,步骤S2包括:
若用户指令为点到点运动,将运动学算法确定为机器人关节空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
根据工业机器人的运动参数判断判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
S3、通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元和发送缓冲单元,并将发送缓冲单元中的第二编码器数据发送至驱动器。将第二编码器数据发送至第二缓冲子单元时,第二编码器数据可以直接存储在第二缓冲子单元中,也可以使第二编码器数据覆盖第二缓冲子单元中的数据。将发送缓冲单元中的第二编码器数据发送至驱动器的时刻记为t2,则数据处理周期T1=t2-t1。
当T1>T2时,数据处理单元获取第一编码器数据、将第一编码器数据转化为第二编码器数据并发送给驱动器的频率小于驱动器向接收缓冲单元发送第一编码器数据的频率,此时驱动器接收的第二编码器数据的数量小于其发送的第一编码器数据的数量,使得工业机器人的有效运动位置的数量减小,不利于提高工业机器人运动轨迹控制的精确性。
为了防止这种情况的发生,本发明的工业机器人运动控制方法在步骤S3之后还包括步骤S4:若数据处理周期T1大于数据通信周期T2,将寄存器数值增加1;当寄存器数值大于预设的阈值次数时,延长数据通信周期T2。优选地,步骤S4包括:
若T1>T2,将寄存器数值增加1,并获取数据处理周期T1与数据通信周期T2的周期差;
根据寄存器数值以及每次增加寄存器数值时获取的周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;
根据数据通信周期的延长量,延长数据通信周期T2。
在实际应用过程中,有时候需要在EtherCAT网络中接入外部伺服轴或IO模块。此外,由于本发明的工业机器人运动控制方法无需额外的运动控制卡,因此***硬件设计简单,更有利于工业机器人运动控制***的扩展。为了提高对外部伺服轴或IO模块的反应速度和提高工业机器人运动控制的效率,本发明的工业机器人运动控制方法还可以进一步包括:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈,避免了现有技术中由于断电后重新配置协议栈对工业机器人运动控制效率的影响。
基于本发明的工业机器人运动控制方法的工业机器人运动控制***,包括:控制单元(图中未示出)、接收缓冲单元20、数据处理单元10、发送缓冲单元40、寄存器单元(图中未示出)、数据通信调整单元(图中未示出)和数据存储单元(图中未示出);其中,
接收缓冲单元20包括:第一接收缓冲子单元21和第二接收缓冲子单元22;第一接收缓冲子单元21用于接收和存储驱动器30通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;第二接收缓冲子单元22用于接收和存储数据处理单元通过EtherCAT总线发送的第二编码器数据;
数据处理单元用于判断第一缓冲子单元21是否接收到驱动器30发送的第一编码器数据:若第一缓冲子单元21接收到第一编码器数据,则通过EtherCAT总线从第一缓冲子单元21获取第一编码器数,若第一缓冲子单元21未接收第一编码器数据,则以第二缓冲子单元22最后一次接收到的编码器数据作为第一编码器数据、并通过EtherCAT总线获取第一编码器数据;数据处理单元还用于根据用户指令确定运动学算法,基于第一编码器数据和运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据,通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元22和发送缓冲单元40,并将发送缓冲单元40中的第二编码器数据发送至驱动器30;
数据通信调整单元包括:计时器和寄存器;计时器用于记录数据处理单元接收第一编码器数据的时刻t1、将发送缓冲单元40中的第二编码器数据发送至驱动器30的时刻t2;
控制单元用于判断数据处理周期T1是否大于数据通信周期T2:若T1>T2,将寄存器数值增加1,当寄存器数值大于预设的阈值次数时,延长数据通信周期T2;
其中,数据处理周期T1是指从数据处理单元接收第一编码器数据开始到将发送缓冲单元40中的第二编码器数据发送至驱动器为止的时间,T1=t2-t1;数据通信周期T2是指驱动器通过EtherCAT总线发送第一编码器数据的时间间隔;数据存储单元中存储EtherCAT网络的协议栈,EtherCAT网络的协议栈包括数据通信周期T2。
优选地,将第二编码器数据发送至第二缓冲子单元22时,以第二编码器数据覆盖第二缓冲子单元22中的数据。
优选地,控制单元还用于:若T1>T2,获取数据处理周期T1与数据通信周期T2的周期差;确定每次增加寄存器数值时获取的周期差的标准差;根据寄存器数值以及所述周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;根据数据通信周期的延长量,延长数据通信周期T2;
数据存储单元中存储有寄存器数值以及周期差的标准差查询预设的第一映射关系。
优选地,控制单元进一步用于:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈。
本发明通过采用EtherCAT总线进行数据同步传输,无需额外的运动控制卡,简化了***硬件设计;通过在第一缓冲子单元未接收第一编码器数据时将第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至数据处理单元,能够提高工业机器人运动的连续性;通过比较数据处理周期和数据通信周期、且当寄存器数值大于预设的阈值次数时,延长数据通信周期,能够提高机器人运动过程中数据传输的有效性。
虽然参照示例性实施方式对本发明进行了描述,但是应当理解,本发明并不局限于文中详细描述和示出的具体实施方式,在不偏离权利要求书所限定的范围的情况下,本领域技术人员可以对所述示例性实施方式做出各种改变。
Claims (10)
1.一种基于EtherCAT总线的工业机器人运动控制方法,包括:
S1、判断接收缓冲单元的第一缓冲子单元是否接收到驱动器通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;若第一缓冲子单元接收到第一编码器数据,则将第一编码器数发送至EtherCAT总站的数据处理单元;若第一缓冲子单元未接收第一编码器数据,则将接收缓冲单元的第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据发送至所述数据处理单元;记录当前时刻t1;
S2、根据用户指令确定运动学算法,基于第一编码器数据和所述运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据;
S3、通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元和发送缓冲单元,并将发送缓冲单元中的第二编码器数据发送至驱动器;记录当前时刻t2;
S4、若数据处理周期T1大于数据通信周期T2,将寄存器数值增加1;当寄存器数值大于预设的阈值次数时,延长数据通信周期T2;
其中,所述数据处理周期T1是指从数据处理单元接收第一编码器数据开始到将发送缓冲单元中的第二编码器数据发送至驱动器为止的时间,T1=t2-t1;所述数据通信周期T2是指驱动器通过EtherCAT总线发送第一编码器数据的时间间隔。
2.如权利要求1所述的工业机器人运动控制方法,其中,将第二编码器数据发送至第二缓冲子单元时,以第二编码器数据覆盖第二缓冲子单元中的数据。
3.如权利要求1所述的工业机器人运动控制方法,其中,步骤S4包括:
若T1>T2,将寄存器数值增加1,并获取数据处理周期T1与数据通信周期T2的周期差;
根据所述寄存器数值以及每次增加寄存器数值时获取的所述周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;
根据所述数据通信周期的延长量,延长数据通信周期T2。
4.如权利要求1所述的工业机器人运动控制方法,进一步包括:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈。
5.如权利要求1-4任一所述的工业机器人运动控制方法,其中,步骤S2包括:
若所述用户指令为直线运动或圆弧运动,将所述运动学算法确定为机器人笛卡尔空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
进行工业机器人正解运算,将所述当前位置的关节空间角度转化为当前位置的笛卡尔空间点坐标;
根据工业机器人的运动参数判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的空间点坐标;
进行工业机器人逆解运算,将下一个运动位置的空间点坐标转化成下一个运动位置的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
6.如权利要求1-4任一所述的工业机器人运动控制方法,其中,步骤S2包括:
若所述用户指令为点到点运动,将所述运动学算法确定为机器人关节空间运动学算法;
根据工业机器人各轴的减速比,将第一编码器数据转化为当前位置的关节空间角度;
根据工业机器人的运动参数判断判断工业机器人处于加速度段、匀速段还是减速段,通过插补运算确定下一个运动位置的的关节空间角度;
根据工业机器人各轴的减速比,将下一个运动位置的关节空间角度转化为第二编码器数据。
7.一种基于EtherCAT总线的工业机器人运动控制***,其特征在于包括:控制单元、接收缓冲单元、数据处理单元、发送缓冲单元、寄存器单元、数据通信调整单元和数据存储单元;其中,
接收缓冲单元包括:第一接收缓冲子单元和第二接收缓冲子单元;第一接收缓冲子单元用于接收和存储驱动器通过EtherCAT总线发送的工业机器人各轴在当前位置的第一编码器数据;第二接收缓冲子单元用于接收和存储数据处理单元通过EtherCAT总线发送的第二编码器数据;
数据处理单元用于判断第一缓冲子单元是否接收到驱动器发送的第一编码器数据:若第一缓冲子单元接收到第一编码器数据,则通过EtherCAT总线从第一缓冲子单元获取第一编码器数,若第一缓冲子单元未接收第一编码器数据,则以第二缓冲子单元最后一次接收到的编码器数据作为第一编码器数据、并通过EtherCAT总线获取第一编码器数据;数据处理单元还用于根据用户指令确定运动学算法,基于第一编码器数据和所述运动学算法确定工业机器人各轴在下一个运动位置的第二编码器数据,通过EtherCAT总线将第二编码器数据发送至第二缓冲子单元和发送缓冲单元,并将发送缓冲单元中的第二编码器数据发送至驱动器;
数据通信调整单元包括:计时器和寄存器;计时器用于记录数据处理单元接收第一编码器数据的时刻t1、将发送缓冲单元中的第二编码器数据发送至驱动器的时刻t2;
控制单元用于判断数据处理周期T1是否大于数据通信周期T2:若T1>T2,将寄存器数值增加1,当寄存器数值大于预设的阈值次数时,延长数据通信周期T2;
其中,所述数据处理周期T1是指从数据处理单元接收第一编码器数据开始到将发送缓冲单元中的第二编码器数据发送至驱动器为止的时间,T1=t2-t1;所述数据通信周期T2是指驱动器通过EtherCAT总线发送第一编码器数据的时间间隔;数据存储单元中存储EtherCAT网络的协议栈,所述EtherCAT网络的协议栈包括数据通信周期T2。
8.如权利要求7所述的工业机器人运动控制***,其中,将第二编码器数据发送至第二缓冲子单元时,以第二编码器数据覆盖第二缓冲子单元中的数据。
9.如权利要求7所述的工业机器人运动控制***,其中,
所述控制单元还用于:若T1>T2,获取数据处理周期T1与数据通信周期T2的周期差;确定每次增加寄存器数值时获取的所述周期差的标准差;根据所述寄存器数值以及所述周期差的标准差查询预设的第一映射关系,确定数据通信周期的延长量;根据所述数据通信周期的延长量,延长数据通信周期T2;
所述数据存储单元中存储有寄存器数值以及所述周期差的标准差查询预设的第一映射关系。
10.如权利要求7所述的工业机器人运动控制***,其中,控制单元进一步用于:
当EtherCAT数据帧检测到有外部伺服轴或IO模块接入EtherCAT网络时,重新配置EtherCAT网络的协议栈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510813119.5A CN105334806B (zh) | 2015-11-21 | 2015-11-21 | 基于EtherCAT总线的工业机器人运动控制方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510813119.5A CN105334806B (zh) | 2015-11-21 | 2015-11-21 | 基于EtherCAT总线的工业机器人运动控制方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105334806A true CN105334806A (zh) | 2016-02-17 |
CN105334806B CN105334806B (zh) | 2017-10-10 |
Family
ID=55285417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510813119.5A Expired - Fee Related CN105334806B (zh) | 2015-11-21 | 2015-11-21 | 基于EtherCAT总线的工业机器人运动控制方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105334806B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650031A (zh) * | 2016-11-29 | 2017-05-10 | 南京熊猫电子股份有限公司 | 一种工业机器人工具参数自动设定方法 |
CN111351857A (zh) * | 2018-12-24 | 2020-06-30 | 核动力运行研究所 | 一种基于EtherCAT总线的超声检查编码器信号传输***及方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484807A (zh) * | 2000-12-28 | 2004-03-24 | 自动装置工作空间技术有限公司 | 多功能机器人控制*** |
US20110026407A1 (en) * | 2009-07-31 | 2011-02-03 | Omron Corporation | Controller |
US8295287B2 (en) * | 2010-01-27 | 2012-10-23 | National Instruments Corporation | Network traffic shaping for reducing bus jitter on a real time controller |
WO2013013523A1 (zh) * | 2011-07-22 | 2013-01-31 | Jiang Junfeng | 一种运动控制接口及接口控制器 |
CN103425112A (zh) * | 2013-08-19 | 2013-12-04 | 电子科技大学 | 一种基于Ethercat的机器人控制方法 |
CN103487640A (zh) * | 2013-09-22 | 2014-01-01 | 浙江大学 | 基于分布式网络的企业用电设备的电流监测方法 |
CN104009976A (zh) * | 2014-05-09 | 2014-08-27 | 中国人民银行印制科学技术研究所 | 一种用于多主站***之间的实时通信方法及其设备 |
JP5660922B2 (ja) * | 2011-02-18 | 2015-01-28 | 三菱電機株式会社 | シリアル通信装置 |
CN104391818A (zh) * | 2014-11-26 | 2015-03-04 | 国家电网公司 | 一种EtherCAT双网数据读写***及其方法 |
CN104702474A (zh) * | 2015-03-11 | 2015-06-10 | 华中科技大学 | 一种基于FPGA的EtherCAT主站装置 |
CN104753958A (zh) * | 2015-04-17 | 2015-07-01 | 深圳市英威腾电气股份有限公司 | 一种通讯协议转换卡及通讯协议转换方法 |
CN105024777A (zh) * | 2015-07-29 | 2015-11-04 | 上海新时达电气股份有限公司 | 基于EtherCAT实时以太网的伺服驱动器同步方法 |
CN205281226U (zh) * | 2015-11-21 | 2016-06-01 | 中国船舶重工集团公司第七一六研究所 | 基于EtherCAT总线的工业机器人运动控制*** |
-
2015
- 2015-11-21 CN CN201510813119.5A patent/CN105334806B/zh not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484807A (zh) * | 2000-12-28 | 2004-03-24 | 自动装置工作空间技术有限公司 | 多功能机器人控制*** |
US20110026407A1 (en) * | 2009-07-31 | 2011-02-03 | Omron Corporation | Controller |
US8295287B2 (en) * | 2010-01-27 | 2012-10-23 | National Instruments Corporation | Network traffic shaping for reducing bus jitter on a real time controller |
JP5660922B2 (ja) * | 2011-02-18 | 2015-01-28 | 三菱電機株式会社 | シリアル通信装置 |
WO2013013523A1 (zh) * | 2011-07-22 | 2013-01-31 | Jiang Junfeng | 一种运动控制接口及接口控制器 |
CN103425112A (zh) * | 2013-08-19 | 2013-12-04 | 电子科技大学 | 一种基于Ethercat的机器人控制方法 |
CN103487640A (zh) * | 2013-09-22 | 2014-01-01 | 浙江大学 | 基于分布式网络的企业用电设备的电流监测方法 |
CN104009976A (zh) * | 2014-05-09 | 2014-08-27 | 中国人民银行印制科学技术研究所 | 一种用于多主站***之间的实时通信方法及其设备 |
CN104391818A (zh) * | 2014-11-26 | 2015-03-04 | 国家电网公司 | 一种EtherCAT双网数据读写***及其方法 |
CN104702474A (zh) * | 2015-03-11 | 2015-06-10 | 华中科技大学 | 一种基于FPGA的EtherCAT主站装置 |
CN104753958A (zh) * | 2015-04-17 | 2015-07-01 | 深圳市英威腾电气股份有限公司 | 一种通讯协议转换卡及通讯协议转换方法 |
CN105024777A (zh) * | 2015-07-29 | 2015-11-04 | 上海新时达电气股份有限公司 | 基于EtherCAT实时以太网的伺服驱动器同步方法 |
CN205281226U (zh) * | 2015-11-21 | 2016-06-01 | 中国船舶重工集团公司第七一六研究所 | 基于EtherCAT总线的工业机器人运动控制*** |
Non-Patent Citations (1)
Title |
---|
谢香林: "EtherCAT网络及其伺服运动控制***研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650031A (zh) * | 2016-11-29 | 2017-05-10 | 南京熊猫电子股份有限公司 | 一种工业机器人工具参数自动设定方法 |
CN111351857A (zh) * | 2018-12-24 | 2020-06-30 | 核动力运行研究所 | 一种基于EtherCAT总线的超声检查编码器信号传输***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105334806B (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201562158U (zh) | 一种多机器人同步控制*** | |
CN104290096B (zh) | 一种基于CANopen的机械臂关节电机控制方法及*** | |
WO2020151406A1 (zh) | 运动控制方法、装置和***及存储介质 | |
WO2023024279A1 (zh) | 一种机器人动态避障方法、装置和机器人 | |
US10780583B2 (en) | System and method of controlling robot | |
WO2010047043A1 (en) | Robot control apparatus | |
CN108279630B (zh) | 一种基于总线的分布式运动控制***及方法 | |
KR101041375B1 (ko) | 네트워크 변환 장치, 그를 이용한 로봇 제어 시스템 및 방법 | |
JP5523630B2 (ja) | プログラマブルコントローラシステム | |
US20190061149A1 (en) | Robot system | |
CN109352661A (zh) | 一种机器人关节的控制方法、伺服驱动装置和可存储介质 | |
CN105334806A (zh) | 基于EtherCAT总线的工业机器人运动控制方法和*** | |
CN205281226U (zh) | 基于EtherCAT总线的工业机器人运动控制*** | |
JP4396077B2 (ja) | サーボ制御システム | |
EP3802012A1 (en) | Technique for controlling wireless command transmission to a robotic device | |
JP5882694B2 (ja) | 通信システム、通信装置、通信方法、及びプログラム | |
US10712732B2 (en) | Slave device, master device, and industrial network system | |
CN103552072B (zh) | 一种基于嵌入式控制器的机器人控制方法和装置 | |
US9905264B2 (en) | Servo control system having function of switching learning memory | |
US20120263190A1 (en) | Communication apparatus, communication system, communication apparatus control method and non-transitory computer-readable storage medium | |
JP6594268B2 (ja) | モーション制御システム | |
EP3869745B1 (en) | Production system, communication method, and program | |
Satler et al. | Bilateral teleoperation under time-varying delay using wave variables | |
CN108170102B (zh) | 一种运动控制*** | |
JP6629817B2 (ja) | 制御システム、および、モータ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171010 Termination date: 20181121 |