CN116963877A - 系统控制装置、机器人控制方法、终端装置、终端控制方法和机器人控制系统 - Google Patents
系统控制装置、机器人控制方法、终端装置、终端控制方法和机器人控制系统 Download PDFInfo
- Publication number
- CN116963877A CN116963877A CN202280019584.XA CN202280019584A CN116963877A CN 116963877 A CN116963877 A CN 116963877A CN 202280019584 A CN202280019584 A CN 202280019584A CN 116963877 A CN116963877 A CN 116963877A
- Authority
- CN
- China
- Prior art keywords
- robot
- information
- control unit
- control device
- job
- 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
Links
- 238000000034 method Methods 0.000 title claims description 92
- 230000009471 action Effects 0.000 claims abstract description 154
- 238000003860 storage Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 40
- 230000008569 process Effects 0.000 description 39
- 239000012636 effector Substances 0.000 description 16
- 230000000052 comparative effect Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000010365 information processing Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
一种系统控制装置,包括:连接到终端装置的第一接口;连接到机器人控制单元的第二接口,机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,执行定时包括动作的开始定时和结束定时中的至少一个;以及控制单元。控制单元被配置为基于对终端装置的输入来获取或生成日程信息,日程信息能够用于标识执行定时并与能够用于标识至少一个库的作业信息相关联,并且控制单元被配置为向机器人控制单元输出命令,该命令使至少一个机器人在由日程信息标识的执行定时执行由作业信息标识的动作。
Description
相关申请的交叉引用
本申请要求日本专利申请第2021-37829号(2021年3月9日提交)的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及系统控制装置、机器人控制方法、终端装置、终端控制方法和机器人控制系统。
背景技术
相关领域内的已知方法涉及通过教导来创建用于定义机器人的坐标或其特定输入输出信息的程序,并且涉及通过执行该程序来使机器人动作。例如,专利文献1描述了一种系统控制装置,其通过执行用于驱动控制各种类型的关节轴和轴的程序来使机器人动作。
引用列表
专利文献
专利文献1:日本未审查专利申请公开第5-4181号
发明内容
在本公开的实施例中,一种系统控制装置包括第一接口、第二接口和控制单元。第一接口与被配置为接收来自用户的输入的终端装置能够通信地连接。第二接口与机器人控制单元能够通信地连接,机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,执行定时包括动作的开始定时和结束定时中的至少一个。控制单元能够与第一接口和第二接口通信。控制单元被配置为基于对终端装置的输入获取或生成日程信息。日程信息能够用于标识执行定时,并与能够用于标识至少一个库的作业信息相关联。控制单元被配置为向机器人控制单元输出命令,该命令使至少一个机器人在由日程信息标识的执行定时执行由作业信息标识的动作。
在本公开的实施例中,一种机器人控制方法包括与被配置为接收来自用户的输入的终端装置通信。机器人控制方法包括与机器人控制单元通信,机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,执行定时包括动作的开始定时和结束定时中的至少一个。机器人控制方法包括基于来自用户的输入获取或生成日程信息。日程信息能够用于标识执行定时,并与能够用于标识库的作业信息相关联。机器人控制方法包括向机器人控制单元输出命令,该命令使至少一个机器人在由日程信息标识的执行定时执行由作业信息标识的动作。
在本公开的实施例中,一种终端装置包括用户接口、通信接口和终端控制单元。用户接口被配置为接收来自用户的输入。通信接口与被配置为将信息输出到机器人控制单元的系统控制装置能够通信地连接,机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,执行定时包括动作的开始定时和结束定时中的至少一个。终端控制单元被配置为基于来自用户的输入生成日程信息。日程信息能够用于标识执行定时并与能够用于标识库的作业信息相关联。通信接口被配置为将作业信息和日程信息输出到系统控制装置。
在本公开的实施例中,一种终端控制方法包括接收来自用户的输入。终端控制方法包括基于执行定时和定义动作的至少一个库来生成和输出日程信息,执行定时包括动作的开始定时和结束定时中的至少一个,日程信息能够用于标识执行定时,并且日程信息与能够用于标识库的作业信息相关联。
在本公开的实施例中,一种机器人控制系统包括终端装置、机器人控制单元和系统控制装置。终端装置包括被配置为接收来自用户的输入的用户接口。机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,执行定时包括动作的开始定时和结束定时中的至少一个。系统控制装置与机器人控制单元和终端装置中的每一个能够通信地连接。终端装置被配置为基于输入到用户接口的且被配置为指定要由机器人执行的工作内容的信息来生成日程信息,并将日程信息输出到系统控制装置。日程信息能够用于标识执行定时并与能够用于标识库的作业信息相关联。系统控制装置被配置为向机器人控制单元输出命令,该命令使至少一个机器人在能够由日程信息标识的执行定时执行能够由作业信息标识的工作。机器人控制单元被配置为基于命令,通过调用与作业信息相关联的至少一个库,使至少一个机器人在能够由日程信息标识的定时执行动作,该动作能够由作业信息标识。
附图说明
图1是示出了根据实施例的机器人控制系统的配置示例的框图。
图2是示出了根据实施例的机器人控制系统的另一配置示例的框图。
图3A示出了作业选择屏幕的示例。
图3B示出了机器人选择屏幕的示例。
图3C示出了用于选择开始和结束工作的日期和时间的屏幕的示例。
图4是示出了用于实现日程管理功能的过程示例的流程图。
图5示出了软件配置的示例。
图6是示出了由机器人控制系统执行的机器人控制方法的过程示例的序列图。
图7是示出了由系统控制装置执行的机器人控制方法的过程示例的流程图。
图8是示出了由终端装置执行的终端控制方法的过程示例的流程图。
图9是示出了由机器人控制单元执行的机器人控制方法的过程示例的流程图。
具体实施方式
如果通过教导(teaching)来为机器人的动作定义坐标或特定输入输出信息,则将会涉及大量的步骤以及相当高的教导过程成本。换言之,更改机器人要执行的工作内容会涉及大量的步骤和相当高的成本。当要基于预定日程来使机器人动作时,使用专用设备来管理日程会涉及相当高的成本。要求在短时间内以较低成本基于预定日程来使机器人动作并更改机器人要执行的工作内容。
(机器人控制系统1的概述)
如图1所示,根据实施例的机器人控制系统1包括系统控制装置10和终端装置20。如后面将要描述的,机器人控制系统1还包括控制机器人40的机器人控制装置30(参见图2)。系统控制装置10、终端装置20和机器人40或机器人控制装置30经由网络80彼此能够通信地连接。如后面将要描述的,系统控制装置10、终端装置20和机器人40或机器人控制装置30可以在没有网络80介入的情况下彼此能够通信地连接。网络80和机器人40或机器人控制装置30可以经由接入点82彼此能够通信地连接。网络80和机器人40或机器人控制装置30可以在没有接入点82介入的情况下彼此能够通信地连接。如图所示,系统控制装置10的数量和终端装置20的数量各自不限于3,并且各自可以等于或小于2,或者各自可以等于或大于4。
机器人控制系统1经由终端装置20从用户接收用于标识机器人40要执行的工作(动作)的信息的输入。机器人控制系统1经由终端装置20从用户接收用于标识机器人40开始和结束工作的定时的信息的输入。机器人40开始工作的定时也被称为开始定时。机器人40结束(例如,停止)工作的定时也被称为结束定时。开始定时和结束定时被统称为执行定时。换言之,执行定时包括开始定时和结束定时中的至少一个。机器人控制系统1使系统控制装置10获取经由终端装置20从用户接收的用于标识工作开始或结束定时的信息,以便管理工作日程。当达到由系统控制装置10管理的日程相关信息中设置的日期和时间时,机器人控制系统1将用于命令机器人40执行工作的信息从系统控制装置10输出到机器人控制装置30。在机器人控制系统1中,机器人控制装置30使机器人40执行工作。
根据本实施例的机器人控制系统1能够使机器人40基于抽象工作命令来执行工作。根据本实施例的机器人控制系统1能够使机器人40基于预定日程来执行工作。例如,用户可以根据来自GUI(图形用户接口)的抽象设置来配置指示机器人40要执行的工作的内容的数据,并将工作执行命令输入到机器人40。换言之,根据本实施例的机器人控制系统1可以以抽象的精细度定义工作并下达工作命令,类似于在人类之间下达的用于指示哪个机器人40将要执行什么内容、何时执行、何地执行以及如何执行的工作命令。
根据比较例的一种可设想到的系统涉及用户通过教导来精细地设置机器人40的移动,以使机器人40执行工作。例如,在根据比较例的系统中,当使机器人40执行对象运输工作时,针对要运输的对象的每一种类型或状态,教导都是必要的。为了使包括机器人40的工厂设施在预定时间自动地运行,将要建立其内安装了工厂过程管理软件的控制系统或服务器PC。
相反,根据本实施例的机器人控制系统1可以向机器人40下达具有抽象精细度的工作命令。机器人控制系统1可以使机器人40基于用于标识预定日程中设置的日期和时间的信息来执行与命令对应的工作。因此,机器人40可以用于更加多样化的目的。
(机器人控制系统1的配置示例)
如图2所示,机器人控制系统1还包括控制至少一个机器人40的机器人控制装置30。系统控制装置10与终端装置20和机器人控制装置30中的每一个能够通信地连接。系统控制装置10可以经由网络80与终端装置20和机器人控制装置30中的每一个能够通信地连接。
[系统控制装置10]
系统控制装置10包括控制单元11、第一接口13和第二接口14。控制单元11可与第一接口13和第二接口14通信。控制单元11也被称为系统控制单元。
系统控制装置10经由第一接口13与终端装置20能够通信地连接。系统控制装置10经由第二接口14与机器人控制装置30能够通信地连接。系统控制装置10可以以有线或无线方式与终端装置20和机器人控制装置30中的每一个能够通信地连接。机器人控制装置30和至少v个机器人40可以以有线或无线方式彼此能够通信地连接。
机器人控制系统1的各组件可以经由无线基站或接入点82彼此能够通信地连接(参见图1),或者可以在没有无线基站或接入点82介入的情况下彼此能够通信地连接。接入点82指示将配备有无线连接功能的终端相互连接或连接到另一个网络的无线装置,并且通常是基于OSI(开放系统互连)参考模型中第一层(物理层)和第二层(数据链路层)的通信协议来运行的装置。机器人控制系统1的各组件可以经由专用线路彼此能够通信地连接。机器人控制系统1的各组件不限于这些示例,并且可以使用其他各种方法中的任一种彼此能够通信地连接。
控制单元11可以包括用于实现系统控制装置10的各种功能或控制的至少一个处理器。处理器可以执行实现系统控制装置10的各种功能的程序。处理器可以实现为单个集成电路。集成电路也被称为IC。处理器可以实现为彼此能够通信地连接的多个集成电路和分立电路。处理器可以包括CPU(中央处理单元)。处理器可以包括DSP(数字信号处理器)或GPU(图形处理单元)。处理器可以基于其他各种已知技术中的任一种来实现。
系统控制装置10还包括存储单元12。存储单元12可以包括磁性存储介质,例如磁盘,或者可以包括存储器,例如半导体存储器或磁性存储器。存储单元12可以包括HDD(硬盘驱动器)或SSD(固态驱动器)。存储单元12存储各种类型的信息、将要由控制单元11执行的程序和/或类似物。存储单元12可以充当控制单元11的工作存储器。存储单元12可以至少部分地被包括在控制单元11中。
系统控制装置10还包括调度器15。调度器15实现将在后面描述的日程管理功能。调度器15被包括在控制单元11中。调度器15可以与控制单元11分开设置。调度器15的功能可以由控制单元11实现。如果调度器15的功能由控制单元11实现,则系统控制装置10将不会配备调度器15。
第一接口13或第二接口14可以包括可以以有线或无线方式通信的通信装置。通信装置可以使用基于各种通信标准中的任一种的通信方法进行通信。第一接口13或第二接口14可以根据已知通信技术进行配置。将省略与例如第一接口13或第二接口14的硬件有关的详细描述。第一接口13和第二接口14的功能可以用单个接口实现,也可以用不同的接口单独实现。
系统控制装置10可以通过使用第一接口13或第二接口14能够通信地连接到网络80。系统控制装置10可以经由网络80能够通信地连接到终端装置20和机器人控制装置30中的每一个。
在根据本实施例的机器人控制系统1中,第一接口13与终端装置20通信。第二接口14与机器人控制装置30通信。
在机器人控制系统1中,系统控制装置10可以是服务器装置。服务器装置可以包括至少一个信息处理装置。服务器装置可以被配置为使多个信息处理装置执行并行处理。服务器装置可以被配置为不包括物理外壳,并且可以基于虚拟技术(例如,虚拟机或容器编排系统)进行配置。服务器装置可以使用云服务进行配置。如果使用云服务进行配置,则服务器装置可以通过组合被管理的服务来进行配置。换言之,系统控制装置10的功能可以实现为云服务。
服务器装置可以包括至少一个服务器组和至少一个数据库组。服务器组充当控制单元11。数据库组充当存储单元12。服务器组的数量可以为1,也可以等于或大于2。如果服务器组的数量为1,则由该一个服务器组实现的功能涵盖由各服务器组实现的功能。服务器组以有线或无线方式彼此能够通信地连接。数据库组的数量可以为1,也可以等于或大于2。数据库组的数量可以基于由服务器装置管理的数据量和服务器装置中所需的可用性要求进行适当调整。数据库组以有线或无线方式能够通信地连接到每个服务器组。
尽管系统控制装置10在图1和图2中示为单个装置,但必要时可以将多个组件视为单个系统并作为单个系统来操作。换言之,系统控制装置10被配置成可变容量平台。由于使用多个组件作为系统控制装置10,因此,如果其中一个组件在发生意外事件(例如,自然灾害)时变得无法运行,则通过使用另一个组件来继续系统的运行。在这种情况下,各组件通过有线或无线线路彼此连接,进而可以彼此通信。多个组件可以跨越云服务和本地环境来建立。
系统控制装置10通过有线或无线线路连接到终端装置20、机器人控制装置30和由机器人控制装置30控制的机器人40中的每一个。系统控制装置10、终端装置20和机器人控制装置30各自包括使用标准协议的接口,并且彼此之间可双向通信。
[终端装置20]
终端装置20包括终端控制单元21、通信接口22和用户接口23。
终端控制单元21可以包括至少一个处理器。终端控制单元21可以与系统控制装置10的控制单元11相同或相似。终端控制单元21可以执行提供与后面将要描述的用户接口23相对应的GUI(图形用户接口)的应用程序。终端控制单元21可以通过在网络浏览器上执行从另一装置(如系统控制装置10)分发的GUI程序来提供GUI。如果要在网络浏览器上提供GUI,则终端控制单元21可以被配置为基于用户输入到网络浏览器的请求从另一装置(如系统控制装置10)接收GUI程序,并在网络浏览器上执行描绘。
终端装置20可以在本地环境中设置或者可以跨越云服务和本地环境建立。换言之,例如,用户接口23可以在本地环境中建立,并且终端控制单元21可以作为云服务建立。
通信接口22可以与系统控制装置10的第一接口13或第二接口14相同或相似。
用户接口23向用户提供前述GUI。用户接口23包括向用户输出信息的输出装置和接收来自用户的输入的输入装置。
输出装置可以包括显示装置。显示装置可以包括液晶显示器(LCD)、有机EL(电致发光)显示器或无机EL显示器、或者等离子显示面板(PDP)。显示装置不限于这些显示器,并且可以包括任何其他各种类型的显示器。显示装置可以包括发光装置,例如LED(发光二极管)。显示装置可以包括任何其他各种类型的装置。输出装置可以包括输出音频信息(例如,语音)的音频输出装置,例如扬声器。输出装置不限于这些示例,并且可以包括任何其他各种类型的装置。
例如,输入装置可以包括触摸屏或触摸传感器,或者可以包括指针装置,例如鼠标。输入装置可以包括物理键。输入装置可以包括音频输入装置,例如麦克风。输入装置不限于这些示例,并且可以包括任何其他各种类型的装置。
终端装置20可以包括至少一个信息处理装置。机器人控制系统1中包括的终端装置20的数量不限于1,并且可以等于或大于2。如果机器人控制系统1包括多个终端装置20,则每个终端装置20可以接收来自用户的输入。终端装置20可以是平板电脑终端。终端装置20可以是便携式电话终端,例如功能性手机或智能手机。终端装置20可以是PC(个人计算机)终端,例如台式PC或笔记本PC。终端装置20不限于这些示例,并且可以是能够提供GUI和通信功能的各种类型的装置中的任何一种。终端装置20还可以包括存储单元。终端装置20的存储单元可以与系统控制装置10的存储单元12相同或相似。
终端装置20由用户用来经由系统控制装置10向机器人控制装置30和机器人40下达工作命令。终端装置20可以使系统控制装置10内的控制单元11中包括的调度器15或控制单元11的日程管理功能注册、删除或更改特定机器人40的动作的开始时间和结束时间。终端装置20可以用于经由例如浏览器或专用应用程序向定义机器人40的动作的库组333(参见图5)添加软件或从中删除软件,或者下达用于更改机器人控制系统1的设置的命令。终端装置20可以用于监测机器人40的状态。终端装置20不限于这些示例,并且可以提供其他各种功能。
[机器人控制装置30]
机器人控制装置30包括机器人控制单元31。机器人控制单元31可以包括用于实现机器人控制装置30的各种功能和控制的至少一个处理器。机器人控制单元31可以与系统控制装置10的控制单元11相同或相似。
机器人控制装置30在由系统控制装置10在日程中初步设置的日期和时间,从系统控制装置10获取作业信息和任务信息,其用于标识要由机器人40执行的工作。作业信息可以用于标识库。任务信息对应于用于使至少一个机器人40执行由作业信息标识的工作的命令。机器人控制装置30基于作业信息和任务信息输出用于标识机器人40的动作的信息。例如,要由机器人40执行的工作可以包括涉及在两个位置之间移动目标工作对象的工作。
机器人控制装置30可以包括从系统控制装置10获取作业信息和任务信息的接口。机器人控制装置30的接口可以与系统控制装置10的第一接口13或第二接口14相同或相似。机器人控制装置30的机器人控制单元31能够通信地连接到接口,并且可以基于经由接口获取的作业信息和任务信息来生成例如用于标识机器人40的动作的信息。机器人控制单元31可以与系统控制装置10的控制单元11中包括的处理器相同或相似。机器人控制装置30还可以包括存储单元。机器人控制装置30的存储单元可以与系统控制装置10的存储单元12相同或相似。
在图2所示的配置中,单个机器人控制装置30连接到单个机器人40。单个机器人控制装置30可以连接到两个或更多个机器人40。单个机器人控制装置30可以单独控制单个机器人40,也可以控制两个或更多个机器人40。机器人控制装置30的数量和机器人40的数量各自不限于2,并且可以各自为1,或者可以各自等于或大于3。
机器人控制装置30可以在云服务和本地环境中的任一者中设置,或者可以跨越云服务和本地环境建立。换言之,例如,与机器人40的接口可以在本地环境中建立,并且机器人控制单元31可以作为云服务建立。本地环境是指(但不限于)信息系统(如服务器或软件)通过在由用户管理的设施内安装装置来操作的环境。云服务是指(但不限于)通过将服务器保留在网络上的虚拟空间中并在互联网上的虚拟空间中建立系统来提供的服务。
[机器人40]
机器人40可以是配备有手臂的机械臂。例如,手臂可以是六轴或七轴垂直关节机器人。手臂可以是三轴或四轴水平关节机器人或SCARA机器人。手臂可以是两轴或三轴正交机器人。手臂可以是并行连杆机器人等。手臂中包括的轴的数量不限于图示数量。
机器人40可以包括附着在手臂上的末端执行器。例如,末端执行器可以包括能够抓握目标工作对象的抓握手。抓握手可以具有多个手指。抓握手的手指数量可以等于或大于2。抓握手的每个手指可以具有至少一个关节。末端执行器可以包括能够吸住目标工作对象的吸手。末端执行器可以包括能够铲起目标工作对象的铲手。末端执行器可以包括工具,例如钻头,以便能够对目标工作对象执行各种类型的机加工,例如钻孔过程。末端执行器不限于这些示例,并且可以能够执行任何其他各种类型的动作。
机器人40可以通过移动手臂来控制末端执行器的位置。末端执行器可以具有轴,该轴用作末端执行器作用于目标工作对象的方向的参考。如果末端执行器具有轴,则机器人40可以通过移动手臂来控制末端执行器的轴的方向。机器人40控制末端执行器针对目标工作对象的动作的开始和结束。机器人40在控制末端执行器的位置或末端执行器的轴的方向的同时控制末端执行器的动作,从而移动目标工作对象并对其进行机加工。
机器人40可以是自动导引车(AGV)。机器人40可以是无人机。机器人40不限于机械臂或AGV,并且可以是其他各种类型中的任何一种,例如车辆、电子装置或控制机器。
机器人40还可以包括检测机器人40的每个组件的状态的传感器。传感器可以检测机器人40的每个组件的实际位置或朝向,或者可以检测与机器人40的每个组件的速度或加速度有关的信息。传感器可以检测作用在机器人40的每个组件上的力。传感器可以检测流过驱动机器人40的每个组件的电机的电流,或者可以检测该电机的扭矩。传感器可以检测作为机器人40的实际操作结果而获得的信息。机器人控制装置30可以通过获取传感器的检测结果来明确机器人40的实际操作结果。
(机器人控制系统1的操作示例)
如上所述,在机器人控制系统1中,终端装置20接收来自用户的输入,基于来自用户的输入生成用于标识机器人40要执行的工作的信息,并将该信息输出到系统控制装置10。基于来自用户的输入的用于标识机器人40要执行的工作的信息被分为作业信息和任务信息。作业信息和任务信息可以在云中生成。
例如,当使机器人40定期执行特定工作时,终端装置20可以为生成的每条作业信息生成多条任务信息。如果要生成多条任务信息,则该多条任务信息可以同时生成,也可以在不同的定时生成。如果要在不同的定时为每条作业信息生成多条任务信息,则可以每次基于来自用户的输入生成任务信息,也可以周期性地自动生成任务信息。
例如,当使机器人40定期执行特定工作时,终端装置20可以在每条任务信息中包括多条日程信息。在这种情况下,该多条日程信息可以包括多个开始定时和多个结束定时。
例如,如果机器人40专门用于特定工作,则终端装置20可以初步将特定作业信息存储在存储单元中并且基于输入仅生成任务信息。
作业信息可以用于标识要由机器人40执行的工作或动作的内容。作业信息对应于当在人类之间下达工作命令时将要使用的并且具有设定的目标工作对象或设定的工作过程的文档。换言之,作业信息对应于所谓的工作指导文档中描述的内容。
任务信息可以用于标识要执行由作业信息标识的工作的机器人40。任务信息可以用于标识由作业信息标识的工作的开始条件和结束条件。任务信息用于标识使机器人40开始或结束工作的定时。任务信息对应于与在人类之间下达的用于指示工作开始或结束的命令有关的信息。
系统控制装置10将作业信息和任务信息输出到机器人控制装置30。基于作业信息和任务信息,机器人控制装置30调用定义机器人40的动作的至少一个动作库并使机器人40执行工作。机器人控制装置30获取机器人40所执行的工作的结果作为反馈信息,并将该反馈信息输出到系统控制装置10。反馈信息也被称为FB信息。
动作库可以是安装在机器人控制装置30中的程序模块。动作库被包括在库组333中。机器人控制装置30安装至少一个动作库。库组333包括由机器人控制装置30安装的动作库。
机器人控制装置30向库组333传输用于标识要从库组333中包括的已安装动作库中调用的动作库的信息,以便能够调用动作库。用于标识要调用的动作库的信息也被称为标识符。换言之,当机器人控制装置30要从库组333中调用动作库时,要调用的动作库根据标识符来标识。
动作库定义用于控制机器人40的动作的顺序处理过程。动作库可以在处理过程中包括未定义部分。机器人控制装置30可以通过补偿处理过程中包括的未定义部分来完成处理过程。当调用动作库时,机器人控制装置30可以通过向动作库传输参数(其用于标识补偿动作库的未定义部分的信息)来完成动作库的处理过程。补偿动作库的未定义部分的信息也被称为补偿信息。用于标识补偿信息的参数也被称为执行参数。
补偿信息可以被标识为例如用于标识以辅助方式定义机器人40的动作的辅助库的标识符。辅助库可以定义例如过程、条件等的算法,其中机器人40基于该算法来识别目标工作对象。如果执行参数包括用于标识辅助库的标识符,则机器人控制装置30获取与在使机器人40执行基于标识符标识的辅助库中定义的动作或过程时获得的结果有关的信息。机器人控制装置30基于通过用辅助库的执行结果补偿动作库的未定义部分而完成的动作库的处理过程来控制机器人40的动作。
补偿信息可以被标识为例如要控制机器人40的每个组件的物理量。例如,要控制机器人40的每个组件的物理量可以包括手臂等的移动量,或者要从驱动手臂的电机输出的扭矩等。补偿信息可以包括用于标识当例如机器人40要抓住目标工作对象时要接收机器人40的力的地点的信息,例如要由机器人40抓住的目标工作对象的一部分。
补偿信息不限于这些示例,并且可以包括任何其他各种类型的信息。补偿信息可以使用文本字符串、数值、真值等来表示。如果动作库没有未定义部分,则机器人控制装置30在调用动作库时将不传输执行参数。
补偿信息可以响应于从用户到终端装置30的输入从机器人控制装置30获取。机器人控制装置30可以使机器人40获取补偿信息。换言之,例如,当用户执行输入时,目标工作对象、工作环境等的补偿信息可以通过机器人40所设置的设备(例如,摄像头)来获取。当用户执行输入时,可以根据关于机器人40本身的信息、关于机器人40所设置的设备的信息等来获取用于要执行的辅助库的标识符等的补偿信息。
作业信息可以包括标识符。作业信息可以包括执行参数。例如,标识符用作用于标识动作库的ID(标识)。例如,作业信息的执行参数将在执行工作时传输到另一个程序。作业信息可以是能够补偿库的未定义部分的信息。在这种情况下,执行参数可以包括用于补偿上述库的未定义部分的补偿信息。如果动作库没有未定义部分,则作业信息将不包括执行参数。
作业信息可以包括多个标识符。如果作业信息包括多个标识符,则机器人控制装置30调用基于每个标识符来标识的动作库并使机器人40执行工作。作业信息可以包括用于标识要由机器人控制装置30首先从多个动作库中调用的动作库的信息。用于标识要首先从多个动作库中调用的动作库的信息也被称为入口点。换言之,入口点可以在作业信息中定义。入口点可以表示为数值。
作业信息可以包括用于标识基于机器人40的动作(基于机器人控制装置30首先调用的动作库来控制)的结果接下来要由机器人控制装置30调用的动作库的信息。换言之,为了执行基于机器人40首先执行的工作的结果而生成的后续工作,作业信息可以包括用于设置接下来要由机器人控制装置30调用的动作库的信息。作业信息还可以包括可以用于标识多个库的信息,以及用于基于先前由机器人40执行的动作的结果来设置与后续动作有关的库的信息。作业信息可以包括用于基于先前由机器人40执行的工作的结果来设置接下来要由机器人控制装置30调用的动作库的信息。先前由机器人40执行的工作不仅可以包括最后执行的工作,而且还可以包括最后执行的工作之前的第二个或更早执行的工作。
作业信息可以被视为包括用于定义由机器人控制装置30进行的后续过程的信息。可以基于在机器人控制装置30控制机器人40的动作时输出的上下文信息来定义后续过程。上下文信息对应于当机器人控制装置30调用的动作库的程序将要被执行时输出到存储单元等的一系列信息。例如,上下文信息可以包括用于确定机器人40的动作的数据或指示由机器人40执行的工作(过程)是成功还是失败的信息。上下文信息不限于这些类型的信息,并且可以包括任何其他各种类型的信息。上下文信息可以基于动作库的实现进行适当设置。
换言之,作业信息可以包括用于基于机器人40的操作结果来定义分支条件的信息。
任务信息包括用于标识由作业信息标识的工作的开始条件和结束条件的信息。任务信息还包括用于标识要执行由作业信息标识的工作的机器人40的信息。任务信息还可以包括用于标识工作的作业信息。要执行工作的机器人40也被称为指定对象。如果机器人控制装置30使多个机器人40执行工作,则指示每个机器人40的工作进度的信息可以被定义为与任务信息有关的信息。用于请求暂停机器人40的工作的信息或用于取消机器人40的工作的信息可以被定义为与任务信息有关的信息。如果任务信息包括作业信息,则可以同时输出任务信息和作业信息。如果任务信息不包括作业信息,则任务信息和作业信息可以在不同的定时输出。
任务信息还可以包括用于定义由机器人控制装置30进行的后续过程的信息。在这种情况下,任务信息可以包括用于标识多个工作过程中的每一个工作过程的开始条件和结束条件的信息。换言之,机器人控制装置30可以基于机器人40的操作结果来定义分支条件,并基于该条件来输出用于标识接下来要执行的工作的作业信息。
任务信息可以与多条作业信息相关联。任务信息可以具有用于标识多个机器人40的信息。任务信息可以包括用于标识与每个机器人40有关的工作的开始条件和结束条件的信息。在这种情况下,另一个机器人40的工作结果可以被指定为要由特定机器人40执行的工作的开始条件和/或结束条件。
任务信息可以包括与例如不同于机器人40的电子装置或另一设备有关的设置信息,作为开始条件和/或结束条件。在这种情况下,系统控制装置10在网络上能够通信地连接到电子装置或设备,以便能够获取与电子装置或设备有关的信息。
库组333包括动作库和辅助库。动作库包括用于定义机器人40的一系列动作(过程流)的程序。动作库的程序包括其中未定义机器人40的动作的未定义部分。动作库可以包括用于定义应接收信息的格式的信息,作为补偿未定义部分的信息。换言之,动作库包括用于定义当从机器人控制装置30调用动作库时要从机器人控制装置30传输的执行参数的格式的信息。用于定义执行参数的格式的信息也被称为参数定义信息。机器人控制装置30可以用补偿信息来补偿所调用的动作库的未定义部分,该补偿信息是基于根据参数定义信息中定义的格式而配置的执行参数来标识的。例如,如果用作执行参数的辅助库的标识符根据参数定义信息被定义为应接收格式,则机器人控制装置30将辅助库的标识符作为执行参数传输并调用动作库。
辅助库包括在执行动作库时要调用的程序。如果辅助库的标识符作为执行参数传输到动作库,则机器人控制装置30在正在执行动作库的程序的同时,调用基于标识符标识的辅助库,并执行辅助库的程序。例如,辅助库可以包括实现由机器人40用来识别目标工作对象的AI(人工智能)推理算法的程序。辅助库不限于本示例,并且可以包括任何其他各种程序。
例如,动作库或辅助库是通过根据用户或用户以外的第三方的输入进行编程、通过AT机器学习等来创建的。如果将要在创建动作库或辅助库期间使用机器人40,则所创建的动作库等可以在与创建期间所使用的机器人40不同的机器人40中使用。
库组333可以根据元信息进行管理。元信息可以包括动作库或辅助库的标识符。元信息可以包括附带信息,例如动作库或辅助库的显示名称。
机器人控制系统1使系统控制装置10的控制单元11实现日程管理功能。机器人控制系统1可以使控制单元11中包括的调度器15实现日程管理功能。与控制单元11分开设置的调度器15可以实现日程管理功能。以下描述涉及其中控制单元11实现日程管理功能的配置。
控制单元11通过处理日历相关信息来实现日历功能。例如,日历相关信息可以包括日期相关信息、日相关或假期相关信息、或与其中设置夏令时的时段有关的信息。
控制单元11将机器人控制系统1中包括的每个机器人40的标识符和用于标识作业的作业标识符与日期和时间相关联,从而生成日程相关信息,使机器人40基于该日程相关信息执行由作业标识的工作。日程相关信息也被称为日程信息。日程信息也可以被视为可以用于标识执行定时的信息。控制单元11可以从存储单元12获取机器人40的标识符和作业标识符。控制单元11可以获取保留在控制单元11中的机器人40的标识符和作业标识符。作业标识符与机器人40的标识符相关联。控制单元11生成日程信息以使得单个机器人40在同一日期和同一时间点仅执行单个作业。换言之,控制单元11无重复地将同一机器人40的标识符与同一日期和同一时间点相关联。关于多个机器人40的标识符中的每一个标识符,控制单元11可以将作业标识符与日期和时间相关联。
用户可以操作终端装置20的用户接口23向机器人40下达针对已调度工作的执行命令。换言之,终端装置20提供用户接口23以允许用户设置机器人40基于其执行工作的日程。
为了实现日程管理功能,机器人控制系统1可以执行图4所示流程图的过程。
终端装置20从系统控制装置10获取作业标识符列表和机器人40的标识符列表(步骤S11)。每个机器人40的标识符也被称为机器人标识符。
终端装置20允许用户从作业标识符列表中选择用户希望机器人40执行的作业(步骤S12)。如图3A所示,终端装置20可以以用户可选择的方式显示作业标识符列表。
终端装置20允许用户从机器人标识符列表中选择用户希望执行工作的机器人40(步骤S13)。如图3B所示,终端装置20可以以用户可选择的方式显示机器人标识符列表。用户可以选择多个机器人40以使该多个机器人40执行在步骤S12中选择的作业。
终端装置20允许用户选择用户希望机器人40开始执行作业的日期和时间(步骤S14)。换言之,终端装置20允许用户选择日期和时间以作为作业执行开始时间与机器人标识符和作业标识符相关联。如图3C所示,终端装置20可以以用户可以输入日期和时间的方式来显示日历或时钟。
终端装置20允许用户选择用户希望机器人40结束作业的日期或时间(步骤S15)。换言之,终端装置20允许用户选择日期和时间以作为作业执行结束时间与机器人标识符和作业标识符相关联。如图3C所示,终端装置20可以以用户可以输入日期和时间的方式来显示日历或时钟。
在步骤S14或步骤S15中,终端装置20可以允许用户选择多个日期而不是单个特定日期。终端装置20可以允许用户选择日期周期,例如每天或每隔一天。终端装置20可以允许用户选择日期,如每周的特定日或每月的特定日期。终端装置20可以允许用户选择共同时间与用户所选的多个日期中的每一个日期相结合。
在步骤S14或步骤S15中,终端装置20可以允许用户选择多个日期而不是单个特定时间。终端装置20可以允许用户选择时间周期,例如每小时。
在步骤S14或步骤S15中,终端装置20可以允许用户输入例如从当前时间点开始还需要多少分钟作业才将启动。终端装置20可以允许用户输入从作业开始到作业结束经过多少分钟。换言之,终端装置20可以接收来自用户的输入,以使得命令机器人40在P分钟之后开始执行作业并在作业开始Q分钟之后结束作业。
终端装置20基于用户的选择生成第一任务信息并将第一任务信息输出到系统控制装置10(步骤S16)。第一任务信息对应于由终端装置20生成的任务信息。第一任务信息包括作业信息和日程信息。系统控制装置10可以使用控制单元11来管理第一任务信息中包括的日程信息。控制单元11可以将日程信息存储在存储单元12中,或者控制单元11可以将日程信息保留在自身中。
系统控制装置10基于所获取的第一任务信息中包括的日程信息向机器人控制装置30输出第二任务信息(步骤S17)。第二任务信息对应于从系统控制装置10输出到机器人控制装置30的任务信息。具体地,当基于日程信息达到了使机器人40开始执行作业的日期和时间时,系统控制装置10的控制单元11将第二任务信息输出到机器人控制装置30。控制单元11一起输出结束作业的日期和时间、机器人标识符和作业标识符,作为第二任务信息。机器人控制装置30使机器人40基于第二任务信息开始执行工作,并使机器人40在达到第二任务信息中包括的结束作业的日期和时间时结束工作。第二任务信息可以与第一任务信息相同,也可以是对第一任务信息进行了更改后的信息。
如果在第一任务信息的获取时间点已经超过了使机器人40开始作业的日期和时间并且尚未达到结束作业的日期和时间,则控制单元11可以立即将第二任务信息输出到机器人控制装置30。机器人控制装置30立即使机器人40基于第二任务信息开始执行工作。
可以认为,当机器人控制装置30获取第二任务信息时,机器人控制装置30基于其动作的开始定时和结束定时中的至少一个来控制机器人40。
在步骤S17之后,机器人控制系统1结束图4中流程图的过程。在以上过程中,控制单元11可以使终端装置20显示用于向用户提供日程管理功能的其他各种屏幕,而不是图3A、图3B和图3C中所示的屏幕。
在上述图4的步骤S17中,当基于日程信息达到了使机器人40开始执行作业的日期和时间时,控制单元11将第二任务信息输出到机器人控制装置30。此操作可以意味着:终端装置20已经根据第一任务信息中包括的日程信息预订了第二任务信息从系统控制装置10到机器人控制装置30的输出。换言之,日程管理功能包括预订功能。如果终端装置20要预订第二任务信息的输出,则可以认为,日程信息包括用于预订由作业信息标识的工作的执行的预订信息。预订信息可以包括用于标识由作业信息标识的工作的执行定时的信息。终端装置20可以在达到了使机器人40开始执行作业的日期和时间时向系统控制装置10输出第一任务信息。
预订信息可以根据工作状态进行更新。在这种情况下,例如,如果未满足在最初获取或生成的预订信息中包括的结束定时的结束条件,则控制单元11可以重新生成或更新预订信息,以使得可以推迟结束定时。预订信息可以由机器人控制单元31更新。
根据本实施例的机器人控制系统1能够使机器人40基于抽象工作命令执行工作。例如,用户可以根据来自GUI(图形用户接口)的抽象设置来配置指示机器人40要执行的工作的内容的数据,并将工作执行命令输入到机器人40。换言之,根据本实施例的机器人控制系统1可以以抽象的精细度定义工作并下达工作命令,类似于在人类之间下达的用于指示哪个机器人40将要执行什么内容、何时执行、何地执行以及如何执行的工作命令。例如,机器人控制系统1可以使用日程管理功能针对典型的时间指定工作下达命令,例如使机器人40在工作日的上午9点至下午5点之间执行指定工作。
[软件配置]
现在将描述基于图5示意性示出的过程例程组在根据本实施例的机器人控制系统1中执行的过程。连接图5中各组件的箭头各自指示数据的输出方向。
[系统控制装置10的过程]
要由系统控制装置10的控制单元11执行的软件包括工作内容管理例程322、日程管理例程351、工作命令管理例程323、工作命令输出例程326和反馈管理例程328。日程管理例程351将要由控制单元11执行,但可以替代地由控制单元11中包括的调度器15执行。要由控制单元11执行的软件也被称为内部模块。当控制单元11要执行软件时,控制单元11参考数据库324、352、325和329来注册数据并获取数据。假设数据库324、352、325和329存储在存储单元12中。控制单元11在数据库324中执行作业信息的注册、替换和/或删除。控制单元11在数据库352中执行日程信息的注册、替换和/或删除。控制单元11在数据库325中执行任务信息的注册、替换和/或删除。控制单元11在数据库329中执行反馈信息的注册、替换和/或删除。
控制单元11执行工作内容管理例程322,以便基于向终端装置20执行的应用程序或向浏览器输入的请求,在数据库324中注册作业信息。具体地,控制单元11执行工作内容管理例程322,以便从终端装置20获取作业信息并在数据库324中注册作业信息。控制单元11执行工作内容管理例程322,以便基于作业信息的获取请求从数据库324获取作业信息并将作业信息输出到请求源。
控制单元11执行日程管理例程351,以便将机器人控制系统1中包括的每个机器人40的标识符和用于标识作业的作业标识符与日期和时间相关联,从而为机器人40生成日程信息。控制单元11将日程管理例程351中生成的日程信息注册到数据库352中。控制单元11执行日程管理例程351,以便调用在数据库352中注册的日程信息并将日程信息传输到工作命令管理例程323。
控制单元11执行工作命令管理例程323,以便基于向终端装置20执行的应用程序或向浏览器输入的请求,在数据库325中注册任务信息。在工作命令管理例程323中,控制单元11将从日程管理例程351传输的日程信息与任务信息相关联,并在数据库325中注册任务信息。具体地,控制单元11执行工作命令管理例程323,以便从终端装置20获取任务信息并在数据库325中注册任务信息。控制单元11执行工作命令管理例程323,以便基于任务信息的获取请求从数据库325获取任务信息并将任务信息输出到请求源。
控制单元11可以基于来自终端装置20的请求生成作业信息或任务信息,并在数据库324或325中注册作业信息或任务信息。
控制单元11可以执行工作命令管理例程323,以便根据来自终端装置20的请求,取消输出到机器人控制装置30的任务信息和/或暂停基于任务信息的机器人40的动作。
控制单元11执行工作命令输出例程326,以便将数据库325中注册的任务信息输出到机器人控制装置30并命令机器人40执行工作。机器人控制装置30使机器人40基于从任务信息标识的开始条件开始工作并基于结束条件结束工作。
控制单元11可以设置用于向机器人控制装置30输出任务信息的定时。具体地,控制单元11可以在基于工作开始条件由任务信息标识的定时向机器人控制装置30输出任务信息。例如,如果工作开始条件指示工作将立即开始,则控制单元11执行工作命令输出例程326,以便在从终端装置20获取任务信息后立即将任务信息输出到机器人控制装置30。例如,如果工作开始条件指定开始时间,则控制单元11可以执行工作命令输出例程326,以便在指定的开始时间将任务信息输出到机器人控制装置30。工作开始条件不限于本示例,并且可以以任何其他各种形式进行设置,例如基于目标工作对象的状态的条件。
控制单元11可以在基于工作结束条件的定时将用于结束机器人40的工作的命令作为任务信息输出到机器人控制装置30,使得机器人40基于由任务信息标识的工作结束条件来结束工作。例如,如果工作结束条件指定由作业信息标识的工作要被执行的次数,则控制单元11可以执行工作命令输出例程326,以便向机器人控制装置30输出用于在工作被执行了指定次数之后结束机器人40的工作的命令。例如,如果工作结束条件指定结束时间,则控制单元11可以执行工作命令输出例程326,以便在指定的结束时间向机器人控制装置30输出用于结束机器人40的工作的命令。换言之,机器人控制装置30并未基于机器人控制装置30的内部时间来设置机器人40的工作结束时间。因此,控制单元11可以控制机器人40的工作结束时间,而不管机器人控制装置30的内部时间的可靠性如何。工作结束条件不限于这些示例,并且可以以任何其他各种形式进行设置,例如基于目标工作对象的状态的条件。
如果控制单元11从终端装置20获取取消任务信息的请求,则控制单元11可以将用于取消机器人40的工作的命令作为任务信息输出到机器人控制装置30。如果控制单元11从终端装置20获取暂停机器人40的工作的请求,则控制单元11可以将用于暂停机器人40的工作的命令作为任务信息输出到机器人控制装置30。
控制单元11可以将用于结束机器人40的工作的命令、取消命令、暂停命令等作为与任务信息分开的信息输出到机器人控制装置30。
[机器人控制装置30的过程]
要由机器人控制装置30的机器人控制单元31执行的软件包括工作命令获取例程331和工作执行例程332。机器人控制单元31参照包括预装动作库的库组333并且执行工作执行例程332。
机器人控制单元31执行工作命令获取例程331,以便从系统控制装置10执行的工作命令输出例程326获取作业信息和任务信息作为工作命令。机器人控制单元31执行工作命令获取例程331,以便对所获取的工作命令进行分析。
机器人控制单元31执行工作执行例程332,以便基于从工作命令获取例程331获得的工作命令分析结果来控制机器人40的动作。如果在工作命令获取例程331中分析出获取了用于开始机器人40的工作的命令作为任务信息,则机器人控制单元31可以执行工作执行例程332,以便执行控制以使机器人40开始工作。机器人控制单元31可以执行工作执行例程332,以便对用于开始机器人40的工作的命令进行排队处理(即将命令存储在队列中)并通过逐一取回已排队的命令来使机器人40执行工作。如果机器人40不能同时执行两个或更多个操作,则机器人控制单元31可以通过排队处理来控制机器人40执行各操作的顺序。例如,如果在机器人40正在执行工作期间获取了用于开始机器人40的工作的命令,则机器人控制单元31可以使机器人40在完成了先前由机器人40执行的工作时基于所获取的命令执行工作。
如果在工作命令获取例程331中分析出获取了用于取消任务信息的命令,则机器人控制单元31可以执行工作执行例程332,以便执行控制以取消机器人40的工作。如果在工作命令获取例程331中分析出获取了用于暂停机器人40的工作的命令,则机器人控制单元31可以执行工作执行例程332,以便执行控制以使机器人40暂停工作。如果对工作取消或暂停命令进行了排队处理并且工作尚未开始,则机器人控制单元31可以删除已排队的命令。机器人控制单元31可以获取用于暂停机器人40的工作的命令,作为任务信息。
机器人控制单元31可以执行工作执行例程332,以便从队列中提取用于开始机器人40的工作的命令。机器人控制单元31执行工作执行例程332,以便分析命令中包括的作业信息和任务信息,并且控制机器人40的硬件以使机器人40执行工作。机器人控制单元31执行工作执行例程332,以便基于由任务信息标识的结束条件来设置由作业信息标识的工作内容的执行例程。例如,如果结束条件指定了工作将被执行的次数,则机器人控制单元31执行工作执行例程332,以便控制机器人40的硬件以使得由作业标识的工作内容被重复地执行指定的次数。
机器人控制单元31在工作执行例程332中调用并执行库组333中包括的程序,以便使机器人40执行工作。库组333包括动作库。机器人控制单元31在工作执行例程332中调用并执行基于作业信息中包括的标识符来标识的动作库,以便使机器人40执行工作。库组333还可以包括辅助库。如果在要调用动作库时将辅助库的标识符作为执行参数进行传输,则机器人控制单元31在执行动作库时还调用并执行辅助库。
机器人控制单元31执行工作执行例程332,以便将与机器人40的工作的状态有关的信息输出到系统控制装置10。与机器人40的工作的状态有关的信息也被称为反馈(FB)信息。FB信息可以包括用于标识由机器人40执行的工作的信息。FB信息可以包括指示机器人40是否已经开始或结束工作的信息或者指示机器人40的工作进度的信息。系统控制装置10的控制单元11经由第二接口14获取FB信息。控制单元11执行反馈管理例程328,以便在数据库329中注册FB信息,并且还在数据库325中注册用于更新由数据库325中注册的任务信息标识的工作的执行状态的信息。
根据本实施例的机器人控制系统1可以是云机器人系统。例如,尽管包括图5中所示的配置的至少一部分作为基本配置,但机器人控制系统1可以包括可与外部系统通信的配置,作为另一配置。机器人控制系统1可以被配置为接收来自外部系统的请求和/或向外部系统输出请求。
可以通过包括多个服务器装置而使系统控制装置10变得冗余。在变得冗余的前提下,可以根据各种请求对系统控制装置10进行配置。在这种情况下,服务器装置可相互通信。
[基于序列图的操作示例描述]
现在将基于图6所示的序列图来描述根据本实施例的机器人控制系统1的操作示例。图6中示出的序列图表示机器人控制系统1的每个组件在所指示的时间点t1至t13中的每个时间点处的动作。在本示例中,机器人40是手臂机器人并配备有摄像头。假设用户请求机器人40使用基于AT的对象识别推理来执行拾取和放置操作。假设机器人控制装置30已经在其内预装了用于执行拾取和放置操作的动作库和用于执行基于AI的对象识别推理的辅助库。
在从时间点t1到时间点t2的时段内,终端装置20从用户接收作业数据的输入,该作业数据用作指示机器人工作的内容的定义信息。终端装置20可以允许用户通过使用安装在终端装置20中的应用程序或者在网络浏览器上从外部装置(例如,系统控制装置10)分发的应用程序的GUI来输入作业数据。在本示例中,终端装置20接收用于指定动作库的输入,该动作库使机器人40执行拾取和放置操作。
必要时,终端装置20接收用于指定在终端装置20调用动作库时要传输的执行参数的输入。如上所述,为每个动作库定义了如何指定执行参数的方法。在本示例中,假设在调用用于拾取和放置操作的动作库时要传输的执行参数被定义为用于指定识别目标工作对象的方法的信息。
当终端装置20接收用于指定用于拾取和放置操作的动作库的输入时,终端装置20还接收与识别目标工作对象的方法有关的信息。在本示例中,假设终端装置20接收用于指定基于AI的对象识别推理作为识别目标工作对象的方法的输入。在这种情况下,终端装置20可以识别出执行基于AI的对象识别推理的辅助库的标识符已经作为执行参数被输入。终端装置20可以接收用于指定辅助库的输入。例如,终端装置20可以接收用于指定可以将螺钉识别为拾取和放置操作的目标对象的辅助库的输入。
当终端装置20接收用于指定用于拾取和放置操作的动作库的输入时,终端装置20还接收与工作位置识别方法有关的输入。在本示例中,假设终端装置20接收用于指定基于AI的对象识别推理作为工作位置识别方法的输入。在这种情况下,终端装置20可以识别出执行基于AI的对象识别推理的辅助库的标识符已经作为执行参数被输入。终端装置20可以接收用于指定辅助库的输入。终端装置20可以接收与用于从机器人40配备的摄像头所识别的容器候选中选择将要拾取目标工作对象的容器和将要放置目标工作对象的容器的条件有关的输入。例如,终端装置20可以允许用户选择容器的颜色作为容器的特征。例如,终端装置20可以接收指示将要拾取目标工作对象的容器为红色和将要放置目标工作对象的容器为蓝色的条件的输入。
换言之,终端装置20接收用于指定动作库的输入,以便能够获取用于标识机器人40将如何动作的信息。终端装置20接收用于指定辅助库作为识别目标工作对象的方法的输入,以便能够获取用于识别什么将被设置为机器人40的目标工作对象的信息。终端装置20接收用于指定辅助库作为工作位置识别方法的输入,以便能够获取用于标识机器人40将在何地动作的信息。具体地,终端装置20可以从用户接收使机器人40执行工作的请求,该工作涉及将“螺钉”从“红色”容器“拾取并放置”到“蓝色”容器。此工作内容在下文中将被称为拾取和放置作业。
在时间点t2,终端装置20基于经由GUI的来自用户的输入来生成用于标识拾取和放置作业的作业信息,并且将该作业信息与针对该作业信息的注册请求一起输出到系统控制装置10。
在从时间点t2到时间点t3的时段内,系统控制装置10确认与注册请求一起获取的作业信息的内容。如果作业信息的内容没有问题(例如,不一致),则系统控制装置10将作业信息存储在数据库中。换言之,系统控制装置10在数据库中注册并永久保存作业信息。信息的永久保存意味着在接收到用于删除信息的命令之前连续存储信息,或者在预定时间段内连续存储信息。通过在数据库中存储作业信息,系统控制装置10可以在作业信息作为有效信息存储的时段内以任意次数调用作业信息。
在时间点t3,系统控制装置10输出注册响应,该注册响应包括指示作业信息的注册已完成的报告。终端装置20获取注册响应,以便确认作业信息已注册。
在从时间点t4到时间点t5(被包括在不一定与从时间点t1到时间点t3的时段连续的时间序列中)的时段内,终端装置20接收任务数据的输入,该任务数据用作用于命令机器人40执行由作业信息标识的工作的信息。终端装置20可以允许用户通过使用安装在终端装置20中的应用程序或者在网络浏览器上从外部装置(例如,系统控制装置10)分发的应用程序的GUI来输入任务数据。在本示例中,假设终端装置20接收用于将要执行拾取和放置作业的机器人40指定为“X”,将开始条件指定为“立即”,将结束条件指定为“直到执行了指定次数”以及将指定次数指定为“5”的输入。换言之,终端装置20接收根据用于选择机器人40的输入的关于“谁”相关指定的信息,以及根据用于指定开始条件或结束条件的输入的关于“何时”相关指定的信息。具体地,终端装置20接收任务数据,该任务数据指示用作“X”的机器人40要“立即”执行拾取和放置作业“5”次。指示用作“X”的机器人40要“立即”执行拾取和放置作业“5”次的任务数据对应于工作命令。该工作命令在下文中将被称为拾取和放置任务。
在时间点t5,终端装置20基于经由GUI的来自用户的输入来生成用于标识拾取和放置任务的任务信息,并且将该任务信息与针对该任务信息的注册请求一起输出到系统控制装置10。
在从时间点t5到时间点t6的时段内,系统控制装置10确认与注册请求一起获取的任务信息的内容。如果任务信息的内容没有问题(例如,不一致),则系统控制装置10将任务信息存储在数据库中。换言之,系统控制装置10在数据库中注册并永久保存任务信息。系统控制装置10将任务信息与机器人40的工作执行日志一起存储,其中该任务信息用作指示用户已经下达了用于使机器人40执行工作的命令的证据。
在时间点t6,系统控制装置10输出注册响应,该注册响应包括指示任务信息的注册已完成的报告。终端装置20获取注册响应,以便确认任务信息已注册。
在时间点t7(被包括在不一定与从时间点t1到时间点t6的时段连续的时间序列中),系统控制装置10读取在数据库中注册的任务信息并向机器人控制装置30输出工作命令。在本示例中,系统控制装置10根据开始条件为“立即”这一事实立即向机器人控制装置30(其对拾取和放置任务中指定的用作“X”的机器人40进行控制)输出任务信息作为工作命令,或者仅输出工作命令。
在从时间点t7到时间点t8的时段内,机器人控制装置30对作为所获取的工作命令的任务信息进行分析,或者对工作命令进行分析。如果任务信息的内容没有问题(例如,不一致),则机器人控制装置30继续进行命令机器人40基于任务信息的内容执行工作的过程。
在时间点t8,如果任务信息的内容没有问题(例如,不一致),则机器人控制装置30向系统控制装置10输出反馈信息,该反馈信息用于报告用作工作命令的任务信息或者工作命令已经被接收且没有出现任何问题,以及报告机器人40的工作即将开始。
在从时间点t8到时间点t9的时段内,机器人控制装置30基于任务信息的内容和任务信息中包括的作业信息的内容来生成用于控制机器人40的硬件的信息,并将该信息输出到机器人40。在本示例中,机器人控制装置30基于拾取和放置任务的内容来生成用于控制机器人40的硬件的信息,并将该信息输出到机器人40。机器人40通过基于从机器人控制装置30获取的信息控制硬件来使硬件的每个组件动作,从而执行由拾取和放置任务标识的工作。
首先,机器人控制装置30基于由拾取和放置任务标识的结束条件来设置机器人40要执行的工作例程。然后,机器人控制装置30基于所设置的工作例程来执行作业。在本示例中,拾取和放置作业被指定为作业。结束条件被指定为“5次”。因此,机器人控制装置30使机器人40执行涉及将拾取和放置作业重复5次的工作。
随后,机器人控制装置30基于拾取和放置作业中指定的动作库的标识符来读取用于执行拾取和放置操作的动作库,作为执行模块。机器人控制装置30读取用于将“螺钉”识别为拾取和放置操作中的目标工作对象的辅助库和用于识别要在拾取和放置操作中拾取和放置“螺钉”的容器的辅助库。机器人控制装置30读取用于指定红色容器作为拾取容器的信息和用于指定蓝色容器作为放置容器的信息。机器人控制装置30传输用于指定辅助库的标识符和用于指定容器的特征的信息作为执行参数,并调用动作库。机器人控制装置30执行所调用的动作库,以便能够使机器人40进行检测并且从红色容器中拾取螺钉并将拾取的螺钉放入蓝色容器中。
在时间点t9,机器人控制装置30向系统控制装置10输出反馈信息,该反馈信息用于报告指示基于任务信息的工作已经由机器人40执行的结果。反馈信息可以包括指示机器人40是否已经开始执行工作或机器人40是否已经结束工作的信息。反馈信息可以包括指示工作是否已经由机器人40正确完成或者是否由于异常而中途中断的信息。机器人控制装置30输出反馈信息的定时不一定限于时间点t8或时间点t9。当系统控制装置10获取反馈信息时,系统控制装置10在数据库中注册并永久保存反馈信息。在数据库中注册的任务信息之中,系统控制装置10基于反馈信息来更新与反馈信息对应的任务信息。如果反馈信息包括关于机器人40的异常的信息,则系统控制装置10可以将关于异常的信息输出到终端装置20,以向用户提供错误通知。
在时间点t11(被包括在不一定与从时间点t1到时间点t10的时段连续的时间序列中),终端装置20从用户接收请求的输入,该请求用于参考向机器人40下达的拾取和放置任务的执行状态。终端装置20向系统控制装置10输出该参考请求。系统控制装置10基于反馈信息来更新在数据库中注册的任务信息。因此,在从时间点t11到时间点t12的时段内,系统控制装置10可以读取在数据库中注册的任务信息,并获取与拾取和放置任务的执行状态有关的信息。
在时间点t12,系统控制装置10向终端装置20输出与拾取和放置任务的执行状态有关的信息,作为对任务的参考请求的参考响应。在从时间点t12到时间点t13的时段内,终端装置20获取与拾取和放置任务的执行状态有关的信息并允许用户参考该信息。
[终端控制方法的过程示例]
终端装置20的终端控制单元21可以执行包括图7所示流程图的过程的终端控制方法。该终端控制方法可以实现为由终端控制单元21中包括的处理器执行的终端控制程序。该终端控制程序可以存储在非暂时性计算机可读介质中。
终端控制单元21经由用户接口23接收来自用户的输入(步骤S51)。
终端控制单元21基于来自用户的输入生成作业信息(步骤S52)。
终端控制单元21基于来自用户的输入生成第一任务信息(步骤S53)。
终端控制单元21将作业信息和第一任务信息输出到系统控制装置10(步骤S54)。换言之,终端控制单元21将包括作业信息的第一任务信息输出到系统控制装置10。在执行步骤S54之后,终端控制单元21结束图7中流程图的过程。终端控制单元21可以重复图7中流程图的过程。终端控制单元21可以互换地执行步骤S52和步骤S53。终端控制单元21可以仅执行步骤S52和步骤S53中的一个步骤。
作为上述示例(其中作业信息和任务信息在步骤S52和步骤S53中由终端控制单元21生成)的替代,作业信息和任务信息可以由控制单元11生成。在这种情况下,如果要生成的作业信息已经存在,则作业信息可以基于用户的输入信息来检索并且可以从数据库获取,而不是生成作业信息。作业信息或任务信息可以部分地由终端控制单元21生成。其余部分可以由控制单元11生成。
[机器人控制方法的过程示例]
系统控制装置11的控制单元11可以执行包括图8所示流程图的过程的机器人控制方法。该机器人控制方法可以实现为由控制单元11中包括的处理器执行的机器人控制程序。该机器人控制程序可以存储在非暂时性计算机可读介质中。
控制单元11从终端装置20获取作业信息(步骤S41)。控制单元11可以在数据库中注册所获取的作业信息。
控制单元11从终端装置20获取第一任务信息(步骤S42)。控制单元11可以在数据库中注册所获取的第一任务信息。
控制单元11将作业信息和第二任务信息输出到机器人控制装置30(步骤S43)。换言之,控制单元11将包括作业信息的第二任务信息输出到机器人控制装置30。在执行步骤S43之后,控制单元11结束图8中流程图的过程。控制单元11可以重复图8中流程图的过程。控制单元11可以互换地执行步骤S41和步骤S42。控制单元11可以仅执行步骤S41和S42中的一个步骤。例如,控制单元11可以单独获取第一任务信息而不会再次获取已经获取的作业信息。
机器人控制装置30可以执行包括图9所示流程图的过程的机器人控制方法。该机器人控制方法可以实现为由机器人控制装置30中包括的处理器执行的机器人控制程序。该机器人控制程序可以存储在非暂时性计算机可读介质中。
机器人控制装置30从系统控制装置10获取作业信息和第二任务信息(步骤S61)。换言之,机器人控制装置30从系统控制装置10获取包括作业信息的第二任务信息。机器人控制装置30可以仅获取作业信息和第二任务信息之一。例如,机器人控制装置30可以单独获取第二任务信息而不会再次获取已经获取的作业信息。
机器人控制装置30向机器人40输出关于操作命令的信息(步骤S62)。
机器人控制装置30响应于命令从机器人40获取操作的结果(步骤S63)。在执行步骤S63之后,机器人控制装置30结束图9中流程图的过程。机器人控制装置30可以重复图9中流程图的过程。
尽管上述描述涉及控制单元11将作业信息和任务信息输出到机器人控制装置30的示例,但控制单元11可以被配置为不向机器人控制装置30输出作业信息和任务信息中的任一者或全部。在这种情况下,例如,控制单元11可以向机器人控制装置30输出用于标识任务信息的标识符,并且可以响应于来自机器人控制装置30的请求进一步输出任务信息和作业信息或者由任务信息和作业信息标识的库。
如上所述,根据本实施例的机器人控制系统1针对具备自主功能的机器人40实现了抽象工作命令。用户可以通过主要从GUI执行设置过程来配置定义信息数据(其指示要由机器人40执行的工作内容),作为作业信息,从而向机器人40下达关于工作内容的命令。
作为比较例,假设系统根据由教导系统创建的并安装在机器人控制装置中的程序来运行。根据比较例的系统主要针对的是典型性工作,作为机器人要执行的工作。但是,对于非典型性工作,每次都需要根据工作内容进行教导(即程序开发)。在根据比较例的系统中,为了使机器人动作,需要定义机器人的每个组件的坐标或者机器人的特定输入输出信息。这导致在生成用于向机器人下达关于工作内容的命令的信息的过程中所耗费的时间和成本增大。因此,在根据比较例的系统中,难以让机器人执行非典型性工作。换言之,根据比较例的系统不擅长命令机器人执行非典型性工作。因此,在根据比较例的系统中,机器人的应用范围受限。
在根据比较例的系统中,教导过程由具备专业技能的技术人员执行。换言之,教导过程并不简单。教导过程不简单是阻碍机器人被更广泛地应用的原因之一。
相反,在根据本实施例的机器人控制系统1中,指示机器人40的动作的库具有未定义部分。机器人控制单元31获取基于来自用户的输入而生成的并且能够根据至少一个机器人要执行的工作来补偿库中的未定义部分的作业信息,并且基于该作业信息向至少一个机器人控制器输出工作命令。因此,实现了机器人40的自主性和根据这种自主性的抽象工作命令。
具体地,例如,在未定义部分被保持在动作库中并且在要使用机器人40时基于用户输入的信息来补偿未定义部分的情况下,可以对机器人40执行教导工作,即使是在环境与执行教导过程的环境不相同时也可以如此。换言之,在根据本实施例的机器人控制系统1中,机器人控制单元31可以使机器人40在与生成动作库的环境不同的环境中执行动作库中指示的工作。具体而言,例如如果动作库是按照教导生成的,则根据本实施例的机器人控制系统1可以使机器人40即使在与教导环境不同的环境中仍能自动地或自主地执行动作库中定义的工作。因此,由于工作甚至可以在与机器人40的教导环境不同的环境中执行,因而没有必要让用户为了使机器人40执行工作而执行精细的设置过程,从而可以使工作命令抽象化,进而减少了基于抽象工作命令的教导过程负荷。因此,可以实现机器人40的工作范围增加和机器人40的应用范围扩大。
在根据本实施例的机器人控制系统1中,例如,即使机器人40的工作环境不同,机器人控制单元31仍可以使机器人40在不生成新的教导过程或动作库的情况下执行相同类型的工作。机器人控制单元31可以基于单个动作库、单个动作库集或特定动作库来控制机器人40。例如,工作环境是机器人40工作所必需的设备(如托盘)、机器人40周围或工作环境内的设施或装置、或机器人40的组件(如手臂或末端执行器)。
在根据本实施例的机器人控制系统1中,可以基于来自用户的输入针对每个目标工作对象获取能够补偿库的未定义部分的作业信息。在根据本实施例的机器人控制系统1中,即使目标工作对象是不同的类型,机器人控制单元31仍可以使机器人40在不生成新的教导过程或动作库的情况下执行相同类型的工作。机器人控制单元31可以基于单个动作库、单个动作库集或特定动作库来控制机器人40。机器人控制单元31可以通过生成作业信息来控制机器人40,这比生成动作库更加容易。
在根据本实施例的机器人控制系统1中,相同类型的工作可以针对每一种类型的目标工作对象以不同的动作来执行。机器人控制单元31可以基于单个动作库、单个动作库集或特定动作库来控制机器人40。不同动作的示例包括识别、握住或抓取目标工作对象。更详细的示例包括握住或抓取目标工作对象。换言之,例如在执行拾取和放置操作时,可以针对每一种类型的目标工作对象用适当的力握住或抓取目标工作对象。
在根据比较例的系统中,根据教导过程定义的工作往往是在机器人内部(即由机器人控制装置)进行管理的程序。为了经由网络向机器人控制装置下达工作命令,机器人内部管理的程序可能需要唯一的数据格式或协议,或者可能需要用于中继程序的专用程序。唯一的或专用的配置使得很难与在生产现场(如工厂)运行的信息处理系统实现协同性操作。换言之,采用机器人内部管理的程序的系统与在生产现场(例如工厂)运行的信息处理系统之间的兼容性较低。因此,机器人的应用范围受限。
相反,根据本实施例的机器人控制系统1可以以抽象的精细度定义工作并向机器人40下达工作命令,类似于在人类之间下达的用于指示哪个机器人40将要执行什么内容、何时执行、何地执行以及如何执行的工作命令。因此,机器人40可以仅通过重新配置工作定义数据(作业信息)或工作命令数据(任务信息)来执行非典型性工作。因此,机器人40要执行的工作内容可以在短时间内以低成本进行重新配置。
在根据本实施例的机器人控制系统1中,机器人40的自主功能由库软件(库组333中包括的动作库或辅助库)和软件组(例如用于执行库的例程)来实现。用户可以另外在机器人控制装置30中安装库软件或从机器人控制装置30中删除库软件。通过安装库软件,机器人40可以学习新的动作和/或学习新的测定标准。
在根据本实施例的机器人控制系统1中,即使用户是不具备程序开发等专业技能的负责人,用户也可以轻松地为机器人40生成工作命令。
由于指示机器人40要执行的工作内容的工作定义数据(作业信息)是由服务器装置进行管理,因此,可以增强与在生产现场使用的另一信息处理系统的兼容性。在与另一信息处理系统的兼容性得到增强的情况下,与信息处理系统的兼容性较高的接口可以用作用户用来输入命令的接口(例如GUI)。因此,使机器人40在制造生命周期内执行工作的系统可以作为一个服务组件并入生产现场(例如工厂)。
(其他实施例)
下面将描述其他实施例。
[基于反馈信息的任务信息生成]
系统控制装置10的控制单元11可以经由第二接口14从机器人控制装置30获取与机器人40基于任务信息执行的工作的结果有关的反馈信息。控制单元11可以基于所获取的反馈信息来更新在数据库325中注册的任务信息。更新之前的任务信息可以对应于第一任务信息。更新后的任务信息可以对应于第二任务信息。基于所获取的反馈信息,控制单元11可以生成新的任务信息并在数据库325中注册该任务信息。控制单元11可以将经过更新或生成的任务信息输出到机器人控制装置30。换言之,控制单元11可以基于反馈信息来更新或生成任务信息并将任务信息输出到机器人控制装置30。在控制单元11基于反馈信息来更新或生成任务信息的情况下,可以改进机器人40的动作。在控制单元11更新任务信息的情况下,控制单元11从终端装置20获取的第一任务信息和从控制单元11输出到机器人控制装置30的第二任务信息可以相互不同。
[使用存储的作业信息生成任务信息]
在上述实施例中,系统控制装置10的控制单元11从终端装置20获取作业信息和任务信息并在数据库中注册作业信息和任务信息。任务信息包括作业信息,并且用于标识哪个机器人40要执行由作业信息标识的机器人40的工作内容以及何时要执行该工作内容。用户有时可以提出使机器人40重新执行过去由机器人40执行的工作的请求。在这种情况下,不更改作业信息。因此,控制单元11可以使用在先前执行时存储在数据库324中的作业信息。因此,控制单元11将不会再次获取使机器人40执行相同工作的作业信息。因此,可以在任何定时轻松地重复执行相同的工作。换言之,控制单元11永久保存和存储作业信息,而不是临时存储作业信息。替代地,控制单元11至少存储与用于标识开始条件和结束条件的任务信息相关联的作业信息,以便控制单元11可以命令机器人控制装置30使机器人40重复执行工作。因此,可以使机器人40再次执行相同的工作。要在任何定时重复执行的相同工作也被称为重复工作。
[库的安装]
机器人控制装置30具有预装在其中的动作库或辅助库,从包括已安装的动作库或辅助库的库组333调用动作库或辅助库,并且使机器人40执行工作。机器人控制装置30从系统控制装置10获取动作库或辅助库的数据并安装该数据。系统控制装置10可以将新动作库或辅助库的数据输出到机器人控制装置30,以便机器人控制装置30可以安装该新动作库或辅助库。系统控制装置10将新动作库或辅助库的数据输出到机器人控制装置30,使得机器人控制装置30可以学习要由机器人40执行的新动作或者要由机器人40执行的各种新功能,例如新对象识别。此举提高了机器人控制系统1的便利性。
库组333的一部分或全部可以被配置为不安装在机器人控制装置30中。在这种情况下,例如,系统控制装置10可以基于作业信息和任务信息,根据执行定时单独将必要的动作库作为命令输出到机器人控制装置30,或者可以向机器人控制装置30输出命令。辅助库可以单独安装在机器人控制装置30中。
一旦库组333安装在了机器人控制装置30中,可以在与基于作业信息和任务信息的命令相对应的机器人40的工作完成之后将库组333部分地或完全地删除。具体地,例如,当机器人40根据日程信息中包括的结束定时完成工作时,可以部分地或完全地删除库组333。
[终端装置20和系统控制装置10的集成]
在上述实施例中,描述了除了系统控制装置10之外还设置终端装置20的示例。替代地,系统控制装置10可以部分地或完全地充当终端装置20。具体而言,例如,系统控制装置10可以部分地或完全地具有终端控制单元21,或者控制单元11可以部分地或完全地充当终端控制单元21。在这种情况下,终端装置20可以部分地或完全地与系统控制装置10集成,并且系统控制装置10可以部分地或完全地执行上述终端装置20的各种功能和控制。具体地,上述终端装置20可以作为系统控制装置10来解读,并且系统控制装置10的控制单元11或终端控制单元21可以部分地或完全地执行上述终端装置20的各种功能和控制。在这种情况下,系统控制装置10的各个组件可以部分地或完全地充当终端装置20的各个组件,或者系统控制装置10可以部分地或完全地具有机器人控制装置30的各个组件。
例如,系统控制装置10可以具有用户接口23的功能,以便直接接收来自用户的输入。在这种情况下,系统控制装置10还可以充当终端装置20。在这种情况下,例如,控制单元11可以生成作业信息和任务信息。
[机器人控制装置30和系统控制装置10的集成]
在上述实施例中,描述了除了系统控制装置10之外还设置机器人控制装置30的示例。系统控制装置10可以部分地或完全地充当机器人控制装置30。具体而言,例如,系统控制装置10可以部分地或完全地具有控制机器人40的机器人控制单元31,或者控制单元11可以部分地或完全地充当机器人控制单元31。在这种情况下,机器人控制装置30可以部分地或完全地与系统控制装置10集成,并且系统控制装置10可以部分地或完全地执行上述机器人控制装置30的各种功能和控制。具体地,上述机器人控制装置30可以作为系统控制装置10来解读,并且系统控制装置10的控制单元11或机器人控制单元31可以部分地或完全地执行上述机器人控制装置30的各种功能和控制。在这种情况下,系统控制装置10的各个组件可以部分地或完全地充当机器人控制装置30的各个组件,或者系统控制装置10可以部分地或完全地具有机器人控制装置30的各个组件。
如上所述,机器人控制系统1的配置要件可以部分地或完全地集成。
[向任务信息添加信息]
系统控制装置10的控制单元11可以向从终端装置20获取的第一任务信息添加信息,以便生成第二任务信息以输出到机器人控制装置30。例如,假设控制单元11从终端装置20获取第一任务信息,该第一任务信息包括用于“从右向左移动组件”的命令,以处理在机器人40的动作中发生的错误。在这种情况下,控制单元11可以将第一任务信息中包括的命令转换为用于机器人40的特定动作的命令,并生成包括转换后的命令的第二任务信息。控制单元11可以向第二任务信息添加在机器人40未能抓住组件时进行重试的命令。
尽管已在上面描述了机器人控制系统1的实施例,但除了用于实现系统或装置的方法或程序之外,本公开的实施例还可以是其中存储有程序的存储介质的形式(例如,光盘、磁光盘、CD-ROM、CD-R、CD-RW、磁带、硬盘、存储卡等)。
程序的实现类型不限于应用程序(例如由编译器编译的目标代码、由解释器执行的程序代码等),并且可以是例如并入在操作系统中的程序模块。程序不一定需要完全地在控制基板上的CPU中执行,并且在必要时可以部分地或完全地由在添加到基板上的扩展板或扩展单元中实现的单独处理单元执行。
尽管已经基于附图和实际示例描述了根据本公开的各实施例,但对于基于本公开的技术人员而言,各种替代实施例和变化是可能的。因此,需要注意的是,这些替代实施例和变化形式被包括在本公开的范围之内。例如,相应组件中包括的功能等可以以不会在逻辑上相互冲突的方式重新布置,并且多个组件可以组合成一个组件或者可以对其进行划分。
本公开中描述的所有配置要求和/或所有公开的方法或所有步骤可以基于自由选择的组合来组合,除了这些特征彼此排斥的组合。除非另有说明,否则本公开中描述的每个特征都可以替换为用于实现相同目的、等效目的或类似目的的替代特征。因此,除非另有说明,否则所公开的特征仅仅是一系列相同或统一的综合特征的示例。
根据本公开的实施例不限于上述实施例中的任何特定配置。根据本公开的实施例可以扩展到本公开中描述的所有新颖特征或其组合,或者扩展到本公开中描述的所有新颖方法、步骤或其组合。
本公开中的术语“第一”、“第二”等是用于区分彼此之间相关的组件的标识符。关于在本公开中使用术语“第一”、“第二”等来相互区分的组件,这些组件的编号是可互换的。例如,关于第一接口13和第二接口14,标识符“第一”和“第二”是可互换的。标识符同时相互交换。即使在标识符互换之后,这些组件也彼此区分。标识符可以被删除。从中删除了标识符的组件使用附图标记来相互区分。本公开中的标识符(例如,“第一”和“第二”)单独地不得用于解释组件的顺序或者作为存在编号更少的标识符的理由。
附图标记
1机器人控制系统
10系统控制装置(11:控制单元、12:存储单元、13:第一接口、14:第二接口、15:调度器)
20终端装置(21:终端控制单元、22:通信接口、23:用户接口)
30机器人控制装置(31:机器人控制单元)
40机器人
80网络(82:接入点)
322工作内容管理例程
323工作命令管理例程
326工作命令输出例程
328反馈管理例程
324、325、329数据库
331工作命令获取例程
332工作执行例程
333库组
351日程管理例程
352数据库。
Claims (14)
1.一种系统控制装置,包括:
第一接口,与被配置为接收来自用户的输入的终端装置能够通信地连接;
第二接口,与机器人控制单元能够通信地连接,所述机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,所述执行定时包括所述动作的开始定时和结束定时中的至少一个;以及
控制单元,能够与所述第一接口和所述第二接口通信,
其中,所述控制单元被配置为基于对所述终端装置的所述输入获取或生成日程信息,所述日程信息能够用于标识所述执行定时,并且所述日程信息与能够用于标识所述至少一个库的作业信息相关联,并且
其中,所述控制单元被配置为向所述机器人控制单元输出命令,所述命令使所述至少一个机器人在由所述日程信息标识的所述执行定时执行由所述作业信息标识的所述动作。
2.根据权利要求1所述的系统控制装置,还包括:
存储单元,
其中,所述控制单元被配置为在所述存储单元中存储被配置为预订由所述作业信息标识的工作内容的执行的预订信息,并且基于所述预订信息设置由所述作业信息标识的所述工作内容的所述执行定时。
3.根据权利要求2所述的系统控制装置,
其中,所述控制单元被配置为获取或生成所述预订信息,所述预订信息包括被配置为标识由所述作业信息标识的所述工作内容的所述执行定时的信息。
4.根据权利要求1至3中任一项所述的系统控制装置,
其中,所述命令包括被配置为标识要执行由所述作业信息标识的工作内容的所述机器人的信息。
5.根据权利要求1至4中任一项所述的系统控制装置,
其中,所述命令包括被配置为标识由所述作业信息标识的工作内容的所述执行定时的信息。
6.根据权利要求5所述的系统控制装置,
其中,所述控制单元被配置为存储与被配置为标识开始条件和结束条件的任务信息相关联的所述作业信息。
7.根据权利要求1至6中任一项所述的系统控制装置,
其中,所述控制单元被配置为向所述机器人控制单元输出新库的数据以使得所述机器人控制单元能够安装所述新库。
8.根据权利要求1至7中任一项所述的系统控制装置,
其中,所述作业信息还包括:能够用于标识多个库的信息;以及被配置为基于先前由所述机器人执行的动作的结果来设置与后续动作有关的库的信息。
9.根据权利要求1至8中任一项所述的系统控制装置,
其中,所述控制单元被配置为还获取补偿信息,所述补偿信息被配置为指定以辅助方式定义所述机器人的控制的辅助库。
10.根据权利要求1至9中任一项所述的系统控制装置,
其中,所述第二接口被配置为从所述机器人控制单元获取与由所述机器人执行的工作的结果有关的反馈信息,并且
其中,所述控制单元被配置为向所述机器人控制单元输出基于所述反馈信息而更新或生成的命令。
11.一种机器人控制方法,包括:
与被配置为接收来自用户的输入的终端装置通信;
与机器人控制单元通信,所述机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,所述执行定时包括所述动作的开始定时和结束定时中的至少一个;
基于来自所述用户的所述输入获取或生成日程信息,所述日程信息能够用于标识所述执行定时,并且所述日程信息与能够用于标识所述库的作业信息相关联;以及
向所述机器人控制单元输出命令,所述命令使所述至少一个机器人在由所述日程信息标识的所述执行定时执行由所述作业信息标识的所述动作。
12.一种终端装置,包括:
用户接口,被配置为接收来自用户的输入;
通信接口,与被配置为将信息输出到机器人控制单元的系统控制装置能够通信地连接,所述机器人控制单元被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,所述执行定时包括所述动作的开始定时和结束定时中的至少一个;以及
终端控制单元,
其中,所述终端控制单元被配置为基于来自所述用户的所述输入生成日程信息,所述日程信息能够用于标识所述执行定时,并且所述日程信息与能够用于标识所述库的作业信息相关联,并且
其中,所述通信接口被配置为将所述作业信息和所述日程信息输出到所述系统控制装置。
13.一种终端控制方法,包括:
接收来自用户的输入;以及
基于执行定时和定义动作的至少一个库来生成和输出日程信息,所述执行定时包括所述动作的开始定时和结束定时中的至少一个,所述日程信息能够用于标识所述执行定时,并且所述日程信息与能够用于标识所述库的作业信息相关联。
14.一种机器人控制系统,包括:
终端装置,包括被配置为接收来自用户的输入的用户接口;
机器人控制单元,被配置为基于执行定时和定义动作的至少一个库来控制至少一个机器人,所述执行定时包括所述动作的开始定时和结束定时中的至少一个;以及
系统控制装置,与所述机器人控制单元和所述终端装置中的每一个能够通信地连接,
其中,所述终端装置被配置为基于输入到所述用户接口的且被配置为指定要由所述机器人执行的工作内容的信息来生成日程信息,并将所述日程信息输出到所述系统控制装置,所述日程信息能够用于标识所述执行定时,并且所述日程信息与能够用于标识所述库的作业信息相关联,
其中,所述系统控制装置被配置为向所述机器人控制单元输出命令,所述命令使所述至少一个机器人在能够由所述日程信息标识的所述执行定时执行能够由所述作业信息标识的工作,并且
其中,所述机器人控制单元被配置为基于所述命令,通过调用与所述作业信息相关联的所述至少一个库,使所述至少一个机器人在能够由所述日程信息标识的定时执行动作,所述动作能够由所述作业信息标识。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021037829 | 2021-03-09 | ||
JP2021-037829 | 2021-03-09 | ||
PCT/JP2022/010405 WO2022191255A1 (ja) | 2021-03-09 | 2022-03-09 | システム制御装置、ロボット制御方法、端末装置、端末制御方法、及びロボット制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116963877A true CN116963877A (zh) | 2023-10-27 |
Family
ID=83226848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280019584.XA Pending CN116963877A (zh) | 2021-03-09 | 2022-03-09 | 系统控制装置、机器人控制方法、终端装置、终端控制方法和机器人控制系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240149448A1 (zh) |
EP (1) | EP4306269A1 (zh) |
JP (2) | JP7271806B2 (zh) |
CN (1) | CN116963877A (zh) |
WO (1) | WO2022191255A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62157911A (ja) * | 1985-12-28 | 1987-07-13 | Fanuc Ltd | ロボツトのパスデ−タ作成方法 |
JPS62165212A (ja) * | 1986-01-17 | 1987-07-21 | Agency Of Ind Science & Technol | ロボツト作業教示システム |
JPH054181A (ja) | 1991-06-24 | 1993-01-14 | Toshiba Corp | ロボツト制御装置 |
JP2002254373A (ja) | 2001-02-27 | 2002-09-10 | Casio Comput Co Ltd | ロボット遠隔制御システム、ロボット制御装置、及び、記録媒体 |
WO2006002373A1 (en) * | 2004-06-24 | 2006-01-05 | Irobot Corporation | Remote control scheduler and method for autonomous robotic device |
-
2022
- 2022-03-09 CN CN202280019584.XA patent/CN116963877A/zh active Pending
- 2022-03-09 US US18/281,263 patent/US20240149448A1/en active Pending
- 2022-03-09 WO PCT/JP2022/010405 patent/WO2022191255A1/ja active Application Filing
- 2022-03-09 JP JP2023505617A patent/JP7271806B2/ja active Active
- 2022-03-09 EP EP22767209.4A patent/EP4306269A1/en active Pending
-
2023
- 2023-04-26 JP JP2023072681A patent/JP2023093705A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4306269A1 (en) | 2024-01-17 |
US20240149448A1 (en) | 2024-05-09 |
JPWO2022191255A1 (zh) | 2022-09-15 |
WO2022191255A1 (ja) | 2022-09-15 |
JP7271806B2 (ja) | 2023-05-11 |
JP2023093705A (ja) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11712800B2 (en) | Generation of robotic user interface responsive to connection of peripherals to robot | |
JP5924740B2 (ja) | 実時間ミッションプランニング | |
EP3864480B1 (en) | Object marking to support tasks by autonomous machines | |
US11854379B2 (en) | Method, device, and computer-readable medium for mobile device management of collaborative industrial robot | |
KR102257938B1 (ko) | 산업 애플리케이션들을 위한 스킬 인터페이스 | |
JP2024023927A (ja) | ロボット制御装置、ロボット制御方法、端末装置、端末制御方法、及びロボット制御システム | |
Kootbally et al. | Enabling robot agility in manufacturing kitting applications | |
WO2018176025A1 (en) | System and method for engineering autonomous systems | |
EP4306269A1 (en) | System control device, robot control method, terminal device, terminal control method, and robot control system | |
KR102093775B1 (ko) | 공정 레시피 기반의 자동 조립 장치 및 방법 | |
Prenzel et al. | Rehabilitation robot in intelligent home environment-software architecture and implementation of a distributed system | |
US11498211B2 (en) | Composability framework for robotic control system | |
WO2022191218A1 (ja) | プログラム管理装置、ロボット制御システム、及びプログラム管理方法 | |
US20080262652A1 (en) | Method for an Industrial Robot | |
WO2023068341A1 (ja) | 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法 | |
Andres et al. | ROSoClingo: A ROS package for ASP-based robot control | |
US20230405811A1 (en) | Extensible hardware abstraction layer for real-time robotics control framework | |
EP4254098A1 (en) | Controlling an automation system comprising a plurality of machines | |
Guorui et al. | Research of heterogeneous robots system based on CORBA | |
KR20230015626A (ko) | 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법 | |
Marín et al. | Telerobotic system based on natural language and computer vision | |
CN114193459A (zh) | 一种机械手臂的控制系统及其测试方法 | |
CN117193291A (zh) | 一种agv调度方法、装置、设备及存储介质 |
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 |