CN111328305B - 控制设备、作业机器人、程序和控制方法 - Google Patents
控制设备、作业机器人、程序和控制方法 Download PDFInfo
- Publication number
- CN111328305B CN111328305B CN201980002075.4A CN201980002075A CN111328305B CN 111328305 B CN111328305 B CN 111328305B CN 201980002075 A CN201980002075 A CN 201980002075A CN 111328305 B CN111328305 B CN 111328305B
- Authority
- CN
- China
- Prior art keywords
- model
- trajectory
- information
- section
- change
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000012937 correction Methods 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 150
- 238000003860 storage Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000003321 amplification Effects 0.000 claims description 13
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 77
- 238000012545 processing Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 23
- 238000004088 simulation Methods 0.000 description 19
- 230000001276 controlling effect Effects 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 10
- 230000010365 information processing Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 239000012530 fluid Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005553 drilling Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40317—For collision avoidance and detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40475—In presence of moving obstacles, dynamic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40492—Model manipulator by spheres for collision avoidance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40516—Replanning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40521—Alternative, allowable path substitution if arm movements not possible
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
一种控制设备,用于控制使用操作器在对象区域的内部进行作业的作业机器人的操作,所述控制设备包括:轨迹信息获取部,用于获取N‑1或N个轨迹信息,所述N‑1或N个轨迹信息分别指示将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N‑1或N个轨迹;分类部,用于将所述N‑1或N个轨迹分类为(i)需要校正的轨迹以及(ii)无需校正的轨迹;以及轨迹规划部,用于针对由所述分类部分类为需要校正的轨迹的一个以上的轨迹中的各轨迹,规划所述操作器的前端在与所述一个以上的轨迹中的各轨迹有关的两个作业区域之间的轨迹。
Description
技术领域
本发明涉及控制设备、作业机器人、程序和控制方法。
背景技术
例如,如专利文献1~3所示,已知有使用操作器取出集装箱中所容纳的工件、并将该工件布置在其它集装箱内的指定地点处的拾取系统。此外,已知有使用操作器来进行各种作业的工业机器人。
引文列表
专利文献
专利文献1:日本特开2016-091053
专利文献2:日本特开2016-147330
专利文献3:日本特开2017-033429
发明内容
发明要解决的问题
在拾取系统进行拾取作业的情况下,存在约两个作业点或目标点,并且拾取系统可以规划操作器在这两个作业点之间平滑地移动所沿着的轨迹。另一方面,在工业机器人进行各种作业的情况下,存在相对较大数量的作业点或目标点,因此难以在实际的计算时间的范围内规划操作器在两个作业点之间平滑地移动所沿着的轨迹。
用于解决问题的方案
根据本发明的第一方面,提供一种控制设备。所述控制设备控制作业机器人的操作。所述作业机器人使用操作器在对象区域的内部进行作业。所述控制设备包括:改变信息获取部,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体。所述控制设备包括:模型信息获取部,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小。所述控制设备包括:轨迹信息获取部,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹。所述控制设备包括:分类部,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹。所述控制设备包括:轨迹规划部,用于针对由所述分类部分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹。在所述控制设备中,N可以是大于或等于2的整数。所述控制设备可以包括轨迹确定部,用于基于(i)指示所述操作器的前端在所述轨迹规划部所规划的需要校正的轨迹中的位置和取向的信息、以及(ii)指示所述操作器的前端在所述轨迹信息获取部所获取到的无需校正的轨迹中的位置和取向的信息,来确定所述操作器的前端经过了所述一系列作业操作的轨迹。所述控制设备可以包括输出部,用于基于所述轨迹确定部所确定出的轨迹,来输出用于控制所述操作器的操作的控制信息。
在所述控制设备中,所述分类部可以包括:第一放大模型生成部,用于生成第一放大模型,所述第一放大模型是(i)通过增大所述操作器的大小所获得的模型或者(ii)比所述操作器更大且具有比所述操作器更简单的形状的模型。在所述控制设备中,所述分类部可以包括:判断部,用于(a)判断在所述N-1或N个轨迹中的各轨迹上的M个地点处、在(i)所述第一模型信息和所述第二模型信息至少之一所指示的各物体的模型与(ii)所述第一放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处在(i)各物体的模型和(ii)所述第一放大模型之间会存在碰撞的轨迹是需要校正的轨迹。在所述控制设备中,M可以是大于或等于1的整数。
所述控制设备可以包括第二放大模型生成部,用于生成第二放大模型,所述第二放大模型是(i)通过增大由所述第一模型信息和所述第二模型信息至少之一所指示的各物体的大小所获得的模型或者(ii)比各物体更大且具有比该物体更简单的形状的模型。在所述控制设备中,所述判断部(a)判断在所述N-1或N个轨迹的各轨迹中的M个地点处、在(i)所述第二放大模型和(ii)所述第一放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处、在(i)所述第二放大模型和(ii)所述第一放大模型之间会存在碰撞的轨迹是需要校正的轨迹。
在所述控制设备中,所述分类部可以包括:第二放大模型生成部,用于生成第二放大模型,所述第二放大模型是(i)通过增大由所述第一模型信息和所述第二模型信息至少之一所指示的各物体的大小所获得的模型或者(ii)比各物体更大且具有比该物体更简单的形状的模型。在所述控制设备中,所述分类部可以判断部,用于(a)判断在所述N-1或N个轨迹的各轨迹中的M个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间会存在碰撞的轨迹是需要校正的轨迹。在所述控制设备中,M可以是大于或等于1的整数。
在所述控制设备中,所述分类部还可以包括精度计算部,所述精度计算部用于基于所述操作器的大小和放大模型的大小至少之一来计算M的值。在所述控制设备中,所述分类部可以包括精度计算部,所述精度计算部用于基于关节空间中的所述操作器的操作和现实空间中的所述操作器的操作之间的对应关系来计算M的值。
根据本发明的第二方面,提供一种作业机器人。所述作业机器人例如包括上述的控制设备。所述作业机器人例如包括所述操作器。
所述作业机器人可以包括:控制部,用于控制所述操作器的操作。在所述作业机器人中,所述控制设备可以输出用于控制所述操作器的操作的控制信息。在所述作业机器人中,所述控制部可以基于所述控制设备所输出的控制信息来控制所述操作器的操作。
根据本发明的第三方面,提供一种控制方法。所述控制方法用于控制作业机器人的操作。所述作业机器人使用操作器在对象区域的内部进行作业。所述控制方法例如包括:改变信息获取步骤,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体。所述控制方法例如包括:模型信息获取步骤,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小。所述控制方法例如包括:轨迹信息获取步骤,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹。所述控制方法例如包括:分类步骤,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹。所述控制方法例如包括:轨迹规划步骤,用于针对所述分类步骤中分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹。在所述控制方法中,N可以是大于或等于2的整数。
根据本发明的第四方面,提供一种程序。可以提供存储有所述程序的非暂时性计算机可读介质。所述程序可以使得计算机用作上述的控制设备。所述程序可以使得计算机进行上述的控制方法。
发明内容的条款不一定描述本发明的实施例的所有必要特征。本发明也可以是上述特征的子组合。
附图说明
图1示意性示出作业系统100的系统结构的示例。
图2示意性示出执行设备120的系统结构的示例。
图3示意性示出整体轨迹340的示例。
图4示意性示出整体轨迹340的示例。
图5示意性示出整体轨迹340的示例。
图6示意性示出管理设备140的系统结构的示例。
图7示意性示出系统管理部640的内部结构的示例。
图8示意性示出调整部730的内部结构的示例。
具体实施方式
以下将说明本发明的一些实施例。这些实施例并不限制根据权利要求书的发明,并且这些实施例中所述的特征的所有组合对于本发明的各方面所提供的方式而言不一定是必需的。在附图中,相同或相似的部分可被赋予相同的附图标记,并且可以省略重复的说明。
[作业系统100的概要]
图1示意性示出作业系统100的系统结构的示例。在本实施例中,作业系统100包括一个以上的执行设备120以及管理设备140。作业系统100可以包括一个以上的输入终端160。作业系统100的各部可以经由通信网络10相对于彼此发送和接收信息。在本说明书中,术语“一个以上”意味着“一个或多个”。
执行设备120可以是作业机器人的示例。管理设备140可以是控制设备的示例。
在本实施例中,通信网络10可以是有线通信的传输路径、无线通信的传输路径、或者有线通信的传输路径和无线通信的传输路径的组合。通信网络10可以包括无线分组通信网络、因特网、P2P网络、专用线路、VPN或电力线通信线路等。通信网络10可以包括(i)诸如移动电话网络等的移动通信网络、或者(ii)诸如无线MAN(例如,WiMAX(注册商标))、无线LAN(例如,WiFi(注册商标))、蓝牙(Bluetooth,注册商标)、Zigbee(注册商标)或NFC(近场通信)等的无线通信网络。
在本实施例中,执行设备120进行各种作业。执行设备120可以包括使用操作器来进行各种作业的机器人。该机器人可以是包括传感器、驱动系统和控制系统的机械系统。该机器人可以是用于制造物品的工业机器人。作业的类型由拾取作业、钻削作业、切削作业、车削作业、焊接作业、组装作业或涂装作业等来例示。以下进一步说明执行设备120的详情。
在本实施例中,管理设备140管理执行设备120。例如,管理设备140控制执行设备120的操作。管理设备140可以通过确定用于控制执行设备120的操作的参数(有时称为控制参数)来控制执行设备120的操作。管理设备140可以管理用于控制执行设备120的操作的各种设置信息。
这里,执行设备120的机器人由程序自动控制,并且在作为作业对象的物品(有时称为作业对象)的指定区域(有时称为作业区域)中进行指定作业。在针对单个物品指定多个作业区域的情况下,机器人在这多个作业区域之间顺次移动的同时,在各作业区域中进行指定作业。
存在针对各类型的作业来详细地编程机器人的操作、以便提高执行设备120的作业效率的情况。此外,针对同一类型的作业,存在针对各类型的物品详细地编程机器人的操作的情况。这样的作业有时被称为示教作业。
例如,在机器人在两个作业区域之间移动的情况下,为了防止机器人和其它物体彼此干扰,想到使摄像设备拍摄机器人的移动轨迹周围的区域的图像、并且在分析来自摄像设备的图像数据的同时使机器人在这两个作业区域之间移动。然而,在这种情况下,在图像处理在进行中的情况下,执行设备120停止移动或降低其移动速度。结果,执行设备120的作业速度下降,这导致制造吞吐量也下降。
另一方面,通过在对指定类型的物品进行指定类型的作业之前进行针对执行设备120的示教作业,执行设备120可以在无需分析机器人的移动轨迹周围的区域的拍摄图像的情况下,使机器人在两个作业区域之间移动。这样,提高了执行设备120的作业效率。执行设备120可以包括用于观察作业区域的照相机。此外,在对作业效率的影响小的程度上,可以在确定执行设备120的操作时进行机器人的移动轨迹周围的区域的拍摄图像的分析处理。
在该示教中,首先,构建在虚拟三维空间中用于判断干扰的仿真模型。然后,使用所构建的仿真模型来对机器人的操作进行编程,使得机器人在不会干扰其它物体的情况下进行一系列作业操作。接着,使用实际机器人来重复测试和微调,并且精确地编程机器人的操作。这样,示教操作需要大量的时间和精力。因此,希望减轻示教作业的负担。
根据本实施例,在执行设备120的构造发生了改变的情况下、在执行设备120的设置发生了改变的情况下、在执行设备120的对象物品已改变的情况下、或者在执行设备120的周围环境已改变的情况下,管理设备140规划机器人的操作,使得机器人在不会干扰其它物体的情况下进行一系列作业操作。管理设备140使用逆运动学技术和逆动力学技术来规划机器人的操作器的轨迹。
然而,在规划机器人的操作时,存在如下的可能性:需要非常大的计算量,这导致计算时间长。因此,根据本实施例,管理设备140缩减操作器的轨迹中的由于上述的改变因而需要精确计算的区域。这样,减少了用于规划机器人的操作的计算量,并且缩短了计算时间。结果,在执行设备120的用户将各种改变的内容输入至管理设备140时,管理设备140在实际的时间量内输出反映了这些改变的内容的操作器的轨迹。这样,根据本实施例,大幅减少了示教作业的负担。以下进一步说明管理设备140的详情。
在本实施例中,输入终端160例如是作业系统100的用户所使用的通信终端,并且输入终端160的详情不受特别限制。输入终端160由个人计算机或移动终端等来例示。移动终端由移动电话、智能电话、PDA、平板电脑、笔记本式计算机、膝上型计算机或可穿戴式计算机等来例示。输入终端160可被用作执行设备120和管理设备140至少之一的用户界面。
在本实施例中,使用管理设备140管理执行设备120的示例来说明作业系统100的详情。然而,作业系统100不限于本实施例。管理设备140的功能的至少一部分可以由执行设备120和输入终端160至少之一来实现。在这种情况下,执行设备120可以是控制设备的示例。此外,输入终端160可以是控制设备的示例。
[作业系统100中的各部的详细结构]
作业系统100的各部可以由硬件、软件、或者硬件和软件这两者来实现。作业系统100的各部的至少一部分可以由单个服务器或多个服务器来实现。作业系统100的各部的至少一部分可以在虚拟服务器或云系统上实现。作业系统100的各部的至少一部分可以由个人计算机或移动终端来实现。移动终端可以由移动电话、智能电话、PDA、平板电脑、笔记本式计算机、膝上型计算机或可穿戴式计算机等来例示。作业系统100的各部可以使用诸如区块链等的分布式账本技术或分布式网络来存储信息。
如果形成作业系统100的组件中的至少一部分组件由软件实现,则由软件实现的这些组件可以通过利用具有一般结构的信息处理设备启动定义了与这些组件相对应的操作的程序来实现。上述的具有一般结构的信息处理设备可以包括:(i)数据处理设备,其具有诸如CPU或GPU等的处理器、ROM、RAM、以及通信接口等;(ii)输入设备,诸如键盘、指点装置、触摸面板、照相机、音频输入设备、手势输入设备、各种传感器或GPS接收器等;(iii)输出设备,诸如显示设备、音频输出设备或振动设备等;以及(iv)存储设备(包括外部存储设备),诸如存储器、HDD或SSD等。
在上述的具有一般结构的信息处理设备中,上述的数据处理设备或存储设备可以存储上述程序。上述程序通过由处理器执行来使得上述信息处理设备进行这些程序所定义的操作。上述程序可以存储在非暂时性计算机可读存储介质中。上述程序可以存储在诸如CD-ROM、DVD-ROM、存储器或硬盘等的计算机可读介质中,或者可以存储在连接至网络的存储设备中。
上述程序可以使得计算机用作作业系统100的一部分或全部。上述程序可以包括定义了作业系统100的各部的操作的模块。这些程序和模块作用于数据处理设备、输入设备、输出设备和存储设备等,以使得计算机用作作业系统100的各部并且使得计算机进行作业系统100的各部中的信息处理方法。
上述程序可以从计算机可读介质或连接至网络的存储设备安装在形成作业系统100的至少一部分的计算机中。通过执行上述程序,可以使计算机用作作业系统100的各部的至少一部分。通过使计算机读取上述程序,这些程序中所记录的信息处理用作通过与这些程序有关的软件和作业系统100的一部分或全部的各种硬件资源协作所实现的具体手段。这些具体手段实现了对与本实施例中的计算机的预期用途相对应的信息的计算或处理,由此形成与该预期用途相对应的作业系统100。
上述程序可以是用于使得计算机进行作业系统100的一部分或全部的信息处理方法的程序。上述信息处理方法可以是用于控制作业机器人的操作的方法。该作业机器人例如使用操作器来在对象区域的内部进行作业。
该控制方法用于控制用于使用操作器来在对象区域的内部进行作业的作业机器人的操作,并且例如包括改变信息获取步骤,该改变信息获取步骤用于获取(i)第一改变信息和(ii)第二改变信息至少之一,该第一改变信息与对象区域的内部所布置的一个以上的物体中的至少一个物体有关,并且指示与该至少一个物体的位置、取向、形状和大小至少之一有关的改变的发生,以及该第二改变信息指示要在对象区域的内部布置新物体。该控制方法例如包括模型信息获取步骤,该模型信息获取步骤用于获取(i)第一模型信息和(ii)第二模型信息至少之一,该第一模型信息指示在发生了改变之后的一个以上的物体中的各物体的位置、取向、形状和大小,以及该第二模型信息指示新物体的位置、取向、形状和大小。
该控制方法例如包括轨迹信息获取步骤,该轨迹信息获取步骤用于获取N-1或N个轨迹信息,该N-1或N个轨迹信息分别指示将作业机器人进行一系列作业操作的N个作业区域按这一系列作业操作的顺序连结的N-1或N个轨迹。该控制方法例如包括分类步骤,该分类步骤用于将N-1或N个轨迹分类为(i)由于由第一改变信息和第二改变信息至少之一所指示的对象区域内的改变因而需要校正的轨迹、以及(ii)即使在由第一改变信息和第二改变信息至少之一所指示的对象区域内发生了改变也无需校正的轨迹。该控制方法例如包括轨迹规划步骤,该轨迹规划步骤用于针对在分类步骤中被分类为需要校正的轨迹的一个以上的轨迹中的各轨迹,基于第一模型信息和第二模型信息至少之一来规划操作器的前端在与各个轨迹有关的两个作业区域之间的轨迹。在该控制方法中,N可以是大于或等于2的整数。
图2示意性示出执行设备120的系统结构的示例。在本实施例中,执行设备120包括输送机212和机器人214。在本实施例中,机器人214包括操作器220、平台230、轨道232、驱动部240和驱动控制部250。在本实施例中,操作器220包括作业工具222和机械臂224。
机器人214可以包括单个操作器220或多个操作器220。机器人214可以使用单个操作器220来在单个工件20上进行作业,或者可以使用多个操作器220来在单个工件20上进行作业。机器人214可以使用单个操作器220来一次对多个工件20进行作业。
机器人214可以是作业机器人的示例。作业工具222可以是操作器220的前端的示例。作业工具222的轨迹可以是操作器220的前端的轨迹的示例。作业工具222的位置和取向可以是操作器220的前端的位置和取向的示例。
在本实施例中,执行设备120对对象区域202的内部所布置的工件20进行预定作业。对象区域202可以是执行设备120可以进行作业的区域。工件20可以具有一个以上的凸部22。作业的类型由拾取作业、钻削作业、车削作业、焊接作业、组装作业或涂装作业等来例示。
在本实施例中,输送机212运输工件20。例如,输送机212将工件20从对象区域202的外部运输到对象区域202的内部的预定位置。在利用机器人214对工件20的作业结束时,输送机212将工件20运输到对象区域202的外部。
在本实施例中,机器人214进行针对工件20的各类型的作业。例如,机器人214使用操作器220来在对象区域202的内部进行作业。机器人214的操作的至少一部分由管理设备140控制。
在本实施例中,作业工具222是与指定作业相对应的夹具、器材或工具。作业工具222的详情不受特别限制。作业工具222可以具有与相应作业相对应的形状、构造和功能。作业工具222可以包括各种传感器。作业工具222可以包括诸如照相机等的摄像设备。作业工具222例如附接至机械臂224的前端。可以通过更换作业工具222来使机器人214对应于各类型的作业。
在本实施例中,机械臂224连接至作业工具222,并且调整作业工具222的位置和取向。机械臂224的构造不受特别限制,并且例如,使用具有多个关节的多关节机械臂。机械臂224可以包括诸如质量测量传感器和负载测量传感器等的各种传感器。负载测量传感器可以是用于测量用于驱动机械臂224的各关节的驱动部240的扭矩、电流值或电压值的传感器。
在本实施例中,平台230支撑操作器220。平台230可以是固定平台,或者可以是可动平台。在本实施例中,平台230可以沿着轨道232的延伸方向在轨道232上移动。这样,作业工具222可以到达对象区域202中的任何位置。平台230可以在其内部容纳驱动部240的至少一部分。平台230可以在其内部容纳驱动控制部250的至少一部分。
在本实施例中,驱动部240驱动操作器220。在本实施例中,驱动部240驱动作业工具222。在本实施例中,驱动部240向作业工具222供给流体并从作业工具222吸引流体。驱动部240可以是泵。驱动部240可以包括一个以上的泵。流体可以是用于熔接或焊接的气体,或者可以是用于冷却或清洁的流体。在另一实施例中,驱动部240可以向作业工具222供给电力。例如,驱动部240可以是控制向作业工具222的电力的供给的元件。
在又一实施例中,驱动部240驱动机械臂224。例如,驱动部240调整机械臂224的各关节的角度。驱动部240可以是马达。驱动部240可以包括一个以上的马达。在又一实施例中,驱动部240驱动平台230。例如,驱动部240调整工件20和平台230的相对位置。驱动部240可以是马达。驱动部240可以包括一个以上的马达。
驱动控制部250控制驱动部240。例如,驱动控制部250从管理设备140接收用于控制机器人214对工件20的作业的命令。驱动控制部250基于来自管理设备140的命令来控制驱动部240。
用于控制对工件20进行的作业的命令可以是指示作业工具222的轨迹的信息。指示作业工具222的轨迹的信息可以由以下的信息来例示:(i)指示作业工具222的初始布置、过渡布置、最终布置和移动时间的信息;(ii)指示初始布置、过渡布置和最终布置时的作业工具222的各关节的角度和移动时间的信息;(iii)指示移动时间内的各时刻的作业工具222的布置的信息;以及(iv)指示移动时间内的各时刻的作业工具222的各关节的角度的信息;等等。作业工具222的布置例如由作业工具222的位置和取向来指定。
图3、图4和图5用于说明伴随有执行设备120的周围环境的变化或工件20的变化的整体轨迹340的变化。图3示意性示出在对象区域202的内部存在障碍物320的情况下的整体轨迹340的示例。图4示意性示出在图3所示的对象区域202的内部添加了障碍物420的情况下的整体轨迹340的示例。图5示意性示出障碍物320相对于图4所示的状态已从对象区域202的内部被移除的情况下的整体轨迹340的示例。
在关于图3所述的实施例中,机器人214在作业点32、作业点34、作业点36和作业点38中的各作业点处进行用户所指定的一系列作业操作。在本实施例中,在作业点32处进行了作业之后,机器人214使作业工具222沿着单位轨迹342移动到作业点34。同样,在作业点34处进行了作业之后,机器人214使作业工具222沿着单位轨迹344移动到作业点36。此外,在作业点36处进行了作业之后,机器人214使作业工具222沿着单位轨迹346移动到作业点38。
单位轨迹342、单位轨迹344和单位轨迹346各自被规划成使得操作器220和对象区域202的内部所布置的其它物体之间的距离大于预定值(有时称为干扰余量)。这样,防止了操作器220和上述其它物体之间的干扰。例如,在本实施例中,单位轨迹344被规划成与障碍物320和工件20的凸部22不存在干扰。
作业点32、作业点34、作业点36和作业点38是作业机器人进行一系列作业的N个作业区域(N是大于或等于2的整数,但作为替代可以是大于或等于3的整数或者大于或等于4的整数)的示例。作业点32、作业点34、作业点36和作业点38各自可以是作业区域的示例。根据作业的类型,存在机器人214使得作业工具222在作业区域的内部沿着指定路线移动的情况。在这种情况下,作业点32、作业点34、作业点36和作业点38各自可以是作业区域内的任何地点,并且各自可以是在开始各个作业区域中的作业时作业工具222布置的地点。
单位轨迹342、单位轨迹344和单位轨迹346形成指示通过了一系列作业操作的作业工具222的轨迹的整体轨迹340。单位轨迹342、单位轨迹344和单位轨迹346可以是将进行一系列作业操作的N个作业区域按这一系列作业操作的顺序连结的N-1或N个轨迹的示例。
在针对作业工具222设置了原始位置的情况下,机器人214可以在开始作业点32处的作业之前,使作业工具222从原始位置移动到作业点32。此外,机器人214可以在作业点38处的作业已完成之后,使作业工具222移动到原始位置。在这种情况下,作业工具222的整体轨迹340由将原始位置和进行一系列作业操作的N个作业位置按该一系列作业操作的顺序连结的N或N+1个轨迹形成。
此外,在本实施例中,使用作业点32和作业点38是对象区域202的内部的不同地点或区域的示例来说明作业工具222的轨迹。然而,作业工具222的轨迹不限于本实施例。在另一实施例中,作业点32和作业点38可以是同一地点或区域。在这种情况下,作业工具222的整体轨迹340包括(i)单位轨迹342、单位轨迹344和单位轨迹346、以及(ii)连结作业点38和作业点32的单位轨迹。
根据关于图4所述的实施例,在机器人214使作业工具222沿着图3所示的整体轨迹340移动的同时正进行一系列作业操作的状态下,在单位轨迹346的附近添加了障碍物420。障碍物420例如布置在单位轨迹346中的引起与操作器220的干扰的位置。
根据本实施例,用户操纵输入终端160,以将指示要在单位轨迹346的附近添加障碍物420的信息(有时称为改变信息)发送至管理设备140。在接收到该改变信息时,管理设备140判断是否需要规划新的整体轨迹340。
更具体地,针对单位轨迹342、单位轨迹344和单位轨迹346中的各单位轨迹,管理设备140判断由于添加了障碍物420而导致重新规划该单位轨迹的必要性是否高。管理设备140可以基于相应的单位轨迹342、单位轨迹344或单位轨迹346及其与障碍物420的关联度来判断重新规划该单位轨迹的必要性是否高。管理设备140可以提取重新规划轨迹的必要性高的单位轨迹。
如果所指定的单位轨迹和障碍物420之间的关联度大于预定量,则管理设备140可以判断为重新规划该所指定的单位轨迹的必要性高。如果所指定的单位轨迹和障碍物420之间的关联度小于预定量,则管理设备140可以判断为重新规划该所指定的单位轨迹的必要性不高。例如,如果所指定的单位轨迹和障碍物420之间的干扰的可能性高,则管理设备140判断为所指定的单位轨迹和障碍物420之间的关联度大于预定量。
如果提取了重新规划轨迹的必要性高的单位轨迹,则管理设备140判断为必须规划新的整体轨迹340。然后,管理设备140在考虑到障碍物420的位置、取向、形状和大小的情况下,重新规划所提取的单位轨迹的轨迹。此外,管理设备140将与当前轨迹有关的信息重用于其它单位轨迹。另一方面,如果未提取到重新规划轨迹的必要性高的单位轨迹,则管理设备140判断为无需规划新的整体轨迹340。
例如,根据本实施例,判断为单位轨迹342和单位轨迹344不是重新规划轨迹的必要性高的单位轨迹,并且判断为单位轨迹346是重新规划轨迹的必要性高的单位轨迹。因此,管理设备140基于当前的单位轨迹342、当前的单位轨迹344和改变后的单位轨迹346来规划改变后的整体轨迹340。
这样,即使在对象区域202的内部添加了障碍物420的情况下,也可以在短时间内规划改变后的整体轨迹340。应当注意,还想到:通过仅重新规划被判断为重新规划轨迹的必要性高的单位轨迹346内的障碍物420引起干扰的区域,来减少用于规划改变后的整体轨迹340的计算量。
然而,在这种情况下,也可想到:由于障碍物420的位置,因而轨迹的形状将不是平滑的,并且在机器人214重新开始作业之后,将会对操作器220的关节施加过度负担。此外,改变之前的单位轨迹是针对不存在障碍物420的情况最优的。因此,通过仅改变单位轨迹346中的存在与障碍物420的干扰的区域所获得的轨迹不一定是用于连结单位轨迹346的起点和终点的合适轨迹,并且有可能存在其它更合适的轨迹。
另一方面,根据本实施例,重新规划整个单位轨迹346。因此,与仅重新规划单位轨迹346中的存在与障碍物420的干扰的区域的情况相比,可以得到更合适的轨迹。
根据关于图5所述的实施例,在机器人214在使作业工具222沿着图4所示的整体轨迹340移动的同时正进行一系列作业操作的状态下,将单位轨迹344的附近所布置的障碍物320从对象区域202移除。障碍物320可被移动到对象区域202内的比当前位置离单位轨迹344更远的地点。
根据本实施例,用户操纵输入终端160,以将指示要移除或移动障碍物320的信息(有时称为改变信息)发送至管理设备140。在接收到该改变信息时,管理设备140首先判断是否需要规划新的整体轨迹340。
更具体地,针对单位轨迹342、单位轨迹344和单位轨迹346中的各单位轨迹,管理设备140判断由于障碍物320的移除或移动而导致重新规划单位轨迹的必要性是否高。管理设备140可以基于相应的单位轨迹342、单位轨迹344或单位轨迹346与障碍物320之间的关联度来判断重新规划单位轨迹的必要性是否高。管理设备140可以提取重新规划轨迹的必要性高的单位轨迹。
如果所指定的单位轨迹和障碍物320之间的关联度大于预定量,则管理设备140可以判断为重新规划该所指定的单位轨迹的必要性高。如果所指定的单位轨迹和障碍物320之间的关联度小于预定量,则管理设备140可以判断为重新规划该所指定的单位轨迹的必要性不高。例如,如果基于所指定的单位轨迹、当前轨迹已按避开障碍物320的方式进行规划的可能性高,则管理设备140判断为所指定的单位轨迹和障碍物320之间的关联度大于预定量。
如果提取了重新规划轨迹的必要性高的单位轨迹,则管理设备140判断为必须规划新的整体轨迹340。然后,管理设备140在考虑到障碍物320的移除或障碍物320的移动的情况下,重新规划所提取的单位轨迹的轨迹。此外,管理设备140将与当前轨迹有关的信息重用于其它单位轨迹。另一方面,如果未提取到重新规划轨迹的必要性高的单位轨迹,则管理设备140判断为无需规划新的整体轨迹340。
例如,根据本实施例,判断为单位轨迹342和单位轨迹346不是重新规划轨迹的必要性高的单位轨迹,并且判断为单位轨迹344是重新规划轨迹的必要性高的单位轨迹。因此,管理设备140基于当前的单位轨迹342、改变后的单位轨迹344和当前的单位轨迹346来规划改变后的整体轨迹340。
这样,即使在使障碍物320从对象区域202的内部移除或者移动到离整体轨迹340更远的位置的情况下,也可以在短时间内规划更合适的整体轨迹340。应当注意,为了减少用于规划改变后的整体轨迹340的计算量,还想到:在使障碍物320从对象区域202的内部移除或者移动到离整体轨迹340更远的位置的情况下,不重新规划轨迹。
然而,还可想到:在假定存在障碍物320的情况下规划当前轨迹,因此在障碍物320不再存在或者障碍物320位于更远的位置的情况下,存在其它更合适的轨迹。另一方面,根据本实施例,即使在使障碍物320从对象区域202的内部移除或者移动到离整体轨迹340更远的位置的情况下,也重新规划与障碍物320的关联性高的单位轨迹,因此与在不重新规划该轨迹的情况相比,可以得到更合适的轨迹。
图6示意性示出管理设备140的系统结构的示例。在本实施例中,管理设备140包括通信控制部620、模型管理部630、系统管理部640和存储部650。
模型管理部630可以是改变信息获取部和模型信息获取部的示例。系统管理部640可以是控制设备的示例。
在本实施例中,通信控制部620控制与执行设备120和输入终端160至少之一的通信。通信控制部620可以是通信接口。通信控制部620可以对应于各种类型的通信方法。
在本实施例中,模型管理部630管理与对象区域202的内部所布置的一个以上的物体有关的信息。模型管理部630可以管理与对象区域202的内部可以布置的一个以上的物体有关的信息。模型管理部630可以管理这一个以上的物体中的各物体的仿真模型。模型管理部630可以管理指示这一个以上的物体中的各物体的位置、取向、形状和大小的信息。这些物体的示例包括工件20、输送机212、机器人214、障碍物320、障碍物420或它们的一部分等。
在一个实施例中,用户操纵输入终端160,以输入与对象区域202的内部所布置的一个以上的物体的位置、取向、形状和大小有关的信息,并且将该信息发送至管理设备140。管理设备140可以获取用户所输入的信息并将该信息存储在存储部650中。
在另一实施例中,用户操纵输入终端160,以输入指示与对象区域202的内部所布置的一个以上的物体的位置、取向、形状和大小至少之一有关的改变的发生的信息(有时称为改变信息),并将该信息发送至管理设备140。该改变包括将物体从对象区域202的内部移除。该改变包括伴随着物体的操作的该物体的位置、取向、形状和大小至少之一的改变。
指示改变的发生的信息可以是指示发生了改变的信息,或者可以是指示在不久的将来将发生改变的信息。该改变信息可以是第一改变信息的示例。管理设备140可以获取该改变信息并将该改变信息存储在存储部650中。
用户操纵输入终端160,以输入指示在发生了改变之后的一个以上的物体的位置、取向、形状和大小的信息,并将该信息发送至管理设备140。指示在发生了改变之后的一个以上的物体的位置、取向、形状和大小的信息可以是与一个以上的物体的位置、取向、形状和大小中的改变的特征有关的信息。该信息可以是第一模型信息的示例。管理设备140可以获取该信息并将该信息存储在存储部650中。
在又一实施例中,用户操纵输入终端160,以输入指示在对象区域202的内部布置新物体的信息,并将该信息发送至管理设备140。该信息可以是改变信息的示例。指示在对象区域202的内部布置了新物体的信息可以是指示对象区域202的内部所布置的新物体的信息,或者可以是指示在对象区域202的内部将要布置的新物体的信息。该改变信息可以是第二改变信息的示例。管理设备140可以获取该改变信息并将该改变信息存储在存储部650中。
用户操纵输入终端160,以输入指示该新物体的位置、取向、形状和大小的信息,并将该信息发送至管理设备140。该信息可以是第二模型信息的示例。管理设备140可以获取该信息并将该信息存储在存储部650中。
在本实施例中,系统管理部640管理执行设备120。例如,系统管理部640控制执行设备120的操作。系统管理部640可以通过确定执行设备120的控制参数来控制执行设备120的操作。系统管理部640可以管理用于控制执行设备120的操作的各类型的设置信息。以下进一步说明系统管理部640的详情。
在本实施例中,存储部650获取各种信息。在一个实施例中,存储部650存储与仿真模型有关的信息。存储部650可以存储指示对象区域202的内部所布置的一个以上的物体的位置、取向、形状和大小的信息。存储部650可以存储指示改变之后的位置、取向、形状和大小中的至少一个的信息,该信息是与对象区域202的内部所布置的一个以上的物体中的位置、取向、形状和大小中的该至少一个已改变的物体有关的信息。存储部650可以存储与要从对象区域202移除的物体有关的信息。存储部650可以存储指示要新添加到对象区域202的物体的位置、取向、形状和大小的信息。
在本实施例中,存储部650存储与机器人214的作业有关的信息。存储部650存储指示作业调度的信息。例如,存储部650将作业的识别信息、作业的对象的识别信息、指示要进行作业的时刻的信息、指示要进行作业的地点的信息和指示作业的内容的信息与一个以上的作业操作中的各作业操作相关联地存储。
存储部650可以存储指示作业工具222针对一系列作业操作的轨迹的信息。存储部650可以存储指示作业工具222的整体轨迹的信息,或者可以存储指示形成该整体轨迹的多个单位轨迹中的各单位轨迹的信息。指示作业工具222的轨迹的信息可以是指示作业工具222的位置和取向的信息的集合。指示作业工具222的整体轨迹或单位轨迹的信息可以是如下的信息,在该信息中,指示从作业工具222开始移动时起的经过时间的信息与指示作业工具222的位置和取向的信息彼此相关联。
图7示意性示出系统管理部640的内部结构的示例。在本实施例中,系统管理部640包括检测部720、调整部730和系统控制部740。
检测部720可以是改变信息获取部的示例。调整部730可以是控制设备、分类部、轨迹信息获取部、轨迹规划部和轨迹确定部的示例。系统控制部740可以是输出部的示例。
在本实施例中,检测部720检测到:(i)执行设备120的构造发生了改变;(ii)执行设备120的设置发生了改变;(iii)执行设备120的对象物品已改变;或者(iv)执行设备120的周围环境发生了改变。例如,如果模型管理部630获取到各种改变信息,则检测部720检测到与该改变信息相对应的属性发生了改变、或者在不久的将来将发生改变。检测部720可以通过获取对象区域202的内部所布置的各种传感器的输出来检测该改变。检测部720可以将指示已检测到各种改变的信息输出至调整部730。
与执行设备120的构造有关的改变由与机械臂224的位置、取向、形状、大小、运动学参数和动力学参数至少之一有关的改变来例示。与执行设备120的设置有关的改变由与作业工具222的起点、终点、移动速度和加速度至少之一有关的改变或者与干扰余量有关的改变等来例示。
在本实施例中,在检测部720检测到各种改变中的任何改变的情况下,调整部730调整机器人214的设置。例如,调整部730根据所检测到的改变的内容,改变与机器人214的作业工具222的轨迹有关的设置。以下进一步说明调整部730的详情。
在本实施例中,系统控制部740控制机器人214。例如,系统控制部740输出用于控制操作器220的操作的控制信息。系统控制部740将用于基于由调整部730所确定的作业工具222的轨迹来控制操作器220的操作的控制信息输出至机器人214的驱动控制部250。
图8示意性示出调整部730的内部结构的示例。在本实施例中,调整部730包括基本信息获取部820、仿真模型生成部830、提取部840、轨迹规划部850和轨迹确定部860。在本实施例中,提取部840包括判断模型生成部842、判断精度计算部844、碰撞判断部846和分类判断部848。
在本实施例中,基本信息获取部820获取调整机器人214的设置所需的信息(有时称为基本信息)。基本信息获取部820可以从检测部720获取指示检测到改变的信息和指示该改变的内容的信息。例如,如果检测部720已检测到所指定的物体的位置、取向、形状和大小至少之一的改变,则基本信息获取部820获取指示改变之后的该所指定的物体的位置、取向、形状和大小的信息。
基本信息获取部820可以参考存储部650,以获取指示对象区域202的内部所布置的一个以上的物体中的各物体的位置、取向、形状和大小的信息。基本信息获取部820可以参考存储部650,以获取用于识别要从对象区域202的内部移除的物体的信息。基本信息获取部820可以参考存储部650,以获取指示要添加到对象区域202的内部的新物体的位置、取向、形状和大小的信息。基本信息获取部820可以参考存储部650,以获取与作业工具222的轨迹有关的信息。例如,基本信息获取部820获取指示形成最新的整体轨迹的一个以上的单位轨迹的信息。
基本信息获取部820可以参考存储部650,以获取指示干扰余量的大小的信息。基本信息获取部820可以参考存储部650,以获取与在提取部840的信息处理中所要使用的各类型的设置有关的信息。例如,基本信息获取部820获取(i)用于利用判断模型生成部842确定判断模型的大小的参数和(ii)用于利用判断精度计算部844确定判断精度的参数至少之一。基本信息获取部820可以从输入终端160获取这些基本信息。
在本实施例中,仿真模型生成部830生成用于规划作业工具222的轨迹的仿真模型。在一个实施例中,仿真模型生成部830基于(i)基本信息获取部820所获取到的布置在对象区域202的内部的一个以上的物品中的各物品的模型、以及(ii)判断模型生成部842所生成的操作器220的模型,来生成仿真模型。这一个以上的物品可以包括要新添加到对象区域202的物品。
在另一实施例中,仿真模型生成部830基于(i)基本信息获取部820所获取到的操作器220的模型、以及(ii)判断模型生成部842所生成的布置在对象区域202的内部的一个以上的物品中的各物品的模型,来生成仿真模型。这一个以上的物品可以包括要新添加到对象区域202的物品。
在又一实施例中,仿真模型生成部830基于(i)判断模型生成部842所生成的操作器220的模型、(ii)判断模型生成部842所生成的与布置在对象区域202的内部的一个以上的物品中的至少一部分物品有关的模型、以及基本信息获取部820所生成的与布置在对象区域202的内部的一个以上的物品中的剩余物品有关的模型,来生成仿真模型。这一个以上的物品可以包括要新添加到对象区域202的物品。
在本实施例中,提取部840将改变之前的一个以上的单位轨迹分类为(i)响应于检测部720所检测到的对象区域202的内部的改变而需要校正的单位轨迹、或者(ii)即使检测部720检测到对象区域202的内部的改变也无需校正的单位轨迹。提取部840可以将指示需要校正的单位轨迹的信息输出至轨迹规划部850。另一方面,提取部840可以将指示无需校正的单位轨迹的信息输出至轨迹确定部860。
在本实施例中,判断模型生成部842生成判断模型,其中在该判断模型中,默认将基本信息获取部820所获取到的模型中的一部分模型设置成具有该判断模型的形状和大小至少之一。判断模型生成部842可以将指示所生成的判断模型的位置、取向、形状和大小的信息输出至仿真模型生成部830。判断模型的形状可以是比基本信息获取部820所获取到的模型的形状更简单的形状。
在一个实施例中,判断模型生成部842增大操作器220的大小,以生成操作器220的判断模型。判断模型生成部842可以生成具有比操作器220大且简单的形状的模型,并且输出该模型作为操作器220的判断模型。
判断模型生成部842输出具有圆柱形状、多角柱形状、球体形状或这些形状的组合并且在内部包含操作器220整体的模型,作为操作器220的判断模型。多角柱形状由三角柱、四角柱或六角柱等来例示。操作器220的判断模型可以是第一放大模型的示例。
判断模型生成部842例如从基本信息获取部820获取指示操作器220的大小和判断模型的大小之间的关系的参数。该参数可以是指示判断模型的大小相对于操作器220的大小的参数(有时称为放大率)。判断模型生成部842可以基于该参数来生成判断模型。该参数被设置成使得操作器220的轮廓和判断模型的轮廓之间的最小距离大于干扰余量。这样,几乎实时地生成了比基本信息获取部820所生成的模型大且形状比基本信息获取部820所获取到的模型的形状简单的判断模型。结果,碰撞判断部846可以用少的计算量相对准确地进行碰撞判断处理。
此外,可以在任何时间改变上述参数。例如,判断模型生成部842在检测部720检测到对象区域202的内部的改变时,确定该参数。判断模型生成部842可以根据改变的类型来确定该参数。改变的类型由操作器220的位置的改变、操作器220的取向的改变、操作器220的形状的改变、操作器220的大小的改变和这些改变的组合来例示。改变的类型由向对象区域202的内部添加操作器220和从对象区域202的内部移除操作器220等来例示。这样,判断模型的大小根据环境的变化而适当地改变。结果,由于轨迹的重新计算,因此可以获得与环境的变化相对应的合适轨迹。
在另一实施例中,判断模型生成部842通过增大对象区域202中所布置的一个以上的物体中的至少一部分物体的大小来生成物体的判断模型。该物体可以是并非操作器220的物体。该物体可以是检测到改变的物体。该物体可以是新布置在对象区域202中的物体。该物体可以是要从对象区域202移除的物体。判断模型生成部842可以生成具有比该物体大且简单的形状的模型,并且输出该模型作为该物体的判断模型。
判断模型生成部842输出具有圆柱形状、多角柱形状、球体形状或这些形状的组合并且在内部包含所有上述物体的模型,作为该物体的判断模型。多角柱形状由三角柱、四角柱或六角柱等来例示。对象区域202中所布置的物体的判断模型可以是第二放大模型的示例。
判断模型生成部842例如从基本信息获取部820获取指示对象区域202中所布置的各物体的大小和判断模型的大小之间的关系的参数。该参数可以是指示判断模型的大小相对于各物体的大小的参数(有时称为放大率)。判断模型生成部842可以基于该参数来生成判断模型。该参数被设置成使得各物体的轮廓和判断模型的轮廓之间的最小距离大于干扰余量。这样,几乎实时地生成了比基本信息获取部820所生成的模型大且形状比基本信息获取部820所获取到的模型的形状简单的判断模型。结果,碰撞判断部846可以用少的计算量相对准确地进行碰撞判断处理。
此外,可以在任何时间改变上述参数。例如,判断模型生成部842在检测部720检测到对象区域202的内部的改变时,确定该参数。判断模型生成部842可以根据改变的类型来确定该参数。改变的类型由物体的位置的改变、物体的取向的改变、物体的形状的改变、物体的大小的改变和这些改变的组合来例示。改变的类型由向对象区域202的内部添加物体和从对象区域202的内部移除物体等来例示。这样,判断模型的大小根据环境的变化而适当地改变。结果,由于轨迹的重新计算,因此可以获得与环境的变化相对应的合适轨迹。
在本实施例中,判断精度计算部844计算指示碰撞判断部846的判断精度的参数的值。如以下进一步所述,碰撞判断部846在单位轨迹上的M个地点(其中,M是大于或等于1的整数)处进行碰撞判断处理。换句话说,对于一个单位轨迹,进行M次碰撞判断处理。指示判断精度的参数可以是针对各单位轨迹进行碰撞判断处理的时间段,或者可以是针对各单位轨迹进行碰撞判断处理的次数M。
在一个实施例中,判断精度计算部844基于操作器220的大小和操作器220的判断模型的大小至少之一来计算指示判断精度的参数的值。判断精度计算部844可以基于指示操作器220的大小和判断模型的大小之间的关系的参数的值来计算指示判断精度的参数的值。
例如,判断精度计算部844计算指示判断精度的参数的值,使得操作器220的大小越大,上述M的值变得越大。判断精度计算部844可以计算指示判断精度的参数的值,使得操作器220的大小越大,上述M的值变得越小。
例如,判断精度计算部844可以计算指示判断精度的参数的值,使得操作器220的判断模型的大小相对于操作器220的大小越大(即,判断模型的放大率越大),上述M的值变得越大。判断精度计算部844可以计算指示判断精度的参数的值,使得操作器220的判断模型的大小相对于操作器220的大小越大,上述M的值变得越小。
在另一实施例中,判断精度计算部844基于对象区域202中所布置的物体的大小和该物体的判断模型的大小至少之一,来计算指示判断精度的参数的值。判断精度计算部844可以基于指示该物体的大小和该物体的判断模型的大小之间的关系的参数的值,来计算指示判断精度的参数的值。
例如,判断精度计算部844计算指示判断精度的参数的值,使得上述物体的大小越大,上述M的值变得越大。判断精度计算部844可以计算指示判断精度的参数的值,使得上述物体的大小越大,上述M的值变得越小。
例如,判断精度计算部844计算指示判断精度的参数的值,使得上述物体的判断模型的大小相对于该物体的大小越大(即,判断模型的放大率越大),上述M的值变得越大。判断精度计算部844可以计算指示判断精度的参数的值,使得上述物体的判断模型的大小相对于该物体的大小越大,上述M的值变得越小。
在另一实施例中,判断精度计算部844基于关节空间中的操作器220的操作和现实空间中的操作器220的操作之间的关系,来计算指示判断精度的参数的值。例如,判断精度计算部844计算指示判断精度的参数的值,使得操作器220的自由度越大,上述M的值变得越大。判断精度计算部844可以计算指示判断精度的参数的值,使得操作器220的自由度越大,上述M的值变得越小。
在本实施例中,碰撞判断部846使用仿真模型生成部830所生成的仿真模型来针对一个以上的单位轨迹中的各单位轨迹进行碰撞判断处理。利用碰撞判断处理,可以通过判断数个不等式的状态来判断两个物体是否将碰撞。这样,可以使用相对较少的计算量来判断是否存在干扰。
可考虑用于判断是否存在干扰的另一方法包括:检测两个物体之间的最小距离,并基于该最小距离来判断是否存在干扰。然而,在该距离判断中,必须计算一个物体的轮廓上的多个点中的各点和另一物体的轮廓上的多个点中的各点之间的距离,因此计算量非常大。
在本实施例中,碰撞判断部846使用操作器220和对象区域202的内部所布置的除操作器220以外的物体至少之一是默认的模型来进行碰撞判断处理。这样,在通过计算操作器220和上述物体之间的距离来判断是否重新规划轨迹的情况下,可以将计算量限制为该计算量的百分之几。
例如,碰撞判断部846使用通过放大操作器220或其一部分(例如,作业工具222或机械臂224)所获得的模型以及工件20、障碍物320和障碍物420的实际尺寸的模型来进行碰撞判断处理。碰撞判断部846可以使用工件20和操作器220的实际尺寸的模型以及通过放大障碍物320和障碍物420所获得的模型来进行碰撞判断处理。碰撞判断部846可以使用工件20的实际尺寸的模型、通过放大操作器220或其一部分(例如,作业工具222或机械臂224)所获得的模型、以及通过放大障碍物320和障碍物420所获得的模型,来进行碰撞判断处理。碰撞判断部846可以使用通过放大工件20所获得的模型来进行碰撞判断处理。
碰撞判断部846可以针对形成整体轨迹的一个以上的单位轨迹中的各单位轨迹,判断在各单位轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的各物体的模型或判断模型与(ii)操作器220的判断模型之间是否将存在碰撞。碰撞判断部846可以针对形成整体轨迹的一个以上的单位轨迹中的各单位轨迹,判断在各单位轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的检测到改变的物体的模型或判断模型与(ii)操作器220的判断模型之间是否将存在碰撞。
碰撞判断部846可以针对形成整体轨迹的一个以上的单位轨迹中的各单位轨迹,判断在各单位轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的各物体的判断模型与(ii)操作器220的判断模型或模型之间是否将存在碰撞。碰撞判断部846可以针对形成整体轨迹的一个以上的单位轨迹中的各单位轨迹,判断在各单位轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的检测到改变的物体的判断模型与(ii)操作器220的判断模型或模型之间是否将存在碰撞。
上述的对象区域202中所布置的一个以上的物体可以包括要新添加到对象区域202的内部的物体。对象区域202中所布置的这一个以上的物体可以包括要从对象区域202的内部移除的物体。这样,在关于图5所述的实施例中,提取部840可以提取存在更合适的单位轨迹的可能性高的单位轨迹。
在通过使用判断模型的碰撞判断处理判断为在所指定的单位轨迹中在操作器220和发生了与位置、取向、形状和大小至少之一有关的改变的物体之间将存在碰撞的情况下,该单位轨迹被判断为与检测到该改变的物体的关联度高的单位轨迹。该单位轨迹可被判断为重新规划轨迹的必要性高的单位轨迹。
如果检测到改变的该物体是要从对象区域202的内部移除的物体,则在假定该物体位于被移除之前将所处的位置的情况下,可以通过进行与上述过程相同的过程来进行碰撞判断处理。如果通过上述碰撞判断处理判断为在所指定的单位轨迹中要移除的物体与操作器220将碰撞,则该单位轨迹例如被判断为与要移除的物体的关联度高的单位轨迹。该单位轨迹可被判断为重新规划轨迹的必要性高的单位轨迹。
碰撞判断部846无需对单位轨迹上的所有M个点都进行碰撞判断处理。如果判断为在单位轨迹上的一个地点处将发生碰撞,则碰撞判断部846可以跳过针对该单位轨迹的这M个地点中的尚未进行碰撞判断处理的地点的碰撞判断处理。这样,可以进一步减少计算量。
同样,碰撞判断部846可以针对一个以上的单位轨迹中的各单位轨迹,判断在各轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体至少之一的判断模型与(ii)操作器220的判断模型之间是否将存在碰撞。碰撞判断部846可以针对一个以上的单位轨迹中的各单位轨迹,判断在各轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的各物体的判断模型与(ii)操作器220的模型之间是否将存在碰撞。
同样,碰撞判断部846可以针对一个以上的单位轨迹中的各单位轨迹,判断在各轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体至少之一的判断模型与(ii)操作器220的模型之间是否将存在碰撞。碰撞判断部846可以针对一个以上的单位轨迹中的各单位轨迹,判断在各轨迹上的M个地点中的各地点处,在(i)对象区域202中所布置的一个以上的物体中的各物体的判断模型与(ii)操作器220的模型之间是否将存在碰撞。
在本实施例中,分类判断部848将形成整体轨迹的一个以上的单位轨迹中的各单位轨迹分类为需要校正的单位轨迹或无需校正的单位轨迹。分类判断部848判断为一个以上的单位轨迹中的已由碰撞判断部846判断为在单位轨迹中的至少一个点处产生碰撞的该单位轨迹是需要校正的轨迹。已由碰撞判断部846判断为在单位轨迹中的至少一个点处产生碰撞的该单位轨迹可以是与对象区域202中所布置的一个以上的物体的关联度大的轨迹的示例。
分类判断部848可以判断为一个以上的单位轨迹中的已由碰撞判断部846判断为在单位轨迹的M个地点中的任何地点处都不会产生碰撞的该单位轨迹是无需校正的轨迹。可以通过将需要校正的单位轨迹从形成整体轨迹的一个以上的单位轨迹中移除来确定无需校正的单位轨迹。已由碰撞判断部846判断为在单位轨迹上的M个地点中的任何地点处都不产生碰撞的该单位轨迹可以是与对象区域202中所布置的一个以上的物体的关联度小的轨迹的示例。
在本实施例中,分类判断部848将指示需要校正的单位轨迹的信息输出至轨迹规划部850。分类判断部848可以将指示无需校正的单位轨迹的信息输出至轨迹确定部860。
在本实施例中,轨迹规划部850针对需要校正的各单位轨迹来规划作业工具222的轨迹。用于规划各单位轨迹的轨迹的方法不受特别限制。例如,轨迹规划部850可以根据日本专利6325174所述的过程来规划各单位轨迹。
轨迹规划部850可以使用通过使用操作器220的模型和对象区域202中布置的一个以上的物体的模型所构建的仿真模型来规划作业工具222的轨迹。这种情况下的模型是通过再现实际操作器220和物体所获得的模型、而不是默认判断模型。此外,在本实施例中,上述的一个以上的物体的模型包括要新添加到对象区域202的物体的模型。另外,上述的一个以上的物体的模型不包括已从对象区域202移除的物体的模型。
在本实施例中,轨迹确定部860确定作业工具222的整体轨迹。例如,轨迹确定部860基于(i)与由提取部840判断为需要校正的单位轨迹有关并且指示轨迹规划部850已重新规划的单位轨迹的信息、以及(ii)指示由提取部840判断为无需校正的单位轨迹的信息,来确定已通过一系列作业操作的作业工具222的轨迹。
如上所述,根据本实施例,调整部730使用检测到改变的物体以及操作器220至少之一的具有比实际物品大的尺寸的判断模型来构建仿真模型,并且针对形成整体轨迹的所有单位轨迹进行碰撞判断处理以判断这些物品之间的碰撞。之后,调整部730重新规划根据该碰撞判断处理判断为碰撞的单位轨迹。另一方面,重用根据该碰撞判断处理未判断为碰撞的单位轨迹。这样,可以在非常短的时间内生成与任何改变相对应的合适的整体轨迹。
尽管已经说明了本发明的实施例,但本发明的技术范围不限于上述实施例。本领域技术人员显而易见,可以对上述实施例添加各种改变和改进。关于特定实施例所述的特征可以应用于其它实施例,只要这不会引起技术矛盾即可。各结构元件可以具有与附图标记不同但名称相同的其它结构元件相同的特征。从权利要求书的范围还显而易见,添加有这样的改变或改进的实施例可以包括在本发明的技术范围中。
由权利要求书、实施例或附图所示的设备、系统、程序和方法进行的各处理的操作、过程、步骤和阶段可以按任何顺序进行,只要该顺序没有由“先于”或“之前”等指示即可、并且只要来自先前处理的输出不用在随后处理中即可。即使在权利要求书、实施例或附图中使用诸如“首先”或“接着”等的短语来说明处理流程,也不一定意味着必须按该顺序进行处理。
[附图标记列表]
10:通信网络
20:工件
22:凸部
32:作业点
34:作业点
36:作业点
38:作业点
100:作业系统
120:执行设备
140:管理设备
160:输入终端
202:对象区域
212:输送机
214:机器人
220:操作器
222:作业工具
224:机械臂
230:平台
232:轨道
240:驱动部
250:驱动控制部
320:障碍物
340:整体轨迹
342:单位轨迹
344:单位轨迹
346:单位轨迹
420:障碍物
620:通信控制部
630:模型管理部
640:系统管理部
650:存储部
720:检测部
730:调整部
740:系统控制部
820:基本信息获取部
830:仿真模型生成部
840:提取部
842:判断模型生成部
844:判断精度计算部
846:碰撞判断部
848:分类判断部
850:轨迹规划部
860:轨迹确定部
Claims (12)
1.一种控制设备,用于控制用于使用操作器在对象区域的内部进行作业的作业机器人的操作,所述控制设备包括:
改变信息获取部,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体;
模型信息获取部,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小;
轨迹信息获取部,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹;
分类部,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹;以及
轨迹规划部,用于针对由所述分类部分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹,
其中,所述分类部包括:
第一放大模型生成部,用于生成第一放大模型,所述第一放大模型是(i)通过增大所述操作器的大小所获得的模型或者(ii)比所述操作器更大且具有比所述操作器更简单的形状的模型;以及
判断部,用于(a)判断在所述N-1或N个轨迹中的各轨迹上的M个地点处、在(i)所述第一模型信息和所述第二模型信息至少之一所指示的各物体的模型与(ii)所述第一放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处在(i)各物体的模型和(ii)所述第一放大模型之间会存在碰撞的轨迹是需要校正的轨迹,以及
N是大于或等于2的整数,
M是大于或等于1的整数。
2.根据权利要求1所述的控制设备,还包括:
第二放大模型生成部,用于生成第二放大模型,所述第二放大模型是(i)通过增大由所述第一模型信息和所述第二模型信息至少之一所指示的各物体的大小所获得的模型或者(ii)比各物体更大且具有比该物体更简单的形状的模型,
其中,所述判断部(a)判断在所述N-1或N个轨迹的各轨迹中的M个地点处、在(i)所述第二放大模型和(ii)所述第一放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处、在(i)所述第二放大模型和(ii)所述第一放大模型之间会存在碰撞的轨迹是需要校正的轨迹。
3.一种控制设备,用于控制用于使用操作器在对象区域的内部进行作业的作业机器人的操作,所述控制设备包括:
改变信息获取部,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体;
模型信息获取部,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小;
轨迹信息获取部,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹;
分类部,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹;以及
轨迹规划部,用于针对由所述分类部分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹,
其中,所述分类部包括:
第二放大模型生成部,用于生成第二放大模型,所述第二放大模型是(i)通过增大由所述第一模型信息和所述第二模型信息至少之一所指示的各物体的大小所获得的模型或者(ii)比各物体更大且具有比该物体更简单的形状的模型;以及
判断部,用于(a)判断在所述N-1或N个轨迹的各轨迹中的M个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间会存在碰撞的轨迹是需要校正的轨迹,以及
N是大于或等于2的整数,
M是大于或等于1的整数。
4.根据权利要求1至3中任一项所述的控制设备,其中,
所述分类部还包括精度计算部,所述精度计算部用于基于所述操作器的大小和放大模型的大小至少之一来计算M的值。
5.根据权利要求1至3中任一项所述的控制设备,其中,
所述分类部还包括精度计算部,所述精度计算部用于基于关节空间中的所述操作器的操作和现实空间中的所述操作器的操作之间的对应关系来计算M的值。
6.根据权利要求1至3中任一项所述的控制设备,还包括:
轨迹确定部,用于基于(i)指示所述操作器的前端在所述轨迹规划部所规划的需要校正的轨迹中的位置和取向的信息、以及(ii)指示所述操作器的前端在所述轨迹信息获取部所获取到的无需校正的轨迹中的位置和取向的信息,来确定所述操作器的前端经过了所述一系列作业操作的轨迹。
7.根据权利要求6所述的控制设备,还包括:
输出部,用于基于所述轨迹确定部所确定出的轨迹,来输出用于控制所述操作器的操作的控制信息。
8.一种作业机器人,包括:
根据权利要求1至7中任一项所述的控制设备;以及
所述操作器。
9.根据权利要求8所述的作业机器人,还包括:
控制部,用于控制所述操作器的操作,
其中,所述控制设备输出用于控制所述操作器的操作的控制信息,以及
所述控制部基于所述控制设备所输出的控制信息来控制所述操作器的操作。
10.一种存储介质,其存储有程序,该程序用于使得计算机用作根据权利要求1至7中任一项所述的控制设备。
11.一种控制方法,用于控制用于使用操作器在对象区域的内部进行作业的作业机器人的操作,所述控制方法包括:
改变信息获取步骤,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体;
模型信息获取步骤,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小;
轨迹信息获取步骤,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹;
分类步骤,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹;以及
轨迹规划步骤,用于针对所述分类步骤中分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹,
其中,所述分类步骤包括:
第一放大模型生成步骤,用于生成第一放大模型,所述第一放大模型是(i)通过增大所述操作器的大小所获得的模型或者(ii)比所述操作器更大且具有比所述操作器更简单的形状的模型;以及
判断步骤,用于(a)判断在所述N-1或N个轨迹中的各轨迹上的M个地点处、在(i)所述第一模型信息和所述第二模型信息至少之一所指示的各物体的模型与(ii)所述第一放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处在(i)各物体的模型和(ii)所述第一放大模型之间会存在碰撞的轨迹是需要校正的轨迹,以及
N是大于或等于2的整数,
M是大于或等于1的整数。
12.一种控制方法,用于控制用于使用操作器在对象区域的内部进行作业的作业机器人的操作,所述控制方法包括:
改变信息获取步骤,用于获取(i)第一改变信息和(ii)第二改变信息至少之一,所述第一改变信息与所述对象区域的内部所布置的一个或多个物体中的至少一个物体有关,并且指示发生了与所述至少一个物体的位置、取向、形状和大小至少之一有关的改变,以及所述第二改变信息指示要在所述对象区域的内部布置新物体;
模型信息获取步骤,用于获取(i)第一模型信息和(ii)第二模型信息至少之一,所述第一模型信息指示发生了所述改变之后的所述一个或多个物体中的各物体的位置、取向、形状和大小,以及所述第二模型信息指示所述新物体的位置、取向、形状和大小;
轨迹信息获取步骤,用于获取N-1或N个轨迹信息,所述N-1或N个轨迹信息分别指示用于将所述作业机器人进行一系列作业操作的N个作业区域按所述一系列作业操作的顺序进行连结的N-1或N个轨迹;
分类步骤,用于将所述N-1或N个轨迹分类为(i)由于所述第一改变信息和所述第二改变信息至少之一所指示的所述对象区域内部的改变而需要校正的轨迹、以及(ii)即使在所述对象区域内部发生了所述第一改变信息和所述第二改变信息至少之一所指示的改变也无需校正的轨迹;以及
轨迹规划步骤,用于针对所述分类步骤中分类为需要校正的轨迹的一个或多个轨迹中的各轨迹,基于所述第一模型信息和所述第二模型信息至少之一,来规划所述操作器的前端在与所述一个或多个轨迹中的各轨迹有关的两个作业区域之间的轨迹,
其中,所述分类步骤包括:
第二放大模型生成步骤,用于生成第二放大模型,所述第二放大模型是(i)通过增大由所述第一模型信息和所述第二模型信息至少之一所指示的各物体的大小所获得的模型或者(ii)比各物体更大且具有比该物体更简单的形状的模型;以及
判断步骤,用于(a)判断在所述N-1或N个轨迹的各轨迹中的M个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间是否会存在碰撞,并且(b)判断为已判断为在所述M个地点中的至少一个地点处、在(i)所述操作器的模型和(ii)所述第二放大模型之间会存在碰撞的轨迹是需要校正的轨迹,以及
N是大于或等于2的整数,
M是大于或等于1的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310997608.5A CN117021082A (zh) | 2018-10-15 | 2019-06-14 | 控制设备和非暂态计算机可读介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018194057A JP6508691B1 (ja) | 2018-10-15 | 2018-10-15 | 制御装置、作業ロボット、プログラム、及び、制御方法 |
JP2018-194057 | 2018-10-15 | ||
PCT/JP2019/023777 WO2020079886A1 (en) | 2018-10-15 | 2019-06-14 | Control apparatus, work robot, program, and control method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310997608.5A Division CN117021082A (zh) | 2018-10-15 | 2019-06-14 | 控制设备和非暂态计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111328305A CN111328305A (zh) | 2020-06-23 |
CN111328305B true CN111328305B (zh) | 2023-08-01 |
Family
ID=66429914
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310997608.5A Pending CN117021082A (zh) | 2018-10-15 | 2019-06-14 | 控制设备和非暂态计算机可读介质 |
CN201980002075.4A Active CN111328305B (zh) | 2018-10-15 | 2019-06-14 | 控制设备、作业机器人、程序和控制方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310997608.5A Pending CN117021082A (zh) | 2018-10-15 | 2019-06-14 | 控制设备和非暂态计算机可读介质 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11045948B2 (zh) |
JP (1) | JP6508691B1 (zh) |
CN (2) | CN117021082A (zh) |
DE (2) | DE112019000097B4 (zh) |
WO (1) | WO2020079886A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7117237B2 (ja) * | 2018-12-27 | 2022-08-12 | 川崎重工業株式会社 | ロボット制御装置、ロボットシステム及びロボット制御方法 |
CN113561171B (zh) * | 2020-01-05 | 2023-03-24 | 牧今科技 | 具有动态运动调整机制的机器人系统及其操作方法 |
JP7494614B2 (ja) * | 2020-07-22 | 2024-06-04 | セイコーエプソン株式会社 | ロボットの教示制御方法、ロボットシステム、及び、コンピュータープログラム |
CN112947424B (zh) * | 2021-02-01 | 2023-04-25 | 国网安徽省电力有限公司淮南供电公司 | 配网作业机器人自主作业路径规划方法和配网作业系统 |
CN113954073B (zh) * | 2021-11-08 | 2024-03-22 | 北京华航唯实机器人科技股份有限公司 | 机器人活动部件的轨迹分析方法及装置、机器人设备 |
CN115816451B (zh) * | 2022-11-29 | 2024-01-16 | 江苏启威星装备科技有限公司 | 一种机械手运行控制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102152308A (zh) * | 2010-02-10 | 2011-08-17 | 库卡实验仪器有限公司 | 用于工业机器人的无碰撞轨迹规划的方法 |
DE102013225890A1 (de) * | 2013-12-13 | 2015-06-18 | Robert Bosch Gmbh | Verfahren zur Steuerung eines Manipulators |
CN104903804A (zh) * | 2012-10-22 | 2015-09-09 | 古德尔集团股份公司 | 用于在多工位压力机中确定工件传送轨迹的方法 |
CN107427330A (zh) * | 2015-04-10 | 2017-12-01 | 马科外科公司 | 在手术工具的自主移动期间控制手术工具的系统和方法 |
CN108621165A (zh) * | 2018-05-28 | 2018-10-09 | 兰州理工大学 | 障碍环境下的工业机器人动力学性能最优轨迹规划方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS597752A (ja) | 1982-07-07 | 1984-01-14 | Nissan Motor Co Ltd | 内燃機関のアイドル回転速度制御方法 |
JPH07107648B2 (ja) * | 1987-09-09 | 1995-11-15 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 物体間衝突検出装置 |
JPH08108383A (ja) * | 1994-10-05 | 1996-04-30 | Fujitsu Ltd | マニピュレータ制御装置 |
JP2875498B2 (ja) * | 1995-07-18 | 1999-03-31 | 株式会社神戸製鋼所 | ロボットマニピュレータの移動経路の自動生成方法 |
JPH11347984A (ja) * | 1998-06-02 | 1999-12-21 | Nissan Motor Co Ltd | ロボット制御装置 |
JP4350921B2 (ja) * | 2001-06-12 | 2009-10-28 | 本田技研工業株式会社 | 乗員保護装置 |
JP5235649B2 (ja) | 2008-12-25 | 2013-07-10 | 株式会社東芝 | 移動体軌道生成方法および移動体軌道生成装置 |
JP2010172990A (ja) * | 2009-01-28 | 2010-08-12 | Seiko Epson Corp | ロボット制御装置、ロボットの制御方法 |
FR2954518B1 (fr) * | 2009-12-18 | 2012-03-23 | Aripa Service Innovation Ind | " systeme anticollision pour le deplacement d'un objet dans un environnement encombre." |
JP5724919B2 (ja) * | 2012-03-22 | 2015-05-27 | トヨタ自動車株式会社 | 軌道生成装置、移動体、軌道生成方法及びプログラム |
JP2014024162A (ja) | 2012-07-27 | 2014-02-06 | Seiko Epson Corp | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム |
CH709347A2 (de) * | 2014-03-10 | 2015-09-15 | Tecan Trading Ag | Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung. |
JP5778311B1 (ja) | 2014-05-08 | 2015-09-16 | 東芝機械株式会社 | ピッキング装置およびピッキング方法 |
US9764472B1 (en) * | 2014-07-18 | 2017-09-19 | Bobsweep Inc. | Methods and systems for automated robotic movement |
JP5911933B2 (ja) * | 2014-09-16 | 2016-04-27 | ファナック株式会社 | ロボットの動作監視領域を設定するロボットシステム |
JP5905549B1 (ja) | 2014-09-16 | 2016-04-20 | ファナック株式会社 | バラ積みされた物品を取出す物品取出装置 |
JP2016091053A (ja) | 2014-10-29 | 2016-05-23 | キヤノン株式会社 | 情報処理装置および容器形状の推定方法、ワークピッキングシステム、プログラム |
DE102014118001A1 (de) * | 2014-12-05 | 2016-06-09 | Broetje-Automation Gmbh | Verfahren zur Bewegungssimulation eines Manipulators |
JP2016147330A (ja) | 2015-02-10 | 2016-08-18 | 株式会社三次元メディア | 物体認識に基づく制御装置 |
US9717387B1 (en) * | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
JP6532325B2 (ja) | 2015-07-09 | 2019-06-19 | キヤノン株式会社 | 被計測物の形状を計測する計測装置 |
JP6703812B2 (ja) | 2015-08-05 | 2020-06-03 | Kyoto Robotics株式会社 | 3次元物体検査装置 |
US10705528B2 (en) * | 2015-12-15 | 2020-07-07 | Qualcomm Incorporated | Autonomous visual navigation |
JP6576255B2 (ja) * | 2016-01-25 | 2019-09-18 | キヤノン株式会社 | ロボット軌道生成方法、ロボット軌道生成装置、および製造方法 |
JP6606442B2 (ja) * | 2016-02-24 | 2019-11-13 | 本田技研工業株式会社 | 移動体の経路計画生成装置 |
JP6309990B2 (ja) * | 2016-03-24 | 2018-04-11 | ファナック株式会社 | 複数の機構ユニットにより構成されたロボットを制御するロボットシステム、該機構ユニット、およびロボット制御装置 |
JP6721785B2 (ja) | 2016-09-15 | 2020-07-15 | グーグル エルエルシー | ロボット操作のための深層強化学習 |
US11097422B2 (en) * | 2017-02-07 | 2021-08-24 | Veo Robotics, Inc. | Safety-rated multi-cell workspace mapping and monitoring |
JP6376296B1 (ja) | 2017-02-09 | 2018-08-22 | 三菱電機株式会社 | 位置制御装置及び位置制御方法 |
US10427631B1 (en) * | 2017-02-13 | 2019-10-01 | Zoox, Inc. | Vehicular adaptation for impact mitigation |
JP6998660B2 (ja) * | 2017-02-21 | 2022-01-18 | 株式会社安川電機 | ロボットシミュレータ、ロボットシステム及びシミュレーション方法 |
JP6438512B2 (ja) | 2017-03-13 | 2018-12-12 | ファナック株式会社 | 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法 |
JP6603255B2 (ja) * | 2017-03-13 | 2019-11-06 | ファナック株式会社 | ロボットシステムおよびロボット制御方法 |
JP2019051771A (ja) * | 2017-09-13 | 2019-04-04 | トヨタ自動車株式会社 | 荷重伝達構造 |
US10759051B2 (en) * | 2018-04-23 | 2020-09-01 | General Electric Company | Architecture and methods for robotic mobile manipulation system |
US11911908B2 (en) * | 2018-12-21 | 2024-02-27 | Intrinsic Innovation Llc | Dynamic probabilistic motion planning |
-
2018
- 2018-10-15 JP JP2018194057A patent/JP6508691B1/ja active Active
-
2019
- 2019-06-14 CN CN202310997608.5A patent/CN117021082A/zh active Pending
- 2019-06-14 WO PCT/JP2019/023777 patent/WO2020079886A1/en active Application Filing
- 2019-06-14 CN CN201980002075.4A patent/CN111328305B/zh active Active
- 2019-06-14 DE DE112019000097.7T patent/DE112019000097B4/de active Active
- 2019-06-14 DE DE112019001256.8T patent/DE112019001256B3/de active Active
-
2020
- 2020-02-05 US US16/782,085 patent/US11045948B2/en active Active
-
2021
- 2021-05-21 US US17/326,483 patent/US11839977B2/en active Active
-
2023
- 2023-11-08 US US18/504,334 patent/US20240165799A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102152308A (zh) * | 2010-02-10 | 2011-08-17 | 库卡实验仪器有限公司 | 用于工业机器人的无碰撞轨迹规划的方法 |
CN104903804A (zh) * | 2012-10-22 | 2015-09-09 | 古德尔集团股份公司 | 用于在多工位压力机中确定工件传送轨迹的方法 |
DE102013225890A1 (de) * | 2013-12-13 | 2015-06-18 | Robert Bosch Gmbh | Verfahren zur Steuerung eines Manipulators |
CN107427330A (zh) * | 2015-04-10 | 2017-12-01 | 马科外科公司 | 在手术工具的自主移动期间控制手术工具的系统和方法 |
CN108621165A (zh) * | 2018-05-28 | 2018-10-09 | 兰州理工大学 | 障碍环境下的工业机器人动力学性能最优轨迹规划方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210268647A1 (en) | 2021-09-02 |
US20200171656A1 (en) | 2020-06-04 |
CN111328305A (zh) | 2020-06-23 |
US11839977B2 (en) | 2023-12-12 |
US11045948B2 (en) | 2021-06-29 |
CN117021082A (zh) | 2023-11-10 |
JP2020062690A (ja) | 2020-04-23 |
JP6508691B1 (ja) | 2019-05-08 |
DE112019000097T5 (de) | 2020-09-24 |
US20240165799A1 (en) | 2024-05-23 |
WO2020079886A1 (en) | 2020-04-23 |
DE112019001256B3 (de) | 2022-08-18 |
DE112019000097B4 (de) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111328305B (zh) | 控制设备、作业机器人、程序和控制方法 | |
CN110576436B (zh) | 路径计划装置、路径计划方法以及计算机可读记录介质 | |
EP3578322A1 (en) | Robot path-generating device and robot system | |
US9649765B2 (en) | Reducing energy consumption of industrial robots by using new methods for motion path programming | |
EP3650181B1 (en) | Route output method, route output system and route output program | |
US9207668B2 (en) | Method of and apparatus for automated path learning | |
US20200398428A1 (en) | Motion planning for multiple robots in shared workspace | |
EP3825075A1 (en) | Parameter identifying device, method, and program | |
JP2019532827A (ja) | 衝突回避動作計画のための方法 | |
Pan et al. | Automated offline programming for robotic welding system with high degree of freedoms | |
Erdős et al. | Process planning and offline programming for robotic remote laser welding systems | |
US11648683B2 (en) | Autonomous welding robots | |
KR20190055777A (ko) | 로봇 제어 방법 및 장치 | |
CN112672857A (zh) | 路径生成装置、路径生成方法及路径生成程序 | |
US20210146546A1 (en) | Method to control a robot in the presence of human operators | |
JP6560841B1 (ja) | 制御装置、作業ロボット、プログラム、及び、制御方法 | |
EP3904015A1 (en) | System and method for setting up a robotic assembly operation | |
JP6577686B1 (ja) | 制御装置、作業ロボット、プログラム、及び、制御方法 | |
NL2015839B1 (en) | A method of, as well as an industrial robot for performing a processing step at a work piece. | |
Anton et al. | Optimizing trajectory points for high speed robot assembly operations | |
US20240198526A1 (en) | Auto-generation of path constraints for grasp stability | |
US20240042605A1 (en) | Apparatus and a Method for Automatically Programming a Robot to Follow Contours of Objects | |
CN117001663A (zh) | 机械臂运动路径规划方法及系统、存储介质 | |
CN115958592A (zh) | 信息处理装置、信息处理方法及制造产品的方法 | |
Fauadi et al. | Modeling and path planning simulation of a robotic arc welding system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |