CN115338856A - 用于控制机器人装置的方法 - Google Patents
用于控制机器人装置的方法 Download PDFInfo
- Publication number
- CN115338856A CN115338856A CN202210508385.7A CN202210508385A CN115338856A CN 115338856 A CN115338856 A CN 115338856A CN 202210508385 A CN202210508385 A CN 202210508385A CN 115338856 A CN115338856 A CN 115338856A
- Authority
- CN
- China
- Prior art keywords
- image
- action
- neural network
- motion
- feature space
- 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 49
- 230000033001 locomotion Effects 0.000 claims abstract description 90
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 238000011156 evaluation Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 13
- 230000009471 action Effects 0.000 claims description 86
- 238000012549 training Methods 0.000 claims description 19
- 238000012552 review Methods 0.000 claims description 11
- 230000002787 reinforcement Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 16
- 239000012636 effector Substances 0.000 description 12
- 238000011217 control strategy Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013434 data augmentation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
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/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- 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/1612—Programme controls characterised by the hand, wrist, grip control
-
- 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/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Fuzzy Systems (AREA)
- Manipulator (AREA)
Abstract
用于控制机器人装置的方法。根据不同的实施方式,描述一种用于控制机器人装置的方法,包括:获取机器人装置的环境的图像;借助于卷积神经网络处理图像,卷积神经网络从图像中产生特征空间中的图像,其中特征空间中的图像对于图像的像素的至少一个子集合中的每个像素具有特征空间中的向量;将特征空间中的图像输送给演员神经网络,其从特征空间中的图像中产生动作参数图像,其中动作参数图像对于像素中的每个像素具有用于机器人装置的动作的动作参数值集;将特征空间中的图像和动作参数图像输送给评论家神经网络,其产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价。
Description
技术领域
本公开涉及一种用于控制机器人装置的方法。
背景技术
从打开的容器、例如箱子或盒子中拾取对象是在工业中例如在流水线处机器人的经常任务。在此情况下,机器人的基础的基本(atomar)任务是抓取。如果抓取成功,则机器人还可以执行从容器中拾取(并且必要时放下)的更复杂的操纵任务。如果多个对象放置在容器中并且机器人应该要从容器中提取所有对象并且应该在目标位置处放下,则是特别困难的。此外,可能出现要处置的许多其他技术挑战,例如感知中的噪声和遮蔽、运动规划中的对象障碍以及碰撞。因此,用于控制机器人来从容器中拾取对象的稳健方法是值得期望的。
发明内容
根据不同的实施方式,提供一种用于控制机器人装置的方法,所述方法包括:获取机器人装置的环境的图像;借助于卷积神经网络对图像进行处理,所述卷积神经网络从所述图像中产生特征空间中的图像,其中所述特征空间中的图像对于所述图像的至少一个子集合中的每个像素具有所述特征空间中的向量;将所述特征空间中的图像输送给演员神经网络,所述演员神经网络从所述特征空间中的图像中产生到动作参数上的映射,其中所述映射对于像素中的每个像素具有用于所述机器人装置的动作的动作参数值集;将所述特征空间中的图像和所述动作参数图像输送给评论家神经网络,所述评论家神经网络产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价;从所述动作参数图像的多个动作参数集中选择具有最高评价的动作参数值集以及控制所述机器人来根据所选择的动作参数集执行动作。
借助于上述控制方法,可以避免对机器人装置的动作(如抓取之类的机器人技能)的连续参数进行离散化。这能够实现在训练期间计算和存储效率以及使得能够将训练场景一般化到类似场景。此外,上述方法使得能够向上述方案添加用于技能或动作基元的参数,并且在此避免随离散化出现的“维度诅咒”。这使得能够高效地用具有大数量的自由度的动作工作。换句话说,根据不同的实施方式,神经网络的输出(基于所述神经网络选择用于控制的动作参数)随着动作的维数线性地缩放,而不是如当所有参数被离散化时典型地情况那样呈指数增加。
将特征空间中的图像和动作参数图像输送给评论家神经网络可以包括预处理,以便彼此适配两个图像的格式并且彼此关联或组合两个图像。
由于动作可以是在较大任务过程中的简单动作,因此在以下的描述中也将所述动作称为动作基元。
下面说明不同的实施例。
实施例1是用于控制机器人装置的上面描述的方法。
实施例2是根据实施例1所述的方法,其中所述机器人被控制,以在由所述图像中的像素的位置给定的水平位置处执行动作,其中所述动作参数图像对于所述像素具有所选择的动作参数值集。
从而实现离散动作参数(水平像素位置)和连续动作参数(由演员网络确定的动作参数值集)的混合。在此,“维度诅咒”保持有限,因为仅平面中的位置被离散化。
实施例3是根据实施例1或2所述的方法,其中所述图像是深度图像,并且控制所述机器人,以在针对所述像素由所述图像的深度信息给定的垂直位置处执行所述动作,对于所述像素,所述动作参数图像具有所选择的动作参数值集。
因此,来自深度图像的深度信息被直接用作为动作参数值,并且例如可以说明机器人手臂应当以其夹钳在什么高度上进行抓取。
实施例4是根据实施例1至3中任一项所述的方法,其中所述图像显示一个或多个对象,其中所述动作是通过机器人手臂对对象的抓取或移动。
上面描述的方案特别适用在这种“箱中取物(Bin-Picking)”场景中,因为在这里可以采取离散的位置和连续的夹钳取向(以及滑动距离和方向)。
实施例5是根据实施例1至4中任一项所述的方法,所述方法包括:对于多个动作类型中的每个动作类型,
借助于卷积神经网络处理图像,所述卷积神经网络从所述图像中产生所述特征空间中的图像,其中所述特征空间中的图像对于所述图像的像素的至少一个子集合中的每个像素具有特征空间中的向量;
将所述特征空间中的图像输送给演员神经网络,所述演员神经网络从所述特征空间中的图像中产生动作参数图像,其中所述动作参数图像对于像素中的每个像素具有用于所述动作类型的动作的动作参数值集;以及
将所述特征空间中的图像和所述动作参数图像输送给评论家神经网络,所述评论家神经网络产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价;并且
从所述动作参数图像的多个动作参数集中对于多个动作类型中的不同动作类型选择具有最高评价的动作参数值集;并且控制所述机器人用于根据所选择的动作参数集并且根据以下动作类型执行动作,对于所述动作类型产生了动作参数图像,从该动作参数图像中选择了所选择的动作参数集。
因此,控制设备能够不仅高效地选择针对动作类型的动作参数,而且高效地选择动作类型本身(例如抓取或移动)。对于不同的动作类型,神经网络可以是不同的,使得可以以适应于各自动作类型的方式训练所述神经网络。
实施例6是根据实施例1至5中任一项所述的方法,所述方法包括对于多个图像执行所述方法并且借助于演员评论家强化学习方法训练所述卷积神经网络、所述演员神经网络和所述评论家神经网络,其中每个图像均代表状态,并且所选择的动作参数集代表在该状态下执行的动作。
从而,整个控制神经网络(包括卷积神经网络、演员神经网络和评论家神经网络)可以端到端地高效地被训练。
实施例7是一种机器人控制设备,所述机器人控制设备实现卷积神经网络、演员神经网络和评论家神经网络,并且被设立用于执行根据实施例1至6中任一项所述的方法。
实施例8是一种具有指令的计算机程序,所述指令在由处理器执行所述指令时引起所述处理器执行根据实施例1至6中任一项所述的方法。
实施例9是一种计算机可读介质,所述计算机可读介质存储指令,所述指令当由处理器执行所述指令时,引起所述处理器执行根据实施例1至6中任一项所述的方法。
附图说明
在附图中,相似的附图标记在不同的视图中通常涉及相同的部分。附图不一定按比例的,其中代替地通常强调描绘本发明的原理。在以下的描述中,参考以下附图描述各个方面。
图1示出机器人。
图2示出神经网络,根据一种实施方式,图1的机器人的控制设备借助于所述神经网络基于RGB-D图像选择控制动作。
图3示出流程图,所述流程图表示根据一种实施方式用于训练受控系统的控制装置的方法。
具体实施方式
以下详尽的描述涉及所附的附图,所述附图为了阐述示出本公开的可以实施本发明的特定细节和方面。可以使用其他方面,并且可以进行结构、逻辑和电气上的改变,而不偏离本发明的保护范围。因为可以将本公开的一些方面与本公开的一个或多个其他方面组合以构成新的方面,所以本公开的不同方面不一定是相互排斥的。
下面更详细地描述不同的示例。
图1示出机器人100。
机器人100包括用于操纵或安装工件(或一个或多个其他对象)的机器人手臂101、例如工业机器人手臂。机器人手臂101包括机械手102、103、104和基座(或支柱)105,通过所述基座支撑机械手102、103、104。术语“机械手”涉及机器人手臂101的可移动元件,所述可移动元件的操作使得能够与环境进行物理交互,例如以便执行任务。为了控制,机器人100包括(机器人)控制设备106,所述控制设备被配置用于根据控制程序实现与环境的交互。机械手102、103、104的(离支柱105最远的)最后的元件104也被称为末端执行元件104,并且可以包含一个或多个工具、例如焊炬、抓取仪器、涂装工具等。
(较靠近基座105的)其他机械手102、103可以构成定位装置,使得机器人手臂101与末端执行元件104一起在其末端处被设置有末端执行元件104。机器人手臂101是可以(可能利用在其末端的工具)履行与人类手臂类似的功能的机械手臂。
机器人手臂101可以包括关节元件107、108、109,所述关节元件将机械手102、103、104相互连接并且与基座105连接。关节元件107、108、109可以具有一个或多个关节,所述关节中的每一个关节可以提供所属机械手相对于彼此的旋转运动和/或平移运动(即移位)。可以借助于执行器来引起机械手102、103、104的运动,所述执行器通过控制设备106来控制。
术语“执行器”可以被理解为以下组件,所述组件被设计用于响应于所述组件被驱动来影响机械装置或过程。执行器可以将通过控制设备106输出的指令(所谓的激活)转换成机械运动。执行器、例如机电转换器可以被设立用于根据其激活将电能转换成机械能。
术语“控制设备”可以被理解为实体实现的任何类型的逻辑,所述实体例如可以包括电路和/或能够执行存储在存储介质中的软件的处理器、固件或其组合并且可以输出指令,例如输出给在本示例中的执行器。例如,控制设备可以通过程序代码(例如软件)被配置,以便控制机器人的运行。
在本示例中,控制设备106包括一个或多个处理器110和存储器111,所述存储器存储代码和数据,所述处理器110根据所述代码和数据来控制机器人手臂101。
机器人100应该例如拾取对象113。例如,末端执行元件104是夹钳,并且应该拾取对象113,但是末端执行元件104也可以例如被设立用于吸入对象113来进行拾取。对象113例如位于容器114中、例如位于箱子中或纸箱中。
尤其是当对象靠近壁或甚至位于容器的角落中时,拾取对象113是困难的。如果对象113靠近壁或位于角落中,则末端执行元件104不能从任意方向拾取对象。对象113也可能靠近其他对象,使得末端执行元件104不能任意拾取对象113。在这样的情况下,机器人可以首先使对象113移位,例如移动到容器114的中间。
根据不同的实施方式,控制机器人手臂101用于在使用两个连续参数化的动作基元、抓取基元和移动基元的情况下拾取对象。定义动作基元的参数的值作为深度神经网络112的输出被提供。可以端到端地训练控制方法。
为了抓取,使用具有两个离散参数(RGB-D图像的x-y平面中的2D位置)和三个连续参数(末端执行元件的偏航、俯仰和夹钳开口)的参数化,而对于移动,使用具有两个离散参数(RGB-D图像的x-y平面中的2D位置)和五个连续参数(末端执行元件的偏航、俯仰、滚动以及滑动方向和滑动距离)的参数化。
尽管离散和连续参数被使用,但是混合公式化被避免。而由于连续参数取决于离散参数的选择,因此使用分层强化学习(RL,代表英语:Reinforcement Learning(强化学习))和分层控制策略优化。
根据不同的实施方式,作为所基于的RL方法使用软演员评论家(Soft Actor-Critic, SAC)。
SAC是离线策略演员评论家(Off-Policy-Actor-Critic)方法,其中共同地对一对状态动作值函数和随机控制策略进行训练。由于SAC遵循最大熵RL范式,因此对演员(Actor)进行训练,以便最大化累积预期效用以及其熵,使得所述演员尽可能随机地行动。在标准SAC情况下,演员被参数化为高斯控制策略,并且利用以下目标函数被训练:
在这里,状态s、动作a、下一状态s'和奖励从重复记忆中被采样,所述重复记忆在训练的过程中连续地被填充。状态s'中的动作a'从当前控制策略中被采样。控制熵的超参数α可以自动地被设定。
根据不同的实施方式,由机器人执行的动作基于RGB-D图像被确定。
高维输入空间(诸如图像)上的深度RL方法由于所述深度RL方法忍受差的采样效率而是已知的。因此,根据不同的实施方式,(在特征空间中)学习表示,其中使用对比学习。
对比学习基于以下思想:相似的输入被映射到在特征空间中彼此接近的点(表示)qi上,而不相似的输入的表示应该彼此离得较远。
为了促进学习从输入到具有该特性的表示的映射,在对比方法情况下使用通过
给出的噪声对比估计(NCE代表英语:Noise Contrastive Estimation)和所谓的InfoNCE损失。
在此情况下,表示正例的表示,当前考虑的表示q应该类似于所述正例并且通常通过相应输入的数据扩充从q中构造所述正例。表示反例的表示,通常作为其他随机输入的表示来选择所述反例。在使用小批量时,例如当前小批量的与当前考虑的嵌入(即表示)不同的所有抽样都可以被选择为反例。
在以下的实施例中,机器人100应该从容器114中拾取对象113。该任务被建模为具有有限时间范围的马尔可夫决策过程,即通过元组来建模,所述元组具有状态空间、动作空间、转移概率函数、奖励函数、折扣因子γ和具有H个时间步的时间范围。在每个时间步t=1,...,H中,控制设备(借助于传感器数据,尤其是摄像机115的图像,所述摄像机也可以紧固在机器人手臂101处)观测状态并且根据控制策略(所述控制策略至少部分地由神经网络112实现)选择动作。在状态中应用动作导致奖励,并且将受控系统(在这里机器人手臂101)根据切换到新的状态。
状态被表示为具有四个通道、颜色(RGB)和高度(Z)的RGB-D图像。控制设备106从机器人手臂101和容器114安置在的区域的由摄像机115提供的RGB-D图像中确定RGB-D图像。在使用内在和外在摄像机参数的情况下,控制设备将图像变换为机器人手臂101的坐标系中的RGB点云,所述坐标系的原点例如适宜地被放置在基座105的中心,并且其中z轴指向上(沿与重力相反的方向)。然后控制设备将点云正交地投影到容器所在的xy平面中的二维网格(例如具有粒度为5mm×5mm)上,以便产生RGB-D图像。
图2示出神经网络200,控制设备106借助于所述神经网络基于RGB-D图像201选择控制动作。
在图2中,以用升高的对角线画阴影线的方式示出卷积层,以水平画阴影线的方式示出ReLU层,并且以交叉式画阴影线的方式示出批归一化层。如果说明一组层多次依次出现(“x2”或“x3”),则这意味着具有相同维度的层多次出现,而否则的话层的维度(尤其是从卷积层到卷积层)一般发生变化。
贝尔曼方程
是递归地计算Q函数的可能性,并且根据不同的实施方式,所使用的RL方法基于所述贝尔曼方程。
抓取:也被称为TCP(工具中心点(tool center point))的末端执行元件104(在这里特别是夹钳,但是也可以使用吸入对象以用于拾取的末端执行元件)的中心从上向下被置于目标位姿,所述目标位姿由笛卡尔坐标和欧拉角定义,其中抓取指状物之间的距离被设置为。
当达到了目标位姿或识别到碰撞时,将夹钳打开并且抬升(例如)20 cm,之后重新用信号通知夹钳关闭。如果指状物之间所读出的距离超过阈值,该阈值大于略低于所考虑的对象的最小尺寸的值,则认为抓取成功。对于抓取基元,参数集包含除了之外的上面提到的参数,控制设备106直接从位置处的RGB-D图像中抽取所述参数,以及包含设置为0的滚动角,以便保证所有指状物全部处于相同的高度,以便能够从上方稳定地抓取。滚动在图1的例子中是通过图1中的109的围绕轴的旋转,其中该轴从纸平面出来。
移动:利用关闭的夹钳使TCP驶向目标位姿,之后使所述TCP在水平方向上移动,所述水平方向由围绕z轴的旋转角定义。在此情况下,参数集是,其中如在抓取基元的情况下那样,控制设备106从RGB-D图像中提取参数。
根据不同的实施方式,神经网络200是用于确定参数值集并且近似RGB-D图像201的每个动作基元类型的值的“全卷积”网络(FCN)。神经网络200的所基于的算法和架构可以被看作用于连续动作的SAC和用于离散动作的Q学习的组合:对于RGB-D图像的每个像素,被称为像素编码器的第一卷积(子)网络202确定用μ表示(例如,像素编码器202为RGB-D图像的每个像素、即为h x w像素确定的具有64分量的向量)表示的显示。鉴于针对RGB-D图像的像素嵌入μ,其他卷积(子)网络203、204、205、206被应用于像素编码器202的输出,并且对于每个动作基元类型产生动作图(用A表示)并且对于每个动作基元类型产生Q值图,它们分别具有RGB-D图像201的相同的空间维度h和w(高度和宽度)。这些卷积(子)网络203、204、205、206是演员网络203、动作编码器网络204、像素动作编码器网络205和评论家网络206。
演员网络203获得像素嵌入μ作为输入并且将像素值分配给动作图的像素,使得动作图的像素的选择提供(对于各自动作基元类型)完整的参数值集。在此,控制设备106从像素位置(所述像素位置根据RGB-D图像对应于x-y平面中的位置)导出空间参数的值。其他参数的值由该像素位置处的动作图的像素值(即通过像素位置处的动作图的通道的值)给出。类似地,像素位置处的(对于各自动作基元类型)Q值图的像素值提供状态动作对的Q值。因此,Q值图代表与RGB-D图像的像素相对应的动作的离散集合的,并且可以相应地在使用离散动作的Q学习方案的情况下被训练。
例如,演员网络203为每个像素确定高斯分布动作(如在SAC中)(具有与各自动作基元的参数的数量相对应的输出通道的数量)。
像素动作编码器205对由像素和动作组成的对进行编码,其中每个动作(即来自动作图的像素值)首先由动作编码器网络204处理(参见图2中的路径(a)),并且然后在将该对输送给像素动作编码器205之前,与所属的像素嵌入级联。
评论家网络206为每个像素动作对确定Q值。与在SAC实现情况下类似,可以为此使用双Q架构,在此处Q值被取为两个Q图的最小值以便避免高估。
控制设备106为RGB-D图像st如下确定时间步t中的动作:端到端遍历神经网络200(所述神经网络具有用于两个动作基元的部分),由此为两个基元产生动作图(对应于控制策略)并且为两个动作基元类型产生Q值图。在这里索引t表明网络和输出都是时间有关的,或者可以是时间有关的,如在具有有限时间范围的马尔可夫决策过程情况下典型地情况如此。
控制设备106根据
选择动作基元类型并且根据
设置动作基元的参数。
为了训练,控制设备106从实验中收集数据、即元组并且将所述数据存储在重复记忆中。然后所述控制设备从所述重复记忆中读出用于训练(图2中用于动作的路径(b))。来自重复记忆的动作通过变形层207被置于适用于动作编码器网络204的形式。在从数据中采样最小批量用于训练时,所述控制设备可以使用数据扩充来提高采样效率。尤其是,所述控制设备可以对于所采样的经验产生关于待学习的任务不变的版本,其方式是所述控制设备将RGB-D图像旋转一个随机角度并且将动作的参数值集的相关角度旋转相同的角度。例如,可以为两个基元改变偏航角,并且在移动基元情况下附加地可以旋转滑动方向。通过这种方式,控制设备可以对于训练样本(从重复记忆中)产生附加的训练样本,这应该导致与最初训练样本相似的结果和。
控制设备106在使用以下损失函数或目标函数的情况下训练神经网络。
评论家损失:
(critic:评论家,sonst:否则)
其中BCE(二元交叉熵(Binary Cross Entropy))表示二元交叉熵损失,并且MSE(均方误差(Mean Squared Error))表示均方误差损失,并且
对像素编码器网络202、像素动作编码器网络205和评论家网络206的网络参数进行训练用于最小化(或减少)评论家损失。
演员目标函数:
(actor:演员)
对像素编码器网络202和演员网络203的网络参数进行训练用于最大化(或提高)演员目标函数。
如上所阐述的,控制设备106可以将数据扩充应用于训练样本,其方式是所述控制设备改变状态(RGB-D图像)并且相应地适配所属的动作。理想地,由像素编码器202产生的像素嵌入对于相同样本的扩充(或版本)比对于不同的样本(即一个不是另一个的扩充的这种样本)更相似。为了在训练像素动作编码器时促进这一点,可以使用对比损失作为附加损失项。
为此,控制设备106例如为最小批量中的样本产生两个扩充并且借助于像素编码器202将所述扩充编码成查询嵌入q和密钥嵌入k。所述控制装置然后通过双线性关联计算q和k之间的相似性,其中W是参数矩阵(所述参数矩阵可以自身被学习)。于是从而可能得出对比损失,所述对比损失与如通过函数给出的相似性有关以及于关于哪些样本是同一样本的扩充的信息有关并且因此应该具有高相似性。
在具有有限时间范围的MDP中,Q函数是时间有关的,并且相应地有意义的是,通过不同的网络在不同的时间步近似Q函数。然而,这需要训练H神经网络,这可能意味着大的计算耗费。
该问题可以被规避,其方式是将MDP当作具有无限时间范围的MDP看待,与实际模型无关,并且使用折扣因子,以便减轻未来步骤的效应。代替地,根据一种实施方式,对于不同的时间步使用不同的网络并且进行不同的缓解措施。例如,与用于清空容器114允许的时间步的数量无关地,使用H=2的固定且小的时间范围。这种选择在此有助于降低上面提及的障碍,所述障碍由于大的动作空间以及由于奖励在训练开始时仅稀少地出现的事实还要被增强。所述障碍也可能由于观察到如下现象而被激发,即用于从容器中拾取的控制通常不从向前看多于一对步中受益很多。事实上,当需要移位以便使得能够相继抓取时,超越当前状态向前看尤其是有利的,并且在这种情况下,很可能唯一一次移位就足够了。
在训练期间,控制设备106可以使用所有记录的经验来对于所有时间步更新神经网络,而与所述更新实际上对于插曲内的哪个时间步发生无关。
根据不同的实施方式,控制设备106使用探索启发法。为了增加在探索步骤中抓取动作或移动动作的成功结果的机会,控制设备使用用于识别变化的方法来定位与对象对应的像素。为此,所述控制设备将图像的参考点云的当前状态的点云与空容器进行比较,并且掩蔽存在足够差异的像素。然后,所述控制设备根据均匀分布从这些被掩蔽的像素中采样探索动作。
此外,控制设备拥有容器114的边界框(所述边界框可以是已知的或者控制设备可以通过使用识别工具获得所述边界框)。然后可以在末端执行元件104(包括例如紧固在机器人处的摄像机)上定义点,控制设备105根据目标姿势对所述点进行变换,以便检验其可行性,其方式是所述控制设备检验所变换的点是否位于容器114的边界框内。如果存在至少一个位于容器114之外的点,则放弃该尝试,因为所述尝试将会导致冲突。控制设备106还可以使用该计算作为补充探索启发法来搜索用于给定的平移的可行取向,其方式是所述控制设备从取向的随机集合中选择一个可行的取向,如果存在这样的可行的取向的话。
概括而言,根据不同的实施方式提供如图3中所示的方法。
图3示出阐明用于控制机器人装置的方法的流程图300。
在301中,获取(例如由摄像机记录)机器人装置的环境的图像。
在302中,借助于卷积神经网络对图像进行处理,所述卷积神经网络从图像中产生特征空间中的图像,其中特征空间中的图像对于图像的像素的至少一个子集合中的每个像素具有特征空间中的向量。
在303中,将特征空间中的图像输送给演员神经网络,所述演员神经网络从特征空间中的图像中产生动作参数图像,其中动作参数图像对于像素中的每个像素具有用于机器人装置的动作的动作参数值集。
在304中,将特征空间中的图像和动作参数图像输送给评论家神经网络,所述评论家神经网络产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价。
在305中,从动作参数图像的多个动作参数集中选择具有最高评价的该动作参数值集。
在306中,控制机器人装置来根据所选择的动作参数集执行动作。
图3的方法可以由具有一个或多个数据处理单元的一个或多个计算机执行。术语“数据处理单元”可以被理解为使得能够处理数据或信号的任何类型的实体。例如,可以根据由数据处理单元执行的至少一个(即一个或多于一个)特定功能来处理数据或信号。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制设备、中央单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、集成可编程门阵列电路(FPGA)或其任何组合或由其形成。实现本文更详细描述的各自功能的任何其他方式也可以被理解为数据处理单元或逻辑电路装置。在这里详细描述的方法步骤中的一个或多个方法步骤可以由数据处理单元通过由数据处理单元执行的一个或多个特定功能被执行(例如实现)。
图3的方案用于为机器人装置产生控制信号。术语“机器人装置”可以被理解为涉及任何物理系统(具有其运动受控制的机械部件),诸如计算机控制的机器、车辆、家用电器、电动工具、制造机器、个人助理或访问控制系统。学习用于物理系统的控制准则,并且然后相应地控制物理系统。
不同的实施方式可以接收和使用各种传感器的传感器信号、诸如视频、雷达、激光雷达、超声波、运动、热成像等,例如以便获得关于系统(机器人和一个对象或多个对象)的状态以及配置和控制场景的传感器数据。实施方式可以被用于训练机器学习系统和控制机器人装置,例如以便在不同的控制场景中执行不同的操纵任务。
尽管在这里已经示出和描述特定实施方式,但是由本领域技术人员认识到的是,所示和描述的特定实施方式可以针对各种各样的替代和/或等效实现被替换,而不偏离本发明的保护范围。本申请应该涵盖在这里讨论的特定实施方式的任何适配或变化。因此旨在本发明仅由权利要求及其等效物限制。
Claims (9)
1.一种用于控制机器人装置的方法,所述方法包括:
获取机器人装置的环境的图像;
借助于卷积神经网络对图像进行处理,所述卷积神经网络从所述图像中产生特征空间中的图像,其中所述特征空间中的图像对于所述图像的像素的至少一个子集合中的每个像素具有所述特征空间中的向量;
将所述特征空间中的图像输送给演员神经网络,所述演员神经网络从所述特征空间中的图像中产生动作参数图像,其中所述动作参数图像对于像素中的每个像素具有用于所述机器人装置的动作的动作参数值集;
将所述特征空间中的图像和所述动作参数图像输送给评论家神经网络,所述评论家神经网络产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价;
从所述动作参数图像的多个动作参数集中选择具有最高评价的动作参数值集;
控制所述机器人来根据所选择的动作参数集执行动作。
2.根据权利要求1所述的方法,其中所述机器人被控制,以在由所述图像中的像素的位置给定的水平位置处执行动作,其中所述动作参数图像对于所述像素具有所选择的动作参数值集。
3.根据权利要求1或2所述的方法,其中所述图像是深度图像,并且控制所述机器人,以在针对所述像素由所述图像的深度信息给定的垂直位置处执行所述动作,对于所述像素,所述动作参数图像具有所选择的动作参数值集。
4.根据权利要求1至3中任一项所述的方法,其中所述图像显示一个或多个对象,其中所述动作是通过机器人手臂对对象的抓取或移动。
5.根据权利要求1至4中任一项所述的方法,所述方法包括:对于多个动作类型中的每个动作类型,
借助于卷积神经网络处理图像,所述卷积神经网络从所述图像中产生所述特征空间中的图像,其中所述特征空间中的图像对于所述图像的像素的至少一个子集合中的每个像素具有特征空间中的向量;
将所述特征空间中的图像输送给演员神经网络,所述演员神经网络从所述特征空间中的图像中产生动作参数图像,其中所述动作参数图像对于像素中的每个像素具有用于所述动作类型的动作的动作参数值集;
将所述特征空间中的图像和所述动作参数图像输送给评论家神经网络,所述评论家神经网络产生评价图像,所述评价图像对于每个像素具有用于通过像素的动作参数值集定义的动作的评价;并且
从所述动作参数图像的多个动作参数集中对于多个动作类型中的不同动作类型选择具有最高评价的动作参数值集;并且控制所述机器人用于根据所选择的动作参数集并且根据以下动作类型执行动作,对于所述动作类型产生了动作参数图像,从该动作参数图像中选择所选择的动作参数集。
6.根据权利要求1至5中任一项所述的方法,所述方法包括对于多个图像执行所述方法并且借助于演员评论家强化学习方法训练所述卷积神经网络、所述演员神经网络和所述评论家神经网络,其中每个图像均代表状态,并且所选择的动作参数集代表在该状态下执行的动作。
7.一种机器人控制设备,所述机器人控制设备实现卷积神经网络、演员神经网络和评论家神经网络,并且被设立用于执行根据权利要求1至6中任一项所述的方法。
8.一种具有指令的计算机程序,所述指令在由处理器执行所述指令时引起所述处理器执行根据权利要求1至6中任一项所述的方法。
9.一种计算机可读介质,所述计算机可读介质存储指令,所述指令当由处理器执行所述指令时,引起所述处理器执行根据权利要求1至6中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021204846.3A DE102021204846B4 (de) | 2021-05-12 | 2021-05-12 | Verfahren zum Steuern einer Robotervorrichtung |
DE102021204846.3 | 2021-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115338856A true CN115338856A (zh) | 2022-11-15 |
Family
ID=83806184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210508385.7A Pending CN115338856A (zh) | 2021-05-12 | 2022-05-11 | 用于控制机器人装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220375210A1 (zh) |
CN (1) | CN115338856A (zh) |
DE (1) | DE102021204846B4 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116079737A (zh) * | 2023-02-23 | 2023-05-09 | 南京邮电大学 | 基于分层强化学习的机械臂复杂操作技能学习方法及系统 |
CN116901055B (zh) * | 2023-05-19 | 2024-04-19 | 兰州大学 | 仿人手交互控制方法和装置、电子设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3504034A1 (en) | 2016-09-15 | 2019-07-03 | Google LLC. | Deep reinforcement learning for robotic manipulation |
JP6587761B2 (ja) | 2017-02-09 | 2019-10-09 | 三菱電機株式会社 | 位置制御装置及び位置制御方法 |
CN108229363A (zh) | 2017-12-27 | 2018-06-29 | 北京市商汤科技开发有限公司 | 关键帧调度方法和装置、电子设备、程序和介质 |
US10695911B2 (en) | 2018-01-12 | 2020-06-30 | Futurewei Technologies, Inc. | Robot navigation and object tracking |
JP6810087B2 (ja) | 2018-03-29 | 2021-01-06 | ファナック株式会社 | 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法 |
DE102018113336A1 (de) | 2018-06-05 | 2019-12-05 | GESTALT Robotics GmbH | Verfahren zum Verwenden mit einer Maschine zum Einstellen einer Erweiterte-Realität-Anzeigeumgebung |
DE102019122790B4 (de) | 2018-08-24 | 2021-03-25 | Nvidia Corp. | Robotersteuerungssystem |
US11325252B2 (en) | 2018-09-15 | 2022-05-10 | X Development Llc | Action prediction networks for robotic grasping |
US11400592B2 (en) | 2019-08-19 | 2022-08-02 | Wipro Limited | Method and system for task execution in dynamic heterogeneous robotic environment |
JP7273692B2 (ja) | 2019-11-01 | 2023-05-15 | 株式会社東芝 | 制御装置、制御方法およびプログラム |
-
2021
- 2021-05-12 DE DE102021204846.3A patent/DE102021204846B4/de active Active
-
2022
- 2022-04-27 US US17/661,041 patent/US20220375210A1/en active Pending
- 2022-05-11 CN CN202210508385.7A patent/CN115338856A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220375210A1 (en) | 2022-11-24 |
DE102021204846A1 (de) | 2022-11-17 |
DE102021204846B4 (de) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110640730B (zh) | 生成用于机器人场景的三维模型的方法和系统 | |
CN110026987B (zh) | 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质 | |
EP2657863B1 (en) | Methods and computer-program products for generating grasp patterns for use by a robot | |
Kaltsoukalas et al. | On generating the motion of industrial robot manipulators | |
CN115338856A (zh) | 用于控制机器人装置的方法 | |
Sayour et al. | Autonomous robotic manipulation: real‐time, deep‐learning approach for grasping of unknown objects | |
Zhang et al. | Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
CN115351780A (zh) | 用于控制机器人设备的方法 | |
KR20230119159A (ko) | 파지 생성을 위한 픽셀단위 예측 | |
JP2020196102A (ja) | 制御装置、システム、学習装置および制御方法 | |
Feldman et al. | A hybrid approach for learning to shift and grasp with elaborate motion primitives | |
Motoda et al. | Bimanual shelf picking planner based on collapse prediction | |
US20230330858A1 (en) | Fine-grained industrial robotic assemblies | |
Zunjani et al. | Intent-based object grasping by a robot using deep learning | |
US10933526B2 (en) | Method and robotic system for manipulating instruments | |
Yamada et al. | Efficient skill acquisition for complex manipulation tasks in obstructed environments | |
Schaub et al. | 6-DoF grasp detection for unknown objects | |
Pichler et al. | Towards robot systems for small batch manufacturing | |
CN116152335A (zh) | 用于训练机器学习模型以生成描述符图像的装置和方法 | |
JP2024517361A (ja) | 相補性制約を使用して衝突を回避する物体操作 | |
Lang et al. | Visual servoing with LQR control for mobile robots | |
Fuseiller et al. | Reactive path planning for collaborative robot using configuration space skeletonization | |
Pichler et al. | User centered framework for intuitive robot programming | |
Singh et al. | Grasping real objects using virtual images |
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 |