CN114290326A - 用于控制一个或多个机器人的设备和方法 - Google Patents
用于控制一个或多个机器人的设备和方法 Download PDFInfo
- Publication number
- CN114290326A CN114290326A CN202111169502.3A CN202111169502A CN114290326A CN 114290326 A CN114290326 A CN 114290326A CN 202111169502 A CN202111169502 A CN 202111169502A CN 114290326 A CN114290326 A CN 114290326A
- Authority
- CN
- China
- Prior art keywords
- robot
- assigned
- robots
- configuration
- state
- 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 abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000002372 labelling Methods 0.000 claims abstract description 4
- 230000008447 perception Effects 0.000 claims description 47
- 230000006870 function Effects 0.000 claims description 38
- 230000009471 action Effects 0.000 claims description 34
- 239000012636 effector Substances 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000033001 locomotion Effects 0.000 description 14
- 230000001276 controlling effect Effects 0.000 description 11
- 239000003550 marker Substances 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000010521 absorption reaction Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/0084—Programme-controlled manipulators comprising a plurality of 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/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39101—Cooperation with one or more rotating workpiece holders, manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39252—Autonomous distributed control, task distributed into each subsystem, task space
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Manipulator (AREA)
Abstract
公开了一种用于控制一个或多个机器人的设备和方法,其中该方法具有:针对所述一个或多个机器人中的每个机器人,针对所述机器人能够实施的一项或多项技能中的每项技能确定经标记的马尔可夫决策过程,其中每个经标记的马尔可夫决策过程都具有标记函数,所述标记函数针对所述经标记的马尔可夫决策过程的每个状态都说明:多个预先给定的控制条件中的一个或多个控制条件是否被满足;提供通过任务描述所限定的控制任务,其中所述任务描述可具有关于所述多个预先给定的控制条件的子集的时间序列;而且控制所述一个或多个机器人以执行所述控制任务,使得所述一个或多个机器人的状态的包含在所述任务描述中的控制条件被满足。
Description
技术领域
总的来说,不同的实施例涉及一种用于控制一个或多个机器人的设备和方法。
背景技术
一个或多个机器人可以被协调,以便完成任务。例如可以协调一组机器人,以便共同完成任务。在这种情况下,例如可以使用拍卖方法。
P. Schillinger等人于2019年发表的出版物“Hierarchical LTL-Task MDPs forMulti-Agent Coordination through Auctioning and Learning”(在下文称为参考文献[1])描述了一种用于协调一组机器人以便共同解决借助于线性时间逻辑(LTL)所限定的任务的方法,其中考虑不确定性。
W. Ren和D. V. Dimarogonas的出版物“Dynamic Quantization based SymbolicAbstractions for Nonlinear Control Systems”,in IEEE 58th Conference onDecision and Control (CDC),2019年(在下文称为参考文献[2])描述了一种用于控制非线性***的基于抽象的控制设计。
但是,在一组机器人中的机器人可能来自不同的制造商并且因此可能单独被编程。因而,可能需要提供框架概念,该框架概念能够实现该组异构机器人的协调。
在一组机器人中,这些机器人可具有彼此不同的技能。例如,这些机器人中的有些机器人可能能够感知周围环境,这些机器人中的有些机器人可能能够在工作区域内移动,以便从一个位置导航到另一个位置,这些机器人中的有些机器人可能能够操纵对象、诸如机器人臂,而且有些机器人可能能够实施这些技能中的多项技能。
发明内容
具有独立权利要求1(第一个示例)和12(第十四个示例)的特征的方法和设备能够实现:控制一个或多个机器人,以便在考虑所述一个或多个机器人中的相应机器人的技能的情况下执行任务。例如,该方法和该设备能够实现:控制一组机器人,以便共同执行任务。该方法和该设备尤其能够实现:控制具有不同技能的一组异构机器人,使得这些机器人可以根据它们相应的技能来共同执行任务。
机器人(在某些方面也称为机器人装置)可以是任何类型的受计算机控制的设备,诸如制造机器人、维护机器人、家用机器人、医疗机器人、车辆(例如自主车辆)、家用电器、生产机器、私人助理、访问控制***等等。
按照第一个示例针对所述一个或多个机器人中的每个机器人的每项技能利用特定于技能的标记函数来确定经标记的马尔可夫决策过程用以确定控制条件(例如原子语句)具有如下效果:这些控制条件用作抽象(例如泛化),借助于这些控制条件,通过控制条件所给出的任务可以由所述一个或多个机器人执行。例如,通过控制条件所给出的任务可以由多个机器人共同(例如协同)执行。
所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能可以是感知技能。针对机器人的感知技能确定经标记的马尔可夫决策过程可具有:确定具有多个状态的状态空间,其中所述多个状态中的每个状态都具有一个或多个感知的相应概率和/或一个或多个对象的相应位置;确定经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都被分配给对所述一个或多个感知中的至少一个感知的相应概率的确定和/或对所述一个或多个对象中的至少一个对象的位置的确定;而且确定经标记的马尔可夫决策过程的标记函数,其中该标记函数针对状态说明:分别被分配给所述一个或多个感知中的至少一个感知的一个或多个控制条件是否被满足,其中每个至少一个感知都分配有概率阈值,而且其中如果该至少一个感知的概率大于所分配的概率阈值,则相应的控制条件被满足;分别被分配给所述一个或多个对象中的至少一个对象的一个或多个控制条件是否被满足,其中如果机器人识别出该至少一个对象的位置在距所分配的参考点的预先限定的距离之内,则相应的控制条件被满足;和/或分别被分配给所述一个或多个感知中的至少一个感知和所述一个或多个对象中的至少一个对象的一个或多个共同的控制条件是否被满足,其中如果该至少一个感知的概率大于所分配的概率阈值并且如果机器人识别出该至少一个对象的位置在距该参考点的预先限定的距离之内,则相应的共同的控制条件被满足。在本段中所描述的特征与第一个示例相结合地形成第二个示例。
所述一个或多个感知中的一个感知可以是对象识别,而且该感知的概率可以是识别出对象的概率。在本段中所描述的特征与第二个示例相结合地形成第三个示例。
所述一个或多个感知中的一个感知可以是对人体姿势的识别,而且该感知的概率可以是识别出身体姿势的概率。在本段中所描述的特征与第二个示例或第三个示例相结合地形成第四个示例。
所述一个或多个感知中的一个感知可以是对手势的识别,而且该感知的概率可以针对一个或多个手势中的每个手势都具有识别出手势的相应概率。在本段中所描述的特征与第二个示例至第四个示例中的一个或多个示例相结合地形成第五个示例。
所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能可以是导航技能。针对机器人的导航技能确定经标记的马尔可夫决策过程可具有:确定具有多个状态的状态空间,其中所述多个状态中的每个状态都具有机器人的相应位置和取向;确定经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都具有机器人的位置的改变和/或机器人的取向的改变;而且确定经标记的马尔可夫决策过程的标记函数,其中该标记函数针对状态说明:分别被分配给空间区域的一个或多个控制条件是否被满足,其中如果机器人的位置在该空间区域之内,则相应的控制条件被满足。在本段中所描述的特征与第一个示例至第五个示例中的一个或多个示例相结合地形成第六个示例。
所述多个状态中的每个状态都可具有机器人在由该机器人借助于导航技能可到达的导航区域之内的相应位置和取向。在本段中所描述的特征与第六个示例相结合地形成第七个示例。
所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能可以是操纵技能。借助于操纵技能,机器人可以在使用一项或多项操纵能力的情况下对预先限定的操纵空间进行操纵。针对机器人的操纵技能确定经标记的马尔可夫决策过程可具有:将预先限定的操纵空间划分成多个操纵区域;确定具有多个状态的状态空间,其中所述多个状态中的每个状态都被分配给所述多个操纵区域中的一个操纵区域;确定经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都被分配给至少一项操纵能力;而且确定经标记的马尔可夫决策过程的标记函数,其中该标记函数针对状态说明:被分配给机器人的配置的一个或多个控制条件是否被满足。在本段中所描述的特征与第一个示例至第七个示例中的一个或多个示例相结合地形成第八个示例。
机器人的每个配置都可具有一个或多个配置位置。所述一个或多个控制条件中的每个控制条件都可以被分配给所述一个或多个配置位置中的相应的配置位置。所述一个或多个配置位置中的每个配置位置都可以分配有所述多个操纵区域中的一个或多个操纵区域。如果被分配给该状态的操纵区域对应于相应的配置位置的一个或多个操纵区域之一,则被分配给该配置位置的控制条件可以被满足。在本段中所描述的特征与第八个示例相结合地形成第九个示例。
机器人的每个配置都可具有多个末端执行配置中的相应的末端执行器配置。所述一个或多个控制条件中的每个控制条件都可以被分配给所述多个末端执行配置中的一个末端执行器配置。如果机器人的配置具有相应的末端执行器配置,则被分配给该末端执行器配置的控制条件可以被满足。在本段中所描述的特征与第八个示例或第九个示例相结合地形成第十个示例。
所述多个末端执行器配置可具有抓取配置和/或松开配置。在本段中所描述的特征与第十个示例相结合地形成第十一个示例。
多个预先给定的控制条件中的对其来说该标记函数针对状态并未说明控制条件是否被满足的每个控制条件都不被满足。在本段中所描述的特征与第一个示例至第十一个示例中的一个或多个示例相结合地形成第十二个示例。
机器人***可具有一个或多个机器人。该机器人***可以被设立为:实施按照第一个示例至第十二个示例中的一个或多个示例所述的方法。具有在本段中所描述的特征的机器人***形成第十三个示例。
一种计算机程序产品可存储程序指令,如果这些程序指令被执行,则这些程序指令实施根据第一个示例至第十二个示例中的一个或多个示例所述的方法。具有在本段中所描述的特征的计算机程序产品形成第十五个示例。
一种非易失性存储介质可存储程序指令,如果这些程序指令被执行,则这些程序指令实施第一个示例至第十二个示例中的一个或多个示例的方法。具有在本段中所描述的特征的非易失性存储介质形成第十六个示例。
一种永久性存储介质可存储程序指令,如果这些程序指令被执行,则这些程序指令实施第一个示例至第十二个示例中的一个或多个示例的方法。具有在本段中所描述的特征的永久性存储介质形成第十七个示例。
附图说明
本发明的实施例在附图中示出并且在随后的描述中更详细地予以阐述。
其中:
图1A和1B分别示出了按照不同实施方式的示例性的机器人***;
图2示出了按照不同实施方式的用于通过一个或多个机器人来执行任务的流程图;
图3示出了按照不同实施方式的用于控制一个或多个机器人的方法。
具体实施方式
在一个实施方式中,“计算机”可以被理解为任何类型的逻辑实现实体,该逻辑实现实体可以是硬件、软件、固件或它们的组合。因而,在一个实施方式中,“计算机”可以是硬连线逻辑电路或可编程逻辑电路,诸如可编程处理器、例如微处理器(例如CISC(复杂指令集计算机)或RISC(精简指令集计算机))。“计算机”可具有一个或多个处理器。“计算机”也可以是由处理器来实现或实施的软件,例如任何类型的计算机程序、例如使用虚拟机代码、诸如Java的计算机程序。根据一个替选的实施方式,相应的功能的任何其它类型的实现方案都可以被理解为“计算机”,这些相应的功能在下文更详细地予以描述。
在一组异构机器人中,这些机器人可能来自不同的制造商并且可能具有彼此不同的技能。为了该组异构机器人可以共同执行任务,需要提供框架概念,该框架概念能够实现该组异构机器人的协调。不同的实施例涉及一种用于控制一个或多个机器人的设备和方法,所述设备和方法能够根据所述一个或多个机器人的相应的技能来控制所述一个或多个机器人。不同的实施例涉及一种用于控制一个或多个机器人的设备和方法,所述设备和方法能够控制一组异构机器人,使得这些机器人可以根据它们相应的技能来共同执行任务。
图1A示出了示例性的机器人***10。机器人***10可具有一个或多个机器人,诸如第一机器人100。
第一机器人100例如可具有以用于移动、安装或加工工件的机器人臂为形式的工业机器人。指出:对第一机器人的以下描述用于阐明;并且机器人***10的一个或多个机器人中的机器人可以是任何类型的机器人。
第一机器人100可具有第一机器人装置101。第一机器人装置101可具有机器人链节102、103、104和底座(或者通常是支架)105,通过该底座来承载这些机器人链节102、103、104。术语“机器人链节”涉及第一机器人装置101的可移动部分,对这些可移动部分的操纵能够实现与周围环境的物理交互,例如以便执行任务,例如以便实施或执行一项或多项技能。
为了进行控制,第一机器人100包含控制设备106,该控制设备被设立为按照控制程序来实现与周围环境的交互。机器人链节102、103、104的最后一个元件104(从底座105出发来看)也被称作末端执行器104并且可以包含一个或多个工具,如焊炬、抓持工具、涂装设备等等。按照不同实施方式,控制设备106可以在空间上与第一机器人装置101分开地布置。
其它机器人链节102、103(更靠近底座105)可形成定位设备,使得在其端部具有末端执行器104的机器人臂(或关节臂)与末端执行器104一起被设置。机器人臂是机械臂,该机械臂可以完成与人类手臂类似的功能(可能利用在其端部处的工具)。
第一机器人装置101可包含连接元件107、108、109,这些连接元件使机器人链节102、103、104彼此连接并且与底座105连接。连接元件107、108、109可具有一个或多个关节,所述一个或多个关节中的每个元件都可以提供所属的机器人链节相对于彼此的旋转运动和/或平移运动(也就是说位移)。机器人链节102、103、104的移动可以借助于调节环节来被引导,该调节环节由控制设备106来控制。
术语“调节环节”可以被理解成适合于作为对其被驱动的反应来影响机构的组件。调节环节可以将由控制设备106输出的命令(所谓的激活)转化成机械移动。调节环节、例如机电转换器可以被设立为作为对其操控的反应将电能转换成机械能。
本文中使用的术语“控制设备”(也称为“控制装置”)可以被理解成任何类型的逻辑实现单元,该逻辑实现单元例如可包含电路和/或处理器,该处理器能够实施存储在存储介质中的软件、固件或它们的组合并且可以向例如在当前示例中的调节环节发出命令。该控制设备例如可以通过程序代码(例如软件)来被设立为控制***、在当前示例中是一个机器人或多个机器人的运行。
在当前示例中,控制设备106包含计算机110和存储器111,该存储器存储代码和数据,计算机110基于这些代码和数据来控制第一机器人装置101。按照不同实施方式,控制设备106基于存储在存储器111中的机器人控制模型112来控制机器人装置101。
第一机器人100可以被设立为实施一项或多项技能。这些技能例如可以在控制设备106的程序代码中被预先限定。按照不同实施方式,第一机器人100可具有操纵技能。该操纵技能例如可具有一项或多项操纵能力,诸如使一个或多个机器人链节102、103、104机械移动和/或末端执行器的能力(例如抓取、例如松开、例如放置,等等)。
参考图1B,示例性的机器人***10可具有多个机器人(例如大量机器人)。所述多个机器人中的机器人可以是异构机器人。机器人***10例如可以是具有多个机器人的多代理***。为了阐明,在图1B中示出并且在下文示例性描述的机器人***10是示例性的第一机器人100、示例性的第二机器人200和示例性的第三机器人300。
按照不同实施方式,机器人***10可具有至少两个机器人。所述至少两个机器人可以是异构机器人。如本文中所使用的短语“异构机器人”可包含具有彼此不同的技能的机器人。 显然,至少一个机器人可具有其它机器人所没有的技能。如本文中所使用的短语“异构机器人”可包含不同的制造商的和/或具有不同的控制模型的机器人。
指出:每个本文中所描述的机器人都可以是任何类型的受计算机控制的设备,诸如制造机器人、维护机器人、家用机器人、医疗机器人、车辆(例如自主车辆)、家用电器、生产机器、私人助理、访问控制***等等;而且所述一个或多个机器人可具有任何其它类型的机器人。
第二机器人200例如可具有运输机器人。例如,第二机器人200可以被设立为实施一项或多项技能,其中至少一项技能可以是导航技能。导航技能例如可具有从一个位置移动到另一个位置。导航技能例如可具有在第二机器人200的工作区域之内从一个位置导航到另一个位置。导航技能例如可具有在第二机器人200的工作区域之内在考虑一个或多个障碍物、其它机器人、受限区域等等的情况下进行导航。按照不同实施方式,第二机器人200可具有能够实现在该工作区域之内的导航的一个或多个传感器,诸如位置传感器、速度传感器、加速度传感器等等。
第二机器人200可具有第二机器人装置201。第二机器人装置201可具有运输表面202。按照不同实施方式,一个或多个对象可以布置或被布置在运输表面202上。第二机器人装置201可具有一个或多个轮子204(例如滚轮)。按照不同实施方式,机器人装置201可以借助于所述一个或多个轮子204从一个位置移动到另一个位置。例如,对象可以被布置在运输表面202上,并且第二机器人200可以被设立为将这些对象从一个位置运输到另一个位置。
为了进行控制,第二机器人200包含控制设备206,该控制设备被设立为按照控制程序来实现与周围环境的交互。按照不同实施方式,控制设备206可以在空间上与第二机器人装置201分开地布置。在当前示例中,控制设备206包含计算机210和存储器211,该存储器存储代码和数据,计算机210基于这些代码和数据来控制第二机器人装置201。按照不同实施方式,控制设备206基于存储在存储器211中的机器人控制模型212来控制机器人装置201。例如,控制设备206可以被设立为:在工作区域之内对第二机器人装置201进行导航。
第三机器人300例如可具有带感知技能的机器人。例如,第三机器人300可以被设立为实施一项或多项技能,其中至少一项技能可以是感知技能。感知技能可以是对第三机器人300的周围环境的任何类型的感知,诸如对对象的识别、对对象的跟踪、对相应对象的位置的确定、对至少一只手(例如与所述一个或多个机器人、诸如大量机器人中的一个机器人或多个机器人交互或想要交互的用户的手)的识别、对至少一只手的跟踪、对手的位置的确定、对身体姿势(例如用户的人体姿势)的识别、对手势(例如由用户实施的手势)的识别,等等。按照不同实施方式,用户的手势可以被机器人解读成指令。
第三机器人300可具有第三机器人装置301。第三机器人装置301可具有一个或多个传感器302,用于感知第三机器人300的周围环境。所述一个或多个传感器302可以被设立为提供传感器数据,借助于这些传感器数据来感知(例如描述)或可以感知该周围环境。例如,所述一个或多个传感器302可具有:成像传感器,诸如摄像机(例如标准摄像机、数码摄像机、红外摄像机、立体摄像机等等);雷达传感器;激光雷达(LIDAR)传感器;超声传感器,等等。
为了进行控制,第三机器人300包含控制设备306,该控制设备被设立为按照控制程序来实现与周围环境的交互。按照不同实施方式,控制设备306可以在空间上与第三机器人装置301分开地布置。在当前示例中,控制设备306包含计算机310和存储器311,该存储器存储代码和数据,计算机310基于这些代码和数据来控制第三机器人装置301。按照不同实施方式,控制设备306基于存储在存储器311中的机器人控制模型312来控制机器人装置301。
按照不同实施方式,机器人***10可具有中央控制设备。中央控制设备可以被设立为:实施相应的控制设备106、206、306的一个或多个任务。
显然,机器人***10可具有一个或多个机器人(例如第一机器人100、第二机器人200和/或第三机器人300),而且所述一个或多个机器人中的每个机器人都可以被设立为:实施一项或多项技能(例如基本技能),诸如感知技能、导航技能和/或操纵技能。按照不同实施方式,所述一个或多个机器人可以是多个机器人,而且所述多个机器人中的机器人可以是异构机器人。按照不同实施方式,所述多个机器人中的至少两个机器人可以被设立为实施彼此不同的技能。例如,一个机器人可以被设立为实施操纵技能而且另一个机器人可以被设立为实施导航技能。
按照不同实施方式,针对所述一个或多个机器人中的每个机器人、针对该机器人可实施的每项技能(例如基本技能),确定经标记的马尔可夫决策过程(英文:labeledMarkov Decision Process)。每个经标记的马尔可夫决策过程都可以通过来被描述,其中是具有多个状态的状态空间,其中是具有多个动作的动作空间,其中是通过所给出的转移概率,而且其中是标记函数。转移概率可以被描述成,其中说明了在状态下的动作引起状态的概率。按照不同实施方式,标记函数可以针对状态空间的多个状态中的相应状态说明:多个预先给定的控制条件中的一个或多个控制条件是否被满足。按照不同实施方式,标记函数可以将状态空间的多个状态中的相应状态映射到一个或多个控制条件上。如本文中所描述的控制条件可以被呈现为原子语句。标记函数可以通过来被描述。按照不同实施方式,标记函数可以将所述多个状态中的每个状态映射到相应的一个或多个控制条件(例如原子语句)上。如本文中所使用的原子语句(也称原子命题,英文:“atomic proposition”)要么可以是“真(wahr)”要么可以是“假(falsch)”。例如,按照二值原则,每个原子语句要么可具有布尔运算符“真”要么可具有布尔运算符“假”。例如,按照二值原则,本文中所描述的LTL描述的每个原子语句要么可具有布尔运算符“满意”要么可具有布尔运算符“违反”。
按照不同实施方式,可以给每个经标记的马尔可夫决策过程都分配策略,该策略可通过来被描述,使得说明了在状态下实施动作的概率。例如,该策略可以被确定为使得通过实施一个或多个动作来达到一个或多个目标状态。所述一个或多个目标状态可以形成目标区域作为状态空间的子集,。按照不同实施方式,该策略可以被确定为使得通过实施一个或多个动作来达到所述一个或多个目标状态,其中回避一个或多个安全状态。一个或多个安全(例如容许)状态可以形成安全区域作为状态空间的子集,。经标记的马尔可夫决策过程和被分配给所述经标记的马尔可夫决策过程的策略可形成吸收马尔可夫链(英文:absorbing Markov Chain),其中吸收状态集可通过来给出,其中。按照不同实施方式,可以为初始状态分布确定直至达到吸收状态为止的预期时长。该预期时长例如可以是技能的执行时间。按照不同实施方式,在实施之后关于吸收状态的状态分布可以被计算并且可以被使用,以便计算达到所述一个或多个目标状态之一的概率。例如可以是该技能的成功率。该技能的失败率例如可以通过概率来被描述。
按照不同实施方式,机器人的技能可具有该机器人的一项或多项能力。例如,机器人的感知技能可具有识别对象的能力和识别用户的手势的能力。例如,机器人的操纵技能可具有抓取对象的能力和使被抓取的对象移动的能力。按照不同实施方式,机器人的每项能力都可以被分配给一项技能。
在下文描述了针对如下三项示例性的基本技能确定相应的经标记的马尔可夫决策过程:
I) 感知技能;
II) 导航技能;
III) 操纵技能。
指出:这些是三项示例性的技能;而且针对机器人的每项特定于用户和/或特定于应用的技能可以确定如本文中所描述的经标记的马尔可夫决策过程。
I) 感知技能
感知技能可具有一项或多项感知能力,诸如对象识别、对象跟踪、对人体姿势的识别、对手的识别、手跟踪、对手势的识别,等等。例如需要对对象的识别和跟踪,以便识别周围环境和/或以便标识对象。
状态空间的多个状态中的每个状态都可具有一个或多个感知的相应概率和/或一个或多个对象的相应位置。对象例如可以是用户的手。感知例如可以是感知能力,如对象识别,而且该感知的概率可以是识别出对象的概率。感知例如可以是感知能力,如对人体姿势的识别,而且该感知的概率可以是识别出身体姿势的概率,通过Körperpose 来给出。感知例如可以是感知能力,如对手势的识别,而且该感知的概率可以针对一个或多个手势中的每个手势都具有识别出手势的相应概率n,通过Geste 来给出。所述一个或多个对象中的对象的相应位置m可以通过Objekt 来被描述。例如,对象可以是手,而且手的位置可以被视为与对象集合分离,其中手的位置可以通过Hand 来被描述。
动作空间的每个动作都可以被分配给对所述一个或多个感知中的至少一个感知的相应概率的确定和/或对所述一个或多个对象中的至少一个对象的位置的确定。按照不同实施方式,动作空间的每个动作都可以被分配给感知技能的一项或多项感知能力中的一项感知能力。例如,动作可具有对对象识别的实施、对一个或多个对象的跟踪、对人体姿势的识别、对手的识别、手跟踪、对手势的识别,等等。
标记函数可以针对状态空间的多个状态中的一个状态说明:分别被分配给所述一个或多个感知中的至少一个感知的一个或多个控制条件、诸如一个或多个原子语句是否被满足。每个控制条件都可以分配有(例如预先限定的)概率阈值。例如,如果该至少一个感知的概率大于所分配的概率阈值,则相应的控制条件(例如相应的原子语句)可以被满足。
标记函数可以针对状态空间的多个状态中的一个状态说明:分别被分配给所述一个或多个对象中的至少一个对象的一个或多个控制条件、诸如一个或多个原子语句是否被满足。例如,如果机器人识别出该至少一个对象的位置在距所分配的参考点的预先限定的距离之内,则相应的控制条件(例如相应的原子语句)可以被满足。显然,该参考点可以是用户的手,并且如果该至少一个对象的位置在距所识别出的手的预先限定的距离之内,则借助于该标记函数所确定的原子语句可具有布尔值 真。
标记函数可以针对状态空间的多个状态中的一个状态说明:分别被分配给所述一个或多个感知中的至少一个感知和所述一个或多个对象中的至少一个对象的一个或多个共同的控制条件(例如共同的原子语句)是否被满足。例如,如果该至少一个感知的概率大于所分配的概率阈值并且如果该至少一个对象的位置在距参考点的预先限定的距离之内,则相应的共同的控制条件可以被满足。
按照不同实施方式,标记函数可以针对状态空间的多个状态中的一个状态说明:感知能力的结果是否得到满足。例如,该感知能力可以是对对象的识别,其中如果对象识别的概率大于所分配的概率阈值,则标记函数将控制条件“对象被识别”确定为得到满足。显然,该感知能力可以是对对象的识别,其中如果对象识别的概率大于所分配的概率阈值,则标记函数例如针对原子语句“对象被识别”确定布尔运算符为真。显然,标记函数例如可以针对状态空间的多个状态中的一个状态确定感知技能的结果作为原子语句。例如,作为感知的手势识别的状态可具有手的位置和对象的位置,而且如果所识别出的手势的概率大于所分配的概率阈值并且如果对象的位置在距手的位置的预先限定的距离之内,则标记函数可以针对原子语句“指向对象”确定布尔运算符为真。
显然,借助于动作,可以实施感知技能的一项或多项感知能力中的一项感知能力,而且标记函数可以输出感知能力和/或感知技能的结果作为控制条件(例如作为原子语句)。
按照不同实施方式,经标记的马尔可夫决策过程可具有未知的转移概率。这些转移概率例如可以被估计。按照不同实施方式,被分配给经标记的马尔可夫决策过程的策略可以确定:哪个动作并且借此哪项感知能力应该被实施。该策略例如可以被设计为使得只有在事先确定或已确定身体姿势的概率高于所分配的阈值的情况下才执行对手的跟踪的在计算技术上复杂的感知能力。
按照不同实施方式,可以在使用RGB图像和/或RGB-D图像作为输入的情况下确定所述一个或多个感知的相应概率和/或所述一个或多个对象的相应位置。按照不同实施方式,可以针对所述一个或多个对象中的每个对象确定3D模型。例如,可以在RGB图像中识别(例如探测)对象,其方式是探测局部特征并且将这些局部特征与所学习到的特征进行对照,其方式是通过3D模型与2D-RGB图像的所确定的一致来确定姿势并且例如使用RANSAC算法,而且其方式是(例如在使用RGB-D图像的情况下)确定深度信息,以便确定解的质量量度。例如可以使用神经网络,以便在使用RGB-D图像的情况下确定身体姿势。例如,2D-RGB图像可以借助于由传感器提供的深度信息被变换成3D信息,并且神经网络可以被设立为关于身体姿势对这些3D信息进行分类。按照不同实施方式,可以确定静态手势,其方式是确定所探测到的身体姿势(例如手姿势)与针对多个连续帧的预先限定的身体姿势之间的欧几里得距离,而且可以通过对这些帧的时间滤波来确定手势。
II) 导航技能
状态空间的多个状态中的每个状态都可具有机器人的相应位置。按照不同实施方式,状态空间的多个状态中的每个状态都可具有机器人的相应位置和取向。所述多个状态中的每个状态都可具有机器人在由该机器人借助于导航技能可到达的导航区域之内的相应位置x, y和取向θ。按照不同实施方式,被分配给相应状态的位置还可具有z坐标。为了阐明,在下文描述了具有(例如平面)位置以及取向θ的x坐标和y坐标的状态空间。
借助于导航技能可到达的导航区域可以通过机器人的工作区域来给出。借助于导航技能可到达的导航区域可以通过机器人的工作区域并且通过布置在工作区域中的障碍物来给出,这些障碍物对该导航区域进行限制。状态空间可以通过来被描述,其中状态空间的每个状态都可以通过来被描述。
按照不同实施方式,导航区域可具有一个或多个目标区域和/或目标配置。目标区域例如可以通过位置值x, y的值范围来给出。目标配置例如可以通过机器人的取向θ的值范围来给出。所述一个或多个目标区域和/或目标配置可具有所述多个状态的子集并且通过来被描述。按照不同实施方式,标记函数可以针对所有状态确定控制条件(例如原子语句),该控制条件将状态标明为目标状态。例如,标记函数可以针对所有状态确定原子语句目标状态=真(Zielzustand=wahr)。按照不同实施方式,标记函数可以针对状态说明:分别被分配给空间区域的一个或多个控制条件是否被满足。例如,如果机器人的位置在该空间区域之内,则相应的控制条件可以被满足。显然,控制条件例如可以是相应的空间区域的原子语句,而且如果机器人的位置在该空间区域之内则可具有布尔值 真。作为说明性示例,机器人的导航区域可具有:第一站,该第一站具有所分配的第一状态;和第二站,该第二站具有所分配的第二状态。在这种情况下,标记函数可以针对状态确定原子语句Station1和原子语句Station2,其中如果该状态是所述第一状态之一,则原子语句Station1具有布尔值 真,而且其中如果该状态是所述第二状态之一,则原子语句Station2具有布尔值 真。
按照不同实施方式,导航技能可以在使用ROS导航堆栈的move_base包的情况下实现或被实现。该move_base包连接全局规划器和局部规划器。例如可以使用基于谐波势场的方法,作为全局规划器。例如,这可能引起计算技术要求的降低,并且能够处理大且复杂的工作区域。这还确保了无碰撞的导航。按照不同实施方式,可以使用变换,该变换i)将机器人的工作区域映射到点状欧几里得平面,ii)将该工作区域的外边缘映射到无穷远,iii)将在该工作区域内的所有障碍物的相应的边缘映射到,而且iv)将目标位置映射到点状欧几里得平面的单独的点上。借此,可以确定从当前位置到目标位置的路径。例如可以使用定时弹性带(Timed-Elastic-Band)方案,作为局部规划器。在此,由全局规划器所确定的路径可以关于减少(例如最小化)轨迹执行时间、避开障碍物和/或与运动动力学条件相符来被优化。此外,该方案与非完整条件相符,其方式是求解稀疏的、缩放的多对象优化问题。如果例如是在时间k在离散点处的机器人姿势,则可以通过来描述离散轨迹。在这种情况下,定时弹性带方案可以使时间间隔为的轨迹适配,其中说明了需要用来从出发到达的时间。经适配的轨迹可以通过来被描述。例如,优化问题可以是确定速度指令并且可以按照:
来被表述,
其中可存在如下条件中的一个或多个:
机器人在当前状态下为目标状态的概率在假设是状态空间(例如导航区域的所有状态都拓扑连接)的情况下等于“1”,也就是说。按照不同实施方式,转移概率可以借助于前向模拟和/或借助于由全局规划器(以及可选地还有局部规划器)所确定的结果来被确定。在运行机器人时,针对所提供的任务描述可以在使用当前状态(例如当前配置)的情况下确定具有的预期时长。
III) 操纵技能
按照不同实施方式,机器人可以借助于操纵技能来对预先限定的操纵空间进行操纵。显然,机器人可以是具有末端执行器的机器人臂、诸如第一机器人100,而且可借助于末端执行器***纵的区域可以形成预先限定的操纵空间。按照不同实施方式,机器人可以借助于操纵技能在使用一项或多项操纵能力的情况下对预先限定的操纵空间进行操纵。操纵能力例如可以是机器人(例如机器人臂)的机械移动和/或机器人的末端执行器的能力,诸如抓取、松开、放置等等。
按照不同实施方式,在使用动态建模和基于抽象的控制设计的情况下确定机器人在两个位置之间的移动。这例如具有确保在移动期间的安全性的效果。例如可以借助于在Moveit工具箱中实现的RRT-Connect算法来确定在两个位置之间无碰撞的路径。关于动力学建模,可以按照
来构建机器人(例如机器人臂)的动力学的离散时间模型,
其中状态是,输入是并且干扰参量是。离散时间模型例如可以借助于对由与预先限定的轨迹相关的指令和位置组成的数据点的确定(例如扫描)来被确定。按照不同实施方式,预先限定的操纵空间可以被划分成多个操纵区域。预先限定的操纵空间例如可以在使用超平面的情况下被划分成多个操纵区域。按照不同实施方式,可以在所述多个操纵区域中的每个操纵区域中确定该动力学。例如,可以在所述多个操纵区域中的每个操纵区域中在使用仿射函数的情况下确定该动力学。按照不同实施方式,将预先限定的操纵空间划分成所述多个操纵区域可以实现或被实现为优化问题,该优化问题例如可以被表述成混合整数线性程序(Mixed-integer Linear Programm)。基于抽象的控制设计可以在使用参考轨迹的情况下与在参考文献[2]中描述的基于抽象的控制设计相符地来被实现。在这种情况下,针对初始状态(在某些方面也称为开始状态) 可以确定(例如选择)有限区域,使得。由此,可以将设定为初始选择的区域。初始区域与参考轨迹之间的交叠可以被确定为局部描述。在使用初始区域的情况下,可以借助于对状态和输入的逼近来确定局部符号泛化。在使用局部符号泛化的情况下,可以应用算法(例如通用定点算法(英文:common fixed-point algorithm)),以便确定控制参量,使得机器人(例如机器人的末端执行器)关于该局部描述来被移动。一旦局部描述被满足,就可以确定下一个有限区域并且然后可以针对下一个有限区域确定局部符号泛化。借助于该方法的迭代,可以确定全局控制策略。
状态空间的多个状态中的每个状态都可以被分配给所述多个操纵区域中的一个操纵区域。显然,操纵空间可以划分或被划分成多个小区,其中每个小区都可以是有限区域(例如参见上一段),而且每个小区都可以被分配给一个状态。所述多个状态中的每个状态都可以描述机器人在操纵区域中的配置。对于给定的特定于机器人的关于模型的误差和干扰参量的假设来说,控制算法可以确保:达到所要达到的状态的概率等于“1”。按照不同实施方式,状态空间的多个状态中的每个状态都可具有机器人的配置。例如,该配置可具有机器人的一个或多个配置位置。配置位置例如可以是机器人的一个或多个调节环节的位置。例如,该配置可具有机器人的末端执行器配置。
按照不同实施方式,所述一个或多个控制条件中的每个控制条件都可以被分配给所述一个或多个配置位置中的相应的配置位置。标记函数可以针对状态说明:被分配给配置位置的控制条件是否被满足。所述一个或多个配置位置中的每个配置位置都可以分配有所述多个操纵区域中的一个或多个操纵区域。按照不同实施方式,如果被分配给该状态的操纵区域对应于相应的配置位置的一个或多个操纵区域,则被分配给该配置位置的控制条件可以被满足(例如原子语句可具有布尔值 真)。
作为说明性示例,配置位置例如可以是基本位置并且该基本位置可以在该示例中分配有多个操纵区域(显然例如多个小区)。在这种情况下,标记函数可以针对状态例如确定原子语句Grundposition(基本位置),其中如果被分配给该状态的操纵区域对应于该基本位置的多个操纵区域中的一个,则该原子语句具有布尔值 真(基本位置=真(Grundposition=wahr)),而且其中如果被分配给该状态的操纵区域不对应于该基本位置的多个操纵区域中的任何一个,则该原子语句具有布尔值 假(基本位置=假(Grundposition=falsch))。
按照不同实施方式,对于每个机器人来说都可以满足描绘了针对状态的相应的标记函数的所有控制条件(例如多个原子语句中的所有原子语句)(例如具有布尔值 真)。因此,标记函数例如可以只描绘具有布尔运算符 真的原子语句。关于原子语句基本位置(Grundposition)的示例,如果被分配给该状态的操纵区域对应于基本位置的多个操纵区域中的一个,则该原子语句具有布尔值 真(基本位置=真(Grundposition=wahr)),而且如果被分配给该装置的操纵区域不对应于该基本位置的多个操纵区域中的任何一个,则标记函数可以被设立为不描绘原子语句。
按照不同实施方式,机器人的每个配置都可具有多个末端执行器配置中的相应的末端执行器配置。例如,末端执行器配置可以是抓取配置或松开配置。按照不同实施方式,标记函数可以针对状态说明:被分配给机器人的多个末端执行配置中的相应的末端执行器配置的控制条件是否被满足。例如,如果机器人的配置具有末端执行器配置,则该控制条件可以被满足。显然,每个控制条件都可具有原子语句,而且如果机器人的配置具有相应的末端执行器配置,则被分配给该末端执行器配置的原子语句可具有布尔值 真。
作为说明性示例,所述多个末端执行器配置可具有抓取配置和松开配置。例如,标记函数可以针对状态确定原子语句抓取配置,其中如果被分配给该状态的末端执行器配置对应于该抓取配置(抓取配置=真(Greifen-Konfiguration=wahr)),则该原子语句具有布尔值 真,而且其中如果被分配给该状态的末端执行器配置不对应于该抓取配置,则该原子语句具有布尔值 假(抓取配置=假(Greifen-Konfiguration=falsch))。例如,标记函数可以针对状态确定原子语句松开配置,其中如果被分配给该状态的末端执行器配置对应于该松开配置(松开配置=真(Lösen-Konfiguration=wahr)),则该原子语句具有布尔值真,而且其中如果被分配给该状态的末端执行器配置不对应于该松开配置,则该原子语句具有布尔值 假(松开配置=假(Lösen-Konfiguration=falsch))。
按照不同实施方式,预期时长(例如执行时间)、诸如从第一位置移动到第二位置的预期时长(例如执行时间)可以与显然在该示例中从地位置到第二位置所横跨的操纵区域的数目成比例。
按照不同实施方式,可以提供通过任务描述所限定的任务。该任务描述可具有关于所述多个控制条件的子集的时间序列(例如至少两个控制条件、例如超过两个控制条件、例如多个控制条件)。按照不同实施方式,所述一个或多个机器人(例如单个机器人)可以为了执行任务而在使用相应的控制条件和该任务描述的多个控制条件的子集的情况下被控制。按照不同实施方式,所述一个或多个机器人可具有多个机器人而且所述多个机器人可以(例如借助于中央控制设备)为了协同执行任务而在使用所述多个机器人中的每个机器人的相应的控制条件和该任务描述的多个控制条件的子集的情况下被控制。
按照不同实施方式,对于每个机器人来说都可以不满足未描绘针对状态的相应的标记函数的多个控制条件中的所有控制条件(例如该原子语句可具有布尔值 假)。按照不同实施方式,对于每个机器人来说都可以满足描绘针对状态的相应的标记函数的多个控制条件中的所有控制条件(例如该原子语句可具有布尔值 真)。因此,按照不同实施方式,标记函数例如可以只描绘得到满足的控制条件(也就是说这些控制条件具有布尔运算符真)。
参考示例性的机器人***10,第一机器人100可具有操纵技能,第二机器人200可具有导航技能和/或第三机器人300可具有感知技能。例如,第一机器人100的存储器111可具有针对操纵技能的经标记的马尔可夫决策过程。例如,第二机器人200的存储器211可具有针对导航技能的经标记的马尔可夫决策过程。例如,第三机器人300的存储器311可具有针对感知技能的经标记的马尔可夫决策过程。按照不同实施方式,第一机器人100、第二机器人200和第三机器人300可以在使用相应的马尔可夫决策过程(例如相应的马尔可夫决策过程的标记函数)的情况下被控制,用以协同执行共同任务,该共同任务通过具有关于多个控制条件的子集的时间序列的任务描述来给出。
图2示出了按照不同实施方式的用于通过一个或多个机器人来执行任务的流程图400。例如,所述一个或多个机器人可以是多个机器人,而且按照不同实施方式,流程图400可以是用于通过所述多个机器人来协同执行任务的流程图。
技能数据库402可以针对所述一个或多个机器人中的每个机器人的每项技能具有相应的经标记的马尔可夫决策过程。例如,机器人可具有操纵技能和感知技能,并且技能数据库402可具有该机器人的该操纵技能的经标记的马尔可夫决策过程和该机器人的该感知技能的经标记的马尔可夫决策过程。例如,针对相应机器人的技能的每个经标记的马尔可夫决策过程都可以存储在相应机器人的存储器中,并且经标记的马尔可夫决策过程的全体可以形成技能数据库402。显然,所述一个或多个机器人中的每个机器人的相应技能的分散存储的经标记的马尔可夫决策过程都可以是技能数据库402的部分。经标记的马尔可夫决策过程例如可以由机器人工程师和/或开发者如本文中所描述的那样来限定。
按照不同实施方式,可以提供任务描述404。任务描述404可具有关于多个预先给定的控制条件的子集的时间序列。任务描述404例如可以借助于线性时间逻辑(LinearTemporal Logic,LTL)来被表述。作为任务描述404的LTL描述可以被视为关于控制条件、诸如原子语句的进行分类的时间序列,其中原子语句要么可以被标明为满意(例如完成该任务)要么可以被标明为违反(例如未完成该任务)。按照不同实施方式,计算机可以被设立为:响应于用户输入,在使用模式目录、诸如基于模式的任务描述符(Patterns bAsed Mission specifier,PsALM)的情况下产生LTL描述作为任务描述404。这具有如下效果:任务描述404可以以对用户友好的方式(例如不需要专业知识)来被产生。例如,用户选择特定于任务的模式,诸如货物交付的目的地,而且计算机可以针对该特定于任务的模式产生任务描述404。LTL描述在参考文献[1]中被详细描述。
按照不同实施方式,可以在使用技能数据库402和任务描述404的情况下产生任务模型406。显然,任务模型406可以使用:可确定针对每项技能的经标记的马尔可夫决策过程的每个状态的相应的标记函数的原子语句;和具有任务描述404的原子语句,作为接口。这能够实现异构机器人之间的协同。按照不同实施方式,任务模型406可以是分布到所述一个或多个机器人中的机器人上的任务模型,其中每个机器人都可以描绘任务模型406的子集(例如可以执行计算中的一部分)。这例如具有如下效果:这些机器人可以在运行期间尽可能彼此独立地被运行,其中这些机器人仍然可以协同解决该任务。为此,可以为了分配任务的目的而进行这些机器人的信息交换。
例如,所述一个或多个机器人中的每个机器人都可以确定该机器人可以实施哪些动作(例如能力),以便实现通过任务描述404所限定的目标。按照不同实施方式,这些机器人可以在拍卖轮次中确定哪个机器人接下来实施哪个动作。这样,例如可以针对所述一个或多个机器人中的每个机器人确定所要实施的动作408。例如,多个机器人可具有感知技能,而且对其来说为了执行任务所需的感知能力的实施具有最低的预期成本的机器人可以确定该感知能力作为所要实施的动作408。按照不同实施方式,预期成本可以在使用用于实施能力的预期时长的情况下被确定。按照不同实施方式,所述一个或多个机器人可以实施410动作。按照不同实施方式,所述一个或多个机器人可以是多个机器人,而且所述多个机器人可以协同地实施这些动作。显然,任务这样可以动态地被划分到所述多个机器人中的机器人上,动作可以被分配给所述多个机器人中的机器人,而且相应的动作可以由这些机器人来实施。在参考文献[1]中描述了用于在使用原子语句的情况下执行借助于LTL描述所限定的任务的详细方法。
显然,这些机器人的技能这样可以与任务无关地被实现,而且任务的特定于任务的模式可以与这些机器人的技能的实现无关地被参数化。
按照不同实施方式,任务执行可以以多个层的形式来被实现。在此,所述多个层中的第一层可以是任务层,该任务层可以实现对任务的划分、在拍卖轮次期间的规划和/或通信(例如参见参考文献[1])。所述多个层中的在第一层之后的第二层可以是策略层,该策略层监控所要实施的策略。所述多个层中的在第二层之后的第三层可以是技能层,该技能层可以具有对这些技能的在本文中所描述的实现作为相应的经标记的马尔可夫决策过程。所述多个层中的在第三层之后的第四层可具有在实施相应的技能时所使用的各个组件。
图3示出了按照不同实施方式的用于控制一个或多个机器人的方法500。
方法500可具有(在502中):针对所述一个或多个机器人中的每个机器人,针对该机器人可实施的一项或多项技能中的每项技能确定经标记的马尔可夫决策过程。每个经标记的马尔可夫决策过程都可具有标记函数,该标记函数针对所述经标记的马尔可夫决策过程的每个状态都说明:多个预先给定的控制条件中的一个或多个控制条件是否被满足。
方法500可具有(在504中):提供通过任务描述所限定的控制任务。该任务描述可具有关于所述多个预先给定的控制条件的子集的时间序列。
方法500可具有(在506中):控制所述一个或多个机器人以执行该控制任务,使得所述一个或多个机器人的状态的包含在该任务描述中的控制条件被满足。
Claims (14)
1.一种用于控制一个或多个机器人的方法,所述方法具有:
• 针对所述一个或多个机器人中的每个机器人,针对所述机器人能够实施的一项或多项技能中的每项技能确定经标记的马尔可夫决策过程,其中每个经标记的马尔可夫决策过程都具有标记函数,所述标记函数针对所述经标记的马尔可夫决策过程的每个状态都说明:多个预先给定的控制条件中的一个或多个控制条件是否被满足;
• 提供通过任务描述所限定的控制任务,其中所述任务描述具有关于所述多个预先给定的控制条件的子集的时间序列;而且
• 控制所述一个或多个机器人以执行所述控制任务,使得所述一个或多个机器人的状态的包含在所述任务描述中的控制条件被满足。
2.根据权利要求1所述的方法,
其中所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能是感知技能,而且
其中针对机器人的感知技能确定所述经标记的马尔可夫决策过程具有:
• 确定具有多个状态的状态空间,其中所述多个状态中的每个状态都具有一个或多个感知的相应概率和/或一个或多个对象的相应位置,
• 确定所述经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都被分配给对所述一个或多个感知中的至少一个感知的相应概率的确定和/或对所述一个或多个对象中的至少一个对象的位置的确定,而且
• 确定所述经标记的马尔可夫决策过程的标记函数,其中所述标记函数针对状态说明:
o 分别被分配给所述一个或多个感知中的至少一个感知的一个或多个控制条件是否被满足,其中每个至少一个感知都分配有概率阈值,而且其中如果所述至少一个感知的概率大于所分配的概率阈值,则相应的控制条件被满足;
o 分别被分配给所述一个或多个对象中的至少一个对象的一个或多个控制条件是否被满足,其中如果机器人识别出所述至少一个对象的位置在距所分配的参考点的预先限定的距离之内,则相应的控制条件被满足;和/或
o 分别被分配给所述一个或多个感知中的至少一个感知和所述一个或多个对象中的至少一个对象的一个或多个共同的控制条件是否被满足,其中如果所述至少一个感知的概率大于所分配的概率阈值并且如果机器人识别出所述至少一个对象的位置在距所述参考点的预先限定的距离之内,则相应的共同的控制条件被满足。
3.根据权利要求2所述的方法,
其中所述一个或多个感知中的一个感知是对象识别,而且其中所述感知的概率是识别出对象的概率;
其中所述一个或多个感知中的一个感知是对人体姿势的识别,而且其中所述感知的概率是识别出身体姿势的概率;和/或
其中所述一个或多个感知中的一个感知是对手势的识别,而且其中所述感知的概率针对一个或多个手势中的每个手势都具有识别出手势的相应概率。
4.根据权利要求1至3中任一项所述的方法,
其中所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能是导航技能,而且
其中针对机器人的导航技能确定所述经标记的马尔可夫决策过程具有:
• 确定具有多个状态的状态空间,其中所述多个状态中的每个状态都具有所述机器人的相应位置和取向;
• 确定所述经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都具有所述机器人的位置的改变和/或所述机器人的取向的改变;而且
• 确定所述经标记的马尔可夫决策过程的标记函数,其中所述标记函数针对状态说明:分别被分配给空间区域的一个或多个控制条件是否被满足,其中如果所述机器人的位置在所述空间区域之内,则相应的控制条件被满足。
5.根据权利要求4所述的方法,
其中所述多个状态中的每个状态都具有所述机器人在由所述机器人借助于所述导航技能可到达的导航区域之内的相应位置和取向。
6.根据权利要求1至5中任一项所述的方法,
其中所述一个或多个机器人中的至少一个机器人的一项或多项技能中的至少一项技能是操纵技能,其中借助于所述操纵技能,机器人能够在使用一项或多项操纵能力的情况下对预先限定的操纵空间进行操纵,而且
其中针对机器人的操纵技能确定所述经标记的马尔可夫决策过程具有:
• 将所述预先限定的操纵空间划分成多个操纵区域;
• 确定具有多个状态的状态空间,其中所述多个状态中的每个状态都被分配给所述多个操纵区域中的一个操纵区域;
• 确定所述经标记的马尔可夫决策过程的动作空间的每个动作,其中每个动作都被分配给至少一项操纵能力;而且
• 确定所述经标记的马尔可夫决策过程的标记函数,其中所述标记函数针对状态说明:被分配给所述机器人的配置的一个或多个控制条件是否被满足。
7.根据权利要求6所述的方法,
其中所述机器人的每个配置都具有一个或多个配置位置;
其中所述一个或多个控制条件中的每个控制条件都被分配给所述一个或多个配置位置中的相应的配置位置;
其中所述一个或多个配置位置中的每个配置位置都分配有所述多个操纵区域中的一个或多个操纵区域;而且
其中如果被分配给所述状态的操纵区域对应于相应的配置位置的一个或多个操纵区域之一,则被分配给所述配置位置的控制条件被满足。
8.根据权利要求6或7中任一项所述的方法,
其中所述机器人的每个配置都具有多个末端执行配置中的相应的末端执行器配置;
其中所述一个或多个控制条件中的每个控制条件都被分配给所述多个末端执行配置中的一个末端执行器配置;而且
其中如果所述机器人的配置具有相应的末端执行器配置,则被分配给所述末端执行器配置的控制条件被满足。
9.根据权利要求8所述的方法,
其中所述多个末端执行器配置具有抓取配置和/或松开配置。
10.根据权利要求1至9中任一项所述的方法,
其中所述多个预先给定的控制条件中的对其来说所述标记函数针对状态并未说明控制条件是否被满足的每个控制条件都不被满足。
11.一种具有一个或多个机器人的机器人***,所述机器人***被设立为实施根据权利要求1至10中任一项所述的方法。
12.一种设备,所述设备被设立为实施根据权利要求1至10中任一项所述的方法。
13.一种计算机程序,所述计算机程序包括程序指令,当计算机运行所述计算机程序时,所述程序指令促使所述计算机实施根据权利要求1至10中任一项所述的方法。
14.一种非易失性存储介质,在其上存储有根据权利要求13所述的计算机程序。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020212659 | 2020-10-07 | ||
DE102020212659.3 | 2020-10-07 | ||
DE102021201918.8 | 2021-03-01 | ||
DE102021201918.8A DE102021201918A1 (de) | 2020-10-07 | 2021-03-01 | Vorrichtung und Verfahren zum Steuern ein oder mehrerer Roboter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114290326A true CN114290326A (zh) | 2022-04-08 |
Family
ID=80738141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111169502.3A Pending CN114290326A (zh) | 2020-10-07 | 2021-10-08 | 用于控制一个或多个机器人的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220105637A1 (zh) |
CN (1) | CN114290326A (zh) |
DE (1) | DE102021201918A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924513A (zh) * | 2022-06-07 | 2022-08-19 | 中迪机器人(盐城)有限公司 | 一种多机器人协同控制***及方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022203410A1 (de) | 2022-04-06 | 2023-10-12 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
CN115034335B (zh) * | 2022-08-09 | 2022-10-21 | 北京东方通网信科技有限公司 | 一种基于决策树模型的机器人自主协同控制方法和*** |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336456B2 (en) * | 2012-01-25 | 2016-05-10 | Bruno Delean | Systems, methods and computer program products for identifying objects in video data |
EP2907082B1 (en) * | 2012-10-11 | 2018-07-18 | OpenText Corporation | Using a probabilistic model for detecting an object in visual data |
JP5963320B2 (ja) * | 2014-03-27 | 2016-08-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、情報処理方法、及び、プログラム |
DE102014223167A1 (de) * | 2014-11-13 | 2016-05-19 | Kuka Roboter Gmbh | Bestimmen von objektbezogenen Greifräumen mittels eines Roboters |
US10586173B2 (en) * | 2016-01-27 | 2020-03-10 | Bonsai AI, Inc. | Searchable database of trained artificial intelligence objects that can be reused, reconfigured, and recomposed, into one or more subsequent artificial intelligence models |
US10293485B2 (en) * | 2017-03-30 | 2019-05-21 | Brain Corporation | Systems and methods for robotic path planning |
US11389949B2 (en) * | 2017-09-20 | 2022-07-19 | Sony Corporation | Control device, control method, and control system |
CN112970031A (zh) * | 2018-09-11 | 2021-06-15 | 瑞典爱立信有限公司 | 用于关联视频中的目标的方法 |
US11651227B2 (en) * | 2018-10-05 | 2023-05-16 | Sri International | Trusted neural network system |
US20200372410A1 (en) * | 2019-05-23 | 2020-11-26 | Uber Technologies, Inc. | Model based reinforcement learning based on generalized hidden parameter markov decision processes |
JP7156195B2 (ja) * | 2019-07-17 | 2022-10-19 | トヨタ自動車株式会社 | 物体認識装置 |
US11010605B2 (en) * | 2019-07-30 | 2021-05-18 | Rapiscan Laboratories, Inc. | Multi-model detection of objects |
US20220036179A1 (en) * | 2020-07-31 | 2022-02-03 | Nvidia Corporation | Online task inference for compositional tasks with context adaptation |
-
2021
- 2021-03-01 DE DE102021201918.8A patent/DE102021201918A1/de active Pending
- 2021-09-22 US US17/448,406 patent/US20220105637A1/en active Pending
- 2021-10-08 CN CN202111169502.3A patent/CN114290326A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924513A (zh) * | 2022-06-07 | 2022-08-19 | 中迪机器人(盐城)有限公司 | 一种多机器人协同控制***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220105637A1 (en) | 2022-04-07 |
DE102021201918A1 (de) | 2022-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kyrarini et al. | Robot learning of industrial assembly task via human demonstrations | |
CN114290326A (zh) | 用于控制一个或多个机器人的设备和方法 | |
Safeea et al. | On-line collision avoidance for collaborative robot manipulators by adjusting off-line generated paths: An industrial use case | |
Cherubini et al. | A collaborative robot for the factory of the future: Bazar | |
Kruse et al. | A sensor-based dual-arm tele-robotic system | |
Wallhoff et al. | A skill-based approach towards hybrid assembly | |
US20160000511A1 (en) | Dynamical system-based robot velocity control | |
WO2019209423A1 (en) | Architecture and methods for robotic mobile manipulation system | |
Lo et al. | Virtual impedance control for safe human-robot interaction | |
Felip et al. | Manipulation primitives: A paradigm for abstraction and execution of grasping and manipulation tasks | |
Polverini et al. | A constraint-based programming approach for robotic assembly skills implementation | |
Dumonteil et al. | Reactive planning on a collaborative robot for industrial applications | |
Pedemonte et al. | Visual-based shared control for remote telemanipulation with integral haptic feedback | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
Marinho et al. | Manipulator control based on the dual quaternion framework for intuitive teleoperation using kinect | |
CN113966265A (zh) | 用于运行机器人的方法和*** | |
Pajak et al. | Point-to-point collision-free trajectory planning for mobile manipulators | |
Pettinger et al. | Reducing the teleoperator’s cognitive burden for complex contact tasks using affordance primitives | |
He et al. | Visibility maximization controller for robotic manipulation | |
Chand et al. | Switch controllers of an n-link revolute manipulator with a prismatic end-effector for landmark navigation | |
Cong | Combination of two visual servoing techniques in contour following task | |
Kuan et al. | Challenges in VR-based robot teleoperation | |
Hong et al. | Mobile robot control architecture for reflexive avoidance of moving obstacles | |
Louro et al. | Motion control for autonomous Tugger vehicles in dynamic factory floors shared with human operators | |
CN112135718B (zh) | 机器人的控制 |
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 |