控制系统以及控制系统的控制方法

文档序号:722634 发布日期:2021-04-16 浏览:10次 >En<

阅读说明:本技术 控制系统以及控制系统的控制方法 (Control system and control method of control system ) 是由 関本英彦 于 2020-01-08 设计创作,主要内容包括:本发明实现一种控制系统,不需要避免机器人碰撞的程序的更新,由此减轻用户的负担。控制系统(1)的第二机器人(32)具有轨道计算部(23S),所述轨道计算部(23S)在判定为第一机器人(31)以及第二机器人(32)各自会发生碰撞时,以避开第一机器人(31)的方式来计算第二机器人(32)的轨道。(The present invention realizes a control system that does not require updating of a program that avoids robot collisions, thereby reducing the burden on the user. A second robot (32) of the control system (1) has a trajectory calculation unit (23S), and the trajectory calculation unit (23S) calculates the trajectory of the second robot (32) so as to avoid the first robot (31) when it is determined that the first robot (31) and the second robot (32) collide with each other.)

控制系统以及控制系统的控制方法

技术领域

本发明涉及一种控制系统、控制系统的驱动方法、控制程序以及计算机可读取的记录介质。

背景技术

作为避免机器人彼此碰撞的控制系统的以往技术,有专利文献1所记载的技术。据此,通过在需要互锁(interlock)的动作程序之间执行一次混合干涉区域、访问预约以及存在等的区域声明,从而能够进行不考虑互锁(在动作程序的前后进行锁定/解锁(lock/unlock))的编程。由此,即使在未实时地进行控制的情况下(示教时),也能适当地自动进行互锁,而不会引起系统整体的不匹配。

现有技术文献

专利文献

专利文献1:日本公表专利公报“特表2016-538642号公报”

发明内容

发明所要解决的问题

但是,如上所述的以往技术中,需要用于区域声明的程序的制作。用于区域声明的程序是根据设置位置周围的设备或与其他机器人的位置关系等各种条件而针对每个机器人所决定的机器人独自的程序。因此,要在使用机器人的用户侧针对每个机器人来制作,从而成为用户的负担。

本发明的一实施例的目的在于,实现一种控制系统,通过避免机器人自身与其他机器人的碰撞,从而减轻制作对机器人的动作进行指示的用户程序的用户的负担。

解决问题的技术手段

为了解决所述问题,本发明的一实施例的控制系统是具有多关节的多个机器人连接于同一网络的控制系统,其中,所述多个机器人包含第一机器人以及第二机器人,所述第二机器人包括:通信控制部,经由所述网络来获取附加有轨道确定信息以及目标位置信息的控制数据,所述轨道确定信息用于确定所述第一机器人的可动部的从当前位置到达目标位置为止的轨道,所述目标位置信息表示所述第二机器人的可动部的目标位置;判定部,基于所述第一机器人的所述可动部的轨道、与根据所述第二机器人的目标位置而确定的所述第二机器人的所述可动部的从当前位置到达目标位置为止的轨道,来判定所述第一机器人与所述第二机器人是否会发生碰撞;以及轨道计算部,在所述第一机器人与所述第二机器人会发生碰撞的情况下,以避开所述第一机器人的所述可动部的所述轨道的方式来修正所述第二机器人的所述可动部的所述轨道。

为了解决所述问题,本发明的一实施例的控制系统是多个机器人连接于同一网络的控制系统的控制方法,其中,所述多个机器人包含第一机器人以及第二机器人,在所述第二机器人中进行下述步骤,即:获取步骤,经由所述网络来获取附加有轨道确定信息以及目标位置信息的控制数据,所述轨道确定信息用于确定所述第一机器人的可动部的从当前位置到达目标位置为止的轨道,所述目标位置信息表示所述第二机器人的可动部的目标位置;判定步骤,基于所述第一机器人的所述可动部的轨道、与根据所述第二机器人的目标位置而确定的所述第二机器人的所述可动部的从当前位置到达目标位置为止的轨道,来判定所述第一机器人与所述第二机器人是否会发生碰撞;以及轨道计算步骤,在所述第一机器人与所述第二机器人会发生碰撞的情况下,以避开所述第一机器人的所述可动部的所述轨道的方式来修正所述第二机器人的所述可动部的所述轨道。

本发明的各实施例的控制系统也可通过计算机来实现,此时,通过使计算机作为所述控制系统所包括的各部(软件要素)来运行而利用计算机来实现所述控制系统的控制程序、以及记录有所述控制程序的计算机可读取的记录介质也纳入本发明的范畴。

发明的效果

根据本发明的一实施例,能够获得减轻了制作用户程序的用户的负担的控制系统。

附图说明

图1是表示一实施方式的控制系统的主要部分结构的示意图。

图2是表示从控制装置发送至多个机器人以及其他装置的一帧量的控制数据的结构的图。

图3是表示一实施方式的控制系统所包括的机器人的概略结构的图。

图4是表示与一实施方式的控制系统相关的第一机器人的功能块的图。

图5是表示与一实施方式的控制系统相关的第一机器人的控制部的处理流程的图。

图6是表示与一实施方式的控制系统相关的第二机器人的功能块的图。

图7是表示与一实施方式的控制系统相关的第二机器人的控制部的处理流程的图。

具体实施方式

以下,对本发明的一方面的实施方式(以下也称作“本实施方式”)进行说明。对于图中相同或相当的部分标注相同的符号并不再重复其说明。

〔§1适用例〕

本实施方式的控制系统包含对机械或设备等对象装置进行控制的控制装置、以及连接于控制装置的机械或设备等控制对象。控制对象包含具有多关节的多个机器人。

图1是表示一实施方式的控制系统1的主要部分结构的示意图。控制系统1包含经由现场网络(同一网络)而连接的控制装置10以及多个机器人30。控制系统1中,多个机器人30也可经由现场网络而与机器人30以外的其他装置40(例如伺服等)连接。多个机器人30至少包含第一机器人31以及第二机器人32,也可进而包含其他机器人。作为一例,控制系统1中,控制装置10、第一机器人31、第二机器人32与其他装置40经由局域网(Local AreaNetwork,LAN)线缆2而串联连接。

现场网络对在控制装置10与多个机器人30以及其他装置40之间收授的各种数据进行传输。作为现场网络,例示采用作为工业用以太网(注册商标)的EtherCAT(注册商标)的结构,但并不限于此,能够使用以固定周期进行各种数据的收发的网络。例如,作为现场网络,能够使用PROFINET(注册商标)、MECHATROLINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP Motion等工业用的以太网(注册商标)等。

第二机器人32经由现场网络来接收第一机器人31的当前位置的信息与目标位置的信息和第二机器人32的目标位置的信息。第二机器人32知晓自身装置的当前位置。第二机器人32根据第一机器人31的当前位置与目标位置来计算第一机器人31的轨道,并根据第二机器人32的当前位置与目标位置来计算第二机器人32的轨道。第二机器人32根据第一机器人31的轨道与第二机器人32的轨道来判定第一机器人31与第二机器人32是否会发生碰撞。若会发生碰撞,则第二机器人32以避免碰撞的方式修正自身装置的轨道。

各机器人的轨道的计算、碰撞的判定以及用于避免的轨道修正并非由指示目标位置的主机装置即控制装置10,而是由作为从机装置的第二机器人32自身来进行。由此,能够分散计算负载。而且,能够更快地决定适当的轨道。因此,能够减小考虑动作误差的周围范围(避免其他机器人进入的范围)。其结果,能够使多个机器人缩短间隔而配置,从而能够减小制造线的尺寸。而且,用户能够不考虑第二机器人与第一机器人的干涉来制作使机器人运行的用户程序。

〔§2结构例〕

如图1所示,控制装置10是对机械以及设备等控制对象进行控制的可编程逻辑控制器(Programmable Logic Controller,PLC),对多个机器人30以及其他装置40进行控制。从控制装置10经由现场网络对多个机器人30发送指令值,各机器人30基于所接收的指令值来运行。对于其他装置40,也经由现场网络来发送指令值,其他装置40也基于所接收的指令值来运行。控制装置10在经由现场网络的控制数据的传输中,对所述控制数据的传输进行积极管理。

本实施方式中,对于多个机器人30,分别设定有相对于其他机器人30的可动部而避免碰撞的优先顺位。此处,作为一例,设较之现场网络上的上游侧(靠近控制装置10的一侧)的机器人30,而下游侧(远离控制装置10的一侧)的机器人30的优先顺位低。即,第二机器人32的轨道的优先顺位比第一机器人31的轨道的优先顺位低,第二机器人32避免对第一机器人31的碰撞。由此,能够防止机器人30彼此朝相互相同的方向采取避让行动的情况下产生碰撞。即,能够更切实地避免机器人30彼此的碰撞。

另外,有时将作为避让对象的机器人30(此处为第一机器人31)称作主机侧的机器人30,将采取避让行动的机器人(此处为第二机器人32)称作从机侧的机器人30等。

图2是表示从控制装置10对多个机器人30以及其他装置40发送的一帧量的控制数据60的数据包的结构的图。在EtherCAT(注册商标)中,多个机器人30在每个规定周期,经由现场网络来收发各个机器人30用的控制数据成为一组(set)的控制数据60。图2中,控制数据60中的左端为用于控制第一机器人31的控制数据(轨道确定信息)61,其旁边为用于控制第二机器人32的控制数据(轨道确定信息)62,在进而存在其他机器人的情况下,在控制数据62的旁边依序设置各个机器人的控制数据。控制数据61、62…包含连接于现场网络且由控制装置10所控制的机器人30的数量个。图2中,在控制数据60中的右端设有其他装置40的控制数据70。

每个机器人的控制数据分别包含输入数据(IN数据)与输出数据(OUT数据)。即,控制数据61包含输入数据61a与输出数据61b,控制数据62包含输入数据62a与输出数据62b,…控制数据70包含输入数据70a与输出数据70b。

输入数据是用于从控制装置10传向机器人30或其他装置40的信息。在各输入数据中,通过控制装置10而附加有用于使各机器人30运行的指令值。具体而言,通过控制装置10,对控制数据60中的控制数据61的输入数据61a附加用于使第一机器人31运行的指令值,对控制数据62的输入数据62a附加用于使第二机器人32运行的指令值,…对控制数据70的输入数据71a附加用于使其他装置40运行的指令值。

指令值是决定机器人30的动作的数据,例如,本实施方式中,是表示机器人30所移动的目标位置(XYZ坐标)的信息(目标位置信息)。机器人30根据目标位置来计算轨道,并按照所计算出的轨道来使可动部运行。

输出数据是用于从机器人30或其他装置40传向控制装置10的信息。对于各输出数据,通过各机器人30而附加有表示自身装置的状态的信息。具体而言,对于控制数据60中的控制数据61的输出数据61b,通过第一机器人31而附加表示第一机器人31的状态的信息,对于控制数据62的输出数据62b,通过第二机器人32而附加表示第二机器人32的状态的信息,…对于控制数据70的输出数据70b,通过其他装置40而附加表示其他装置40的状态的信息。

所谓表示自身装置的状态的信息,例如是指表示各机器人30的可动部(例如操纵器)的当前位置(XYZ坐标)的信息。所谓所述各机器人30的当前位置,既可为各机器人30的实际的当前位置,也可将规定期间后(下帧时)各机器人30所运行的预定位置视为当前位置。

控制数据60中的控制数据61包含轨道确定信息,所述轨道确定信息用于确定第一机器人31的可动部的从当前位置到达目标位置为止的轨道。控制数据62包含轨道确定信息,所述轨道确定信息用于确定第二机器人32的可动部的从当前位置到达目标位置为止的轨道。

各机器人30至少导入控制数据60中的为了自身装置而分配的区域的控制数据。例如,主机侧的机器人30(第一机器人31)导入为了自身装置而分配的控制数据61的输入数据61a。进而,本实施方式中,如后所述,从机侧的机器人30(第二机器人32)不仅导入控制数据60中的为了自身装置而分配的控制数据62的输入数据62a,还导入为了作为避让对象的主机侧的机器人30(第一机器人31)而分配的控制数据61,从而也掌握主机侧的机器人30(第一机器人31)的轨道。

使用图1以及图2来说明控制系统1中的控制数据60的流动。控制装置10具有I/O端口50。I/O端口50包含发送部(图1中记载为“TX”)51与接收部(图1中记载为“RX”)52。第一机器人31具有I/O端口50a、50b。I/O端口50a、50b分别包含发送部51与接收部52。第二机器人32也具有I/O端口50a、50b,其他装置40也具有I/O端口50a、50b。即,第一机器人31、第二机器人32以及其他装置40各包括两个I/O端口。

并且,例如,控制装置10中的I/O端口50与第一机器人31的I/O端口50a利用LAN线缆2而连接。第一机器人31的I/O端口50b与第二机器人32的I/O端口50a利用LAN线缆2而连接。第二机器人32的I/O端口50b与其他装置40的I/O端口50a利用LAN线缆2而连接。此处,其他装置40是现场网络的末端的装置。

控制装置10将表示各机器人30的目标位置的信息附加至控制数据60的各输入数据,并统一从发送部51发送至现场网络(输出处理)。从控制装置10发送至现场网络的控制数据60被发送至最开始的第一机器人31的I/O端口50a的接收部52,并从第一机器人31所包括的另一个I/O端口50b的发送部51发送至第二个的第二机器人32的I/O端口50a中的接收部52。此时,第一机器人31对从控制装置10收到的控制数据60中的为了自身装置而分配的区域(即控制数据61)进行访问,导入输入数据61a,并且对输出数据61b附加表示自身装置的当前位置的信息。对于第二个的第二机器人32,发送由第一机器人31对输出数据61b附加了表示当前位置的信息的控制数据60。

并且,第二机器人32也与第一机器人31同样地,对所接收的控制数据60中的为了自身装置而分配的区域(即控制数据62)进行访问,而导入输入数据62a。除此以外,第二机器人32还对控制数据60中的为了第一机器人31而分配的区域(即控制数据61)进行访问,还导入为了第一机器人31而分配的控制数据61的输入数据61a以及输出数据61b。并且,第二机器人32对控制数据60中的输出数据62b附加表示自身装置的当前位置的信息。同样的处理在经由现场网络而连接的各机器人中依次进行。

此处,在末端的其他装置40中,也同样地导入输入数据70a,与此同时,对输出数据70b附加表示自身装置的当前位置的信息。从末端的其他装置40发送的控制数据60在现场网络中逆流,依序通过第二机器人32、第一机器人31而返回控制装置10。

在从控制装置10发送的控制数据60最终在现场网络上循环一圈(往复)而返回的期间,经由现场网络而连接的所有机器人30中的主机侧的机器人30进行为了自身装置而分配的控制数据中的输入数据的导入、以及表示自身装置的当前位置的信息向输出数据的附加。而且,从机侧的机器人30进行为了自身装置而分配的控制数据中的输入数据的导入及表示自身装置的当前位置的信息向输出数据的附加、与从自身装置对主机侧的机器人30分配的控制数据的导入。

这样,在控制系统1中,经由现场网络而在每个规定期间使控制数据60循环。规定期间并无特别限定,例如可设为1msec左右。另外,有时将控制数据60在现场网络上循环一次的期间(规定期间)称作帧。

另外,第二机器人32也可被设定为,不仅对多个机器人30中的第一机器人31,除了第一机器人31以外还计算其他机器人30的轨道,相对于所述其他机器人30也采取避免碰撞的行动。此时,第二机器人32在控制数据60从末端的其他装置40返回时,也可从自身装置导入从机侧的其他机器人30所附加的输出数据。因此,避免的优先顺位能够与网络的连接顺序(控制数据60的接收顺序)无关地设定。

图3是表示一实施方式的控制系统1所包括的机器人30的概略结构的图。图3中,作为控制系统1所包括的机器人的一例,例示了第二机器人32,但关于其他机器人30也同样。第二机器人32包括:机器人本体32a;以及作为可动部的机械臂32b,所述机械臂32b连接于机器人本体32a,且具有多关节。

第二机器人32在从上游侧的第一机器人31获取控制数据60时,获取对控制数据60中的为了自身装置而分配的控制数据62的输入数据62a所附加的目标位置,并将表示作为可动部的机械臂32b的当前位置的信息附加至为了自身装置而分配的控制数据62的输出数据62b。并且,第二机器人32将所述控制数据60发送至下游侧的其他装置40。第二机器人32根据作为可动部的机械臂32b的当前位置,来计算到达所获取的目标位置的轨道。并且,第二机器人32沿着所计算出的轨道来使作为可动部的机械臂32b移动。由此,对作为可动部的机械臂32b的当前位置进行更新。

此处,所谓轨道,是指从机械臂32b的当前位置直至目标位置为止的每规定时间(每帧)的预定位置(XYZ坐标)。换言之,所谓轨道,是指机械臂32b从当前位置移动到目标位置为止的每规定时间(每帧)的机械臂32b所处的预定区域的集合。所谓轨道,是指在将时间与空间合起来的四维空间中机械臂32b所处的预定区域的集合。

此处,若仅考虑机械臂32b从当前位置移动到目标位置为止时的所处的预定区域的集合(即轨道)来进行第二机器人32以及其他机器人30的控制,则有可能因各种误差而导致第二机器人32与其他机器人30发生碰撞。因此,预先设定好以机械臂32b为中心的筒状等包含机械臂32b及其周围的宽广区域即规定的周围范围R。并且,第二机器人32在计算机械臂32b的轨道时,基于所述轨道与周围范围R,来每规定时间的区域比计算轨道大的区域的集合即周围范围轨道。并且,如后所述,基于所述计算出的第二机器人32的周围范围轨道与作为主机侧的第一机器人31的周围范围轨道,来采取避免与主机侧的第一机器人31的碰撞的避让行动。即,第二机器人32在主机侧的第一机器人31处于周围范围轨道内的情况下,判定为自身装置应避让。

而且,所谓当前位置,既可为第二机器人32的可动部即机械臂32b的实际的当前位置(获取到控制数据60时的机械臂32b的位置),也可为下帧时的机械臂32b的预定位置。

图4是表示第一机器人31的功能块的图。本实施方式中,第一机器人31是第二机器人32避免碰撞的避让对象机器人30。即,第一机器人31是避免碰撞的优先顺位比第二机器人32高的主机侧的机器人30的示例。

第一机器人31包括机器人本体31a与机械臂(可动部)31b。机器人本体31a除了I/O端口50a、50b以外,还包括通信控制部21与第一控制部22M。

通信控制部21经由I/O端口50a以及I/O端口50b来控制第一机器人31的通信。通信控制部21从外部装置经由I/O端口50a或I/O端口50b的接收部52来接收控制数据60。通信控制部21导入控制数据60中的输入数据61a并输出至第一控制部22M,并且将表示当前位置的信息写入至控制数据60的输出数据61b。通信控制部21将控制数据60输出至I/O端口50a或I/O端口50b的发送部51,由此来发送至外部装置。

第一控制部22M控制第一机器人31的驱动。而且,第一控制部22M基于对控制数据60附加的各种信息来控制第一机器人31的动作,或者生成附加于控制数据60的各种信息。第一控制部22M包括轨道计算部23M以及动作控制部26。关于所述第一控制部22M的处理流程,使用图4以及图5来进行说明。

图5是表示第一机器人31的第一控制部22M的处理流程的图。轨道计算部23M获取对控制数据60中的被分配给第一机器人31用的控制数据61中的输入数据61a附加的机械臂31b(自身装置的可动部)的目标位置(步骤S1)。接下来,轨道计算部23M根据机械臂31b的当前位置与所获取的目标位置,来计算机械臂31b的到达目标位置的轨道(步骤S2)。继而,动作控制部26基于轨道计算部23M所计算出的轨道,来控制第一机器人31的可动部即机械臂31b的动作(步骤S3)。接下来,轨道计算部23M根据在步骤S2中计算出的轨道,将下帧时的机械臂31b的预定位置作为表示当前位置的信息而输出至第一机器人31的通信控制部21(步骤S4)。通信控制部21在下帧中收到控制数据60时,导入输入数据61a并输出至第一控制部22M,并且将表示当前位置的信息写入至输出数据61b。通信控制部21将控制数据60经由发送部51而发送至下游侧的第二机器人32。

图6是表示第二机器人32的功能块的图。本实施方式中,第二机器人32是采取避免碰撞到第一机器人31的行动的避让侧的机器人30。即,第二机器人32是避免碰撞的优先顺位比第一机器人31低的从机侧的机器人30的示例。

第二机器人32包括机器人本体32a与机械臂(可动部)32b。机器人本体32a除了I/O端口50a、50b以外,还包括通信控制部21与第二控制部22S。

通信控制部21经由I/O端口50a以及I/O端口50b来控制第二机器人32的通信。通信控制部21从外部装置经由I/O端口50a或I/O端口50b的接收部52接收控制数据60。通信控制部21导入控制数据60中的输入数据62a、输入数据61a以及输出数据61b并输出至第二控制部22S,并且将表示当前位置的信息写入至控制数据60的输出数据62b。通信控制部21将控制数据60输出至I/O端口50a或I/O端口50b的发送部51,由此来发送至外部装置。

第二控制部22S控制第二机器人32的驱动。而且,第二控制部22S基于附加至控制数据60的各种信息来控制第二机器人32的动作,或者生成附加至控制数据60的各种信息。第二控制部22S包括轨道计算部23S、周围范围轨道计算部24、判定部25以及动作控制部26。关于所述第二控制部22S的处理流程,使用图6以及图7来进行说明。

图7是表示第二机器人32的第二控制部22S的处理流程的图。轨道计算部23S获取控制数据60中的对被分配给第二机器人32的控制数据62中的输入数据62a附加的机械臂32b(自身装置的可动部)的目标位置。除此以外,轨道计算部23S还获取控制数据60中的对被分配给作为避让对象的第一机器人31的控制数据61中的输入数据61a附加的机械臂31b(避让对象机器人的可动部)的目标位置、与对输出数据61b附加的机械臂31b的当前位置(步骤S21)。

接下来,轨道计算部23S根据机械臂32b(自身装置的可动部)的当前位置与所获取的机械臂32b的目标位置,来计算机械臂32b的到达目标位置的轨道(步骤S22)。进而,轨道计算部23S还根据机械臂31b的当前位置与机械臂31b的目标位置,来计算到达机械臂31b的目标位置的轨道(步骤S23)。

然后,周围范围轨道计算部24根据在步骤S22中轨道计算部23S所计算出的机械臂32b的轨道、与预先存储在自身或其他存储部中的机械臂32b的周围范围R,来计算机械臂32b的到达目标位置为止的周围范围轨道(步骤S24)。进而,周围范围轨道计算部24根据在步骤S23中轨道计算部23S所计算出的机械臂31b(避让对象机器人的可动部)的轨道、与预先存储在自身或其他存储部中的机械臂31b的周围范围R,来计算机械臂31b的到达目标位置为止的周围范围轨道(步骤S25)。

接下来,判定部25判定在步骤S25中周围范围轨道计算部24所计算出的机械臂31b的周围范围轨道(第一周围范围轨道)是否包含(哪怕是一部分重合)于在步骤S24中周围范围轨道计算部24所计算出的机械臂32b的周围范围轨道(第二周围范围轨道)内(步骤S26)。

若在步骤S26中,判定部判定为机械臂31b的周围范围轨道包含在机械臂32b的周围范围轨道内(步骤S26的是),则轨道计算部23S以避开机械臂31b的周围范围轨道的方式来重新计算(修正)机械臂32b的从当前位置到达目标位置的轨道(步骤S27)。例如,轨道计算部23S朝远离机械臂31b的周围范围轨道的方向修正机械臂32b的轨道。接下来,周围范围轨道计算部24根据在步骤S27中轨道计算部23S重新计算的机械臂32b的轨道与预先存储在自身或其他存储部中的机械臂32b的周围范围R,来重新计算机械臂32b的到达目标位置为止的周围范围轨道(步骤S28)。接下来,返回步骤S26。

若在步骤S26中,判定部判定为机械臂31b的周围范围轨道不包含在机械臂32b的周围范围轨道内(步骤S26的否),则动作控制部26基于轨道计算部23S所计算出的轨道来控制第二机器人32的可动部即机械臂32b的动作(步骤S29)。然后,轨道计算部23S根据机械臂32b的轨道,将下帧时的机械臂32b的预定位置作为表示当前位置的信息而输出至第二机器人32的通信控制部21(步骤S30)。通信控制部21在下帧中收到控制数据60时,导入输入数据62a、输入数据61a以及输出数据61b并输出至第二控制部22S,并且将表示当前位置的信息写入至输出数据62b。通信控制部21将控制数据60经由发送部51而发送至下游侧的其他机器人30。

另外,在步骤S27中,轨道计算部23S以避开机械臂31b的周围范围轨道的方式来重新计算机械臂32b的轨道。作为所述轨道计算部23S重新计算轨道的方法,既可以避开机械臂31b的周围范围轨道的方式来变更从机械臂32b的当前位置直至目标位置为止的空间路径,也可不变更空间路径而变更机械臂32b的移动速度(即,变更每个规定期间的机械臂32b的预定位置)。

而且,也可不对多个机器人30分别设置使其他机器人30采取避让行动的优先顺位,而是各个机器人30相互采取避让行动。

(主要效果)

这样,在控制系统1中,从机侧的第二机器人32经由现场网络来获取控制数据61中的输入数据61a及输出数据61b与输入数据62a,所述控制数据61用于确定主机侧的第一机器人31的机械臂31b的从当前位置到达目标位置为止的轨道,所述输入数据62a附加有表示自身装置的机械臂32b的目标位置的信息。

并且,第二机器人32中,判定部25基于第一机器人31的机械臂31b的轨道与根据第二机器人32的目标位置而确定的机械臂32b的从当前位置到达目标位置为止的轨道,来判定第一机器人31与第二机器人32是否会发生碰撞(S26)。接下来,若第一机器人31与第二机器人32会发生碰撞,则轨道计算部23S以避开第一机器人31的方式来重新计算第二机器人的机械臂32b的轨道(步骤S27)。

这样,由第二机器人32自身计算不会与第一机器人31发生碰撞的轨道。因此,用户能够不考虑干涉而制作使机器人运行的用户程序。其结果,能够实现一种控制系统1,通过机器人30自身避免与其他机器人30的碰撞,从而减轻制作对机器人30的动作进行指示的用户程序的用户的负担。

而且,第二机器人32中,轨道计算部23S根据第二机器人32中的机械臂32b的当前位置,计算第二机器人32的机械臂32b到达目标位置为止的每规定期间的第二机器人32的机械臂32b的预定位置来作为轨道(步骤S22)。这样,并非在控制第二机器人32的控制装置10侧,而是在第二机器人32侧计算第二机器人32的机械臂32b的从当前位置到达目标位置为止的多个预定位置来作为轨道,由此,能够节省用户预先对第二机器人32的机械臂32b的轨道进行编程的工时。

所述第二机器人32中的周围范围轨道计算部24基于第二机器人32的机械臂32b的轨道,来计算第二机器人32的机械臂32b的周围范围轨道(步骤S24),并基于第一机器人31的机械臂31b的轨道,来计算第一机器人31的机械臂31b的周围范围轨道(步骤S25)。继而,具体而言,判定部25判定第一机器人31中的机械臂31b的周围范围轨道是否包含在第二机器人32中的机械臂32b的周围范围轨道内(步骤S26),由此来判定第一机器人31与第二机器人32是否会发生碰撞。

由此,并非在控制第二机器人32的控制装置10侧,而是在第二机器人32侧中计算第一机器人31的周围范围轨道与第二机器人32的周围范围轨道,因此能够更快地决定两者不会碰撞的第二机器人32的轨道。由此,能够减小确保第一机器人31以及第二机器人32不会碰撞的界限(margin)(周围范围)。因此,能够减小制造线的尺寸。而且,与由控制装置10来计算对各机器人30的周围范围轨道进行计算的负载的情况相比,能够分散所述负载。

接下来,若由判定部S26判定为第一机器人31与第二机器人32会发生碰撞(步骤S26的是),则轨道计算部23S以避开第一机器人31的方式来重新计算第二机器人32的机械臂32b的轨道(步骤S27)。并且,轨道计算部23S将表示重新计算的轨道中的下帧时的第二机器人32的机械臂32b的预定位置的信息(预定位置信息)附加至控制数据62中的输出数据62b。由此,能够将第二机器人32中的机械臂32b的当前位置通知给其他装置。因而,其他装置能够适当地基于第二机器人32中的机械臂32b的当前位置以及目标位置,以不会与第二机器人32中的机械臂32b发生碰撞的方式来采取避让行动。

〔借助软件的实现例〕

第一机器人31以及第二机器人32的控制块(尤其是轨道计算部23S、周围范围轨道计算部24、判定部25、动作控制部26、通信控制部21以及轨道计算部23M)既可通过形成于集成电路(IC(Integrated Circuit)芯片(chip))等上的逻辑电路(硬件)实现,也可通过软件来实现。

在后者的情况下,第二机器人32包括执行实现各功能的软件即程序的命令的计算机。所述计算机例如包括一个以上的处理器(processor),并且包括存储有所述程序的计算机可读取的记录介质。并且,在所述计算机中,通过所述处理器从所述记录介质读取并执行所述程序,从而达成本发明的目的。作为所述处理器,例如可使用中央处理器(CentralProcessing Unit,CPU)。作为所述记录介质,可使用“并非临时的有形介质”,例如除了只读存储器(Read Only Memory,ROM)等以外,还可使用带(tape)、盘(disk)、卡(card)、半导体存储器、可编程的逻辑电路等。而且,还可更包括展开所述程序的随机存取存储器(RandomAccess Memory,RAM)等。而且,所述程序也可经由可传输此程序的任意传输介质(通信网络或广播波等)而提供给所述计算机。另外,本发明的一实施例也能以通过电子传输来将所述程序具现化的被嵌入载波中的数据信号的实施例来实现。

(总结)

为了解决所述问题,本发明的一实施例的控制系统是具有多关节的多个机器人连接于同一网络的控制系统,其中,所述多个机器人包含第一机器人以及第二机器人,所述第二机器人包括:通信控制部,经由所述网络来获取附加有轨道确定信息以及目标位置信息的控制数据,所述轨道确定信息用于确定所述第一机器人的可动部的从当前位置到达目标位置为止的轨道,所述目标位置信息表示所述第二机器人的可动部的目标位置;判定部,基于所述第一机器人的所述可动部的轨道与根据所述第二机器人的目标位置而确定的所述第二机器人的所述可动部的从当前位置到达目标位置为止的轨道,来判定所述第一机器人与所述第二机器人是否会发生碰撞;以及轨道计算部,在所述第一机器人与所述第二机器人会发生碰撞的情况下,以避开所述第一机器人的所述可动部的所述轨道的方式来修正所述第二机器人的所述可动部的所述轨道。

根据所述结构,由所述第二机器人自身来计算不会与所述第一机器人发生碰撞的轨道。因此,用户能够不考虑所述第二机器人与所述第一机器人的干涉而制作使机器人运行的用户程序。其结果,能够实现一种控制系统,通过机器人自身避免与其他机器人的碰撞,从而减轻制作对机器人的动作进行指示的用户程序的用户的负担。

而且,所述多个机器人在每个规定期间,经由所述网络来接收所述控制数据。

而且,所述轨道计算部进而根据所述第二机器人中的所述可动部的当前位置,来计算到达所述第二机器人的所述可动部的所述目标位置为止的每个所述规定期间的所述第二机器人的所述可动部的预定位置。

像所述结构这样,并非在控制第二机器人的控制装置侧,而是在所述第二机器人侧计算所述第二机器人的从当前位置到达目标位置为止的多个预定位置,由此,能够节省用户预先对第二机器人的轨道进行编程的工时。

而且,所述第二机器人还包括:周围范围轨道计算部,基于所述第一机器人的所述可动部的所述轨道来计算第一周围范围轨道,并基于所述轨道计算部所计算的所述第二机器人的所述可动部的所述轨道来计算第二周围范围轨道,所述第一周围范围轨道是包含所述第一机器人的所述可动部的周围的规定范围的轨道,所述第二周围范围轨道是包含所述第二机器人的所述可动部的周围的规定范围的轨道,所述判定部通过判定所述第二周围范围轨道中是否包含所述第一周围范围轨道,从而判定所述第一机器人与所述第二机器人是否会发生碰撞。

根据所述结构,并非在控制第二机器人的控制装置侧,而是在所述第二机器人侧计算所述第一机器人的避让判定范围与第二机器人的避让判定范围,因此能够更快地决定两者不会发生碰撞的第二机器人的轨道。由此,能够减小第一机器人以及第二机器人有可能发生碰撞的避让判定范围。因此,能够减小制造线的尺寸。而且,与由控制装置来计算对各机器人的避让判定范围进行计算的负载的情况相比,能够分散所述负载。

而且,所述轨道计算部在由所述判定部判定为所述第一机器人与所述第二机器人会发生碰撞时,以避开所述第一机器人的所述可动部的所述轨道的方式来修正所述第二机器人的所述可动部的所述轨道,并将表示所述经修正的轨道上的下个规定期间后的所述第二机器人的预定位置的预定位置信息附加至所述控制数据,所述通信控制部将附加有所述预定位置信息的所述控制数据输出至所述网络。

而且,对于所述多个机器人分别设定有相对于其他机器人而避免碰撞的优先顺位,所述第二机器人的优先顺位比所述第一机器人的优先顺位低,所述第二机器人避免对所述第一机器人的碰撞。

借助所述结构,能够防止在机器人彼此相互采取避让行动的情况下发生碰撞。即,能够更切实地避免机器人彼此的碰撞。而且,能够使优先顺位高的第一机器人沿着能更快地进行作业的轨道运行。

而且,除了所述第一机器人之外,所述第二机器人计算所述多个机器人中的其他机器人的轨道,相对于所述其他机器人也避免碰撞。

为了解决所述问题,本发明的一实施例的控制系统是多个机器人连接于同一网络的控制系统的控制方法,其中,所述多个机器人包含第一机器人以及第二机器人,在所述第二机器人中进行下述步骤,即:获取步骤,经由所述网络来获取附加有轨道确定信息以及目标位置信息的控制数据,所述轨道确定信息用于确定所述第一机器人的可动部的从当前位置到达目标位置为止的轨道,所述目标位置信息表示所述第二机器人的可动部的目标位置;判定步骤,基于所述第一机器人的所述可动部的轨道与根据所述第二机器人的目标位置而确定的所述第二机器人的所述可动部的从当前位置到达目标位置为止的轨道,来判定所述第一机器人与所述第二机器人是否会发生碰撞;以及轨道计算步骤,在所述第一机器人与所述第二机器人会发生碰撞的情况下,以避开所述第一机器人的所述可动部的所述轨道的方式来修正所述第二机器人的所述可动部的所述轨道。

本发明的各实施例的控制系统也可通过计算机来实现,此时,通过使计算机作为所述控制系统所包括的各部(软件要素)来运行而利用计算机来实现所述控制系统的控制程序、以及记录有所述控制程序的计算机可读取的记录介质也纳入本发明的范畴。

本发明并不限定于所述的各实施方式,可在权利要求所示的范围内进行各种变更,将不同的实施方式中分别公开的技术部件适当组合而获得的实施方式也包含在本发明的技术范围内。

符号的说明

1:控制系统

2:LAN线缆

10:控制装置

21:通信控制部

22M、22S:控制部

23M、23S:轨道计算部

24:周围范围轨道计算部

25:判定部

26:动作控制部

30:机器人

31:第一机器人(机器人)

31a、32a:机器人本体

31b、32b:机械臂(可动部)

32:第二机器人(机器人)

40:其他装置

50、50a、50b:I/O端口

51:发送部

52:接收部

60、61、62:控制数据

61a、62a、70a、71a:输入数据

61b、62b、70b:输出数据

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于优化机器人装置的急转弯的路线规划的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!