CN105573253A - 一种工业机器人群控系统及方法 - Google Patents
一种工业机器人群控系统及方法 Download PDFInfo
- Publication number
- CN105573253A CN105573253A CN201610023068.0A CN201610023068A CN105573253A CN 105573253 A CN105573253 A CN 105573253A CN 201610023068 A CN201610023068 A CN 201610023068A CN 105573253 A CN105573253 A CN 105573253A
- Authority
- CN
- China
- Prior art keywords
- robot
- instruction code
- joint
- controller
- designated
- 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/41—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 characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39146—Swarm, multiagent, distributed multitask fusion, cooperation multi robots
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种工业机器人群控系统及方法,系统包括:控制器,示教器,以及至少两台机器人;每台机器人均包括至少一个关节驱动模块;控制器以及各个机器人对应的关节驱动模块通过以太网依次线性连接;方法包括:根据以太网的连接顺序,标记机器人以及关节;通过控制器软件架构分层结构中每层程序实现相应的功能;在控制器存储区域分配不同的存储区域,完成不同层结构层之间的信息交换;通过以太网将控制数据传到各个关节驱动模块中,并将状态数据回传,完成机器人群控。本发明可以根据需求确定每台机器人种类,任意增减机器人总数,任意增加机器人外关节,可根据需求选配控制器,柔性好,扩展性强,资源利用率高,可靠性强,具有广阔的应用前景。
Description
技术领域
本发明涉及工业机器人领域,特别涉及一种工业机器人群控系统及方法。
背景技术
随着工业机器人发展的深度和广度以及机器人智能水平的提高,为保证产品质量和生产效率,一些劳动强度大,危险性强的工作,通常都会逐步采用工业机器人代替人去完成。目前工业机器人已在很多领域得到了广泛应用。但工业机器人在使用和推广过程中也存在着诸多问题:
其一,虽然机器人的潜在市场非常大,但是目前市场上工业机器人的规格种类却很少,并以垂直关节型六自由度工业机器人为主。这种工业机器人可以实现空间位置和姿态的任意调整,通用性强,能够满足大多数的用户需求,但也存在着在很多实际应用领域大材小用,性价比不高的缺陷。特别是在码垛、送料、搬运等对轨迹和定位精度要求不是很苛刻的情况下,研制开发针对行业和工艺特点要求的经济型、专用型工业机器人,具有更加广泛的市场需求。
其二,不易于扩展是现有工业机器人的一个突出问题。现有工业机器人的控制器架构,基本以多关节运动控制卡为主,这种架构决定了控制器所能控制的关节数是确定的且是有限的,用户在进行机器人应用系统集成时,往往还需要增加外部关节数,这时只能针对增加的外关节配置单独的控制器。例如专利201510163705.X提出的一种基于EtherCAT总线的8轴机器人控制系统,是由6轴机械臂控制卡和2轴运动平台控制卡构成一台8轴机器人的控制器,系统可扩展差。
其三,控制器硬件配置固定,控制器资源有效利用率低。控制器连同运动控制卡是针对机器人的关节数和精度要求预先设计好的,控制器连同运动控制卡与机器人的搭配在出厂时就已确定,即便是机器人用于比较简单的运动,用户也不能降低控制器的硬件配置,这不利于降低不必要的成本。
其四,可靠的多机器人协调控制是当今工业机器人面临的又一个突出问题。区别于单机器人控制系统,多机器人控制系统由于其时间、空间、功能、信息和资源的分布性特点,表现出极大的优越性。对于很多制造企业,如冲压行业,其一条生产线往往需要数台甚至数十台工业机器人的顺序协同作业,这种情况下,使用单机器人控制系统时,机器人与机器人之间的联络通讯占用机器人大量的I/O资源或需要借助额外的通讯设备,同时也增加了系统配置和成本,降低了多机器人协调控制的可靠性。然而通常的多机器人群控系统基本以一个主控制器和多个子控制器为主,每台机器人分别配有一个子控制器,实现每台机器人的独立控制;整个系统配有主控制器,对各个机器人的工作任务进行协调、监控,从而实现群控功能,但不直接参与某一机器人某一关节的运动控制。例如专利201410730885.0提出的一种基于EtherCAT的智能工业机器人总线模块及其操作方法,是基于EtherCAT总线的单台工业机器人控制,而未涉及多机器人群控系统。专利201510172297.4提出的一种基于以太网的开放式机械手控制方法,则采用多个支持EtherCAT协议的ARM控制器实现多机器人群控,PC端实现机器人的监控。专利201310345024.6提出的一种多机器人协调控制装置及其方法,控制器由工控计算机、运动控制器、上料机器人控制器、下料机器人控制器组成。专利201410649607.2提出的一种多机器人焊接系统的群控装置及其方法中,所有机器人都配备带有CC-LINK通讯卡的独立控制器,PLC作为主控制器对各个机器人的工作任务进行协调、监控。
发明内容
本发明的目的在于提供一种工业机器人群控系统及方法,以克服现有技术中存在的缺陷。
为实现上述目的,本发明的技术方案是:一种工业机器人群控系统,包括:一控制器、一与所述控制器相连的示教器以及第1机器人至第n机器人,其中,n为大于等于2的正整数;每台机器人均包括:机械臂本体以及至少一个关节驱动模块;所述控制器以及每个关节驱动模块均设置有支持EtherCAT协议的以太网接口;所述控制器通过以太网线与所述第1机器人内的第一个关节驱动模块相连;所述第1机器人至所述第n机器人内的第一个关节驱动模块至最后一个关节驱动模块均通过以太网线依次相连;相邻的机器人中前一机器人内的最后一个关节驱动模块与后一机器人内的第一个关节驱动模块相连;所述控制器作为EtherCAT主站;所述第1机器人至所述第n机器人内的第一个关节驱动模块至最后一个关节驱动模块作为EtherCAT从站,通过所述控制器对所述第一机器人至所述第n机器人进行群控。
进一步的,本发明还提供一种工业机器人群控方法,按照如下步骤实现:
步骤S1:记所述工业机器人群控系统内机器人台数为n,根据以太网线连接顺序,第i台机器人记为Ri,第i台机器人的第j个关节记为RiJj,该机器人的关节数量记为k,结构构型记为f,空间位姿记为p(x,y,z,θ1,θ2,θ3),根据机器人关节数量k确定空间位姿p内有效参数的个数;
步骤S2:将软件架构采用分层结构的控制器由底层到顶层分别划分为设备层、中间层、应用层以及用户层;
步骤S3:通过组态软件或通用可视化编程工具开发用户层程序,并为用户提供人机交互界面,且所述用户层程序包括:机器人配置界面Config模块、主选择界面Select模块以及用户指令代码输入窗口Window(i)模块;
步骤S4:在所述控制器的内存区域分配一存储区域,记为M,用于实现在所述用户层程序与应用层程序之间进行信息交换,根据机器人数量n将所述存储区域M划分为n个存储区域,第i个存储区域对应第i台机器人,并记为Mi;
步骤S5:通过由实时运动控制软件开发的应用层程序读取各个存储区域Mi中的机器人固定参数,选择并读取各个机器人当前待执行的指令代码;
步骤S6:通过由实时运动控制软件开发的中间层程序实施用户指令功能算法;
步骤S7:在所述控制器的内存区域分配另一片存储区域,记为E,用于实现在所述中间程序与设备层程序之间进行信息交换;根据机器人数量n将所述存储区E域划分为n个存储区域,第i个存储区域对应第i台机器人,记为Ei;按照关节数量k对所述存储区Ei进行划分,将第i台机器人的第j个关节记为EiJj;按照数据传输方向对所述存储区EiJj进行划分,将第i台机器人的第j个关节接收的控制数据输入区记为EiJjIn;将第i台机器人的第j个关节返回的状态数据输出区记为EiJjOut;所述中间层程序负责把计算所得的当前扫描周期内的每台机器人对应的每个关节的控制数据存于所述存储区E中E1J1In至EnJkIn的对应位置;
步骤S8:所述设备层程序在每个扫描周期内,实时把所述存储区E中的E1J1In至EnJkIn中的控制数据,以报文的形式通过以太网按照EtherCAT协议传送至每台机器人对应的每个关节驱动模块,并将每台机器人对应的每个关节中的状态数据送回至所述存储区E中的E1J1Out至EnJkOut中。
在本发明一实施例中,在所述步骤S3中,所述机器人配置界面Config模块用于配置每一台机器人的固定参数,且所述固定参数包括:所述关节数量k、所述机器人构型f以及关节运动范围等;所述主选择界面Select模块用于选择确定进行示教操作的机器人Ri,选择后即调用该机器人对应的用户指令代码输入窗口Window(i)模块,并将所选择的机器人Ri的机器人固定参数传输给该用户指令代码输入窗口Window(i)模块;用户指令代码输入窗口Window(i)模块为用户提供规范化用户指令代码格式,并对指令代码进行编码以及功能定义。
在本发明一实施例中,在所述步骤S4中,按照最大用户指令代码数量m对所述存储区Mi中指令代码存储区进行细分,并将第i台机器人第k条指令代码存储区记为MiCk;所述用户层程序负责把每台机器人固定参数和用户编写的各机器人指令代码存于存储区域M的相应位置。在本发明一实施例中,在所述步骤S5中,将第i台机器人当前待执行的指令代码对应存储区Mi的位置指针记为Qi;所述应用层程序按顺序对各个位置指针Qi进行控制,选择所述存储区M中各个机器人当前待执行的指令代码的存储地址,然后读取所有机器人的当前待执行的指令代码,采用定周期扫描方式执行,即每个周期遍历扫描控制,并读取一次每一台机器人当前扫描周期内待执行的一条指令代码。
在本发明一实施例中,在所述步骤S6中,所述中间层程序在每个扫描周期内,通过基于所述应用层程序提供的机器人固定参数和当前用户指令代码参数以及基于所述存储区E提供的每台机器人对应的每个关节中的状态数据,计算在当前扫描周期内的每台机器人对应的每个关节的运动数据;所采用的计算方法为:为不同构型以及不同关节数量的机器人编写用户指令代码执行函数库,每台机器人在运动过程执行用户指令代码时,均调用所述函数库中对应的库函数,完成机器人正运动学计算,运动所必需的中间点插补计算以及逆运动学计算,并得到各个关节实时运动数据,并转换成对应关节驱动模块匹配的控制数据。
在本发明一实施例中,在所述步骤S8中,每个关节驱动模块依序读取报文相应位置的控制数据,且将状态数据写入报文相应位置,每个EtherCAT从站处理完报文后均将报文传输至下一个EtherCAT从站,由最后一个EtherCAT从站发回经过完全处理的报文,并由第一个EtherCAT从站将其作为响应报文送回控制器中,完成主-从-主之间的循环通信。
相较于现有技术,本发明具有以下有益效果:
1、用户根据需求可选配控制器,提高资源利用率。只要具备以太网接口且支持EtherCAT协议的计算机就可以作为本发明的控制器,从而把机器人控制器从专用设备简化为通用设备,用户可以根据机器人的运动插补和精度要求选择控制器的硬件配置,充分发挥和利用控制器的性能和功能,提高资源有效利用率。
2、本发明工业机器人群控系统可兼容不同种类机器人,应用灵活,扩展性强。由于EtherCAT拓扑结构灵活,控制器控制机器人的数量可以随意增减,机器人在系统集成时,可任意增加外关节,为用户使用带来了极大的方便,并显著降低了设备投入。系统可兼容不同种类的机器人,这就允许在同一条产线上可以共存多台构型不同,关节数量不同的机器人,如通用6自由度工业机器人和各种专用机器人,并且统一控制所有机器人。
3、本发明工业机器人群控系统采用EtherCAT工业以太网通讯技术,系统可靠性强。由于所有机器人由一个控制器进行控制,生产线上的不同机器人之间的通讯联络都已经成为控制器自身内部的事情,不需要占用机器人的I/O端子资源,简化了接线。EtherCAT工业以太网技术,具备Processingonthefly、分布时钟同步等技术,各机器人关节同步性高,响应速度快,实现工业机器人高速、准确运动,通讯可靠性强,且线束更少,在提高系统可靠性能的同时,降低了硬件的成本。
特别是在诸如冲压、包装等定位精度要求不是很高、运动自由度数低于6个、机器人台数需求量又很大的产线,应用本发明工业机器人群控系统:研制开发关节数在4自由度左右的专用、经济型机器人,并通过一个控制器对所有机器人进行控制,通过适当配置控制器(计算机)的CPU等硬件资源,以满足生产线所需的速度、精度要求,相比于通用6自由度工业机器人的生产线而言,不仅大幅降低设备投入成本,而且还给用户使用带来了实实在在的方便。
为使本发明的目的、技术方案及优点更加清楚明白,以下将通过具体实施例和相关附图,对本发明作进一步详细说明。
附图说明
图1是本发明中工业机器人群控系统的构造示意图。
图2是现有的工业机器人群控系统的构造示意图。
图3是本发明中工业机器人群控系统的软件构架示意图。
图4是本发明中工业机器人群控系统的应用层程序示意图。
图5是本发明中工业机器人群控系统的中间层直线插补程序示意图。
图6是本发明中工业机器人群控系统的设备层程序示意图。
【标号说明】:1-示教器,2-控制器,3-机器人,4-机械臂本体,5-关节驱动模块,6-以太网接口,7-以太网线,8-主控制器,9-独立的控制器。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供一种工业机器人群控系统,如图1所示,具体包括一示教器1、一控制器2、至少2台机器人3。每台机器人都包括机械臂本体4、至少1个关节驱动模块5。控制器2和关节驱动模块5都具有支持EtherCAT协议的以太网接口6。示教器1与控制器2连接,控制器2通过以太网线7与所有机器人3的所有关节驱动模块5顺序连接,控制器2与机器人R1中的第一个关节驱动模块相连,机器人R1中的第一个关节驱动模块至最后一个关节驱动模块依次相连,机器人R1中的最后一个关节驱动模块与机器人R2中的第一个关节驱动模块相连,且机器人R2至机器人Rn内的关节驱动模块均采用如机器人R1的连接方式,机器人之间均采用如机器人R1与机器人R2的连接方式。控制器2作为EtherCAT主站,所有机器人3的所有关节驱动模块5作为EtherCAT从站,每台机器人内的所有关节驱动模块5划为一组,通过控制器2对所有机器人3进行群控。
通常的机器人群控系统架构如图2所示,其本质区别在于,通常的机器人群控系统配有一主控制器8,且每台机器人分别配有独立的控制器9,每台机器人的运动控制均是通过各自的控制器9独立控制实现的,主控制器8只是对各个机器人的工作任务进行协调、监控,从而实现群控功能,但不直接参与某一机器人某一关节的运动控制。而本发明的机器人仅有机械臂本体4和关节驱动模块5,没有对该机器人额外配置独立的控制器9,所有机器人的所有关节的运动,均由唯一的控制器2完成。
在本实施例中,机器人3至少有2台组成,可以多至几十台,这些机器人既可以相同,也可以完全不同,具体能完成多少台以及多少种类机器人的控制,主要取决于控制器2的性能,而控制器2可以根据机器人台数和种类由用户进行自由配置,大幅增加了机器人系统拓展的灵活性和方便性。只要具备以太网接口且支持EtherCAT协议的计算机就可以作为本发明的控制器且为EtherCAT主站,将通用计算机变成实时控制器,只要具备以太网接口且支持EtherCAT协议的关节驱动模块就可以作为本发明的EtherCAT从站。EtherCAT主站使用带有标准以太网控制功能的处理器,比如基于个人计算机PC(personalcomputer)的EtherCAT主站中通常使用网络接口卡NIC(NetworkInterfaceCard),网卡芯片集成了以太网通信控制器和数据收发器,而在基于嵌入式计算机的EtherCAT主站中,通常使用以太网控制器和嵌入式微处理器,主要管理和调度EtherCAT状态机以及运动控制。
机器人3的每个关节驱动器作为EtherCAT从站使用,带有EtherCAT从站控制器,简称ESC,(EtherCATSlaveController)。ESC可以采用ASIC实现,也可以采用FPGA实现接口卡。
EtherCAT拓扑结构灵活,支持几乎任何类型的拓扑结构,如线型、树型、星型、菊花链型,以及各种拓扑结构的组合。其中线型拓扑结构是最简单、应用比较普遍的一种,其通讯的确定性比较稳定。本发明通过以太网线7将控制器2与所有机器人3的所有关节驱动模块5顺序连接,整个网络理论上最多可以连接65535个关节驱动模块5。机器人3以及其关节驱动模块5的连接顺序确定后,EtherCAT的从站顺序就相应确定,EtherCAT报文的处理是由ESC硬件实现,一般只有100~500ns的延时,不占用控制器CPU,因此可提高控制系统实时性。
同时,在图1所示硬件架构的基础上,为了实现由控制器2直接完成对所有机器人的实时群控,本发明提供了一种有利于提高控制器2实时性且方便用户实施机器人扩展的群控系统实现方法,如图3所示,本发明实现多机器人群控方法的步骤如下:
S01:确定机器人3的台数,设为n;根据以太网线连接顺序,第i台机器人记为Ri,机器人的第j个关节记为Jj,第i台机器人的第j个关节记为RiJj;机器人3的关节的数量记为k,机器人3的结构构型(如圆柱坐标、球坐标等)记为f,机器人3的空间位姿记为p(x,y,z,θ1,θ2,θ3),根据机器人3关节的数量k来确定空间位姿p内有效参数的个数。
S02:选择具备以太网接口且支持EtherCAT协议的标准型或嵌入式工控机等工业领域通用计算机作为本控制器2硬件平台,控制器2的软件构架采用分层结构,如图3所示,由底层到顶层分别划分为设备层、中间层、应用层和用户层。这种层次化设计,旨在高效的分配系统的资源,使资源利用更加合理,确保控制系统各功能模块的重用性,各层的扩展性,提高系统的开放程度。
S03:用户层程序由组态软件或通用可视化编程工具开发为用户提供人机交互界面,如Labview、组态王、紫金桥等。用户层程序由机器人配置界面Config模块、主选择界面Select模块和用户指令代码输入窗口Window(i)模块组成。Config模块用于配置每一台机器人的固定参数,包括:关节数k,机器人构型f、各关节运动范围等。Select模块用于选择确定对哪一台机器人Ri进行示教操作,选择后即调用Window(i)模块并将所选择的机器人Ri的机器人固定参数传输给Window(i)模块。由于本发明可以兼容控制的不同种类的机器人,这就允许在同一条产线上可以共存多台构型不同,关节数量不同的机器人,如通用6自由度工业机器人和各种专用机器人,并且统一控制所有机器人,系统兼容性强,可扩展性强。Window(i)模块为用户提供了规范化用户指令代码格式,并对指令代码进行编码和功能定义。用户指令代码是控制机器人运动和作业的指令及指令参数的组合,如用户指令代码MoveL(x,y,z,θ1,θ2,θ3)由指令MoveL和指令参数(x,y,z,θ1,θ2,θ3)组成,是指以直线插补运动方式从当前位姿运动到空间目标位姿p(x,y,z,θ1,θ2,θ3)。用户指令代码的编制方法包括:示教编程方法和离线编程方法。示教编程方法包括示教、编辑和轨迹再现,可以通过示教器示教和导引式示教两种途径实现。离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。由于示教方式实用性更强,操作更简便,因此本实施例采用示教编程为主,离线编程为辅的方式编制用户指令代码。通过用户层程序Select模块和Window(i)模块的配合使用,为每台机器人编写用户指令代码。为提高用户编写指令代码的效率,用户可编写并导出机器人指令代码模板,并根据实际需要重复导入、修改并创建每台机器人的指令代码。
S04:如图4所示,在控制器2内存区域开辟一存储区域,记为M,用于实现在用户层程序与应用层程序之间进行信息交换。存储区M域根据机器人数量进行n细分,第i个细分区域对应第i台机器人,记为Mi;存储区Mi的最大用户指令代码存储数量记为m;存储区Mi中指令代码存储区按照最大用户指令代码数量m进行细分,第i台机器人第k条指令代码存储区,记为MiCk;第i台机器当前待执行的指令代码对应存储区Mi的位置指针,记为Qi;用户层程序负责把每台机器人固定参数和用户编写的各机器人指令代码存于存储区M的相应位置,即第1台机器人R1的机器人固定参数和用户指令代码存入M1,第n台机器人Rn的指令代码和机器人参数存入Mn。
S05:如图4所示,应用层程序由实时运动控制软件开发,如TwinCAT软件、Codesys软件等。主要功能为读取各个细分存储区域Mi中的机器人固定参数,选择并读取各机器人当前待执行的指令代码。第i台机器人当前待执行的指令代码对应存储区Mi的位置指针,记为Qi;应用层程序通过按顺序对各个位置指针Qi进行控制,从而选择存储区M中各机器人当前待执行的指令代码的存储地址,然后读取所有机器人的当前待执行的指令代码,采用定周期扫描方式执行,即每个周期遍历扫描控制并读取一次每一台机器人当前扫描周期内待执行的一条指令代码。
S06:中间层程序由实时运动控制软件开发,如TwinCAT软件、Codesys软件等。主要功能为实施用户指令功能算法。在每个扫描周期内,通过基于所述应用层程序提供的机器人固定参数和当前用户指令代码参数以及基于所述存储区E提供的每台机器人对应的每个关节中的状态数据,计算在当前扫描周期内的所有机器人且所有关节的运动数据;计算方法为:为不同构型,不同关节数量的机器人编写统一的且健全的用户指令代码执行函数库,每台机器人在运动过程执行用户指令代码时,均调函数库中相应的库函数,库函数实现机器人正运动学计算,运动所必需的中间点插补、逆运动学计算,得到各关节实时运动数据,并转换成相应关节驱动模块可接受的具体控制数据。如图5所示,如当执行用户指令代码MoveL(x,y,z,θ1,θ2,θ3)时,中间层程序根据机器人固定参数和包含在用户指令代码的目标位姿p(x,y,z,θ1,θ2,θ3),在每个扫描周期内,首先结合所述存储区E提供的所有机器人且所有关节返回的状态数据,如:当前位置,当前速度,状态字等信息,进行机器人正运动学计算,求出所有机器人当前空间位姿p,运行速度v等;接着调用库函数进行可达性分析,比较所有机器人的当前位姿和目标位姿,筛选出可以以直线插补方式运动到达的机器人,接着调用库函数对这些机器人分别进行当前周期位姿插补点计算;然后调用库函数分别求得的当前周期位姿插补点逆运动学计算;最后输出求得的所有机器人且所有关节的当前周期实时运动控制数据。
S07:如图6所示,在控制器2内存区域开辟另一片存储区域,记为E,用于实现在中间程序与硬件层程序之间进行信息交换。存储区E域根据机器人数量进行n细分,第i个细分区域对应第i台机器人,记为Ei;存储区Ei按照关节数k再进行细分,第i台机器人的第j个关节记为EiJj;存储区EiJj按照数据传输方向再进行细分,第i台机器人的第j个关节接收的控制数据输入区,记为EiJjIn;第i台机器人的第j个关节返回的状态数据输出区,记为EiJjOut。中间层程序负责把计算所得的当前扫描周期内的所有机器人且所有关节的控制数据存于存储区E的相应位置,即第1台机器人的第1个关节R1J1的控制数据存入E1J1In,第n台机器人的第k个关节RnJk的运动数据存入EnJkIn。
S08:如图6所示,设备层程序在每个扫描周期实时把存储区E中所有控制数据输入区中的数据,通过以太网按照EtherCAT协议以报文的形式传送到所有机器人且所有关节驱动模块中去,并将所有机器人且所有关节中的状态数据送回存储区E中的状态数据输出区中。报文中每个关节所接收的控制数据,如:目标位置,控制字等,记为DateIn;每个关节所返回的状态数据,如当前位置,当前速度,状态字等,记为DateOut;每个关节驱动模块5作为EtherCAT从站,利用以太网全双工特性,依序读取报文相应位置的DateIn数据,且将DateOut数据写入报文相应位置,每个从站处理完报文后都将报文传输至下一个从站,由最后一个从站发回经过完全处理的报文,并由第一个从站将其作为响应报文送回控制器中,从而实现主-从-主之间的循环通信。在每个扫描周期,所有机器人且所有关节的目标位置、当前位置、当前速度、控制字、状态字都会更新一次。机器人连接顺序确定后,EtherCAT的从站顺序就相应确定,EtherCAT报文依序经过各个从站,EtherCAT报文的处理是由EtherCAT从站设备硬件实现,延时短,不占用控制器CPU,因此可提高控制系统实时性高。
进一步的,为了让本领域技术人员进一步了解本发明所提出的机器人群控系统及方法,下面结合具体实例进行说明。在本实施例中,控制机器人R1和机器人R2进行直线插补运动的步骤如下:
在用户层程序Config模块中配置机器人R1和机器人R2的固定参数,用户层程序分别将机器人R1和机器人R2的固定参数存入细分存储区M1和M2;在Select模块中选择机器人R1进入Window(1)模块,用户可通过示教编程方法或离线编程方法选择机器人R1目标位姿,记为p1e(x1,y1,z1,θ11,θ21,θ31),并输入第一条用户指令代码MoveL(x1,y1,z1,θ11,θ21,θ31),用户层程序将此用户指令代码存入细分存储区M1C1;返回Select模块中选择机器人R2进入Window(2)模块,选择机器人R1目标位姿,记为p2e(x2,y2,z2,θ12,θ22,θ32),并输入第一条用户指令代码MoveL(x2,y2,z2,θ12,θ22,θ32),用户层程序将此用户指令代码存入细分存储区M2C1;
在每个扫描周期内,应用层程序实时从存储区M1C1和存储区M2C1中顺序读取这两条用户指令代码;
在每个扫描周期内,中间层程序实时根据机器人R1和机器人R2的固定参数和目标位姿p1e、p2e,分别计算出机器人R1和机器人R2的各关节实时运动控制数据。具体过程为:首先结合存储区E提供的机器人R1和机器人R2的所有关节驱动模块返回状态数据,如:当前位置,当前速度,状态字等信息,进行机器人正运动学计算,分别求出机器人R1和机器人R2的当前位姿p1s和p2s,运行速度等;接着调用库函数进行可达性分析,若目标位姿p1e和p2e都可以以直线插补方式运动到达,则分别调用库函数对机器人R1和机器人R2分别计算出当前周期位姿插补点p1t和p2t,然后调用库函数对机器人R1和机器人R2分别求得的当前周期位姿插补点p1t和p2t进行逆运动学计算,最后输出求得的机器人R1和机器人R2所有关节当前周期的运动控制数据。由中间层程序将机器人R1和机器人R2的所有关节的运动控制数据存于存储区E的相应位置,从将第1台机器人的第1个关节R1J1的控制数据存入E1J1In,直至将第2台机器人的第k个关节R2Jk的运动数据存入E2JkIn;
在每个扫描周期内,设备层程序实时把存储区E中的控制数据输入区E1J1In到E2JkIn的所有关节的控制数据,通过以太网按照EtherCAT协议以报文的形式传送到所有机器人且所有关节中去,并将所有机器人且所有关节中的状态数据送回存储区E中的状态数据输出区E1J1Out到E2JkOut中。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (6)
1.一种工业机器人群控系统,其特征在于,包括:一控制器、一与所述控制器相连的示教器,以及第1机器人至第n机器人,其中,n为大于等于2的正整数;每台机器人均包括:机械臂本体以及至少一个关节驱动模块;所述控制器以及每个关节驱动模块均设置有支持EtherCAT协议的以太网接口;所述控制器通过以太网线与所述第1机器人内的第一个关节驱动模块相连;所述第1机器人至所述第n机器人内的第一个关节驱动模块至最后一个关节驱动模块均通过以太网线依次相连;相邻的机器人中前一机器人内的最后一个关节驱动模块与后一机器人内的第一个关节驱动模块相连;所述控制器作为EtherCAT主站;所述第1机器人至所述第n机器人内的第一个关节驱动模块至最后一个关节驱动模块作为EtherCAT从站,通过所述控制器对所述第一机器人至所述第n机器人进行群控。
2.一种基于权利要求1所述的一种工业机器人群控系统的工业机器人群控方法,其特征在于,按照如下步骤实现:
步骤S1:记所述工业机器人群控系统内机器人台数为n,根据以太网线连接顺序,第i台机器人记为Ri,第i台机器人的第j个关节记为RiJj,该机器人的关节数量记为k,结构构型记为f,空间位姿记为p(x,y,z,θ1,θ2,θ3),根据机器人关节数量k确定空间位姿p内有效参数的个数;
步骤S2:将软件架构采用分层结构的控制器由底层到顶层分别划分为设备层、中间层、应用层以及用户层;
步骤S3:通过组态软件或通用可视化编程工具开发用户层程序,并为用户提供人机交互界面,且所述用户层程序包括:机器人配置界面Config模块、主选择界面Select模块以及用户指令代码输入窗口Window(i)模块;
步骤S4:在所述控制器的内存区域分配一存储区域,记为M,用于实现在所述用户层程序与应用层程序之间进行信息交换,根据机器人数量n将所述存储区域M划分为n个存储区域,第i个存储区域对应第i台机器人,并记为Mi;
步骤S5:通过由实时运动控制软件开发的应用层程序读取各个存储区域Mi中的机器人固定参数,选择并读取各个机器人当前待执行的指令代码;
步骤S6:通过由实时运动控制软件开发的中间层程序实施用户指令功能算法;
步骤S7:在所述控制器的内存区域分配另一片存储区域,记为E,用于实现在所述中间程序与设备层程序之间进行信息交换;根据机器人数量n将所述存储区E域划分为n个存储区域,第i个存储区域对应第i台机器人,记为Ei;按照关节数量k对所述存储区Ei进行划分,将第i台机器人的第j个关节记为EiJj;按照数据传输方向对所述存储区EiJj进行划分,将第i台机器人的第j个关节接收的控制数据输入区记为EiJjIn;将第i台机器人的第j个关节返回的状态数据输出区记为EiJjOut;所述中间层程序负责把计算所得的当前扫描周期内的每台机器人对应的每个关节的控制数据存于所述存储区E中E1J1In至EnJkIn的对应位置;
步骤S8:所述设备层程序在每个扫描周期内,实时把所述存储区E中的E1J1In至EnJkIn中的控制数据,以报文的形式通过以太网按照EtherCAT协议传送至每台机器人对应的每个关节驱动模块,并将每台机器人对应的每个关节中的状态数据送回至所述存储区E中的E1J1Out至EnJkOut中。
3.根据权利要求2所述的一种工业机器人群控方法,其特征在于,在所述步骤S3中,所述机器人配置界面Config模块用于配置每一台机器人的固定参数,且所述固定参数包括:所述关节数量k、所述机器人构型f以及关节运动范围;所述主选择界面Select模块用于选择确定进行示教操作的机器人Ri,选择后即调用该机器人对应的用户指令代码输入窗口Window(i)模块,并将所选择的机器人Ri的机器人固定参数传输给该用户指令代码输入窗口Window(i)模块;用户指令代码输入窗口Window(i)模块为用户提供规范化用户指令代码格式,并对指令代码进行编码以及功能定义。
4.根据权利要求2所述的一种工业机器人群控方法,其特征在于,在所述步骤S4中,按照最大用户指令代码数量m对所述存储区Mi中指令代码存储区进行细分,并将第i台机器人第k条指令代码存储区记为MiCk;所述用户层程序负责把每台机器人固定参数和用户编写的各机器人指令代码存于存储区域M的相应位置。
5.根据权利要求2所述的一种工业机器人群控方法,其特征在于,在所述步骤S5中,将第i台机器人当前待执行的指令代码对应存储区Mi的位置指针记为Qi;所述应用层程序按顺序对各个位置指针Qi进行控制,选择所述存储区M中各个机器人当前待执行的指令代码的存储地址,然后读取所有机器人的当前待执行的指令代码,采用定周期扫描方式执行,即每个周期遍历扫描控制,并读取一次每一台机器人当前扫描周期内待执行的一条指令代码。
6.根据权利要求5所述的一种工业机器人群控方法,其特征在于,在所述步骤S6中,所述中间层程序在每个扫描周期内,通过基于所述应用层程序提供的机器人固定参数和当前用户指令代码参数以及基于所述存储区E提供的每台机器人对应的每个关节中的状态数据,计算在当前扫描周期内的每台机器人对应的每个关节的运动数据;所采用的计算方法为:为不同构型以及不同关节数量的机器人编写用户指令代码执行函数库,每台机器人在运动过程执行用户指令代码时,均调用所述函数库中对应的库函数,完成机器人正运动学计算,运动所必需的中间点插补计算以及逆运动学计算,并得到各个关节实时运动数据,并转换成对应关节驱动模块匹配的控制数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610023068.0A CN105573253B (zh) | 2016-01-14 | 2016-01-14 | 一种工业机器人群控系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610023068.0A CN105573253B (zh) | 2016-01-14 | 2016-01-14 | 一种工业机器人群控系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573253A true CN105573253A (zh) | 2016-05-11 |
CN105573253B CN105573253B (zh) | 2018-05-04 |
Family
ID=55883508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610023068.0A Active CN105573253B (zh) | 2016-01-14 | 2016-01-14 | 一种工业机器人群控系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573253B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106444607A (zh) * | 2016-10-09 | 2017-02-22 | 福州大学 | 多异构工业机器人数据通信及控制方法 |
CN106934651A (zh) * | 2017-01-18 | 2017-07-07 | 北京光年无限科技有限公司 | 一种用于机器人的宣传信息输出方法及系统 |
CN106976091A (zh) * | 2017-05-17 | 2017-07-25 | 苏州赛腾精密电子股份有限公司 | 机械手的伺服控制系统及控制终端 |
CN107340757A (zh) * | 2017-08-18 | 2017-11-10 | 江苏信息职业技术学院 | 一种水下机器人 |
CN107745382A (zh) * | 2017-09-29 | 2018-03-02 | 李少锋 | 机器手臂的同步控制系统 |
CN107966950A (zh) * | 2017-10-26 | 2018-04-27 | 东莞智得电子制品有限公司 | 自动化plc与工业机器人通讯控制方法 |
CN107991984A (zh) * | 2017-12-22 | 2018-05-04 | 广汽本田汽车有限公司 | 通用型pmc控制器及机器人控制系统 |
CN108068112A (zh) * | 2017-11-02 | 2018-05-25 | 中车工业研究院有限公司 | 一种同一工位加工工件的装置、实现方法及加工方法 |
CN108594687A (zh) * | 2018-05-31 | 2018-09-28 | 广东翠峰机器人科技股份有限公司 | 一种无线控制技术构建机器人冲压自动化生产系统及其流程方法 |
CN108858209A (zh) * | 2018-09-12 | 2018-11-23 | 浙江智昌机器人科技有限公司 | 一种工业机器人控制器 |
CN109240252A (zh) * | 2018-11-23 | 2019-01-18 | 成都卡诺普智能装备有限公司 | 一种基于can通讯的生产线工序控制管理方法 |
CN109746914A (zh) * | 2018-12-29 | 2019-05-14 | 北京镁伽机器人科技有限公司 | 构建机器人的方法、机器人控制设备、系统及存储介质 |
CN110202579A (zh) * | 2019-06-18 | 2019-09-06 | 深圳市人通智能科技有限公司 | 一种带视觉集成的多台机器人控制方法 |
CN111386178A (zh) * | 2017-10-27 | 2020-07-07 | 费斯托股份两合公司 | 机器人系统的硬件模块的基于计算机的储存器的操作方法 |
CN112069645A (zh) * | 2020-07-14 | 2020-12-11 | 北京电子工程总体研究所 | 一种虚拟工业机器人快速配置方法及系统 |
CN112365580A (zh) * | 2020-11-16 | 2021-02-12 | 同济大学 | 一种面向人机技能传授的虚拟作业演示系统 |
CN113172373A (zh) * | 2021-04-25 | 2021-07-27 | 中铁十四局集团有限公司 | 一种用于钢材内切割及焊缝过程监控系统 |
CN113448272A (zh) * | 2021-06-28 | 2021-09-28 | 江西省智能产业技术创新研究院 | 一种集群控制系统及方法 |
CN114102588A (zh) * | 2021-11-23 | 2022-03-01 | 上海景吾智能科技有限公司 | 基于EtherCAT的单控制器-双机械臂装置和控制方法 |
CN116700094A (zh) * | 2023-06-21 | 2023-09-05 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230097023A1 (en) * | 2021-09-24 | 2023-03-30 | Covidien Lp | Surgical robotic system with daisy chaining |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10145517A1 (de) * | 2001-09-14 | 2003-04-24 | Siemens Ag | Antriebssystem, insbesondere für Positionierantriebe im Kleinleistungsbereich |
CN103433926A (zh) * | 2013-08-08 | 2013-12-11 | 中国船舶重工集团公司第七一六研究所 | 一种多机器人协调控制装置及其方法 |
CN103522290A (zh) * | 2013-10-14 | 2014-01-22 | 上海胖熊信息技术有限公司 | 基于现场总线的分布式机器人控制系统 |
CN103885393A (zh) * | 2012-12-21 | 2014-06-25 | 上海铼钠克数控科技有限公司 | 集群控制系统以及其运行方法 |
CN104552311A (zh) * | 2014-12-05 | 2015-04-29 | 杭州新松机器人自动化有限公司 | 基于EtherCAT的智能工业机器人总线模块及其操作方法 |
CN104589357A (zh) * | 2014-12-01 | 2015-05-06 | 佛山市万世德机器人技术有限公司 | 基于视觉跟踪的delta机器人控制系统和方法 |
CN104786221A (zh) * | 2015-04-13 | 2015-07-22 | 浙江工业大学 | 一种基于以太网的开放式机械手控制方法 |
-
2016
- 2016-01-14 CN CN201610023068.0A patent/CN105573253B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10145517A1 (de) * | 2001-09-14 | 2003-04-24 | Siemens Ag | Antriebssystem, insbesondere für Positionierantriebe im Kleinleistungsbereich |
CN103885393A (zh) * | 2012-12-21 | 2014-06-25 | 上海铼钠克数控科技有限公司 | 集群控制系统以及其运行方法 |
CN103433926A (zh) * | 2013-08-08 | 2013-12-11 | 中国船舶重工集团公司第七一六研究所 | 一种多机器人协调控制装置及其方法 |
CN103522290A (zh) * | 2013-10-14 | 2014-01-22 | 上海胖熊信息技术有限公司 | 基于现场总线的分布式机器人控制系统 |
CN104589357A (zh) * | 2014-12-01 | 2015-05-06 | 佛山市万世德机器人技术有限公司 | 基于视觉跟踪的delta机器人控制系统和方法 |
CN104552311A (zh) * | 2014-12-05 | 2015-04-29 | 杭州新松机器人自动化有限公司 | 基于EtherCAT的智能工业机器人总线模块及其操作方法 |
CN104786221A (zh) * | 2015-04-13 | 2015-07-22 | 浙江工业大学 | 一种基于以太网的开放式机械手控制方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106444607A (zh) * | 2016-10-09 | 2017-02-22 | 福州大学 | 多异构工业机器人数据通信及控制方法 |
CN106934651A (zh) * | 2017-01-18 | 2017-07-07 | 北京光年无限科技有限公司 | 一种用于机器人的宣传信息输出方法及系统 |
CN106976091A (zh) * | 2017-05-17 | 2017-07-25 | 苏州赛腾精密电子股份有限公司 | 机械手的伺服控制系统及控制终端 |
CN107340757A (zh) * | 2017-08-18 | 2017-11-10 | 江苏信息职业技术学院 | 一种水下机器人 |
CN107745382A (zh) * | 2017-09-29 | 2018-03-02 | 李少锋 | 机器手臂的同步控制系统 |
CN107966950A (zh) * | 2017-10-26 | 2018-04-27 | 东莞智得电子制品有限公司 | 自动化plc与工业机器人通讯控制方法 |
CN111386178A (zh) * | 2017-10-27 | 2020-07-07 | 费斯托股份两合公司 | 机器人系统的硬件模块的基于计算机的储存器的操作方法 |
CN111386178B (zh) * | 2017-10-27 | 2024-05-24 | 费斯托股份两合公司 | 机器人系统的硬件模块的基于计算机的储存器的操作方法 |
CN108068112A (zh) * | 2017-11-02 | 2018-05-25 | 中车工业研究院有限公司 | 一种同一工位加工工件的装置、实现方法及加工方法 |
CN107991984A (zh) * | 2017-12-22 | 2018-05-04 | 广汽本田汽车有限公司 | 通用型pmc控制器及机器人控制系统 |
CN107991984B (zh) * | 2017-12-22 | 2020-02-21 | 广汽本田汽车有限公司 | 通用型pmc控制器及机器人控制系统 |
CN108594687A (zh) * | 2018-05-31 | 2018-09-28 | 广东翠峰机器人科技股份有限公司 | 一种无线控制技术构建机器人冲压自动化生产系统及其流程方法 |
CN108858209A (zh) * | 2018-09-12 | 2018-11-23 | 浙江智昌机器人科技有限公司 | 一种工业机器人控制器 |
CN109240252A (zh) * | 2018-11-23 | 2019-01-18 | 成都卡诺普智能装备有限公司 | 一种基于can通讯的生产线工序控制管理方法 |
CN109240252B (zh) * | 2018-11-23 | 2021-05-14 | 成都卡诺普智能装备有限公司 | 一种基于can通讯的生产线工序控制管理方法 |
CN109746914A (zh) * | 2018-12-29 | 2019-05-14 | 北京镁伽机器人科技有限公司 | 构建机器人的方法、机器人控制设备、系统及存储介质 |
CN110202579A (zh) * | 2019-06-18 | 2019-09-06 | 深圳市人通智能科技有限公司 | 一种带视觉集成的多台机器人控制方法 |
CN112069645B (zh) * | 2020-07-14 | 2023-11-28 | 北京电子工程总体研究所 | 一种虚拟工业机器人快速配置方法及系统 |
CN112069645A (zh) * | 2020-07-14 | 2020-12-11 | 北京电子工程总体研究所 | 一种虚拟工业机器人快速配置方法及系统 |
CN112365580A (zh) * | 2020-11-16 | 2021-02-12 | 同济大学 | 一种面向人机技能传授的虚拟作业演示系统 |
CN112365580B (zh) * | 2020-11-16 | 2022-10-28 | 同济大学 | 一种面向人机技能传授的虚拟作业演示系统 |
CN113172373A (zh) * | 2021-04-25 | 2021-07-27 | 中铁十四局集团有限公司 | 一种用于钢材内切割及焊缝过程监控系统 |
CN113172373B (zh) * | 2021-04-25 | 2022-07-15 | 中铁十四局集团有限公司 | 一种用于钢材内切割及焊缝过程监控系统 |
CN113448272A (zh) * | 2021-06-28 | 2021-09-28 | 江西省智能产业技术创新研究院 | 一种集群控制系统及方法 |
CN114102588A (zh) * | 2021-11-23 | 2022-03-01 | 上海景吾智能科技有限公司 | 基于EtherCAT的单控制器-双机械臂装置和控制方法 |
CN116700094A (zh) * | 2023-06-21 | 2023-09-05 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
CN116700094B (zh) * | 2023-06-21 | 2024-03-01 | 哈尔滨博尼智能技术有限公司 | 一种数据驱动控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105573253B (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573253A (zh) | 一种工业机器人群控系统及方法 | |
Correa | Cyber-physical systems for construction industry | |
CN104786221B (zh) | 一种基于以太网的开放式机械手控制方法 | |
CN106502095B (zh) | 一种多工业机器人的协同控制方法 | |
CN106272484B (zh) | 一种多异构工业机器人控制系统 | |
CN101791801B (zh) | 工业机器人运动规划与性能测试系统及其实现方法 | |
CN102591306B (zh) | 双系统组件式的工业机器人控制器 | |
US5247650A (en) | System for combining originally software incompatible control, kinematic, and discrete event simulation systems into a single integrated simulation system | |
CN101592951B (zh) | 分布式仿人机器人通用控制系统 | |
CN108568818A (zh) | 机器人的控制系统和方法 | |
CN112091978A (zh) | 机械臂实时控制系统 | |
CN106444607A (zh) | 多异构工业机器人数据通信及控制方法 | |
CN110480658A (zh) | 一种融合视觉自标定的六轴机器人控制系统 | |
CN113282083B (zh) | 一种基于机器人操作系统的无人车编队实验平台 | |
CN108436915A (zh) | 双机器人运动控制方法 | |
CN110412921A (zh) | 基于EtherCAT的机器人单腿高实时性控制系统 | |
CN1603068A (zh) | 基于无线网络的多机器人搬运控制系统 | |
CN110524531A (zh) | 一种基于物联网云服务的机器人控制系统及其工作流程 | |
CN113021330A (zh) | 一种分布式网络下的多机器人同步随动控制方法 | |
Song et al. | Research on multi-robot open architecture of an intelligent CNC system based on parameter-driven technology | |
TWI427448B (zh) | 多軸同動機械之程式轉換模組及程式轉換方法 | |
CN113385807B (zh) | 一种以太网网关的激光振镜控制系统和方法 | |
Lavendelis et al. | Multi-agent robotic system architecture for effective task allocation and management | |
CN116009404B (zh) | 伺服设备的调试方法、装置、设备和可读存储介质 | |
CN114505853B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |