CN115176209A - 机器人控制系统以及控制方法 - Google Patents

机器人控制系统以及控制方法 Download PDF

Info

Publication number
CN115176209A
CN115176209A CN202080097507.7A CN202080097507A CN115176209A CN 115176209 A CN115176209 A CN 115176209A CN 202080097507 A CN202080097507 A CN 202080097507A CN 115176209 A CN115176209 A CN 115176209A
Authority
CN
China
Prior art keywords
robot
communication
control device
control
control system
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.)
Pending
Application number
CN202080097507.7A
Other languages
English (en)
Inventor
D·埃斯库德罗
F·卡拉斯
R·维托
田村嘉英
大谷拓
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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Publication of CN115176209A publication Critical patent/CN115176209A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31076Controller for cell, for robot motion, for supervision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31094Data exchange between modules, cells, devices, processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

机器人控制系统包含:第1控制装置,其具有第1通信部;以及与第1控制装置进行了网络连接的1个或多个第2控制装置。第2控制装置分别包含:第2通信部,其使用分配给各自的网络的通信资源,与第1控制装置的第1通信部之间交换数据;以及指令值生成部,其按照来自第1控制装置的命令,依次生成用于驱动机器人的指令值。机器人控制系统包含对各个第2控制装置分配通信资源的通信资源设定部。

Description

机器人控制系统以及控制方法
技术领域
本技术涉及机器人控制系统以及控制方法。
背景技术
以往,在FA(Factory Automation:工厂自动化)领域中,机器人被用于各种应用。这样的机器人通过机器人控制器执行规定的程序,依次生成控制所需的指令等。
例如,日本特开2018-196908号公报(专利文献1)公开了不学习机器人语言而以低成本构建使用了机器人的自动化设备的结构。
现有技术文献
专利文献
专利文献1:日本特开2018-196908号公报
发明内容
发明所要解决的课题
在实际的生产设备中,配置多个机器人的情况也较多。上述的现有技术文献所示的结构对于配置多个机器人的情况没有任何设想。
本技术的目的在于提供一种适合于包含1个或多个机器人的生产设备的机器人控制系统。
用于解决课题的手段
本技术的某个实施方式的机器人控制系统包含:第1控制装置,其具有第1通信部;以及与第1控制装置进行了网络连接的1个或多个第2控制装置。第2控制装置分别包含:第2通信部,其使用分配给各自的网络的通信资源,与第1控制装置的第1通信部之间交换数据;以及指令值生成部,其按照来自第1控制装置的命令,依次生成用于驱动机器人的指令值。机器人控制系统包含对各个第2控制装置分配通信资源的通信资源设定部。
根据该结构,通过由通信资源设定部对各个第2控制装置适当地分配通信资源,即使在网络连接有多个第2控制装置的情况下,也能够维持控制性能。
通信资源设定部也可以按照预先确定的分配设定,决定分配给各个第2控制装置的通信资源。根据该结构,通过使用根据所连接的第2控制装置而预先确定的分配设定,能够可靠地进行适当的通信资源的设定。
通信资源设定部也可以根据与第1控制装置进行了网络连接的第2控制装置的数量,决定分配给各个第2控制装置的通信资源。根据该结构,能够考虑网络的传输容量的限制,对各个第2控制装置适当地分配通信资源。
通信资源设定部也可以根据1个或多个第2控制装置中的至少1个的工作状态,决定分配给各个第2控制装置的通信资源。根据该结构,能够对第2控制装置中需要更多的通信资源的第2控制装置动态地分配通信资源。
通信资源设定部也可以安装于第1控制装置的第1通信部。根据该结构,能够通过第1控制装置的第1通信部统一分配通信资源。
第2控制装置的第2通信部也可以将与机器人的驱动相关的状态值发送到第1控制装置。根据该结构,控制装置能够从各个第2控制装置收集与机器人的驱动相关的状态值。
机器人控制系统也可以还包含外部装置,所述外部装置用于根据用户操作来决定与由通信资源设定部进行的通信资源的分配相关的设定。根据该结构,能够对用户辅助通信资源的分配等。
通信资源设定部也可以通过使网络上传输的通信帧的长度不同,来调整通信资源的大小。此外,通信资源设定部也可以通过使网络上传输的通信帧的通信周期不同,来调整通信资源的大小。
根据这些结构,能够考虑网络的传输容量的限制,对各个第2控制装置适当地分配通信资源。
本技术的另一实施方式的控制方法面向机器人控制系统,所述机器人控制系统具有:第1控制装置,其具有第1通信部;以及与第1控制装置进行了网络连接的1个或多个第2控制装置。控制方法包含以下步骤:向各个第2控制装置分配网络的通信资源;第2控制装置分别使用分配给各自的通信资源,与第1控制装置之间交换数据;以及第2控制装置分别按照来自第1控制装置的命令,依次生成用于驱动机器人的指令值。
发明的效果
根据本技术,能够实现适合于包含1个或多个机器人的生产设备的机器人控制系统。
附图说明
图1是表示本实施方式的机器人控制系统的概略的示意图。
图2是表示本实施方式的机器人控制系统的结构例的示意图。
图3是表示构成本实施方式的机器人控制系统的控制装置的硬件结构例的示意图。
图4是表示构成本实施方式的机器人控制系统的机器人的硬件结构例的示意图。
图5是表示构成本实施方式的机器人控制系统的机器人的另一硬件结构例的示意图。
图6是表示构成本实施方式的机器人控制系统的操作示教器的硬件结构例的示意图。
图7是表示构成本实施方式的机器人控制系统的支持装置的硬件结构例的示意图。
图8是表示本实施方式的机器人控制系统中的用于控制机器人的行为的功能结构的一例的示意图。
图9是概略地表示本实施方式的机器人控制系统中的用于控制机器人的行为的数据处理的示意图。
图10是表示由构成本实施方式的机器人控制系统的控制装置执行的IEC程序及机器人程序的一例的图。
图11是表示构成本实施方式的机器人控制系统的控制装置中的程序的执行例的时序图。
图12是用于说明本实施方式的机器人控制系统中的数据交换的图。
图13是表示在本实施方式的机器人控制系统中利用的通信帧的一例的示意图。
图14是表示在本实施方式的机器人控制系统中使用的设定信息所包含的分配设定的一例的图。
图15是用于说明利用了在本实施方式的机器人控制系统中使用的分配模式的通信资源的设定的图。
图16是用于说明在本实施方式的机器人控制系统中使用了支持装置的通信资源的设定的图。
图17是用于说明在本实施方式的机器人控制系统中无法适当地设定通信资源的情况下的步骤的图。
图18是用于说明在本实施方式的机器人控制系统中将命令分割为多个通信帧40并发送的处理例的图。
图19是用于说明本实施方式的机器人控制系统中的通信资源的动态设定的一例的图。
图20是用于说明本实施方式的机器人控制系统中的通信资源的动态设定的另一例的图。
具体实施方式
参照附图对本技术的实施方式进行详细说明。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
<A.应用例>
首先,对应用本技术的场景的一例进行说明。图1是表示本实施方式的机器人控制系统1的概略的示意图。
参照图1,机器人控制系统1包含控制装置100(第1控制装置)和经由现场网络20与控制装置100进行了网络连接的1个或多个机器人控制器250(第2控制装置)。机器人控制器250分别输出用于控制机器人的指令值。
在以下的说明中,主要示出控制机器人的机器人控制系统1的结构例,但机器人控制系统1的控制对象不限于机器人。例如,控制装置100除了控制机器人以外,还能够控制构成包含机器人的生产设备的各种装置、机械。进而,控制装置100也可与监视机器人的动作的安全控制器协作。即,在本说明书中,“机器人控制系统”这一用语以具有控制机器人的功能的系统这一意思来使用,并不排除控制机器人以外的设备的情况。
控制装置100通过执行后述的机器人程序,按每个机器人控制器250分别生成指示机器人的行为的命令146。
作为用于交换数据的结构,控制装置100具有通信部101(由后述的现场网络控制器108、通信控制模块160、通信驱动器162等构成),各机器人控制器250具有通信部251(由后述的现场网络控制器252、通信控制模块280、通信驱动器282等构成)。
控制装置100典型地经由通信帧40与1个或多个机器人控制器250之间交换数据。在通信帧40中,对每个机器人控制器250分配有通信资源42。机器人控制器250的通信部251使用分配给各自的通信资源42,与控制装置100的通信部101之间交换数据。
在本说明书中,“通信资源”是指能够通过网络(传输路径)收发数据的容量。“通信资源”由存在于网络上的载波的频率、网络上传输的通信帧的长度和周期、以及时分的时间宽度等决定。在以下的说明中,作为典型例,以具有规定的数据大小的通信帧40在现场网络20中循环的结构为前提,对通信帧40所具有的数据大小进行分割并与各个分配目的地建立对应,由此实现通信资源的分配。但是,不仅是这样的分割通信帧40的数据大小的方法,也可以通过控制对各分配目的地设定的通信时间或通信频度、或者分配给各分配目的地的频率宽度等来分配通信资源。进而,也可以使用公知的任意方法来实现通信资源的分配。
典型地,各个机器人控制器250通过参照通信帧40所包含的分配给自身的通信资源42中保存的命令146等信息,来执行各种处理。由机器人控制器250执行的处理包含按照来自控制装置100的命令146依次生成用于驱动机器人的指令值的处理。更具体而言,机器人控制器250的指令值生成模块290依次生成指令值。指令值是用于驱动机器人的各轴的控制信息。
此外,机器人的轴有时也构成关节(joint),因此在以下的说明中,也称为机器人的“轴或关节”。即,在本说明书中,机器人的“轴”这一用语以包含轴以及关节的意思来使用。
如图1所示,机器人控制系统1具有通信资源设定功能30,通信资源设定功能30对为了在控制装置100与1个或多个机器人控制器250之间交换数据而使用的现场网络20的通信资源42进行设定。典型地,通信资源设定功能30对各个机器人控制器250分配通信资源42。
通过通信资源设定功能30使通信资源42的分配优化,由此即使在现场网络20连接有多个机器人控制器250的情况下,也能够维持经由现场网络20的数据通信。
由此,1个控制装置100也能够控制多个机器人控制器250,能够降低机器人控制系统1整体的成本。
另外,控制装置100只要生成命令146即可,各机器人控制器250运算对机器人输出的指令值,因此即使机器人的台数增加,也能够抑制控制装置100的处理负荷的增大。
<B.系统结构例>
接着,对本实施方式的机器人控制系统1的结构例进行说明。
图2是表示本实施方式的机器人控制系统1的结构例的示意图。参照图2,本实施方式的机器人控制系统1包含控制装置100和经由现场网络20与控制装置100连接的1个或多个机器人200。
各个机器人200的行为由机器人控制器250控制。机器人控制器250与控制装置100进行了网络连接,对机器人200进行控制。更具体而言,机器人控制器250按照来自控制装置100的指令(后述的命令146),输出用于控制机器人200的指令值。作为机器人200,也可以使用具有根据应用而任意创建的1个或多个轴或关节的定制机器人200A。进而,作为机器人200,也可以使用水平多关节(SCARA)机器人、垂直多关节机器人、并联机器人、正交机器人等任意的通用机器人200B。
现场网络20也可连接I/O单元、安全I/O单元、安全控制器等任意设备。在图2所示的结构例中,在现场网络20上连接有用于操作机器人200的操作示教器300。
现场网络20可使用作为工业用网络用的协议的EtherCAT(注册商标)或EtherNet/IP等。与现场网络20连接的设备(控制装置100、机器人控制器250、操作示教器300等)具有用于实现同步的数据通信的计数器109、253、353。关于计数器109、253、353的详细情况,将在后面叙述。
控制装置100也可经由上位网络12而连接于支持装置400、显示装置500以及服务器装置600。上位网络12可使用工业用网络用的协议或EtherNet/IP等。
<C.硬件结构例>
接着,对构成图2所示的机器人控制系统1的主要装置的硬件结构例进行说明。
(c1:控制装置100)
图3是表示构成本实施方式的机器人控制系统1的控制装置100的硬件结构例的示意图。参照图3,控制装置100包含处理器102、主存储器104、储存器110、存储卡接口112、上位网络控制器106、现场网络控制器108、本地总线控制器116以及提供USB(UniversalSerial Bus:通用串行总线)接口的USB控制器120。这些组件经由处理器总线118连接。
处理器102相当于执行控制运算的运算处理部,由CPU(Central ProcessingUnit:中央处理单元)、GPU(Graphics Processing Unit:图形处理单元)等构成。具体而言,处理器102读出储存器110中保存的程序,在主存储器104中展开并执行,由此实现对控制对象的控制运算。
主存储器104由DRAM(Dynamic Random Access Memory:动态随机存取存储器)或SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。储存器110例如由SSD(Solid State Drive:固态驱动器)或HDD(Hard Disk Drive:硬盘驱动器)等非易失性存储装置等构成。
在储存器110中,保存有用于实现基本功能的系统程序1102、以及根据控制对象而创建的IEC程序1104等。IEC程序1104中可包含序列命令和/或运动命令。
在本说明书中,“IEC程序”是以规定由通常的PLC(可编程逻辑控制器)执行的处理的程序的意思来使用。典型地,IEC程序是指以国际电气标准会议(IEC:InternationalElectrotechnical Commission)确定的IEC61131-3所规定的任意语言描述的程序。但是,IEC程序可包含以IEC61131-3所规定的语言以外的制造商独特语言描述的程序。
储存器110还可以保存用于控制机器人200的行为的机器人程序1108和设定信息1106。如后所述,机器人程序1108也可以通过规定的编程语言(例如,V+语言等机器人控制用编程语言、G代码等NC控制所涉及的编程语言)来描述。
设定信息1106包含与现场网络20相关的各种设定、以及针对机器人200的各种设定值(例如速度限制值、加速度限制值、加加速度限制值等)。
存储卡接口112接受作为可装卸的存储介质的一例的存储卡114。存储卡接口112能够对存储卡114读写任意的数据。
上位网络控制器106经由上位网络与任意的信息处理装置(图2所示的支持装置400、显示装置500、服务器装置600等)之间交换数据。
现场网络控制器108经由现场网络20与机器人200等任意设备之间交换数据。在图2所示的系统结构例中,现场网络控制器108也可以作为现场网络20的通信主设备发挥功能。现场网络控制器108具有与连接于现场网络20的设备间维持同步状态的计数器109。现场网络控制器108基于计数器109来管理后述的通信帧40的送出定时等。
本地总线控制器116经由本地总线122与构成控制装置100的任意功能单元130之间交换数据。功能单元130例如由负责模拟信号的输入和/或输出的模拟I/O单元、负责数字信号的输入和/或输出的数字I/O单元、受理来自编码器等的脉冲的计数器单元等构成。
USB控制器120经由USB连接与任意的信息处理装置之间交换数据。
关于控制装置100所提供的与机器人200的控制相关的功能,将在后面叙述。
(c2:机器人200和机器人控制器250)
图4是表示构成本实施方式的机器人控制系统1的机器人200的硬件结构例的示意图。在图4中,示出了采用定制机器人200A作为机器人200的情况下的结构例。
参照图4,定制机器人200A与机器人控制器250连接。此外,定制机器人200A和机器人控制器250既可以一体地构成,也可以分体地构成。
定制机器人200A包含与轴或关节的数量对应的驱动电路220、以及由驱动电路220驱动的电机230。各个驱动电路220包含转换器电路及逆变器电路等,生成根据来自机器人控制器250的指令值而指定的电压、电流、相位的电力,并供给至电机230。
各个电机230是如下致动器:与构成定制机器人200A的臂部210的任意的轴或关节机械地结合,通过电机230的旋转来驱动对应的轴或关节。
作为电机230,能够采用与要驱动的臂部210相应的特性的电机。例如,作为电机230,可以采用感应型电机、同步型电机、永磁型电机、磁阻电机中的任意电机,不仅可以采用旋转型,也可以采用线性电机。采用与驱动对象电机230对应的驱动电路220。
机器人控制器250包含现场网络控制器252和控制处理电路260。
现场网络控制器252使用分配给各自的现场网络20的通信资源,与控制装置100的现场网络控制器108等通信部之间交换数据。现场网络控制器252具有与连接于现场网络20的设备间维持同步状态的计数器253。现场网络控制器252也可以作为按照作为通信主设备发挥功能的控制装置100进行动作的、现场网络20的通信从设备发挥功能。
控制处理电路260执行为了驱动定制机器人200A所需的运算处理。作为一例,控制处理电路260包含处理器262、主存储器266、储存器270及接口电路268。
处理器262执行用于驱动定制机器人200A的控制运算。主存储器266例如由DRAM或SRAM等易失性存储装置等构成。储存器270例如由SSD或HDD等非易失性存储装置等构成。
在储存器270中保存有用于实现机器人200的驱动用的控制的机器人系统程序2702、以及包含机器人控制器250中的处理所需的设定参数组的设定信息2704。
接口电路268对各个驱动电路220分别提供指令值。接口电路268与驱动电路220之间可以通过硬连线电连接,也可以通过数据链路连接。
图5是表示构成本实施方式的机器人控制系统1的机器人200的另一硬件结构例的示意图。在图5中,示出了采用通用机器人200B作为机器人200的情况下的结构例。
参照图5,通用机器人200B组装有1个或多个电机及驱动电路(未图示),当指示通用机器人200B的目标轨道时,根据所指示的目标轨道来驱动1个或多个电机。
在驱动图4所示的定制机器人200A的情况下,需要对与轴或关节对应的驱动电路220分别提供指令值,与此相对,在驱动图5所示的通用机器人200B的情况下,只要指示通用机器人200B的目标轨道即可。
关于机器人控制器250所提供的与机器人200的控制相关的功能,将在后面叙述。
(c3:操作示教器300)
图6是表示构成本实施方式的机器人控制系统1的操作示教器300的硬件结构例的示意图。参照图6,操作示教器300包含现场网络控制器352、控制处理电路360及操作键组380。
现场网络控制器352经由现场网络20,主要与控制装置100之间交换数据。现场网络控制器352具有与连接于现场网络20的设备间维持同步状态的计数器353。现场网络控制器352也可以作为按照作为通信主设备发挥功能的控制装置100进行动作的、现场网络20的通信从设备发挥功能。
控制处理电路360包含处理器362、主存储器366、固件370和接口电路368。
处理器362通过执行固件370来实现操作操作示教器300所需的处理。主存储器366例如由DRAM或SRAM等易失性存储装置等构成。
接口电路368与操作键组380之间交换信号。
操作键组380是受理用户操作的输入装置。操作键组380也可以包含表示输入状态的指示器等。
(c4:支持装置400)
图7是表示构成本实施方式的机器人控制系统1的支持装置400的硬件结构例的示意图。作为一例,支持装置400也可使用通用个人计算机来实现。
参照图7,支持装置400包含处理器402、主存储器404、输入部406、显示部408、储存器410、光学驱动器412、USB控制器420以及通信控制器422。这些组件经由处理器总线418连接。
处理器402由CPU或GPU等构成,通过读出储存器410中保存的程序(作为一例,OS4102及开发程序4104),在主存储器404中展开并执行,由此实现支持装置400所需的各种功能。
主存储器404例如由DRAM或SRAM等易失性存储装置等构成。储存器410例如由HDD或SSD等非易失性存储装置等构成。
在储存器410中保存有用于实现基本功能的OS 4102、以及用于实现开发环境的开发程序4104等。在开发环境中,能够进行由控制装置100执行的程序的创建、程序的调试、与控制装置100的动作相关的设定、针对与控制装置100连接的设备的动作的设定、与现场网络20相关的设定等。
输入部406由键盘、鼠标等构成,受理用户操作。显示部408由显示器、各种指示器等构成,显示处理器402的处理结果等。
USB控制器420经由USB连接与控制装置100等之间交换数据。通信控制器422经由上位网络与任意的信息处理装置之间交换数据。
支持装置400具有光学驱动器412,从非易失性地保存计算机可读取的程序的存储介质414(例如DVD(Digital Versatile Disc:数字多功能盘)等光学存储介质)中读取保存于其中的程序,并安装于储存器410等。
由支持装置400执行的开发程序4104等可以经由计算机可读取的存储介质414进行安装,也可以以从网络上的服务器装置等下载的形式进行安装。另外,本实施方式的支持装置400提供的功能有时也以利用OS 4102提供的模块的一部分的形式实现。
此外,在机器人控制系统1的运转中,支持装置400也可以从控制装置100卸下。
(c5:显示装置500)
作为一例,构成本实施方式的机器人控制系统1的显示装置500也可以使用通用个人计算机来实现。显示装置500的基本的硬件结构例与图7所示的支持装置400的硬件结构例相同,因此在此不进行详细的说明。
(c6:服务器装置600)
作为一例,构成本实施方式的机器人控制系统1的服务器装置600也可以使用通用个人计算机来实现。服务器装置600的基本的硬件结构例与图7所示的支持装置400的硬件结构例相同,因此在此不进行详细的说明。
(c7:其他方式)
在图3~图7中,示出了通过1个或多个处理器执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如,ASIC(Application Specific IntegratedCircuit:专用集成电路)或者FPGA(Field-Programmable Gate Array:现场可编程门阵列)等)来安装这些所提供的功能的一部分或者全部。
也可以使用遵循通用架构的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现控制装置100的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS,并且在各OS上执行所需的应用。并且,也可以采用在控制装置100中集成有支持装置400、显示装置500等的功能的结构。
<D.功能结构例>
对用于控制机器人200的功能结构的一例进行说明。
图8是表示本实施方式的机器人控制系统1中的用于控制机器人200的行为的功能结构的一例的示意图。参照图8,在控制装置100与1个或多个机器人控制器250之间交换用于控制机器人200的命令146等。
控制装置100包含IEC程序执行引擎150、机器人程序执行引擎152、通信控制模块160、通信驱动器162及外部通信接口164。这些元件典型的是也可通过控制装置100的处理器102执行系统程序1102来实现。
IEC程序执行引擎150(第2程序执行部)通过执行IEC程序1104,周期性地生成提供给机器人控制器250的输出值142。更具体而言,IEC程序执行引擎150每隔规定的控制周期循环执行IEC程序1104。作为控制装置100的控制周期,典型地设想几百μsec~几百msec左右。IEC程序执行引擎150根据IEC程序1104的执行,将内部命令(例如命令146的发送开始及发送停止等)输出至机器人程序执行引擎152,和/或从机器人程序执行引擎152取得状态值(例如机器人程序执行引擎152所执行的机器人程序1108的状态等)。
机器人程序执行引擎152(第1程序执行部)通过执行机器人程序1108,生成指示机器人200的行为的命令146。即,机器人程序执行引擎152逐次执行机器人程序1108,对1个或多个机器人控制器250发送用于控制机器人200的命令146等。更具体而言,机器人程序执行引擎152包含机器人程序解释模块154和命令生成模块156。
机器人程序解释模块154依次读入机器人程序1108并进行解析,将通过解析得到的内部命令输出到命令生成模块156。机器人程序解释模块154除了能够解释由机器人程序1108所包含的编程语言描述的与机器人200的行为相关的命令以外,还能够解释与信号的输入输出、文件访问以及通信相关的命令。
由机器人程序解释模块154进行的机器人程序1108的读入开始、停止等也可以由命令生成模块156控制。
命令生成模块156按照来自机器人程序解释模块154的内部命令,生成针对各个机器人控制器250的命令146。
命令生成模块156作为所连接的1个或多个机器人控制器250的主机发挥功能。更具体而言,命令生成模块156根据与IEC程序执行引擎150之间交换的内部命令、和/或经由外部通信接口164与支持装置400之间交换的内部命令,控制机器人程序解释模块154中的机器人程序1108的执行的开始和停止,并且控制针对机器人控制器250的命令146的生成的开始和停止。
命令生成模块156可以从机器人控制器250收集状态值和错误等信息。
为了便于说明,示出了将机器人程序解释模块154和命令生成模块156分离的结构例,但也可以不将这些模块分离而一体地安装。
通信控制模块160和通信驱动器162相当于将命令146发送至机器人控制器250的通信部。通信控制模块160和通信驱动器162将来自IEC程序执行引擎150的输出值142及来自机器人程序执行引擎152的命令146发送至机器人控制器250。
通信控制模块160管理与所连接的1个或多个机器人控制器250之间的数据交换。通信控制模块160也可以针对所连接的每个机器人控制器250,生成管理数据通信的通信实例,并使用所生成的通信实例来管理数据通信。
通信驱动器162是利用现场网络控制器108(参照图3),与所连接的1个或多个机器人控制器250之间进行数据通信的内部接口。
各个机器人控制器250包含通信控制模块280、通信驱动器282、机器人驱动引擎284以及信号输出驱动器292。这些元件典型地也可以通过机器人控制器250的处理器262(控制处理电路260)执行机器人系统程序2702来实现。
通信控制模块280对与所连接的控制装置100之间的数据交换进行管理。通信控制模块280也可以生成与所连接的控制装置100之间管理数据通信的通信实例,并使用所生成的通信实例来管理数据通信。
通信驱动器282是利用现场网络控制器252(参照图4),与所连接的控制装置100之间进行数据通信的内部接口。
机器人驱动引擎284按照来自控制装置100的命令146,执行用于驱动控制对象机器人200(包含:定制机器人200A和/或通用机器人200B)的处理。更具体而言,机器人驱动引擎284包含管理模块286、目标轨道生成模块288及指令值生成模块290。
管理模块286相当于根据来自控制装置100的输出值142来执行处理的处理执行部。更具体而言,管理模块286按照来自控制装置100的输出值142,对控制模式、根据命令146生成目标轨道的开始/结束等进行管理。
目标轨道生成模块288(目标轨道生成部)按照来自控制装置100的命令146,生成控制对象机器人200(包含:定制机器人200A和/或通用机器人200B)的目标轨道。典型地,所生成的目标轨道包含机器人200的末端部的每个时间的位置(相对于时间的位置变化)和/或机器人200的末端部的每个时间的速度(相对于时间的速度变化)等。
目标轨道生成模块288可以将生成的目标轨道向指令值生成模块290输出(典型地,在驱动图4所示的定制机器人200A的情况下),也可以经由信号输出驱动器292向机器人200直接输出(典型地,在驱动图5所示的通用机器人200B的情况下)。
指令值生成模块290按照来自控制装置100的命令146,依次生成用于驱动机器人200的指令值。更具体而言,指令值生成模块290按照由目标轨道生成模块288生成的目标轨道,依次生成针对构成控制对象机器人200的各个电机230的指令值。指令值生成模块290也可以每隔规定的控制周期或每隔规定的事件更新指令值。
作为机器人控制器250的目标轨道生成模块288的控制周期,典型地设想为与控制装置100的控制周期相同程度的几百μsec~几百msec左右。另一方面,设想机器人控制器250的指令值生成模块290的控制周期比目标轨道生成模块288的控制周期高速(例如,几~十几倍左右)。
更具体而言,指令值生成模块290基于控制对象机器人200的运动学,计算提供给用于沿着目标轨道驱动机器人200的电机230的各个指令值。指令值生成模块290计算目标位置(相对于时间的位置/角度的变化)、目标速度(相对于时间的速度/角速度的变化)、目标加速度(相对于时间的加速度/角加速度的变化)和/或目标加速度(相对于时间的加加速度/角加加速度的变化)等,作为提供给电机230的指令值。
机器人驱动引擎284也可以参照设定信息2704(参照图4),取得计算目标轨道和/或指令值所需的参数。
为了便于说明,示出了将目标轨道生成模块288和指令值生成模块290分离的结构例,但也可以不将这些模块分离而一体地安装。
信号输出驱动器292是用于利用接口电路268(参照图4)将指令值和/或目标轨道向所连接的1个或多个驱动电路220和/或机器人200输出的内部接口。
图9是概略地表示本实施方式的机器人控制系统1中的用于控制机器人200的行为的数据处理的示意图。参照图9,向控制装置100的机器人程序执行引擎152输入以规定的编程语言描述的机器人程序1108。
例如,在同一生产线上配置有多个机器人200,在各个机器人200进行不同的作业的生产设备中,在机器人程序执行引擎152中输入针对每个机器人200而不同的机器人程序1108。另外,在多个相同的生产线并列配置,并且在各个生产线上配置有进行相同作业的机器人200那样的生产设备中,也可以向机器人程序执行引擎152输入公共的机器人程序1108。但是,生成的命令146也可以分别独立地向机器人控制器250发送。
另外,也可以向机器人程序执行引擎152输入以不同的编程语言(例如,V+语言以及G代码)描述的多个机器人程序1108。机器人程序执行引擎152即使在输入了以不同的编程语言描述的机器人程序1108的情况下,也能够生成按照公共的命令体系描述的命令146。
这样,机器人程序执行引擎152也可以构成为能够解释多个编程语言。在该情况下,机器人程序执行引擎152也可以不依赖于编程语言,而生成按照预先确定的命令体系的命令146。
机器人程序执行引擎152(机器人程序解释模块154)解释所输入的机器人程序1108而生成内部命令。此外,机器人程序执行引擎152(命令生成模块156)根据所生成的内部命令,生成用于控制机器人200的行为的命令146。
此外,命令146也可以相对于所连接的1个或多个机器人控制器250分别生成。所生成的命令146经由现场网络20(参照图2)而发送至对应的机器人控制器250。
机器人控制器250的目标轨道生成模块288按照来自控制装置100的命令146,生成目标轨道。所生成的目标轨道也可以直接向通用机器人200B输出。即,机器人控制器250也可以将目标轨道向外部输出。
另一方面,机器人控制器250的指令值生成模块290根据所生成的目标轨道,生成针对构成控制对象机器人200的各个电机230的指令值。
另外,作为规定命令146的命令体系,可以采用任意的体系。从减少与命令146的生成相关的处理的观点出发,优选采用能够根据在机器人程序1108中描述的命令容易地生成的命令组。
如图9所示,在本实施方式的机器人控制系统1中,控制装置100根据1个或多个机器人程序1108生成命令146。机器人控制器250按照所生成的命令146来驱动控制对象机器人200。
<E.由控制装置100执行的处理>
如上所述,机器人程序1108是用于控制机器人200的行为的程序。但是,为了控制机器人200的行为,例如还需要控制开始/停止机器人200的动作的定时、用于使机器人200动作的条件(例如,与处于前工序或者后工序的设备的协作)、机器人200的安全条件等。
因此,在控制装置100中,不仅能够执行机器人程序1108,还可以并行执行IEC程序1104。IEC程序1104也可包含收集与机器人200的动作相关的状态值,并决定开始/停止机器人200的动作的定时的逻辑等。
图10是表示由构成本实施方式的机器人控制系统1的控制装置100执行的IEC程序1104及机器人程序1108的一例的图。
图10的(A)中示出以梯形图(LD语言)描述的IEC程序1104的例子。图10的(A)所示的IEC程序1104的例子包含与接通控制对象机器人200的电源的处理、及执行控制对象机器人200的校准的处理相关的命令。
另外,如图10的(A)所示,IEC程序1104也可包含功能块作为要素。而且,IEC程序1104也可包含以结构化文本(ST语言)描述的代码。
图10的(B)示出了以V+语言描述的机器人程序1108的例子。如图10的(B)所示,V+语言是用于控制机器人200的行为的一种高级语言。
接着,对控制装置100中的IEC程序1104及机器人程序1108的并行执行进行说明。
图11是表示构成本实施方式的机器人控制系统1的控制装置100中的程序的执行例的时序图。如图11所示,在控制装置100中,IEC程序执行引擎150及机器人程序执行引擎152(机器人程序解释模块154及命令生成模块156)分别独立地执行处理。
IEC程序执行引擎150每隔预先确定的控制周期T1循环执行(反复执行)IEC程序1104。IEC程序1104的循环执行包含输出更新处理1502及输入更新处理1504。
输出更新处理1502包含将通过IEC程序1104的执行而决定的输出值142反映至内部变量和/或对象设备的处理。特别是,针对经由现场网络20连接的设备的输出值142保存在通信帧中而被送出到现场网络20上。
输入更新处理1504包含从内部变量和/或对象设备取得IEC程序1104的执行所需的输入值144(状态值)的处理。特别是,来自经由现场网络20而连接的设备的输入值144从在现场网络20上传播的通信帧中取得。
通信控制模块160与控制周期T1同步地在现场网络20上送出通信帧,并且接收在现场网络20上循环而返回的通信帧。通信控制模块160将IEC程序执行引擎150所生成的输出值142和/或命令生成模块156所生成的命令146保存在通信帧中,并且以IEC程序执行引擎150及命令生成模块156可参照的方式保持返回的通信帧中所包含的输入值144(状态值)。
命令生成模块156按照来自机器人程序解释模块154的内部命令,生成命令146。典型地,命令生成模块156生成命令146的定时由来自IEC程序执行引擎150的输出值142决定。在图11所示的例子中,示出IEC程序执行引擎150响应于来自IEC程序执行引擎150的输出值142而生成命令146的例子。IEC程序执行引擎150对命令146的生成也可与IEC程序执行引擎150的输出更新处理1502的定时同步。
机器人程序解释模块154典型地与控制周期T1独立地执行机器人程序1108。由机器人程序解释模块154进行的机器人程序1108的执行的开始/停止也可以由命令生成模块156控制。
如图11所示,机器人程序执行引擎152依次执行机器人程序1108。与机器人程序执行引擎152对机器人程序1108的执行独立地,IEC程序执行引擎150循环执行IEC程序1104。
<F.数据交换>
接着,对在控制装置100与1个或多个机器人控制器250之间交换的数据进行说明。
图12是用于说明本实施方式的机器人控制系统1中的数据交换的图。参照图12,在控制装置100与各机器人控制器250之间,经由现场网络20来交换输出值142、输入值144及命令146。输出值142及命令146从控制装置100发送至机器人控制器250,输入值144从机器人控制器250发送至控制装置100。
基本上,输出值142、输入值144及命令146是针对每个机器人控制器250而相互独立的数据。因此,与控制装置100连接的机器人200(机器人控制器250)越多,就需要越多的通信资源。
另一方面,现场网络20的传输容量存在限制。因此,与控制装置100连接的机器人200的台数变多,若达到允许的传输容量,则无法连接更多的机器人200。
这样,能够与控制装置100连接的机器人200(机器人控制器250)的数量被现场网络20的传输容量限制,因此优选使分配给各机器人控制器250的通信资源优化。
接着,对经由现场网络20的数据传输方法的一例进行说明。在采用EtherCAT作为现场网络20的情况下,保存有各种信息的通信帧在设备间周期性地循环。通过采用此种通信帧,可在连接于现场网络20的设备间进行同步的数据交换。
图13是表示在本实施方式的机器人控制系统1中利用的通信帧40的一例的示意图。参照图13,作为一例,通信帧40对连接于现场网络20的每个设备(在图2所示的结构例中,为每个机器人控制器250)分配了通信资源42。每个通信资源42包含输出值区域44和输入值区域46。
在输出值区域44中,通过控制装置100写入数据,通过对应的设备读入数据。更具体而言,输出值区域44中保存有由控制装置100(IEC程序执行引擎150)生成的输出值142、和/或由控制装置100(机器人程序执行引擎152)生成的命令146。
在输入值区域46中,通过对应的设备写入数据,通过控制装置100读入数据。更具体而言,在输入值区域46中写入各机器人控制器250所具有的信息(例如,与机器人200的驱动相关的状态值)。作为与机器人200的驱动相关的状态值的一例,包含对象机器人200的末端部以及各轴的当前位置、速度实绩、加速度实绩、转矩实绩等。这样,机器人控制器250的通信部使用输入值区域46,将与机器人200的驱动相关的状态值发送到控制装置100。
经由图13所示的通信帧40,在控制装置100与1个或多个机器人控制器250之间交换数据。
<G.通信资源设定功能>
接下来,对与用于在控制装置100与1个或多个机器人控制器250之间交换数据的通信资源的设定及管理相关的若干方法进行说明。即,对向各个机器人控制器250分配通信资源的处理(相当于图1所示的通信资源设定功能30)的几个具体例进行说明。
(g1:对通信主设备的事先设定)
在图2所示的结构例中,设想控制装置100的现场网络控制器108作为现场网络20的通信主设备发挥功能的情况。在这样的结构中,向连接于现场网络20的各设备的通信资源的分配例如也可以由控制装置100的现场网络控制器108按照设定信息1106(参照图3)中包含的分配设定来进行。即,控制装置100的现场网络控制器108也可实现通信资源设定功能30。
图14是表示在本实施方式的机器人控制系统1中使用的设定信息1106所包含的分配设定60的一例的图。参照图14,设定信息1106具有与所分配的各通信资源对应的条目。各条目包含被分配的通信资源的起始地址61、最终地址62、分配目的地设备的识别信息63、以及利用类别64。
起始地址61以及最终地址62使用分配给能够保存于1个通信帧40的数据大小的地址来规定。从各条目的起始地址61到最终地址62的区域被分配为1个独立的通信资源。各通信资源被分配给由识别信息63确定的设备,并且根据对应的利用类别64,决定是保存输出值142(或者命令146)的区域以及保存输入值144的区域中的哪一个。
这样,现场网络20的通信主设备(控制装置100)也可使用预先确定的分配设定60来决定对各设备的通信资源的分配。即,通信资源设定功能30也可安装于作为通信主设备的、控制装置100的现场网络控制器108。通信资源设定功能30按照预先确定的分配设定60,决定分配给各个机器人控制器250的通信资源。
(g2:利用分配模式的通信资源的设定)
也可以代替上述的图14所示那样的明示的分配设定,而利用分配模式来设定通信资源。
图15是用于说明利用了在本实施方式的机器人控制系统1中使用的分配模式的通信资源的设定的图。参照图15,设定信息1106包含表示按每个地址连接的设备类别的连接信息70和表示按每个设备分配的通信资源的分配模式75。
连接信息70包含表示与连接于现场网络20的每个设备连接的设备的信息。更具体而言,连接信息70具有与地址对应的条目。各条目包含地址71和设备类别72。地址71是在现场网络20上唯一地规定的识别信息。设备类别72表示所连接的设备的类别。
分配模式75包含分配给每个设备的通信资源的信息。更具体而言,分配模式75具有表示与各设备对应的通信资源的条目。每个条目包含设备类别76、用于保存输出值或命令的输出值区域的数据大小77、以及用于保存输入值的输入值区域的数据大小78。
现场网络20的通信主设备(图2所示的控制装置100的现场网络控制器108)基于连接信息70和分配模式75,决定通信资源的分配。更具体而言,在参照连接信息70来确定连接于现场网络20的设备的类别及数量的基础上,参照分配模式75,对每个设备依次分配对应的数据大小。通过以上那样的处理,能够决定通信帧40的数据结构、即通信资源。
这样,通信资源设定功能30也可安装于作为通信主设备的、控制装置100的现场网络控制器108。通信资源设定功能30基于连接信息70和分配模式75,决定分配给各个机器人控制器250的通信资源。此时,通信资源设定功能30也可根据连接信息70中所规定的、与控制装置100进行了网络连接的机器人控制器250的数量,来决定分配给各个机器人控制器250的通信资源。
(g3:支持装置400的事先设定)
也可以提供用户能够容易地设定针对各设备的通信资源的设定的结构。典型地,也可以提供用于与控制装置100连接的支持装置400进行通信资源的设定的用户界面画面。
图16是用于说明在本实施方式的机器人控制系统1中使用了支持装置400的通信资源的设定的图。参照图16,支持装置400提供设定画面450。图16所示的设定画面450典型地通过支持装置400的处理器402执行开发程序4104来提供。
用户通过在设定画面450上进行各种设定来生成设定信息1106。设定信息1106被传送至控制装置100。由此,决定通信帧40的数据结构、即通信资源。
更具体而言,设定画面450包含用于登记与现场网络20连接的机器人200(机器人控制器250)的设定字段452。用户对设定画面450的设定字段452输入用于确定机器人控制系统1所包含的机器人200(机器人控制器250)的信息。
支持装置400基于设定画面450中设定的信息,生成设定信息1106。设定信息1106也可以包含图14所示的分配设定60等。
现场网络20的通信主设备(图2所示的控制装置100的现场网络控制器108)参照由支持装置400生成的设定信息1106,来决定通信帧40的数据结构、即通信资源。
这样,也可以进一步准备作为用于根据用户操作、来决定与基于通信资源设定功能30的通信资源分配相关的设定的外部装置的一例的支持装置400。
如上所述,由于现场网络20的传输容量有限,因此若与现场网络20连接的机器人200(机器人控制器250)过多,则无法适当地设定通信资源。在该情况下,也可以提供用于使用户选择其他应对的用户界面画面。
图17是用于说明在本实施方式的机器人控制系统1中无法适当地设定通信资源的情况下的步骤的图。在对图16所示的设定画面450设定了超过限制的机器人200(机器人控制器250)的情况下,支持装置400提供如图17所示的设定画面460。
图17所示的设定画面460典型地通过支持装置400的处理器402执行开发程序4104来提供。
在设定画面460中,与通知所设定的机器人200(机器人控制器250)的数量超过限制的消息一起,作为选项,包含指示连接台数的变更操作的按钮462和指示机器人200的响应速度的变更操作的按钮464。
当用户选择按钮462时,支持装置400显示图16所示那样的设定画面450,用户将所连接的机器人200的台数变更为限制内。
另一方面,当用户选择按钮464时,也可以扩大在现场网络20中传播的通信帧40的数据大小。但是,在通信帧40的数据大小扩大的情况下,通信帧40在现场网络20中循环的周期变长。因此,在控制装置100与各设备之间更新数据的周期相对变长。
这样,通信资源设定功能30既可以通过使在现场网络20上传输的通信帧40的长度不同来调整通信资源的大小,也可以通过使在现场网络20上传输的通信帧40的通信周期不同来调整通信资源的大小。
或者,当用户选择按钮464时,维持通信帧40整体的数据大小不变。也可以缩小分配给各设备的数据大小。在该情况下,1个通信帧40能够传播的数据大小变小,因此例如在向特定的设备发送命令146时,也可以分割为多个通信帧40来发送。
例如,由于事先从控制装置100向机器人控制器250发送命令146,因此允许某种程度的命令146的发送延迟。因此,即使使用多个通信帧40发送1个命令146,控制机器人200方面的问题也少。
图18是用于说明在本实施方式的机器人控制系统1中将命令146分割为多个通信帧40并发送的处理例的图。参照图18,将命令146的数据列分割为收纳于输出值区域44的大小,并分别保存在时间上连续的多个通信帧40。
在图18所示的例子中,表示使用3个通信帧40发送命令146的例子。机器人控制器250通过从多个通信帧40分别取得分割后的数据并进行结合,来复原命令146。
这样,根据需要,采用使用多个通信帧40分割并发送命令146的功能,由此即使在1个通信帧40中分配给各设备的数据大小相对较小的情况下,也能够向对象机器人控制器250发送命令146。
(g4:动态设定)
在上述的说明中,说明了静态地设定通信资源的情况,但也可以动态地设定或变更通信资源。以下,说明通信资源的动态设定的一例。
例如,还设想对机器人控制系统1所包含的任意的机器人200进行调谐或初始化的局面、或者集中监视任意的机器人200的局面。在这样的方面中,优选在每个控制周期收集对象机器人200的末端部以及各轴的位置等,也可以暂时分配更多的通信资源。
图19是用于说明本实施方式的机器人控制系统1中的通信资源的动态设定的一例的图。参照图19,也可以在通信帧40中包含备用资源48,并且与现场网络20连接的任意的设备能够利用备用资源48。图19表示备用资源48的一部分作为输入值区域被分配给地址“001”的设备的例子。
图20是用于说明本实施方式的机器人控制系统1中的通信资源的动态设定的另一例的图。参照图20,也可以在通信帧40中包含备用资源48,并且将备用资源48作为缓冲器,动态地变更输出值区域44以及输入值区域46的数据大小。在图20中,表示将分配给地址“001”的设备的通信资源42中的输入值区域46的数据大小扩大的例子。输入值区域46能够扩大到备用资源48的数据大小。
如图19及图20所示,在需要从特定的设备临时收集状态值等输入值的情况下等,现场网络20的通信主设备(控制装置100)也可以变更通信资源的设定。
另外,在图19以及图20中示出变更针对特定设备的通信资源的例子,但也可以针对多个设备同时变更通信资源。另外,在图19以及图20中示出变更输入值区域46的数据大小的例子,但也可以变更输出值区域44的数据大小,还可以变更输出值区域44以及输入值区域46双方的数据大小。
进而,在图19以及图20中,示出了在通信帧40内设置了备用资源48的例子,但也可以不设置备用资源48,而根据状况动态地变更分配给各设备的通信等待。
为了实现上述的图19以及图20所示那样的通信资源的动态设定,通信资源设定功能30也可以安装于作为通信主设备的控制装置100的现场网络控制器108。而且,也可以基于任意的机器人控制器250所保持管理的变量(状态值)来适当切换通信资源。这样,通信资源设定功能30也可以根据1个或多个机器人控制器250中的至少1个机器人控制器的工作状态来决定分配给各个机器人控制器250的通信资源。
<H.附记>
如上所述的本实施方式包含以下这样的技术思想。
[结构1]
一种机器人控制系统(1),其中,该机器人控制系统(1)具有:
第1控制装置(100),其具有第1通信部(108、160、162);以及
与所述第1控制装置进行了网络连接的1个或多个第2控制装置(250),
所述第2控制装置分别具有:
第2通信部(252、280、282),其使用分配给各自的网络(20)的通信资源,与所述第1控制装置的所述第1通信部之间交换数据;以及
指令值生成部(290),其按照来自所述第1控制装置的命令(146),依次生成用于驱动机器人(200)的指令值,
所述机器人控制系统具有对各个所述第2控制装置分配所述通信资源的通信资源设定部(30)。
[结构2]
在结构1所记载的机器人控制系统中,
所述通信资源设定部按照预先确定的分配设定(60),决定分配给各个所述第2控制装置的通信资源。
[结构3]
在结构1或2所记载的机器人控制系统中,
所述通信资源设定部根据与所述第1控制装置进行了网络连接的所述第2控制装置的数量,决定分配给各个所述第2控制装置的通信资源。
[结构4]
在结构1~3中的任意一项所记载的机器人控制系统中,
所述通信资源设定部根据所述1个或多个第2控制装置中的至少1个的工作状态,决定分配给各个所述第2控制装置的通信资源。
[结构5]
在结构1~4中的任意一项所记载的机器人控制系统中,
所述通信资源设定部安装于所述第1控制装置的所述第1通信部。
[结构6]
在结构1~5中的任意一项所记载的机器人控制系统中,
所述第2控制装置的所述第2通信部将与机器人的驱动相关的状态值发送到所述第1控制装置。
[结构7]
在结构1~6中的任意一项所记载的机器人控制系统中,
该机器人控制系统还具有外部装置(400),所述外部装置(400)用于根据用户操作来决定与由所述通信资源设定部进行的通信资源的分配相关的设定。
[结构8]
在结构1~6中的任意一项所记载的机器人控制系统中,
所述通信资源设定部通过使网络上传输的通信帧的长度不同,来调整所述通信资源的大小。
[结构9]
在结构1~6中的任意一项所记载的机器人控制系统中,
所述通信资源设定部通过使网络上传输的通信帧的通信周期不同,来调整所述通信资源的大小。
[结构10]
一种控制方法,其是机器人控制系统(1)中的控制方法,所述机器人控制系统(1)具有:第1控制装置(100),其具有第1通信部(108、160、162);以及与所述第1控制装置进行了网络连接的1个或多个第2控制装置(250),其中,该控制方法具有以下步骤:
步骤(30),向各个所述第2控制装置分配网络(20)的通信资源;
所述第2控制装置分别使用分配给各自的通信资源来与所述第1控制装置之间交换数据的步骤;以及
步骤(290),所述第2控制装置分别按照来自所述第1控制装置的命令,依次生成用于驱动机器人的指令值。
<I.优点>
在本实施方式的机器人控制系统1中,能够对控制机器人200的各个机器人控制器250适当地分配通信资源。由此,即使在多个机器人控制器250与现场网络20连接的情况下,也能够维持控制性能。
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不由上述的说明来表示,意在包含与权利要求书等同的意思以及范围内的所有变更。
标号说明
1:机器人控制系统;12:上位网络;20:现场网络;30:通信资源设定功能;40:通信帧;42:通信资源;44:输出值区域;46:输入值区域;48:备用资源;60:分配设定;61:起始地址;62:最终地址;63:识别信息;64:利用类别;70:连接信息;71:地址;72、76:设备类别;75:分配模式;77、78:数据大小;100:控制装置;101、251:通信部;102、262、362、402:处理器;104、266、366、404:主存储器;106:上位网络控制器;108、252、352:现场网络控制器;109、253、353:计数器;110、270、410:储存器;112:存储卡接口;114:存储卡;116:本地总线控制器;118、418:处理器总线;120、420:USB控制器;122:本地总线;130:功能单元;142:输出值;144:输入值;146:命令;150:IEC程序执行引擎;152:机器人程序执行引擎;154:机器人程序解释模块;156:命令生成模块;160、280:通信控制模块;162、282:通信驱动器;164:外部通信接口;200:机器人;200A:定制机器人;200B:通用机器人;210:臂部;220:驱动电路;230:电机;250:机器人控制器;260、360:控制处理电路;268、368:接口电路;284:机器人驱动引擎;286:管理模块;288:目标轨道生成模块;290:指令值生成模块;292:信号输出驱动器;300:操作示教器;370:固件;380:操作键组;400:支持装置;406:输入部;408:显示部;412:光学驱动器;414:存储介质;422:通信控制器;450、460:设定画面;452:设定字段;462、464:按钮;500:显示装置;600:服务器装置;1102:系统程序;1104:IEC程序;1106、2704:设定信息;1108:机器人程序;1502:输出更新处理;1504:输入更新处理;2702:机器人系统程序;4104:开发程序;T1:控制周期。

Claims (10)

1.一种机器人控制系统,其中,该机器人控制系统具有:
第1控制装置,其具有第1通信部;以及
与所述第1控制装置进行了网络连接的1个或多个第2控制装置,
所述第2控制装置分别具有:
第2通信部,其使用分配给各自的网络的通信资源,与所述第1控制装置的所述第1通信部之间交换数据;以及
指令值生成部,其按照来自所述第1控制装置的命令,依次生成用于驱动机器人的指令值,
所述机器人控制系统具有对各个所述第2控制装置分配所述通信资源的通信资源设定部。
2.根据权利要求1所述的机器人控制系统,其中,
所述通信资源设定部按照预先确定的分配设定,决定分配给各个所述第2控制装置的通信资源。
3.根据权利要求1或2所述的机器人控制系统,其中,
所述通信资源设定部根据与所述第1控制装置进行了网络连接的所述第2控制装置的数量,决定分配给各个所述第2控制装置的通信资源。
4.根据权利要求1~3中的任意一项所述的机器人控制系统,其中,
所述通信资源设定部根据所述1个或多个第2控制装置中的至少1个的工作状态,决定分配给各个所述第2控制装置的通信资源。
5.根据权利要求1~4中的任意一项所述的机器人控制系统,其中,
所述通信资源设定部安装于所述第1控制装置的所述第1通信部。
6.根据权利要求1~5中的任意一项所述的机器人控制系统,其中,
所述第2控制装置的所述第2通信部将与机器人的驱动相关的状态值发送到所述第1控制装置。
7.根据权利要求1~6中的任意一项所述的机器人控制系统,其中,
该机器人控制系统还具有外部装置,所述外部装置用于根据用户操作来决定与由所述通信资源设定部进行的通信资源的分配相关的设定。
8.根据权利要求1~6中的任意一项所述的机器人控制系统,其中,
所述通信资源设定部通过使网络上传输的通信帧的长度不同,来调整所述通信资源的大小。
9.根据权利要求1~6中的任意一项所述的机器人控制系统,其中,
所述通信资源设定部通过使网络上传输的通信帧的通信周期不同,来调整所述通信资源的大小。
10.一种控制方法,其是机器人控制系统中的控制方法,所述机器人控制系统具有:第1控制装置,其具有第1通信部;以及与所述第1控制装置进行了网络连接的1个或多个第2控制装置,其中,该控制方法具有以下步骤:
向各个所述第2控制装置分配网络的通信资源;
所述第2控制装置分别使用分配给各自的通信资源,与所述第1控制装置之间交换数据;以及
所述第2控制装置分别按照来自所述第1控制装置的命令,依次生成用于驱动机器人的指令值。
CN202080097507.7A 2020-03-13 2020-12-17 机器人控制系统以及控制方法 Pending CN115176209A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020-044123 2020-03-13
JP2020044123A JP7327225B2 (ja) 2020-03-13 2020-03-13 ロボット制御システムおよび制御方法
PCT/JP2020/047238 WO2021181799A1 (ja) 2020-03-13 2020-12-17 ロボット制御システムおよび制御方法

Publications (1)

Publication Number Publication Date
CN115176209A true CN115176209A (zh) 2022-10-11

Family

ID=77671569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080097507.7A Pending CN115176209A (zh) 2020-03-13 2020-12-17 机器人控制系统以及控制方法

Country Status (5)

Country Link
US (1) US11855907B2 (zh)
EP (1) EP4119305A4 (zh)
JP (1) JP7327225B2 (zh)
CN (1) CN115176209A (zh)
WO (1) WO2021181799A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114248269A (zh) * 2021-12-09 2022-03-29 国网浙江省电力有限公司海宁市供电公司 一种基于TherCAT的电力六轴机器人控制系统及控制方法
JP2024000591A (ja) * 2022-06-21 2024-01-09 オムロン株式会社 制御システム、中継装置および通信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5639945B2 (ja) 2011-04-04 2014-12-10 株式会社日立製作所 ネットワークシステム
US9323235B2 (en) * 2011-04-11 2016-04-26 Rockwell Automation Technologies, Inc. Industrial control system with distributed motion planning
JP5761238B2 (ja) * 2013-03-15 2015-08-12 株式会社安川電機 ロボットシステム及び被作業物の製造方法
US10775772B2 (en) * 2016-10-12 2020-09-15 Abb Schweiz Ag Method and a system for controlling a velocity of a conveyance path
JP6894292B2 (ja) 2017-05-23 2021-06-30 Juki株式会社 制御システム及び実装装置
JP6814118B2 (ja) * 2017-09-15 2021-01-13 株式会社日立製作所 ロボット制御装置、システム、及び方法
JP6977600B2 (ja) * 2018-02-14 2021-12-08 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP6911791B2 (ja) 2018-02-14 2021-07-28 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
US20200346353A1 (en) * 2018-06-11 2020-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Technique for controlling wireless command transmission to a robotic device
TWI676090B (zh) * 2018-10-19 2019-11-01 廣達電腦股份有限公司 用於多個機器人之移動控制方法以及其系統
US11584020B2 (en) * 2018-12-04 2023-02-21 Cloudminds Robotics Co., Ltd. Human augmented cloud-based robotics intelligence framework and associated methods
JP7236356B2 (ja) * 2019-09-02 2023-03-09 本田技研工業株式会社 制御プラットフォーム及び制御システム
JP7431053B2 (ja) 2020-02-17 2024-02-14 本田技研工業株式会社 制御プラットフォーム、サービス提供システム及びサービス提供方法
WO2021044720A1 (ja) * 2019-09-02 2021-03-11 本田技研工業株式会社 制御プラットフォーム、制御システム、サービス提供システム、サービス提供方法及び制御方法
KR20210030155A (ko) * 2019-09-09 2021-03-17 엘지전자 주식회사 로봇 및 그 제어 방법

Also Published As

Publication number Publication date
US11855907B2 (en) 2023-12-26
WO2021181799A1 (ja) 2021-09-16
JP7327225B2 (ja) 2023-08-16
EP4119305A1 (en) 2023-01-18
US20230132698A1 (en) 2023-05-04
JP2021144587A (ja) 2021-09-24
EP4119305A4 (en) 2024-04-03

Similar Documents

Publication Publication Date Title
CN109557890B (zh) 控制装置
CN109388107B (zh) 控制装置
CN109507980B (zh) 控制装置及控制方法
JP6962099B2 (ja) 制御システムおよび制御装置
CN109581976B (zh) 控制装置
JP2019067046A (ja) 制御システムおよび制御装置
CN109491307B (zh) 控制装置及控制方法
CN115176209A (zh) 机器人控制系统以及控制方法
JP6741924B1 (ja) 分散モータ制御システム、モータ制御装置、及び分散モータ制御方法
WO2021181801A1 (ja) ロボット制御システムおよび制御方法
CN111052012B (zh) 控制装置以及控制系统
CN109709904B (zh) 从机装置、主机装置以及工业用网络系统
CN109491324B (zh) 控制装置及控制方法
WO2021181800A1 (ja) ロボット制御システムおよび制御方法
WO2021145124A1 (ja) 制御装置
WO2021181798A1 (ja) ロボット制御システムおよび制御方法
JP7231073B2 (ja) 制御装置および制御システム
JP7375632B2 (ja) 制御システムおよびサポート装置
WO2022162959A1 (ja) 制御システム、ロボットコントローラおよび制御方法
WO2022168336A1 (ja) 制御装置、制御方法および制御プログラム
JP2021114019A (ja) データ処理方法
JP2022114752A (ja) 制御装置、プログラム実行方法およびプログラム
JP2020013317A (ja) 制御装置、制御方法、および制御プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination