CN114516060A - 用于控制机器人装置的设备和方法 - Google Patents

用于控制机器人装置的设备和方法 Download PDF

Info

Publication number
CN114516060A
CN114516060A CN202111383915.1A CN202111383915A CN114516060A CN 114516060 A CN114516060 A CN 114516060A CN 202111383915 A CN202111383915 A CN 202111383915A CN 114516060 A CN114516060 A CN 114516060A
Authority
CN
China
Prior art keywords
robot
pick
model
picking
trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111383915.1A
Other languages
English (en)
Inventor
国萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN114516060A publication Critical patent/CN114516060A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40514Computed robot optimized configurations to train ann, output path in real time
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Abstract

公开了用于利用控制模型来控制机器人装置的设备和方法,其中控制模型具有:机器人轨迹模型,为了拿起,其具有隐式半马尔可夫模型;先决条件模型,其具有在实施拿起之前的机器人配置的概率分布;和对象拿起模型,其输出具有相应所分配的成功概率的多个拿起机器人配置,而且该方法具有:确定显示出一个或多个对象的深度图像;针对至少一个所要移动的对象,在使用深度图像的情况下,借助对象拿起模型来确定具有高于预先限定的阈值的成功概率的拿起机器人配置;按照先决条件模型针对拿起机器人配置中的具有最高概率的拿起机器人配置,借助机器人轨迹模型来确定用于拿起的机器人轨迹;而且借助所确定的机器人轨迹来控制机器人装置实施对对象的拿起。

Description

用于控制机器人装置的设备和方法
技术领域
总的来说,各种实施例涉及一种用于控制机器人装置的设备和方法。
背景技术
机器人装置例如可以在制造中、在生产中、在维修中、在家庭中、在医疗技术等等中使用。在这种情况下,这些机器人装置例如可以拿起和移动对象。在此,机器人控制模型可以确定机器人装置如何拿起和移动对象(例如在使用一个或多个机器人臂的情况下)。但是,这可能取决于位于所要拿起的对象附近的其它对象并且取决于机器人装置的几何配置。例如,有对象可能阻碍机器人臂的轨迹。因而,可能必要的是:机器人控制模型为所要拿起的(并且可选地还要移动的)对象确定控制指令,使得不仅其它对象被考虑而且机器人装置的几何条件被考虑。
J. Mahler等人于2019年在Science Robotics期刊发表的出版物“Learningambidextrous robot grasping policies”(在下文称为参考文献[1])描述了一种模型(Dexterity Network(灵巧网络,Dex-Net)),该模型依据显示出多个对象的深度图像来确定机器人臂的抓取配置,以便抓取所述多个对象中的一个对象。
M. Zeestraten于2017年发表的论文“Programming by demonstrations onRiemannian manifolds”(在下文称为参考文献[2])描述了为机器人姿态确定任务参数。
还可以是有利的是:将来自演示中的机器人能力传授给机器人控制模型。
L. Schwenkel, M. Guo和M. Bürger于2019年在机器人学习会议上的出版物“Optimizing sequences of probabilistic manipulation skills learned fromdemonstration”(在下文称为参考文献[3])描述了一种以技能为中心的方案,在该方案中,每项技能都独立地在不同场景下被学习。
发明内容
具有独立权利要求1(第一个示例)和13(第十五个示例)的特征的方法和设备能够实现:为所要拿起的对象确定机器人配置和机器人轨迹,使得机器人装置的动态条件(例如不仅其它对象而且几何条件)被考虑。例如,机器人控制模型可以与机器人装置的几何和其它条件适配(例如个性化)。尤其是,该方法和该设备可以在使用经训练的控制模型的情况下结合所要实施的机器人轨迹来提供所要实施的机器人配置。还提供一种方法和一种设备,借助于该方法和该设备可以将来自演示中的机器人能力传授给控制模型。
机器人装置可以是任何类型的受计算机控制的设备,诸如机器人(例如制造机器人、维修机器人、家用机器人、医疗机器人等等)、车辆(例如自主车辆)、家用电器、生产机器、私人助理、门禁系统等等。
按照第一个示例生成的控制模型例如一方面考虑所要移动的对象与其它对象的关系以及另一方面考虑机器人装置(例如机器人臂)的移动所基于的几何条件。清楚的是,这样,机器人装置的移动能力清楚地被考虑。清楚的是,这样,机器人装置的动态条件被考虑。
机器人轨迹模型和先决条件模型可以在使用用于实施对对象的拿起的演示的情况下被训练。在本段中所描述的特征与第一个示例相结合地形成第二个示例。
借助于从演示中学习到的机器人轨迹模型和先决条件模型,可以以微小的计算工作量来确定机器人轨迹。
对象拿起模型可以在使用多个训练深度图像的情况下被训练,其中每个训练深度图像都可以显示出多个对象中的至少一个对象。该训练可具有:针对所述多个训练深度图像中的每个训练深度图像,模拟对该至少一个对象的多次拿起,并且确定对该至少一个对象的相应的拿起是否成功,作为奖励,其中对该至少一个对象的每次拿起都被分配给相应的拿起机器人配置;而且在使用所述多个训练深度图像、所述奖励和所述拿起机器人配置的情况下训练该对象拿起模型,使得经训练的对象拿起模型作为对深度图像的输入的反应来输出具有相应所分配的成功概率的多个拿起机器人配置。在本段中所描述的特征与第一个示例或第二个示例相结合地形成第三个示例。
清楚的是,这样可以借助于经训练的对象拿起模型来确定对具有高预期成功概率的拿起机器人配置的预选。
确定拿起是否成功作为奖励可具有:如果该拿起成功,则确定预先给定的最大奖励;而如果该拿起不成功,则确定预先给定的最小奖励。在本段中所描述的特征与第三个示例相结合地形成第四个示例。
对对象的每次拿起都可以在使用机器人轨迹模型和先决条件模型的情况下被模拟。在本段中所描述的特征与第三个示例或第四个示例相结合地形成第五个示例。
由此,机器人装置的动态条件(例如在机器人装置的工作区域中的对象的关系,例如机器人装置的机器人臂的几何条件等等)可以在训练对象拿起模型时被考虑,由此可以改善借助于经训练的对象拿起模型来输出的成功概率的精度。
该方法还可具有:确定机器人装置是否成功实施对对象的拿起,其中如果对该拿起的实施成功,则确定预先给定的最大奖励,而且其中如果对该拿起的实施不成功,则确定预先给定的最小奖励;而且在使用所确定的深度图像、针对其确定机器人轨迹的拿起机器人配置和所确定的奖励的情况下附加地训练该对象拿起模型。在本段中所描述的特征与第一个示例至第五个示例中的一个或多个示例相结合地形成第六个示例。
由此,该对象拿起模型例如可以在机器人装置运行期间附加地与其它或新的情形(例如其它或新的对象,例如由于其它或附加的机器人臂而引起的几何条件)适配。
控制模型还可以被设立用于控制机器人装置来移动所拿起的对象。为了该移动,机器人轨迹模型可具有隐式半马尔可夫模型(Hidden-Semi-Markov-Modell),该隐式半马尔可夫模型具有一个或多个初始状态和一个或多个最终状态。先决条件模型可以针对被分配给该移动的机器人轨迹模型的每个初始状态都具有在实施该移动之前的机器人配置的概率分布。控制模型还可具有终止条件模型,其中该终止条件模型针对被分配给该拿起的机器人轨迹模型的每个最终状态都具有在实施该拿起之后的机器人配置的概率分布,而且针对被分配给该移动的机器人轨迹模型的每个最终状态都具有在实施该移动之后的机器人配置的概率分布。该方法还可具有:按照终止条件模型来确定在实施对对象的拿起之后的机器人配置;借助于机器人轨迹模型确定用于对象的移动的机器人轨迹;而且借助于所确定的机器人轨迹来控制机器人装置实施对对象的移动。在本段中所描述的特征与第一个示例至第六个示例中的一个或多个示例相结合地形成第七个示例。
由此,在选择拿起机器人配置时,可以考虑随后的移动(例如移动到目标-配置和/或目标-位置)。例如,这样不仅在拿起对象时而且在移动对象时都可以考虑在机器人装置的工作区域中的几何条件和/或其它对象,用于选择拿起机器人配置。
机器人轨迹模型、先决条件模型和终止条件模型可以在使用用于实施对象的拿起的演示和用于执行对象的移动的演示的情况下被训练。在本段中所描述的特征与第七个示例相结合地形成第八个示例。
借助于从演示中学习到的机器人轨迹模型、先决条件模型和终止条件模型,可以以微小的计算工作量来确定机器人轨迹。
对象拿起模型可以在使用多个训练深度图像的情况下被训练,其中每个训练深度图像都可以显示出多个对象中的至少一个对象。该训练可具有:针对所述多个训练深度图像中的每个训练深度图像,模拟对该至少一个对象的多次拿起和随后的移动,并且确定对该至少一个对象的相应的拿起和随后的移动是否成功,作为奖励,其中对该至少一个对象的每次拿起都被分配给相应的拿起机器人配置;而且在使用所述多个训练深度图像、所述奖励和所述拿起机器人配置的情况下训练该对象拿起模型,使得经训练的对象拿起模型作为对深度图像的输入的反应输出具有相应所分配的成功概率的多个拿起机器人配置。在本段中所描述的特征与第七个示例或第八个示例相结合地形成第九个示例。
清楚的是,这样在确定具有所分配的成功概率的多个拿起机器人配置时不仅可以考虑对对象的拿起而且可以考虑随后对所拿起的对象的移动。清楚的是,借此在成功概率方面也考虑随后的移动(也就是说向目标点的移动)成功与否。这样可以显著提高所确定的成功概率的精度。
确定拿起和随后的移动是否成功作为奖励可具有:如果该拿起和随后的移动成功,则确定预先给定的最大奖励;而如果该拿起和随后的移动不成功,则确定预先给定的最小奖励。在本段中所描述的特征与第九个示例相结合地形成第十个示例。
对对象的每次拿起和随后的移动都可以在使用机器人轨迹模型、先决条件模型和终止条件模型的情况下被模拟。在本段中所描述的特征与第九个示例或第十个示例相结合地形成第十一个示例。
由此,在通过经训练的对象拿起模型来确定拿起机器人配置时可以考虑机器人装置(例如机器人臂)的动态条件,使得借助于对象拿起模型所确定的成功概率的精度被改善(例如被提高)。
该方法还可具有:确定机器人装置是否成功实施对对象的移动,其中如果对该移动的实施成功,则确定预先给定的最大奖励,而且其中如果对该移动的实施不成功,则确定预先给定的最小奖励;而且在使用所确定的深度图像、针对其确定用于对象的拿起的机器人轨迹的拿起机器人配置和所确定的奖励的情况下附加地训练该对象拿起模型。在本段中所描述的特征与第七个示例至第十个示例中的一个或多个示例相结合地形成第十一个示例。
机器人装置可具有用于拿起对象的第一机器人臂和用于拿起对象的第二机器人臂。控制模型可以针对第一机器人臂和第二机器人臂分别具有机器人轨迹模型、先决条件模型和对象拿起模型。在使用深度图像的情况下借助于对象拿起模型为一个或多个对象中的至少一个所要移动的对象确定具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置可具有:针对所述一个或多个对象中的至少一个所要移动的对象,在使用深度图像的情况下借助于被分配给第一机器人臂的对象拿起模型来确定第一机器人臂的具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置,而且在使用深度图像的情况下借助于被分配给第二机器人臂的对象拿起模型来确定第二机器人臂的具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置。按照先决条件模型针对所述一个或多个拿起机器人配置中的具有最高概率的拿起机器人配置借助于机器人轨迹模型来确定用于该拿起的机器人轨迹可具有:按照相应所分配的先决条件模型,从第一机器人臂的一个或多个拿起机器人配置和第二机器人臂的一个或多个拿起机器人配置中选择具有最高概率的拿起机器人配置,而且选择被分配给所选择的拿起机器人配置的机器人臂,而且借助于被分配给所选择的机器人臂的机器人轨迹模型按照所选择的拿起机器人配置来确定用于拿起的机器人轨迹。借助于所确定的机器人轨迹来控制机器人装置实施对对象的拿起可具有:借助于所确定的机器人轨迹,控制机器人装置的所选择的机器人臂来实施对对象的拿起。在本段中所描述的特征与第一个示例至第十二个示例中的一个或多个示例相结合地形成第十三个示例。
由此,在选择拿起机器人配置时不仅可以考虑两个机器人臂的动态条件(例如几何条件)而且可以考虑在这两个机器人臂的工作区域中的对象。清楚的是,这样可以改进对所要拿起的对象的选择,其方式是借助于所分配的拿起机器人配置来提高成功实施针对所选择的对象的拿起的概率。
借助于第一机器人臂对对象的拿起可具有吸住对象,和/或借助于第二机器人臂对对象的拿起可具有抓取对象。在本段中所描述的特征与第十三个示例相结合地形成第十四个示例。
一种计算机程序产品可存储程序指令,如果这些程序指令被执行,则这些程序指令实施根据第一个示例至第十四个示例中的一个或多个示例所述的方法。具有在本段中所描述的特征的计算机程序产品形成第十六个示例。
一种非易失性存储介质可存储程序指令,如果这些程序指令被执行,则这些程序指令实施第一个示例至第十四个示例中的一个或多个示例的方法。具有在本段中所描述的特征的非易失性存储介质形成第十七个示例。
一种永久性存储介质可存储程序指令,如果这些程序指令被执行,则这些程序指令实施第一个示例至第十四个示例中的一个或多个示例的方法。具有在本段中所描述的特征的永久性存储介质形成第十八个示例。
一种计算机程序可具有指令,这些指令在由处理器执行时引起:该处理器执行按照第一个示例至第十四个示例中的一个或多个示例所述的方法。具有在本段中所描述的特征的计算机程序形成第十九个示例。
一种计算机可读介质可存储指令,这些指令在由处理器执行时引起:该处理器执行按照第一个示例至第十四个示例中的一个或多个示例所述的方法。具有在本段中所描述的特征的计算机可读介质形成第二十个示例。
附图说明
本发明的实施例在附图中示出并且在随后的描述中更详细地予以阐述。
其中:
图1示出了按照各种实施方式的示例性的机器人装置组件;
图2示出了按照各种实施方式的控制模型;
图3A示出了按照各种实施方式的用于控制机器人装置的流程图;
图3B至3D示出了按照各种实施方式的示例性的所要拿起的对象;
图4示出了按照各种实施方式的从演示中学习的流程图;
图5示出了按照各种实施方式的用于记录用户的演示的布置;
图6示出了按照各种实施方式的用于训练对象拿起模型的流程图;
图7示出了按照各种实施方式的用于附加地训练对象拿起模型的流程图;
图8示出了按照各种实施方式的示例性的具有多个机器人臂的机器人装置组件;
图9示出了按照各种实施方式的用于控制具有多个机器人臂的机器人装置的流程图;
图10示出了按照各种实施方式的用于控制机器人装置的方法。
具体实施方式
在一个实施方式中,“计算机”可以被理解为任何类型的逻辑实现实体,该逻辑实现实体可以是硬件、软件、固件或它们的组合。因而,在一个实施方式中,“计算机”可以是硬连线逻辑电路或可编程逻辑电路,诸如可编程处理器、例如微处理器(例如CISC(复杂指令集处理器)或RISC(精简指令集处理器))。“计算机”可具有一个或多个处理器。“计算机”也可以是由处理器来实现或执行的软件,例如任何类型的计算机程序、例如使用虚拟机代码、诸如Java的计算机程序。根据一个替选的实施方式,相应的功能的任何其它类型的实现方案都可以被理解为“计算机”,这些相应的功能在下文更详细地予以描述。
在控制机器人装置来拿起和移动对象时,可以使用机器人控制模型,以便确定机器人装置的配置和轨迹。在此,其它对象和机器人装置的几何条件可能限制机器人装置的配置和/或轨迹。各种实施方式涉及一种用于控制机器人装置的设备和方法,该设备和该方法能够控制借助于机器人装置对对象的拿起和移动,使得不仅其它对象而且机器人装置的几何条件都被考虑。清楚的是,这样可以显著降低机器人装置拿起和移动对象的失败率。
图1示出了机器人装置组件100。机器人装置组件100可具有机器人装置101。为了阐明,在图1中示出且在下文示例性描述的机器人装置101代表示例性的机器人装置,而且例如可具有以用于对工件进行移动、安装或加工的机器人臂为形式的工业机器人。应指出:机器人装置可以是任何类型的受计算机控制的设备,诸如机器人(例如制造机器人、维修机器人、家用机器人、医疗机器人等等)、车辆(例如自主车辆)、家用电器、生产机器、私人助理、门禁系统等等。
机器人装置101具有机器人链节102、103、104和底座(或者通常是支架)105,通过该底座来承载这些机器人链节102、103、104。术语“机器人链节”涉及机器人装置101的可移动部分,对这些可移动部分的操纵能够实现与周围环境的物理交互,例如以便执行任务,例如以便实施或执行一项或多项技能。
为了进行控制,机器人装置组件100包含控制设备106,该控制设备被设立为按照控制程序来实现与周围环境的交互。机器人链节102、103、104的最后一个元件104(从底座105出发来看)也被称为末端执行器104并且可以包含一个或多个工具,诸如抓取工具、抽吸装置(例如抽吸头)等等。
其它机器人链节102、103(更靠近底座105)可形成定位装置,使得在其端部具有末端执行器104的机器人臂120(或关节臂)与末端执行器104一起被提供。机器人臂120是机械臂,该机械臂可以完成与人类手臂类似的功能(可能利用在其端部处的工具)。
机器人装置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。
按照各种实施方式,机器人装置101(例如机器人臂120)可以被设立为拿起一个或多个对象114。按照各种实施方式,机器人装置101(例如机器人臂120)可以被设立为移动被拿起的对象。
按照各种实施方式,机器人装置组件100可具有一个或多个传感器。所述一个或多个传感器可以被设立为:提供表征机器人装置的状态的传感器数据。例如,所述一个或多个传感器可具有:成像传感器,诸如摄像机(例如标准摄像机、数码摄像机、红外摄像机、立体摄像机等等);雷达传感器;激光雷达(LIDAR)传感器;位置传感器;速度传感器;超声传感器;加速度传感器;压力传感器,等等。
机器人装置101可以处在多个状态中的一个状态下。按照各种实施方式,机器人装置101可以在任何时间点都处在所述多个状态中的当前状态下。所述多个状态中的相应的状态可以在使用由所述一个或多个传感器提供的传感器数据和/或机器人装置101的配置的情况下被确定。
按照各种实施方式,所述一个或多个传感器可具有至少一个深度摄像机。深度摄像机113例如可以被设立为提供深度图像(例如RGB-D图像),这些深度图像显示出所述一个或多个对象114。
机器人装置101可以被设立为实施多项技能。所述多项技能中的技能例如可以在控制设备106的程序代码中被预先限定。所述多项技能中的一项或多项技能例如可具有一个或多个机器人链节102、103、104的机械运动。所述多项技能中的一项或多项技能例如可具有末端执行器的行动(例如抓取、例如松开等等)。按照各种实施方式,在机器人装置101的当前状态下实施的技能可引起机器人装置101的所述多个状态中的所得出的状态。
机器人控制模型112可以被设立为:针对显示出一个或多个对象114的深度图像,确定用于拿起(以及可选地还用于移动)所述一个或多个对象114中的一个对象的机器人配置和机器人轨迹。控制设备106可以被设立为:在使用机器人控制模型112的情况下,借助于所确定的机器人轨迹来控制机器人装置101实施对对象的拿起。
“对对象的拿起”,如本文中所使用的那样,可以是对对象的这样的接触:对象由于机器人装置101(例如机器人臂120)的移动而可以被移动。该拿起可以取决于末端执行器104的类型。例如,末端执行器104可具有抓取工具,而且对对象的拿起可以是对该对象的抓取。例如,末端执行器104可具有抽吸装置(例如抽吸头),而且对对象的拿起可以是将对象吸住。
按照各种实施方式,可以在机器人装置101停机期间生成(例如学习、例如训练)机器人控制模型112。按照各种实施方式,所生成的机器人控制模型112可以在机器人装置101运行期间被使用,以便确定要由机器人装置101实施的技能。按照各种实施方式,所生成的机器人控制模型112可以在机器人装置101运行期间附加地被训练。
图2示出了按照各种实施方式的控制模型200。控制模型200例如可以被用作机器人控制模型112和/或被用作控制模型112的部分。
控制设备106可以被设立用于控制机器人装置来实施技能。为了阐明,在下文描述了控制机器人装置101来实施拿起技能、例如拿起对象。应指出:可以使用其它机器人装置,而且可以实施其它技能,诸如移动所拿起的对象。
按照各种实施方式,控制模型200可具有对象拿起模型202。对象拿起模型202可以被设立为:作为对深度图像的输入的反应,输出具有相应所分配的成功概率的多个拿起机器人配置。按照各种实施方式,对象拿起模型202可以被设立为:作为对深度图像的输入的反应,输出具有高于预先限定的阈值的成功概率(也就是说具有大于预先限定的阈值的成功概率)的一个或多个拿起机器人配置。
本文中所使用的概率具有所分配的概率值。如果本文中将概率与另一概率或阈值进行比较(例如大于、例如小于、例如高于、例如低于、例如在其之上),则这涉及被分配给该概率的概率值。
机器人配置,如本文中所使用的那样,可以是机器人姿态(例如末端执行器姿态)。机器人配置例如可具有末端执行器旋转(例如末端执行器定向)。机器人配置例如可具有末端执行器位置(例如末端执行器平移)。末端执行器位置,t,可以是3D位置
Figure DEST_PATH_IMAGE001
。清楚的是,机器人配置可以是末端执行器的6D配置,该6D配置具有3D位置和方向(例如在3D空间中的方向)。拿起机器人配置可以是为拿起所分配的对象来被确定的机器人配置。
被分配给拿起机器人配置的成功概率可以说明预期成功实施拿起技能的概率如何。对拿起技能的成功实施例如可以是:末端执行器可以抓取、提升和/或移动被分配给该机器人配置的对象。这一点可以类似地适用于其它技能(例如机器人臂120的移动技能)。确定拿起机器人配置的成功概率例如可以是拿起机器人配置的分类(例如类别“成功”)。
例如参考图6来描述对对象拿起模型202的训练。
按照各种实施方式,控制模型200可具有机器人轨迹模型206。针对所分配的技能(例如拿起、例如移动),机器人轨迹模型206可具有隐式半马尔可夫模型,该隐式半马尔可夫模型具有一个或多个初始状态和一个或多个最终状态。清楚的是,机器人轨迹模型206可以在使用任务参数的情况下确定机器人轨迹。
机器人轨迹模型206可以是TP-HSMM。HSMM(隐式半马尔可夫模型)将简单的HMM(隐式马尔可夫模型)扩展得使得将时间信息嵌入到所基于的随机过程中。这意味着:在HMM的情况下假设所基于的统计过程具有马尔可夫性质、也就是说转换到下一状态的概率只取决于当前状态,而在HSMM的情况下该过程的转换到下一状态的概率取决于当前状态以及在当前状态下的停留时长。HSMM通常尤其是被用在语音合成方面。
按照各种实施方式,任务参数化的HSMM(TP-HSMM)、诸如机器人轨迹模型206针对技能通过如下等式来被表示:
Figure 275265DEST_PATH_IMAGE002
(1)
其中
Figure DEST_PATH_IMAGE003
表示从状态
Figure 487678DEST_PATH_IMAGE004
到状态
Figure DEST_PATH_IMAGE005
的转换概率,
Figure 329732DEST_PATH_IMAGE006
表示在状态
Figure DEST_PATH_IMAGE007
下的停留时长的高斯分布(在这种情况下,上标D不是索引而是应该只表征与停留时长(英文duration)的关系)而且
Figure 787258DEST_PATH_IMAGE008
是(所属的或所关联的)TP-GMM(任务参数化的高斯混合模型)
Figure DEST_PATH_IMAGE009
的第k个分量,其中K表示在混合模型中的高斯分量的数目,πk表示针对第k个分量的先验概率并且
Figure 460685DEST_PATH_IMAGE010
是在坐标系
Figure DEST_PATH_IMAGE011
中的第k个分量的平均值或协方差。
按照各种实施方式,控制模型200可具有先决条件模型204,
Figure 581350DEST_PATH_IMAGE012
。先决条件模型204可以针对机器人轨迹模型206的每个初始状态都具有在实施所分配的技能(例如拿起、例如移动)之前的机器人配置的概率分布。例如,先决条件模型204可以针对机器人轨迹模型206的每个初始状态都具有实施该拿起的机器人配置的概率分布。
先决条件模型204,
Figure 113963DEST_PATH_IMAGE013
,可以是TP-GMM。先决条件模型204,
Figure 781704DEST_PATH_IMAGE012
,可以通过
Figure DEST_PATH_IMAGE014
(2)
来被描述,其中
Figure 840796DEST_PATH_IMAGE015
是最优的自由任务参数,其中从在初始时间点1的对象的初始姿态
Figure DEST_PATH_IMAGE016
's的视角来看,
Figure 568581DEST_PATH_IMAGE017
是在时间点1的对象
Figure DEST_PATH_IMAGE018
的初始姿态的高斯分布(高斯分布的平均值和协方差)。清楚的是,先决条件模型204,
Figure 916385DEST_PATH_IMAGE013
,描述(例如建模)在实施技能
Figure 122239DEST_PATH_IMAGE019
之前的系统的状态。按照各种实施方式,先决条件模型204可以针对初始状态s具有在实施所分配的技能
Figure 466196DEST_PATH_IMAGE019
(例如拿起、例如移动)之前的机器人配置的概率分布。按照各种实施方式,参考等式(2),先决条件模型204可具有在实施所分配的技能
Figure 958357DEST_PATH_IMAGE019
之前的机器人配置的任务参数
Figure DEST_PATH_IMAGE020
的概率分布。每项技能
Figure 668824DEST_PATH_IMAGE021
都可分配有至少一组任务参数
Figure DEST_PATH_IMAGE022
。按照各种实施方式,任务参数
Figure 803002DEST_PATH_IMAGE020
和拿起机器人配置可以相互换算(例如参见参考文献[2])。清楚的是,例如可以为所确定的一个或多个拿起机器人配置确定相应所分配的任务参数。
按照各种实施方式,控制模型200可具有终止条件模型208,
Figure 649736DEST_PATH_IMAGE023
。终止条件模型208可以针对机器人轨迹模型206的每个最终状态都具有在实施所分配的技能(例如拿起、例如移动)之后的机器人配置的概率分布。例如,终止条件模型208可以针对机器人轨迹模型206的每个最终状态都具有在实施该拿起之后的机器人配置的概率分布。
终止条件模型208,
Figure 578377DEST_PATH_IMAGE024
,可以是TP-GMM。终止条件模型208,
Figure 776141DEST_PATH_IMAGE024
,可以通过
Figure DEST_PATH_IMAGE025
(3)
来被描述,其中从对象的初始姿态
Figure 277791DEST_PATH_IMAGE016
's的视角来看,
Figure 244610DEST_PATH_IMAGE026
是在时间点
Figure DEST_PATH_IMAGE027
的对象
Figure 609733DEST_PATH_IMAGE028
的最终(例如得出的)姿态的高斯分布(高斯分布的平均值和协方差)。清楚的是,终止条件模型
Figure DEST_PATH_IMAGE029
描述(例如建模)在实施技能
Figure 357109DEST_PATH_IMAGE030
(例如拿起、例如移动)之后的系统的状态的变化。
在参考文献[3]中描述了关于作为TP-HSMM的机器人轨迹模型206、作为TP-GMM的先决条件模型204
Figure DEST_PATH_IMAGE031
和作为TP-GMM的终止条件模型208
Figure 800466DEST_PATH_IMAGE032
的更多细节。
按照各种实施方式,先决条件模型204、机器人轨迹模型206和/或终止条件模型208可以借助于从演示中的学习来被确定(为此例如参见关于图4和图5的描述以及参考文献[3])。
图3A示出了按照各种实施方式的用于控制机器人装置101的流程图300。流程图300可以是用于在运行期间控制机器人装置101的流程图。
按照各种实施方式,机器人装置101可以借助于控制设备106在使用控制模型200可具有的机器人控制模型112的情况下被控制。在这种情况下,机器人控制模型112可以由计算机110来实现。按照各种实施方式,在下文描述的处理可以在使用计算机110的情况下被执行。
按照各种实施方式,可以提供至少一个深度图像302。深度图像302可以是由深度摄像机113提供的深度图像。深度图像302可以显示出一个或多个对象114。深度图像302例如可以是RGB-D图像。按照各种实施方式,本文中所描述的深度图像可以是具有深度信息的任何类型的图像。清楚的是,深度图像可具有关于一个或多个对象的3维信息。本文中所描述的深度图像例如可具有点云,该点云由激光雷达传感器和/或雷达传感器提供。深度图像例如可以是由激光雷达传感器提供的具有深度信息的图像。
按照各种实施方式,对象拿起模型202可以作为对深度图像302的输入的反应而输出具有相应所分配的成功概率的多个拿起机器人配置304。例如,对象拿起模型202可以针对深度图像302所显示出的一个或多个对象114中的至少一个对象输出具有相应所分配的成功概率的多个拿起机器人配置304。例如,对象拿起模型202可以针对深度图像302所显示出的一个或多个对象114(例如所述一个或多个对象114可以是多个对象)中的多个对象分别输出具有所分配的成功概率的至少一个拿起机器人配置304。清楚的是,对象拿起模型202可处理深度图像302并且可确定多个拿起机器人配置304。所述多个拿起机器人配置304中的每个拿起机器人配置都可以被分配给所述一个或多个对象114中的一个对象。按照各种实施方式,对象拿起模型202可具有一个或多个神经网络。所述一个或多个神经网络可以被设立为:作为对深度图像的输入的反应,输出具有相应所分配的成功概率的一个或多个拿起机器人配置。所述一个或多个神经网络可以被设立为:作为对深度图像和多个拿起机器人配置的输入的反应,针对所输入的多个拿起机器人配置中的每个拿起机器人配置输出相应的成功概率。
神经网络可以具有或者是任何类型的神经网络,诸如自编码器网络、卷积神经网络(英文:convolutional neural network,CNN)、变分自编码器网络(英文:variationalautoencoder network,VAE)、稀疏自编码器网络(英文:sparse autoencoder network,SAE)、循环神经网络(RNN)、解卷积神经网络(英文:deconvolutional neural network,DNN)、生成对抗网络(英文generative adversarial network,GAN)、前瞻性神经网络(英文:forward-thinking neural network)、和积神经网络(英文:sum-product neuralnetwork)等等。神经网络可具有任何数目的层,而且经训练的神经网络可以已经借助于任何类型的训练原理来被训练,诸如反向传播(Backpropagation)。
按照各种实施方式,计算机110可以被设立为:根据所述多个拿起机器人配置304的相应的成功概率,选择所述多个拿起机器人配置304中的一个拿起机器人配置。例如,计算机110可以被设立为:选择所述多个拿起机器人配置304中的具有最高的(也就是说具有最大的)所分配的成功概率的拿起机器人配置。按照各种实施方式,借助于机器人轨迹模型206,可以为所述多个拿起机器人配置304中的所选择的拿起机器人配置(例如所述多个拿起机器人配置304中的具有最高的所分配的成功概率的拿起机器人配置)确定用于拿起被分配给所选择的拿起机器人配置的对象的机器人轨迹。按照各种实施方式,控制设备106可以被设立为:借助于机器人轨迹来控制机器人装置101实施对被分配给所选择的拿起机器人配置的对象的拿起。清楚的是,控制设备106可以将机器人装置101控制为使得机器人装置101实施所确定的机器人轨迹并且将所分配的对象拿起。对此的示例在图3B中示出。深度图像302例如可以显示出对象320。在该示例中,对象拿起模型202可以为拿起机器人配置322确定用于借助于末端执行器104来进行该拿起的最高成功概率。按照各种实施方式,机器人轨迹模型206可以为拿起机器人配置322确定机器人轨迹324。控制设备106可以被设立为:借助于机器人轨迹324来控制机器人装置101实施对对象320的拿起。
按照各种实施方式,计算机110可以被设立为:确定所述多个拿起机器人配置304中的分配有高于预先限定的阈值的成功概率(在有些方面也称为成功阈值)的一个或多个拿起机器人配置306。例如,计算机110可以确定所述多个拿起机器人配置304中的成功概率大于70 %(例如大于70 %、例如大于80 %、例如大于90 %、例如大于95 %等等)的一个或多个拿起机器人配置306。按照各种实施方式,计算机110可以被设立为确定预先限定的最小数目的拿起机器人配置。例如,计算机110可以被设立为:确定至少一个拿起机器人配置(例如正好一个拿起机器人配置、例如至少两个拿起机器人配置、例如最少两个拿起机器人配置,等等)。按照各种实施方式,计算机110可以被设立为:根据所分配的成功概率来确定预先限定的最小数目的拿起机器人配置。例如,计算机110可以将具有一个或多个最高成功概率的拿起机器人配置确定为所述一个或多个拿起机器人配置306。清楚的是,在一个示例中,计算机110可以将高于成功概率的所有拿起机器人配置确定为所述一个或多个拿起机器人配置306,而且如果所确定的拿起机器人配置的数目小于拿起机器人配置的预先限定的最小数目,则可以将具有最高成功概率的拿起机器人配置确定为所述一个或多个拿起机器人配置306,使得满足拿起机器人配置的该最小数目。
按照各种实施方式,计算机110可以在使用先决条件模型204的情况下为所述一个或多个拿起机器人配置306确定相应的概率。清楚的是,计算机110可以在使用先决条件模型204的情况下确定针对所述一个或多个拿起机器人配置306所分配的一个或多个概率308(在有些方面也称为实施概率)。
按照各种实施方式,计算机110可以在使用机器人轨迹模型206和先决条件模型204的情况下为所述一个或多个拿起机器人配置306中的每个拿起机器人配置都确定相应所分配的置信度
Figure DEST_PATH_IMAGE033
作为概率。例如,计算机110可以被设立为:在使用机器人轨迹模型206和TP-GMM
Figure 887371DEST_PATH_IMAGE009
和先决条件模型204的TP-GMM的情况下按照等式(4)为所述一个或多个拿起机器人配置306中的每个拿起机器人配置都确定相应所分配的置信度
Figure 423394DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE035
(4),
其中
Figure 658067DEST_PATH_IMAGE036
是末端执行器104的状态,其中
Figure DEST_PATH_IMAGE037
是对象的相应的状态,其中
Figure 141001DEST_PATH_IMAGE038
是机器人臂的初始姿态的依据所分配的技能
Figure 879149DEST_PATH_IMAGE019
的机器人轨迹模型206、即
Figure DEST_PATH_IMAGE039
的组合高斯分布(关于状态
Figure 290801DEST_PATH_IMAGE040
),而且其中
Figure 481611DEST_PATH_IMAGE041
是相应的对象o的初始姿态的依据先决条件模型204的组合高斯分布(关于对象
Figure DEST_PATH_IMAGE042
)(例如参见参考文献[3])。应指出:按照等式(4)所确定的置信度是概率密度。为了阐明,按照等式(4)所确定的置信度也被视为关于所确定的一个或多个(实施)概率308的概率,使得所述一个或多个(实施)概率308的概率也可以是概率密度。
按照各种实施方式,计算机110可以被设立为:根据针对所述一个或多个拿起机器人配置306所确定的一个或多个(实施)概率308,选择所述一个或多个拿起机器人配置306中的一个拿起机器人配置。例如,计算机110可以被设立为:选择所述一个或多个拿起机器人配置306中的具有(所述一个或多个概率308中的)最高的所分配的概率的拿起机器人配置。按照各种实施方式,计算机110可以被设立为:在考虑其它和/或附加条件的情况下选择所述一个或多个拿起机器人配置306中的拿起机器人配置。例如,机器人配置的各个参数(例如方向)、所述一个或多个对象114所在的工作区域的分区、借助于分类(例如借助于分类网络)所确定的对象类别等等可以被考虑(例如优选地,例如由于所确定的概率的降低而不利)。
按照各种实施方式,借助于机器人轨迹模型206,可以为所述一个或多个拿起机器人配置306中的所选择的拿起机器人配置(例如所述一个或多个拿起机器人配置306中的具有最高的所分配的概率的拿起机器人配置)确定用于拿起被分配给所选择的拿起机器人配置的对象的机器人轨迹310。
按照各种实施方式,控制设备106可以被设立为:借助于机器人轨迹310来控制312机器人装置101实施对被分配给所选择的拿起机器人配置的对象的拿起。清楚的是,控制设备106可以将机器人装置101控制312为使得机器人装置101实施所确定的机器人轨迹310并且将所分配的对象拿起。
所述一个或多个对象114可具有多个对象。为所述一个或多个对象114(例如多个对象)中的多个对象确定多个拿起机器人配置304并且在使用先决条件模型204的情况下选择拿起机器人配置例如具有如下效果:选择所述一个或多个对象114中的被分配给所选择的拿起机器人配置的对象。清楚的是,这样可以选择所述一个或多个对象114中的所要移动的对象。例如,所述一个或多个对象114中的所要移动的对象可以被选择为使得所要移动的对象与其它对象的关系以及机器人装置101(例如机器人臂120)的几何条件被考虑。
对此的示例在图3C中示出。深度图像302例如可以显示出对象330。在该示例中,为了借助于末端执行器104来进行该拿起,对象拿起模型202可以针对第一拿起机器人配置332并且针对第二拿起机器人配置334确定相应的高于成功阈值的成功概率。清楚的是,所述一个或多个拿起机器人配置306可具有第一拿起机器人配置332和第二拿起机器人配置334。按照各种实施方式,先决条件模型204可以为第一拿起机器人配置332和第二拿起机器人配置334确定相应的概率(例如相应的置信度
Figure 502657DEST_PATH_IMAGE033
)。清楚的是,所述一个或多个概率308可以具有针对第一拿起机器人配置332的第一概率(例如第一置信度)和针对第二拿起机器人配置334的第二配置(例如第二置信度)。在该示例中,该第一概率可大于该第二概率,而且计算机110可以被设立为:选择被分配给该第一概率的第一拿起机器人配置332。按照各种实施方式,机器人轨迹模型206可以为所选择的拿起机器人配置332确定机器人轨迹336。控制设备106可以被设立为:借助于机器人轨迹336来控制机器人装置101实施对对象330的拿起。图3D示出了如下示例,在该示例中,深度图像302可以显示出第一对象340和第二对象350。按照各种实施方式,用于第一对象340的先决条件模型204可以为拿起机器人配置342确定最大概率(例如最大置信度),并且机器人轨迹模型206可以为该拿起机器人配置342确定机器人轨迹344。按照各种实施方式,用于第二对象350的先决条件模型204可以为拿起机器人配置352确定最大概率(例如最大置信度),并且机器人轨迹模型206可以为该拿起机器人配置352确定机器人轨迹354。
按照各种实施方式,控制设备106可以被设立为:控制机器人装置101来实施对对象的拿起和随后对所拿起的对象的移动。
机器人轨迹模型206可以具有用于拿起对象的隐式半马尔可夫模型
Figure 32995DEST_PATH_IMAGE043
作为所分配的技能
Figure 176401DEST_PATH_IMAGE030
和用于移动所拿起的对象的隐式半马尔可夫模型
Figure 792190DEST_PATH_IMAGE043
作为所分配的技能
Figure 85768DEST_PATH_IMAGE019
。先决条件模型204可以具有用于拿起对象的TP-GMM
Figure 860826DEST_PATH_IMAGE044
作为所分配的技能
Figure 253761DEST_PATH_IMAGE019
和用于移动所拿起的对象的TP-GMM
Figure DEST_PATH_IMAGE045
作为所分配的技能
Figure 517033DEST_PATH_IMAGE019
。终止条件模型208可以具有用于拿起对象的TP-GMM
Figure 551985DEST_PATH_IMAGE046
作为所分配的技能
Figure 650391DEST_PATH_IMAGE019
和用于移动所拿起的对象的TP-GMM
Figure 276545DEST_PATH_IMAGE047
作为所分配的技能
Figure 991560DEST_PATH_IMAGE019
按照各种实施方式,控制模型200可以在使用终止条件模型208的被分配给该拿起的TP-GMM的情况下确定在实施对对象的拿起之后的机器人配置。按照各种实施方式,机器人轨迹模型206可以在使用借助于终止条件模型208所确定的机器人配置的情况下确定用于移动对象的机器人轨迹。按照各种实施方式,控制设备106可以在使用机器人模型112的情况下借助于所确定的机器人轨迹来控制机器人装置101实施对对象的拿起。
按照各种实施方式,计算机110可以在使用机器人轨迹模型206和先决条件模型204的情况下按照等式(4)来为所述一个或多个拿起机器人配置306中的每个拿起机器人配置都确定针对作为技能
Figure 830203DEST_PATH_IMAGE019
的拿起被分配给该机器人配置的对象的相应所分配的第一置信度
Figure DEST_PATH_IMAGE048
。机器人轨迹模型206可以为所述一个或多个拿起机器人配置306中的每个拿起机器人配置都确定用于实施拿起技能的机器人轨迹。终止条件模型208可以确定由相应的机器人轨迹得出的机器人配置。按照各种实施方式,计算机110可以在使用机器人轨迹模型206和先决条件模型204的情况下按照等式(4)来为每个借助于终止条件模型208所确定的机器人配置确定针对作为技能
Figure 579853DEST_PATH_IMAGE019
的移动被分配给相应的机器人配置的对象的相应所分配的第二置信度
Figure 580170DEST_PATH_IMAGE048
清楚的是,可以为所述一个或多个拿起机器人配置306中的每个拿起机器人配置确定实施拿起技能的第一(选择)概率(第一置信度)和实施移动技能的第二(选择)概率(第二置信度)。
按照各种实施方式,计算机110可以根据针对所述一个或多个拿起机器人配置306所确定的第一置信度和所确定的第二置信度选择所述一个或多个拿起机器人配置306中的一个拿起机器人配置。
例如,计算机110可以预选所述一个或多个拿起机器人配置306中的具有高于预先限定的第一置信度阈值(例如超过50 %、例如超过60 %、例如超过70 %、例如超过80 %、例如超过90 %等等的第一置信度阈值)的第一置信度的所有拿起机器人配置。清楚的是,所述一个或多个拿起机器人配置306中的具有最小实施概率的所有拿起机器人配置都可以被预选。
例如,计算机110可以在使用被预选的拿起机器人配置的相应所确定的第一置信度和第二置信度的情况下确定被预选的拿起机器人配置中的一个拿起机器人配置。例如,计算机110可以选择被预选的拿起机器人配置中的具有最大总概率的拿起机器人配置。该总概率例如可以是第一置信度和第二置信度的加权和。
按照各种实施方式,借助于机器人轨迹模型206,可以为所述一个或多个拿起机器人配置306中的所选择的拿起机器人配置确定用于拿起被分配给所选择的拿起机器人配置的对象并且用于移动所拿起的对象的相应的机器人轨迹310。按照各种实施方式,控制设备106可以被设立为:控制312机器人装置101来实施对对象的拿起和随后的移动。
图4示出了按照各种实施方式的从演示中学习的流程图400。
为了教授机器人技能,诸如使机器人按照所希望的轨迹移动,可以执行动觉演示,其中机器人直接被移动,例如通过物理推动或者借助于遥控来被移动。除了为此所需的经验、安全风险和要求(例如对于需要精确移动的任务来说)之外,为了执行任务,对机器人的移动对于人类来说与使用自己的手相比直观性也低得多。
关于上述内容,按照各种实施例,提供了一种做法,该做法能够使人类用户通过该人类用户自己简单地执行活动(技能)来教授机器人该活动。在此,例如通过跟踪用户的手(以及可选地所涉及到的对象)来记录演示,而不是记录末端执行器的轨迹。接着,演示被用于学习技能的紧凑数学表示,该紧凑数学表示可以(例如被控制设备106)用于通过机器人在新场景(例如机器人与所要操纵的对象之间的新相对位置)下再现该技能。
各种实施例基于在如下两个领域的技术进步:第一,基于在使用机器人的区域、例如在工厂中的摄像机图像对手的跟踪通常是可用的;而第二,用于基于人类演示来训练机器人的方法不仅允许机器人的高效学习(也就是说对机器人的训练)而且允许灵活的再现。对此的示例是TP-HSMM(任务参数化的隐式半马尔可夫模型(Task-Parameterized HiddenSemi Markov Models)),这些TP-HSMM能够实现对所学习的运动技能的取决于任务参数的表示。
对对象和人手的跟踪是一个活跃的研究领域(尤其是在机器视觉方面)并且对于工业应用来说非常重要。不同于将相对应的技术应用于人机交互(例如用于视频游戏),按照各种实施方式,针对机器人的训练(教学)和学习使用该跟踪。
在演示阶段,用户(或者一般来说是演示者)演示所希望的技能。该演示被记录。例如,借助于摄像机来创建视频记录,并且用户的手(一般来说演示者的一部分)的姿势的序列根据视频的图像来被确定并且以轨迹的形式来被表示。针对多次演示402来重复这一点。应该注意的是:这可以以解耦的方式来实现,也就是说例如使用大量视频,这些视频是之前在没有打算教授机器人技能的情况下被记录的。
按照各种实施方式,在使用这些演示402的情况下可以学习机器人轨迹模型206、先决条件模型204和/或终止条件模型208。
在学习或训练阶段,从所收集到的演示中学习数学模型。例如,学习TP-HSMM,该TP-HSMM包含手的姿态作为任务参数之一。“姿态”例如包含关于位置和/或方向或者还有关于状态(例如“手握住”与“手张开”)的信息。
图5示出了按照各种实施方式的用于记录用户的演示的布置500。
计算机可以被设立为生成控制模型200。该计算机例如可以是控制设备106的计算机110。如本文中所描述的那样,即使机器人装置101未被运行,也可以生成(例如学习)控制模型200;这样,该计算机例如可以是与计算机110不同的计算机。例如,控制模型200可以在空间上与机器人装置组件100分开地被学习。
用户501通过移动他的手502来演示技能。例如,该用户从第一位置505拿起对象504并且将该对象移动到第二位置506。摄像机507记录用户的运动。也可以设置多个摄像机,这些摄像机从不同的视角、尤其是从对象504的起始位置505的角度以及从该对象的结束位置506的角度来记录该演示。
借此,每个演示都被表示为图像序列,该图像序列被输送给例如对应于控制设备106的控制装置508。控制装置508例如可具有计算机,以便执行计算。控制装置508基于这些演示来学习统计模型509、诸如机器人轨迹模型206和/或TP-GMM (例如先决条件模型202,例如终止条件模型208,如本文中所描述的那样)。还假设:每次演示都是从不同坐标系
Figure 283946DEST_PATH_IMAGE049
的视角P来被记录,这些坐标系被称为任务参数(Task-Parameter)。
例如,在演示阶段结束时,可以抽象出演示(例如表示为手502或对象504的坐标的变化过程)并且将这些演示作为(例如这只手502、该对象504或者还有多个手和/或多个对象的)轨迹来存储,例如存储在控制装置508的存储器中。
参考图4,TP-HSMM不仅能够实现高效的学习而且能够实现用于从人类演示中学习机器人能力的灵活的再现。更准确地说,用户的手502的所记录的轨迹被视为应该被学习的所希望的运动,而对象504的轨迹被用于针对该技能生成不同的任务参数(Task-Parameter),这些任务参数表示工作区域的不同配置。这些任务参数例如可以依据当前状态来被确定。这些任务参数例如可以被自由选择。
按照各种实施方式,机器人轨迹模型206可以在使用演示402的情况下被确定。机器人轨迹模型206可以是TP-HSMM。
按照一个实施方式,任务参数化的HSMM(TP-HSMM)、诸如机器人轨迹模型206通过如下等式来被表示:
Figure DEST_PATH_IMAGE050
(1)。
TP-GMM描述了针对每个状态k = 1, ... K的输出概率(或者发射概率、也就是说观察概率)。这种混合模型(不同于简单的GMM)不能针对每个坐标系被独立学习。原因在于:混合系数
Figure 785335DEST_PATH_IMAGE051
被所有坐标系共享(也就是说适用于所有坐标系)并且在坐标系
Figure 264857DEST_PATH_IMAGE052
中的第k个分量必须对应于在全局坐标系中的第k个分量。学习(也就是说训练)这种模型的途径是EM(期望最大化(Expectation Maximization))算法。
如果TP-GMM被训练,则该TP-GMM可以在由控制装置508和/或控制设备106实施期间被用于再现所学习的能力或技能的轨迹。
然而,在HSMM的情况下,先验概率
Figure 560710DEST_PATH_IMAGE053
只描述针对在t=1的情况下的初始分量的概率分布。在稍后的时间的概率通过所基于的半马尔可夫模型来给出。
在所考虑的该TP-HSMM中,每个状态都对应于在所属的TP-GMM中的高斯分量。
机器人装置101可以在静态的、已知的工作环境下工作。在机器人装置101(在某些方面称为机器人)的作用范围之内,存在用
Figure 125683DEST_PATH_IMAGE054
来表示的(令人感兴趣的)对象。每个对象都可以通过其状态
Figure 102866DEST_PATH_IMAGE055
来被描述。
还假设:存在核心操纵技能的集合,该集合能够使机器人操纵(例如移动)这些对象。这些核心操纵技能的集合被称为
Figure 561530DEST_PATH_IMAGE056
针对每项活动(对应于技能),用户501执行多次演示,这些演示限定了机器人装置101应该如何执行该活动。尤其是对于技能
Figure 903649DEST_PATH_IMAGE021
来说涉及对象集合
Figure DEST_PATH_IMAGE057
并且用
Figure 641405DEST_PATH_IMAGE058
来表示演示集合,其中每个演示用
Figure 156700DEST_PATH_IMAGE059
(7)
来被表示,其中
Figure DEST_PATH_IMAGE060
是末端执行器104的状态,其中
Figure 938711DEST_PATH_IMAGE061
是状态s的序列,其中每个状态都说明了根据对手的跟踪(通过对摄像机图像的记录)所确定的(在时间点t)所希望的状态
Figure 514049DEST_PATH_IMAGE060
以及对象状态
Figure DEST_PATH_IMAGE062
。借助于这些技能的组合,机器人装置101可以操纵相应的对象,使得这些对象达到所希望的最终状态。
关于TP-GMM
Figure 381511DEST_PATH_IMAGE063
,每个
Figure 998699DEST_PATH_IMAGE052
都可以是一组任务参数
Figure DEST_PATH_IMAGE064
中的一个任务参数。每项技能
Figure 307321DEST_PATH_IMAGE065
都可分配有至少一组任务参数
Figure DEST_PATH_IMAGE066
。例如,技能
Figure 647035DEST_PATH_IMAGE021
可以在使用一组任务参数
Figure 408318DEST_PATH_IMAGE066
的情况下被实施。按照各种实施方式,相应的任务参数
Figure 593311DEST_PATH_IMAGE066
的组可以借助于并集
Figure 756439DEST_PATH_IMAGE067
来被描述,其中
Figure 470317DEST_PATH_IMAGE068
是技能
Figure DEST_PATH_IMAGE069
的自由任务参数组。
TP-HSMM(例如由控制装置508)在学习阶段基于用户501的演示
Figure 890802DEST_PATH_IMAGE070
来被训练,例如按照EM(期望最大化)程序来被训练。
训练的结果是参数组
Figure 489273DEST_PATH_IMAGE071
的表征TP-HSMM的值。
按照各种实施方式,控制设备106可以在使用TP-HSMM机器人轨迹模型206的情况下控制机器人装置101,以便实施活动,例如针对新场景来实施活动。例如,控制设备106可以使用机器人轨迹模型206,以便确定针对新场景的参考轨迹,并且将机器人装置101控制为使得该机器人装置遵循该参考轨迹。在这种情况下,术语“场景”涉及对所建模的任务参数(例如起始位置505或当前位置以及目标位置506;例如当前状态和目标状态)的特殊选择。
按照各种实施方式,(例如借助于控制设备508)可以确定一个或多个TP-GMM。例如,在学习阶段可以训练或学习先决条件模型
Figure 631542DEST_PATH_IMAGE012
,诸如先决条件模型202。例如,在学习阶段可以训练或学习终止条件模型
Figure 985163DEST_PATH_IMAGE047
, 诸如终止条件模型208。
先决条件模型
Figure 314513DEST_PATH_IMAGE013
可以通过
Figure 982255DEST_PATH_IMAGE014
(2)
来被描述。
先决条件模型
Figure 713450DEST_PATH_IMAGE047
可以通过
Figure DEST_PATH_IMAGE072
(3)
来被描述。
按照各种实施方式,特定于技能的流形
Figure 706814DEST_PATH_IMAGE073
可以借助于TP-HSMM机器人轨迹模型206、先决条件模型202、
Figure 290504DEST_PATH_IMAGE044
和终止条件模型208、
Figure 496358DEST_PATH_IMAGE046
按照等式(5)来被描述:
Figure DEST_PATH_IMAGE074
(5)。
清楚的是,TP-HSMM机器人轨迹模型206描述(例如建模)技能
Figure 347639DEST_PATH_IMAGE030
的轨迹。清楚的是,先决条件模型202、即
Figure 370959DEST_PATH_IMAGE044
和终止条件模型208、即
Figure 550267DEST_PATH_IMAGE075
描述(例如建模)在机器人装置101与对象
Figure 356549DEST_PATH_IMAGE028
之间的几何关系。清楚的是,先决条件模型202、即
Figure 593496DEST_PATH_IMAGE044
、终止条件模型208、即
Figure 131924DEST_PATH_IMAGE032
和TP-HSMM机器人轨迹模型206可以形成技能数据库。
按照各种实施方式,机器人轨迹模型206可以描述用于拿起对象的技能的轨迹,并且可以在使用用于实施对对象的拿起的演示的情况下被训练。按照各种实施方式,先决条件模型204可具有用于拿起对象的技能的TP-GMM,并且可以在使用用于实施对对象的拿起的演示的情况下被训练。按照各种实施方式,终止条件模型208可具有用于拿起对象的技能的TP-GMM,并且可以在使用用于实施对对象的拿起的演示的情况下被训练。
按照各种实施方式,机器人轨迹模型206可以描述用于移动所拿起的对象的技能的轨迹,并且可以在使用用于实施对所拿起的对象的移动的演示的情况下被训练。按照各种实施方式,先决条件模型204可具有用于移动所拿起的对象的技能的TP-GMM,并且可以在使用用于实施对所拿起的对象的移动的演示的情况下被训练。按照各种实施方式,终止条件模型208可具有用于移动所拿起的对象的技能的TP-GMM,并且可以在使用用于实施对所拿起的对象的移动的演示的情况下被训练。
关于从演示中学习的更多细节,例如关于训练作为TP-HSMM的机器人轨迹模型206以及训练先决条件模型 202
Figure 952856DEST_PATH_IMAGE044
和终止条件模型208
Figure 297250DEST_PATH_IMAGE024
(在有些方面也称为效果模型)的更多细节在参考文献[3]中予以描述。
借助于从演示中学习的模型(例如机器人轨迹模型206、例如先决条件模型204、例如终止条件模型208),可以以微小的计算工作量来确定机器人轨迹。
图6示出了按照各种实施方式的用于训练对象拿起模型、诸如对象拿起模型202的流程图600。按照各种实施方式,可以在机器人装置101未运行期间训练对象拿起模型202。
按照各种实施方式,对象拿起模型202可以在使用多个训练深度图像602的情况下被训练。所述多个训练深度图像602中的每个训练深度图像都可以显示出多个对象中的至少一个对象。例如,所述多个训练深度图像602中的每个训练深度图像都可以显示出所述多个对象中的多个对象。
按照各种实施方式,所述多个训练深度图像602中的每个训练深度图像都可以按如下地借助于计算机604来被处理:
按照各种实施方式,可以为所述多个训练深度图像602中的每个训练深度图像都确定点云。为了阐明,在下文描述对训练深度图像的处理。应指出:对于训练深度图像来说所描述的处理也可以针对为相应的训练深度图像生成的点云来被执行。
按照各种实施方式,用于相应的训练深度图像的拿起模型可以确定一个或多个拿起机器人配置606。所述一个或多个拿起机器人配置606中的每个拿起机器人配置都可以被分配给在相应的训练深度图像中显示出的对象中的一个对象。相应的机器人配置例如可具有末端执行器位置和末端执行器旋转(例如末端执行器定向)。相应的机器人配置例如可以是末端执行器的6D配置,该6D配置具有3D位置和方向(例如在3D空间中的方向)。拿起模型例如可以针对抽吸装置将表面接触点确定为拿起机器人配置。拿起模型例如可以针对抓取装置将两个相反的点确定为拿起机器人配置。
按照各种实施方式,计算机604可以被设立为:针对所述一个或多个拿起机器人配置606中的每个拿起机器人配置,模拟608对相应所分配的对象的拿起。例如,针对所述一个或多个拿起机器人配置606中的每个拿起机器人配置,可以多次模拟608拿起。对于每次模拟608来说,都可以确定对相应的对象的拿起是否成功。对于每次模拟608来说,都可以根据对相应的对象的拿起是否成功来确定奖励610。清楚的是,每次模拟608都可以模拟对象的拿起和提升并且可以确定成功或失败作为奖励610。例如,如果拿起成功,则可以确定预先给定的最大奖励(例如奖励的值等于“1”)。例如,如果拿起不成功,则可以确定预先给定的最小奖励(例如奖励的值等于“0”)。
按照各种实施方式,可以在使用物理仿真模型(例如基于CAD的物理仿真模型)的情况下借助于相应所分配的拿起机器人配置来模拟对相应的对象的拿起。
按照各种实施方式,可以在使用机器人轨迹模型206和/或先决条件模型204的情况下借助于相应所分配的拿起机器人配置来模拟对相应的对象的拿起。例如,可以在使用机器人轨迹模型206、先决条件模型204和/或终止条件模型208的情况下模拟对相应的对象的拿起。
清楚的是,这样可以针对所确定的一个或多个拿起机器人配置606中的每个拿起机器人配置确定一个或多个奖励610中的至少一个相应所分配的奖励。
按照各种实施方式,所述多个训练深度图像602、被分配给所述多个训练深度图像602中的每个训练深度图像的一个或多个拿起机器人配置606和被分配给所述多个训练深度图像602中的每个训练深度图像的所述一个或多个拿起机器人配置606中的每个拿起机器人配置的奖励610可以形成训练数据集。
按照各种实施方式,对象拿起模型202可以在使用训练数据集的情况下被训练612。对象拿起模型202可以借助于计算机604来被实现。对象拿起模型202可以借助于计算机604来被训练。
按照各种实施方式,对象拿起模型202可以在使用多个训练深度图像602、拿起机器人配置606和奖励610的情况下被训练,使得经训练的对象拿起模型202作为对深度图像的输入的反应来输出具有相应所分配的成功概率的多个拿起机器人配置606。
如本文中所描述的那样,对象拿起模型202可具有神经网络。对象拿起模型202例如可以在使用反向传播算法的情况下被训练。
按照各种实施方式,对象拿起模型202可以在使用训练数据集的情况下被训练,使得经训练的对象拿起模型202作为对深度图像的输入的反应来为在深度图像中显示出的对象确定多个拿起机器人配置,给多个拿起机器人配置中的每个拿起机器人配置都分配相应的成功概率,并且输出多个拿起机器人配置中的具有高于预先限定的阈值的成功概率的多个拿起机器人配置,作为所述多个拿起机器人配置606。
按照各种实施方式,对象拿起模型202可以在使用训练数据集的情况下被训练,使得经训练的对象拿起模型202作为对深度图像的输入的反应来输出具有相应所分配的成功概率的多个拿起机器人配置606。清楚的是,对象拿起模型202的神经网络可以被训练来针对深度图像生成具有所分配的成功概率的拿起机器人配置。
按照各种实施方式,对象拿起模型202可以被训练为使得预期奖励被提高(例如被最大化)。按照各种实施方式,可以借助于机器学习来训练对象拿起模型202。例如,可以借助于强化学习(英文:reinforcement learning)来训练对象拿起模型202,以提高预期奖励。例如,可以借助于深度学习(英文:deep learning)来训练对象拿起模型202。按照各种实施方式,在使用所确定的奖励的情况下可以确定误差值,并且可以训练对象拿起模型202以使该误差值减小(例如最小化)(例如借助于反向传播)。
按照各种实施方式,计算机604可以被设立为:针对所述一个或多个拿起机器人配置606中的每个拿起机器人配置,模拟608对相应所分配的对象的拿起和随后的所拿起的对象的移动。拿起和随后的移动,如本文中所使用的那样,例如可以是将对象运送到目标区域中。对对象的移动,如本文中所使用的那样,可具有改变对象的位置。
例如,针对所述一个或多个拿起机器人配置606中的每个拿起机器人配置,可以多次模拟608拿起和随后的移动。对于每次模拟608来说,都可以确定对相应的对象的拿起和随后的移动是否成功。对于每次模拟608来说,都可以根据对相应的对象的拿起和随后的移动是否成功来确定奖励610。清楚的是,每次模拟608都可以模拟对对象的拿起和对所拿起的对象的移动并且可以确定成功或失败作为奖励610。例如,如果对象可以被拿起并且如果所拿起的对象可以被移动(例如运送)到目标点(例如目标区域),则该拿起和随后的移动可以是成功的。例如,如果不仅拿起而且随后的移动都成功,则可以确定预先给定的最大奖励(例如奖励的值等于“1”)。例如,如果拿起和/或移动不成功,则可以确定预先给定的最小奖励(例如奖励的值等于“0”)。
按照各种实施方式,可以在使用物理仿真模型(例如基于CAD的物理仿真模型)的情况下模拟对相应的对象的拿起和随后的移动。按照各种实施方式,可以在使用机器人轨迹模型206、先决条件模型204和/或终止条件模型208的情况下模拟对相应的对象的拿起和随后的移动。
通过在使用机器人轨迹模型206、先决条件模型204和终止条件模型208的情况下模拟拿起(以及可选地还模拟随后的移动),机器人装置101的几何条件和其它对象(例如一个或多个对象114中的其它对象、例如处在机器人臂120的工作区域中的其它对象、例如不同于机器人臂120的机器人和/或机器人臂等等)的状态被考虑。这样可以显著提高所确定的成功概率的精度。
按照各种实施方式,所述多个训练深度图像602、被分配给所述多个训练深度图像602中的每个训练深度图像的一个或多个拿起机器人配置606和(为了拿起和随后的移动所确定的)被分配给所述多个训练深度图像602中的每个训练深度图像的所述一个或多个拿起机器人配置606中的每个拿起机器人配置的奖励610可以形成训练数据集。按照各种实施方式,对象拿起模型202可以在使用训练数据集的情况下被训练612。
清楚的是,这样在确定具有所分配的成功概率的多个拿起机器人配置时不仅可以考虑对对象的拿起而且可以考虑随后对所拿起的对象的移动。借此,在成功概率方面也考虑随后的移动(也就是说向目标点的移动)成功与否。这样可以显著提高所确定的成功概率的精度。
图7示出了按照各种实施方式的用于附加地训练对象拿起模型202的流程图700。按照各种实施方式,经训练的对象拿起模型202可以在机器人装置101运行期间附加地被训练。
按照各种实施方式,控制设备106可以(例如借助于控制模型200)借助于所确定的机器人轨迹310来控制机器人装置101实施对对象的拿起(例如参见关于图3A的描述)。 按照各种实施方式,控制设备106(例如计算机110)可以确定对对象的拿起是否成功被实施了,作为奖励702。例如,如果对对象的拿起被成功实施了,则可以确定预先给定的最大奖励(例如奖励的值等于“1”)。例如,如果对对象的拿起被实施得不成功,则可以确定预先给定的最小奖励(例如奖励的值等于“0”)。
按照各种实施方式,控制设备106可以(例如借助于控制模型200)借助于相应所确定的机器人轨迹310来控制机器人装置101实施对对象的拿起和随后的移动(例如参见关于图3A的描述)。按照各种实施方式,控制设备106(例如计算机110)可以确定对对象的拿起和随后的移动是否成功被实施了,作为奖励702。例如,如果对对象的拿起和随后的移动被成功实施了,则可以确定预先给定的最大奖励(例如奖励的值等于“1”)。例如,如果对对象的拿起和/或对对象的移动被实施得不成功,则可以确定预先给定的最小奖励(例如奖励的值等于“0”)。
按照各种实施方式,经训练的对象拿起模型202可以在使用所确定的奖励、针对其实施/实施了拿起的拿起机器人配置和针对其确定/确定了拿起机器人配置的深度图像的情况下附加地被训练704。清楚的是,根据所确定的拿起机器人配置是否引起对所分配的对象的拿起的成功实施(以及可选地还引起对所拿起的对象的移动的成功实施),对象拿起模型202可以在运行期间附加地被适配。
图8示出了按照各种实施方式的示例性的具有多个机器人臂的机器人装置组件800。机器人装置组件800示例性示出了两个机器人臂。应指出:机器人装置组件800可具有超过两个机器人臂。
按照各种实施方式,机器人装置组件800可具有机器人装置组件100。机器人装置101的机器人臂120可以是第一机器人臂120。机器人装置组件800还可具有第二机器人臂820。
为了阐明,在图8中示出且在下文示例性描述的机器人装置组件800是示例性的具有第一机器人臂120和第二机器人臂820的机器人装置101。应指出:该机器人装置可以是任何类型的受计算机控制的具有至少两个用于对对象进行操纵(例如移动、例如加工、例如处理,等等)的操纵装置的设备,诸如机器人(例如制造机器人、维修机器人、家用机器人、医疗机器人等等)、车辆(例如自主车辆)、家用电器、生产机器、私人助理、门禁系统等等。
按照各种实施方式,第二机器人臂820可以被设立为拿起一个或多个对象114。按照各种实施方式,第二机器人臂820可以被设立为移动被拿起的对象。
第二机器人臂820可具有机器人链节802、803、804和底座(或者通常是支架)805,通过该底座来承载这些机器人链节802、803、804。控制设备106可以被设立为按照控制程序来实现与周围环境的交互。例如,控制设备106可以被设立为控制第一机器人臂120和第二机器人臂820。机器人链节802、803、804的最后一个元件804(从底座805出发来看)也被称为末端执行器804并且可以包含一个或多个工具,诸如抓取工具、抽吸装置(例如抽吸头)等等。
在该示例中,第一机器人臂120的末端执行器104可具有抓取工具,并且第二机器人臂820的末端执行器804可具有用于将对象吸住的抽吸装置。对对象的拿起,如本文中所描述的那样,例如可以是对对象的抓取和/或吸住。应指出:这用于阐明性描述,而且第一机器人臂120和/或第二机器人臂820可以是或具有任何其它类型的用于操纵对象的末端执行器。
第二机器人臂820可包含连接元件807、808、809,这些连接元件使机器人链节802、803、804彼此连接并且与底座805连接。除了末端执行器104、804的相应的工具之外,第二机器人臂820可以基本上对应于第一机器人臂120。例如,其它机器人链节802、803、底座805和连接元件807、808、809可以与本文中所描述的第一机器人臂120的其它机器人链节102、103、底座105和连接元件107、108、109相对应地被设立。
图9示出了按照各种实施方式的用于控制具有多个机器人臂的机器人装置的流程图900。流程图900针对第一机器人臂(例如机器人装置组件800的第一机器人臂120)和第二机器人臂(例如机器人装置组件800的第二机器人臂820)示例性示出了对具有多个机器人臂的机器人装置的控制。应指出:流程图900相对应地适用于超过两个机器人臂。
按照各种实施方式,控制模型200可具有用于第一机器人臂120和第二机器人臂820的相应的机器人轨迹模型206。控制模型200可具有用于第一机器人臂120和第二机器人臂820的相应的对象拿起模型202。控制模型200可具有用于第一机器人臂120和第二机器人臂820的相应的先决条件模型204。控制模型200可具有用于第一机器人臂120和第二机器人臂820的相应的终止条件模型208。
按照各种实施方式,计算机110可以被设立为:针对第一机器人臂120和第二机器人臂820,借助于相应的对象拿起模型202分别确定具有所分配的成功概率的多个拿起机器人配置304。例如,计算机110可以借助于被分配给第一机器人臂120的对象拿起模型202-1来确定多个第一拿起机器人配置304-1。例如,计算机110可以借助于被分配给第二机器人臂820的对象拿起模型202-2来确定多个第二拿起机器人配置304-2。
按照各种实施方式,计算机110可以被设立为:选择所述多个第一拿起机器人配置304-1中的具有最高的所分配的成功概率的拿起机器人配置作为第一拿起机器人配置;并且选择所述多个第二拿起机器人配置304-2中的具有最高的所分配的成功概率的拿起机器人配置作为第二拿起机器人配置。按照各种实施方式,计算机110可以被设立为:针对第一拿起机器人配置,借助于被分配给第一机器人臂120的先决条件模型204-1来确定第一实施概率;并且针对第二拿起机器人配置,借助于被分配给第二机器人臂820的先决条件模型204-2来确定第二实施概率。按照各种实施方式,可以选择第一拿起机器人配置和第二拿起机器人配置中的具有更高的所分配的实施概率的拿起机器人配置。清楚的是,如果第一实施概率大于第二实施概率,则可以选择第一拿起机器人配置,而且如果第二实施概率大于第一实施概率,则可以选择第二拿起机器人配置。按照各种实施方式,可以选择被分配给所选择的拿起机器人配置的机器人臂。所选择的机器人臂的机器人轨迹模型206可以为所选择的拿起机器人配置确定用于该拿起的机器人轨迹。
按照各种实施方式,计算机110可以被设立为:确定所述多个第一拿起机器人配置304-1中的分配有高于预先限定的第一成功阈值(例如大于70 %、例如大于80 %、例如大于90 %、例如大于95 %等等)的成功概率的一个或多个机器人配置。按照各种实施方式,计算机110可以被设立为:确定所述多个第二拿起机器人配置304-2中的分配有高于预先限定的第二成功阈值(例如大于70 %、例如大于80 %、例如大于90 %、例如大于95 %等等)的成功概率的一个或多个机器人配置。在有些示例中,第一成功阈值可对应于第二成功阈值。按照各种实施方式,第一成功阈值可不同于第二成功阈值(例如取决于末端执行器的类型)。清楚的是,可以借助于各种成功阈值来给机器人臂分配不同的优先级。例如,这样可以考虑机器人臂的各种几何条件。
按照各种实施方式,计算机110可以被设立为:在使用被分配给第一机器人臂120的先决条件模型204-1的情况下,为从所述多个第一拿起机器人配置304-1中选择的一个或多个机器人配置确定所分配的一个或多个第一实施概率308-1(例如一个或多个第一置信度)。按照各种实施方式,计算机110可以被设立为:在使用被分配给第二机器人臂820的先决条件模型204-2的情况下,为从所述多个第二拿起机器人配置304-2中选择的一个或多个机器人配置确定所分配的一个或多个第二实施概率308-2(例如一个或多个第二置信度)。
按照各种实施方式,计算机110可以被设立为:从第一机器人臂120的从所述多个第一拿起机器人配置304-1中选择的一个或多个机器人配置以及第二机器人臂820的从所述多个第二拿起机器人配置304-2中选择的一个或多个机器人配置中,按照相应所分配的先决条件模型204-1、204-2来选择具有最高实施概率的拿起机器人配置902。清楚的是,由第一机器人臂120的所述一个或多个机器人配置和第二机器人臂820的所述一个或多个机器人配置组成的集合可具有相应所分配的实施概率的集合,而且计算机110可以选择实施概率具有最大所分配的值的拿起机器人配置902。
清楚的是,所选择的拿起机器人配置902被分配给第一机器人臂120或第二机器人臂820。第一机器人臂120可分配有机器人轨迹模型206-1,并且第二机器人臂820可分配有机器人轨迹模型206-2。
按照各种实施方式,针对所选择的拿起机器人配置902,被分配给所选择的拿起机器人配置902的机器人臂的机器人轨迹310可以借助于被分配给该机器人臂的机器人轨迹模型206-1、206-2来被确定。
按照各种实施方式,控制设备106可以被设立为:借助于所确定的机器人轨迹310来控制312机器人装置101的被分配给所选择的拿起机器人配置902的机器人臂来拿起对象。
清楚的是,例如第一机器人臂120的第一拿起机器人配置可具有最大成功概率并且第二机器人臂820的第二拿起机器人配置可具有更小的成功概率,但是在该示例中,第一拿起机器人配置的借助于被分配给第一机器人臂120的先决条件模型204-1所确定的实施概率可以小于第二拿起机器人配置的借助于被分配给第二机器人臂820的先决条件模型204-2所确定的实施概率。例如,如果第一机器人臂120的几何条件对于第一拿起机器人配置来说不被满足和/或如果其它对象限制(例如阻挡)第一机器人臂120的移动,则情况可能如此。清楚的是,以这种方式可以借助于第二拿起机器人配置来控制第二机器人臂820拿起对象。
按照各种实施方式,控制模型200可以针对第一机器人臂120和第二机器人臂820分别具有终止条件模型。按照各种实施方式,控制设备106可以被设立为:控制机器人装置101(例如第一机器人臂120或第二机器人臂820)来实施对对象的拿起和随后对所拿起的对象的移动。在这种情况下,如参考图3A所描述的那样,可以针对第一机器人臂120和第二机器人臂820分别进行该选择,其中从第一机器人臂120和第二机器人臂820的实施概率的集合中选择拿起机器人配置902,如参考图9所描述的那样。
图10示出了按照各种实施方式的用于控制机器人装置的方法1000。
按照各种实施方式,该方法可具有:利用控制模型来控制机器人装置。控制模型可以被设立用于控制机器人装置来拿起对象。
按照各种实施方式,控制模型可具有机器人轨迹模型、先决条件模型和对象拿起模型。为了该拿起,机器人轨迹模型可具有隐式半马尔可夫模型,该隐式半马尔可夫模型具有一个或多个初始状态和一个或多个最终状态。先决条件模型可以针对机器人轨迹模型的每个初始状态都具有在实施该拿起之前的机器人配置的概率分布。对象拿起模型可以被设立为:作为对深度图像的输入的反应,输出具有相应所分配的成功概率的多个拿起机器人配置。
方法1000可具有:确定显示出一个或多个对象的深度图像(在1002中)。
针对所述一个或多个对象中的至少一个所要移动的对象,方法1000可具有:在使用深度图像的情况下,借助于对象拿起模型来确定具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置(在1004中)。
按照先决条件模型针对具有最高的所分配的概率(例如置信度)的拿起机器人配置,方法1000可具有:借助于机器人轨迹模型来确定用于该拿起的机器人轨迹(在1006中)。
方法1000可具有:借助于所确定的机器人轨迹来控制机器人装置实施对(被分配给具有最高的所分配的概率的拿起机器人配置的)对象的拿起(在1008中)。
按照各种实施方式,机器人装置可具有用于拿起对象的第一机器人臂和用于拿起对象的第二机器人臂。控制模型可以针对第一机器人臂以及针对第二机器人臂分别具有机器人轨迹模型、先决条件模型和对象拿起模型。在该示例中,在使用深度图像的情况下借助于对象拿起模型为所述一个或多个对象中的至少一个所要移动的对象确定具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置(在1004中)可具有:在使用深度图像的情况下借助于被分配给第一机器人臂的对象拿起模型来确定第一机器人臂的具有高于预先限定的阈值(例如预先限定的第一阈值)的成功概率的一个或多个拿起机器人配置,而且在使用深度图像的情况下借助于被分配给第二机器人臂的对象拿起模型来确定第二机器人臂的具有高于预先限定的阈值(例如预先限定的第二阈值)的成功概率的一个或多个拿起机器人配置。按照先决条件模型针对具有最高的所分配的概率(例如置信度)的拿起机器人配置借助于机器人轨迹模型来确定用于该拿起的机器人轨迹(在1006中)可具有:按照先决条件模型,从第一机器人臂的一个或多个拿起机器人配置和第二机器人臂的一个或多个拿起机器人配置中选择具有最高概率(例如置信度)的拿起机器人配置,而且选择被分配给所选择的拿起机器人配置的机器人臂,而且借助于被分配给所选择的机器人臂的机器人轨迹模型按照所选择的拿起机器人配置来确定用于该拿起的机器人轨迹。借助于所确定机器人轨迹来控制机器人装置实施对对象的拿起(在1008中)可具有:借助于所确定的机器人轨迹来控制机器人装置的所选择的机器人臂实施对(被分配给所选择的拿起机器人配置的)对象的拿起。

Claims (15)

1.一种用于利用控制模型来控制机器人装置的方法,所述控制模型被设立用于控制所述机器人装置来拿起对象,其中所述控制模型具有机器人轨迹模型、先决条件模型和对象拿起模型,其中为了所述拿起,所述机器人轨迹模型具有隐式半马尔可夫模型,所述隐式半马尔可夫模型具有一个或多个初始状态和一个或多个最终状态,其中所述先决条件模型针对所述机器人轨迹模型的每个初始状态都具有在实施所述拿起之前的机器人配置的概率分布,其中所述对象拿起模型作为对深度图像的输入的反应来输出具有相应所分配的成功概率的多个拿起机器人配置,所述方法具有:
• 确定显示出一个或多个对象的深度图像;
• 针对所述一个或多个对象中的至少一个所要移动的对象,在使用所述深度图像的情况下,借助于所述对象拿起模型来确定具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置;
• 按照所述先决条件模型针对所述一个或多个拿起机器人配置中的具有最高概率的拿起机器人配置,借助于所述机器人轨迹模型来确定用于所述拿起的机器人轨迹;而且
• 借助于所确定的机器人轨迹来控制所述机器人装置实施对所述对象的拿起。
2.根据权利要求1所述的方法,
其中所述机器人轨迹模型和所述先决条件模型在使用用于执行对对象的拿起的演示的情况下被训练。
3.根据权利要求1或2中任一项所述的方法,
其中所述对象拿起模型在使用多个训练深度图像的情况下被训练,其中每个训练深度图像都显示出多个对象中的至少一个对象,所述训练具有:
• 针对所述多个训练深度图像中的每个训练深度图像,模拟对至少一个对象的多次拿起,并且确定对所述至少一个对象的相应的拿起是否成功,作为奖励,其中对所述至少一个对象的每次拿起都被分配给相应的拿起机器人配置;
• 在使用所述多个训练深度图像、所述奖励和所述拿起机器人配置的情况下训练所述对象拿起模型,使得经训练的对象拿起模型作为对深度图像的输入的反应输出具有相应所分配的成功概率的多个拿起机器人配置。
4.根据权利要求3所述的方法,
其中对对象的每次拿起都在使用所述机器人轨迹模型和所述先决条件模型的情况下被模拟。
5.根据权利要求1至4中任一项所述的方法,所述方法还具有:
• 确定所述机器人装置是否成功实施对所述对象的拿起,其中如果对所述拿起的实施成功,则确定预先给定的最大奖励,而且其中如果对所述拿起的实施不成功,则确定预先给定的最小奖励;
• 在使用所确定的深度图像、针对其确定所述机器人轨迹的拿起机器人配置和所确定的奖励的情况下附加地训练所述对象拿起模型。
6.根据权利要求1至5中任一项所述的方法,
其中所述控制模型还被设立用于控制所述机器人装置来移动所拿起的对象,
其中为了所述移动,所述机器人轨迹模型具有隐式半马尔可夫模型,所述隐式半马尔可夫模型具有一个或多个初始状态和一个或多个最终状态,
其中所述先决条件模型针对被分配给所述移动的机器人轨迹模型的每个初始状态都具有在实施所述移动之前的机器人配置的概率分布,
其中所述控制模型还具有终止条件模型,其中所述终止条件模型针对被分配给所述拿起的机器人轨迹模型的每个最终状态都具有在实施所述拿起之后的机器人配置的概率分布,而且针对被分配给所述移动的机器人轨迹模型的每个最终状态都具有在实施所述移动之后的机器人配置的概率分布,
其中所述方法还具有:
• 按照所述终止条件模型来确定在实施对所述对象的拿起之后的机器人配置;
• 借助于所述机器人轨迹模型来确定用于对所述对象的移动的机器人轨迹;
• 借助于所确定的机器人轨迹来控制所述机器人装置实施对所述对象的移动。
7.根据权利要求6所述的方法,
其中所述机器人轨迹模型、所述先决条件模型和所述终止条件模型在使用用于执行对象的拿起的演示和用于执行对象的移动的演示的情况下被训练。
8.根据权利要求6或7中任一项所述的方法,
其中所述对象拿起模型在使用多个训练深度图像的情况下被训练,其中每个训练深度图像都显示出多个对象中的至少一个对象,所述训练具有:
• 针对所述多个训练深度图像中的每个训练深度图像,模拟对至少一个对象的多次拿起和随后的移动,并且确定对所述至少一个对象的相应的拿起和随后的移动是否成功,作为奖励,其中对所述至少一个对象的每次拿起都被分配给相应的拿起机器人配置;
• 在使用所述多个训练深度图像、所述奖励和所述拿起机器人配置的情况下训练所述对象拿起模型,使得经训练的对象拿起模型作为对深度图像的输入的反应输出具有相应所分配的成功概率的多个拿起机器人配置。
9.根据权利要求8所述的方法,
其中对对象的每次拿起和随后的移动都在使用所述机器人轨迹模型、所述先决条件模型和所述终止条件模型的情况下被模拟。
10.根据权利要求6至9中任一项所述的方法,所述方法还具有:
• 确定所述机器人装置是否成功实施对所述对象的移动,其中如果对所述移动的实施成功,则确定预先给定的最大奖励,而且其中如果对所述移动的实施不成功,则确定预先给定的最小奖励;
• 在使用所确定的深度图像、针对其确定用于拿起所述对象的机器人轨迹的拿起机器人配置和所确定的奖励的情况下附加地训练所述对象拿起模型。
11.根据权利要求1至10中任一项所述的方法,
其中所述机器人装置具有用于拿起对象的第一机器人臂和用于拿起对象的第二机器人臂;
其中所述控制模型针对所述第一机器人臂和所述第二机器人臂分别具有机器人轨迹模型、先决条件模型和对象拿起模型;
其中在使用所述深度图像的情况下借助于所述对象拿起模型为所述一个或多个对象中的至少一个所要移动的对象确定具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置具有:
• 针对所述一个或多个对象中的至少一个所要移动的对象,在使用所述深度图像的情况下借助于被分配给所述第一机器人臂的对象拿起模型来确定所述第一机器人臂的具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置,而且在使用所述深度图像的情况下借助于被分配给所述第二机器人臂的对象拿起模型来确定所述第二机器人臂的具有高于预先限定的阈值的成功概率的一个或多个拿起机器人配置;
其中按照所述先决条件模型针对所述一个或多个拿起机器人配置中的具有最高概率的拿起机器人配置借助于所述机器人轨迹模型来确定用于所述拿起的机器人轨迹具有:
• 按照相应所分配的先决条件模型,从所述第一机器人臂的一个或多个拿起机器人配置和所述第二机器人臂的一个或多个拿起机器人配置中选择具有最高概率的拿起机器人配置,而且选择被分配给所选择的拿起机器人配置的机器人臂,而且借助于被分配给所选择的机器人臂的机器人轨迹模型按照所选择的拿起机器人配置来确定用于所述拿起的机器人轨迹;
其中借助于所确定的机器人轨迹来控制所述机器人装置实施对所述对象的拿起具有:
• 借助于所确定的机器人轨迹,控制所述机器人装置的所选择的机器人臂来实施对所述对象的拿起。
12.根据权利要求11所述的方法,
其中借助于所述第一机器人臂对对象的拿起具有吸住所述对象,和/或
其中借助于所述第二机器人臂对对象的拿起具有抓取所述对象。
13.一种设备,所述设备被设立为实施根据权利要求1至12中任一项所述的方法。
14.一种计算机程序,所述计算机程序具有指令,所述指令在由处理器执行时引起:所述处理器执行根据权利要求1至12中任一项所述的方法。
15.一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器执行时引起:所述处理器执行根据权利要求1至12中任一项所述的方法。
CN202111383915.1A 2020-11-20 2021-11-19 用于控制机器人装置的设备和方法 Pending CN114516060A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020214633.0A DE102020214633A1 (de) 2020-11-20 2020-11-20 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020214633.0 2020-11-20

Publications (1)

Publication Number Publication Date
CN114516060A true CN114516060A (zh) 2022-05-20

Family

ID=81453135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111383915.1A Pending CN114516060A (zh) 2020-11-20 2021-11-19 用于控制机器人装置的设备和方法

Country Status (3)

Country Link
US (1) US20220161424A1 (zh)
CN (1) CN114516060A (zh)
DE (1) DE102020214633A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221138A1 (en) * 2021-04-16 2022-10-20 Dexterity, Inc. Robot with linear 7th axis
DE102022205883A1 (de) 2022-06-09 2023-12-14 Kuka Deutschland Gmbh Erhöhung der Greifrate
DE102022207847A1 (de) 2022-07-29 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108885715B (zh) * 2016-03-03 2020-06-26 谷歌有限责任公司 用于机器人抓取的深度机器学习方法和装置
EP3784451A1 (en) * 2018-06-15 2021-03-03 Google LLC Deep reinforcement learning for robotic manipulation

Also Published As

Publication number Publication date
DE102020214633A1 (de) 2022-05-25
US20220161424A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
Kyrarini et al. Robot learning of industrial assembly task via human demonstrations
WO2020154542A1 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
Jiang et al. State-of-the-Art control strategies for robotic PiH assembly
EP2224303B1 (en) Robot with automatic selection of task-specific representations for imitation learning
CN109483534B (zh) 一种物体抓取方法、装置和系统
CN114516060A (zh) 用于控制机器人装置的设备和方法
JP2013193202A (ja) 人間援助型タスクデモンストレーションを使用してロボットを訓練するための方法およびシステム
US11823048B1 (en) Generating simulated training examples for training of machine learning model used for robot control
CN114423574A (zh) 确定针对机器人任务的环境调节的动作序列
CN115605326A (zh) 用于控制机器人的方法和机器人控制器
CN115351780A (zh) 用于控制机器人设备的方法
CN114474106A (zh) 用于控制机器人装置的方法和机器人控制装置
US20220105625A1 (en) Device and method for controlling a robotic device
Pedemonte et al. Visual-based shared control for remote telemanipulation with integral haptic feedback
CN115319734A (zh) 用于控制机器人设备的方法
JP2020104216A (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
US20230381970A1 (en) System(s) and method(s) of using imitation learning in training and refining robotic control policies
Lu et al. Decoupling Skill Learning from Robotic Control for Generalizable Object Manipulation
US20240094736A1 (en) Robot navigation in dependence on gesture(s) of human(s) in environment with robot
US20220317659A1 (en) Transfer between Tasks in Different Domains
US20230141855A1 (en) Device and method for controlling a robot device
CN117260701A (zh) 训练机器学习模型以实现控制规则的方法
Wang et al. DOREP 2.0: An Upgraded Version of Robot Control Teaching Experimental Platform with Reinforcement Learning and Visual Analysis
Anton DISCRETE ELEMENT SIMULATIONS OF TRIAXIAL COMPRESSION TESTS OF CSA CEMENT-TREATED SANDMODEL PREDICTIVE CONTROL OF AN ASSISTIVE ROBOTIC ARM FOR SHARED AUTONOMY IMPLEMENTATION
Zeng et al. Object manipulation learning by imitation

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