一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于抓取生成的像素级预测的制作方法

2023-08-17 18:05:20 来源:中国专利 TAG:


1.本发明涉及机器人控制系统,并具体涉及用于抓取生成的系统和方法。


背景技术:

2.机器人自动化是能在执行任务时改善生产力、安全性和经济性的领域。对操控目标物的机器人来说,生成抓取位姿往往是任务的重要组成部分。例如,机器人可以观察目标物并(根据位置和方向,例如“位姿”)确定夹持器的方位,以便能够拣取目标物。单次抓取的稳定性可取决于目标物和夹持器的几何结构、目标物的质量分布以及表面摩擦力等其他因素。目标物周围的几何结构可以通过限制可达到的抓取点来施加额外限制,同时不会导致机械臂与场景中其他目标物发生碰撞。在一些情况下,这一问题会通过几何启发式方法在目标物周围选择成功率高的抓取点来解决,可能随后还会对采样抓取的稳定性和可达性进行更深入的几何分析。然而,其中许多方法都依赖于能够获得待抓取目标物的完整3d模型,而这在实际拣取情境中可能是严重限制。因此需要改进抓取确定(grasp determination)方法。


技术实现要素:

3.本发明提供一种用于抓取生成的数据处理装置,其被配置为:获取包括深度数据的图像数据,该图像数据代表由摄像头捕获的目标物图像;将图像数据提供给包括神经网络的抓取模型,该神经网络通过训练以基于可抓取目标物的图像独立地预测与抓取操作相关的复数个结果;获取与复数个结果相对应的复数个像素级预测,每个像素级预测代表和与该抓取操作相关的复数个结果中的给定结果相对应的像素级概率值;聚合复数个像素级预测以获取像素级聚合预测;以及输出像素级聚合预测以从中选择一个或一个以上像素,并在此基础上生成一个或一个以上抓取位姿来抓取目标物。
4.本发明进一步提供一种计算机实施方法,其包括:获取包括深度数据的图像数据,该图像数据代表由摄像头捕获的目标物图像;将该图像数据提供给包括神经网络的抓取模型,该神经网络通过训练以基于可抓取目标物的图像独立地预测与抓取操作相关的复数个结果;获取与该复数个结果相对应的复数个像素级预测,每个像素级预测代表和与该抓取操作相关的复数个结果中的给定结果相对应的像素级概率值;聚合复数个像素级预测以获取像素级聚合预测;以及输出像素级聚合预测以从中选择一个或一个以上像素,并在此基础上生成一个或一个以上抓取位姿来抓取目标物。
5.本发明还提供一种计算机系统,其包括一个或一个以上处理器以及存储可执行指令的计算机可读内存,这些指令被一个或一个以上处理器执行使得计算机系统能运行上述方法。类似地,本发明提供一种机器可读介质,其上存储了指令集。如果由一个或一个以上处理器运行这组指令,那么一个或一个以上处理器能运行前述方法。
6.概括地说,本说明书介绍的系统和方法运用包含神经网络的抓取模型,以在抓取结果集合中获取对应抓取结果的像素级预测(例如,评分图或热图)。像素级预测作为单个
像素级聚合预测被输出以用于抓取生成,例如,通过对像素级预测进行采样来获取二维的抓取位置,并由此生成机器人在所处任务空间中的抓取位姿(例如,具有六自由度的抓取位姿)。通过提供作为单个像素级聚合预测的抓取预测集合,其他与场景有关的像素级数据如启发式数据和/或分割数据,可以作为候选抓取位置纳入像素评分中。此外,可运用强化学习技术以调整两个级别中至少一个级别的权重,例如在像素级预测聚合成单个像素级聚合预测中,和/或在单个像素级聚合预测与额外的像素级数据的聚合中。本发明所述的抓取模型可由此在用于机器人的抓取流程中得以实施和调整以在宏观层面上改善提高机器人的性能指标,例如机器人的速度或吞吐量。
附图说明
7.现仅参照下列附图,具体实施方式将以实施例的方式进行描述,其中相似的附图标记指代相同或相应的部分,其中:图1是根据实施例机器人拣取系统的示意图;图2和图3a是根据实施例用于抓取模型的输入数据和输出数据的示意图;图3b是根据一实施例聚合复数个像素级预测的示意图;图4是根据一实施例用作抓取模型一部分的神经网络的示意图;和图5是工艺流程图。
8.在附图中,同样的特征在适当情况下以同样的附图标记表示。
具体实施方式
9.下文说明书包括了一些具体细节,以便彻底理解各种已公开的具体实施方式。然而,相关领域的技术人员能理解,具体实施方式可在没有其中一个或一个以上具体细节的情况下得以实施,或借助其他方法、部件和材料等得以实施。在一些情况下中,与夹持器组件和/或机械臂相关的众所周知的结构如处理器、传感器、存储装置、网络接口、工件、受拉构件、紧固件、电连接器、混合器等并未示出或得到详细描述,以免在描述本发明的具体实施方式时造成不必要的含混不清。
10.在本说明书和所附权利要求中,除非上下文另有要求,否则“包括”一词及其变形如“包括(一般现在时)”和“包括(动名词)”均作开放式包括性理解,意为“包括但不限于”。
11.在整个说明书中,对用于“具体实施方式”或“实施例”的“一个”、“某个”或“另一”的使用,意味着至少一个具体实施方式、实施例或实例包括了所描述的与该具体实施方式、实施例或实例相关联的特定参考特征、结构或特性。因此,在整个说明书各种位置出现的“在一个具体实施方式中”或类似用辞,并不一定都指代同一个具体实施方式。此外,在一个或一个以上具体实施方式、实施例或实例中,特定特征、结构或特性可通过任意适当的方式进行组合。
12.应注意,除非上下文另有明确指定,否则在本说明书和所附权利要求所使用的单数形式也包括了复数含义。因此,例如当提到夹持器组件包括“指状元件”时,该指状元件数量可为一个或两个及两个以上。还应注意,除非上下文另有明确指出,否则“或”一般被理解为包括“和/或”的含义。
13.参照图1,其中展示了机器人拣取系统100的实施例,该系统可适于与本发明中的
组件、装置和方法一起使用。机器人拣取系统100可成为在线零售业务如在线食品杂货零售业务的一部分,但它也可用于需要拣取和/或分拣物品的任意其他业务。
14.在该实施例中,机器人拣取系统100包括机械臂装置102,其包括机械臂121。举例而言,机械臂121被配置为从第一位置拣取物品,再将该物品放至第二位置。
15.机械臂装置102通过通信接口104与机器人拣取系统100的其他部件
‑‑
例如一个或一个以上可选的操作员界面106
‑‑
通信耦合,从操作员界面106观察者可以观察或监测系统100和机械臂装置102的运行。操作员界面106可包括wimp界面以及输出显示,该输出显示显示解释文本或机械臂装置102在情境或场景中的动态表现。例如,机械臂装置102的动态表现可包括视频和音频馈送,如计算机生成的动画。合适的通信接口104的示例包括有线网络或有线通信接口、光纤网络或光纤通信接口、无线网络或无线通信接口,或者有线网络、有线通信接口、光纤网络、光纤通信接口和/或无线网络或无线通信接口的组合。
16.机器人拣取系统100进一步包括控制系统108,控制系统108包括通过通信接口104与机械臂装置102以及机器人拣取系统100的任意其他部件通信耦合的至少一个控制器110。控制器110包括控制单元或者具有一个或一个以上电子处理器的计算设备。一个或一个以上处理器嵌入了包含控制指令集的计算机软件,当提供这组指令作为可执行数据被执行时,控制器110会向机械臂系统102发出致动命令或控制信号。例如,致动命令或控制信号会让机械臂121执行各种方法和不同动作,如识别和操控物品。
17.一个或一个以上电子处理器可包括至少一个逻辑处理单元,如一个或一个以上微处理器、中央处理器(cpu)、数字信号处理器(dsp)、图形处理器(gpu)、专用集成电路(asic)、可编程门阵列(pga)和可编程逻辑单元(plu)等。在一些实例中,控制器110是一种较小的基于处理器的设备,如移动电话、单板计算机、嵌入式计算机等,其可被可互换地称作或称为计算机、服务器或分析器。控制指令集也可作为与系统100和机械臂装置102操作相关的处理器可执行数据,并包括在非暂态计算机可读存储设备112中,该非暂态计算机可读存储设备是机器人拣取系统100的一部分,并通过通信接口104访问控制器110。
18.在一些实例中,存储设备112包括两个或两个以上不同的设备。该存储设备112例如包括一个或一个以上易失性存储设备(如随机存取存储器(ram)),以及一个或一个以上非易失性存储设备(例如只读存储器(rom)、闪速存储器、硬盘驱动器(hdd)、光盘和固态硬盘(ssd) )等。本领域的技术人员知道,存储可以通过各种方式实现,例如通过只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器(hdd)、网络驱动器、闪存、数字通用光盘(dvd)、任何其他形式的计算机和处理器可读存储器或存储介质,和/或其中组合。存储可根据需要设为只读或可读写方式。
19.机器人拣取系统 100 包括传感器子系统114,该子系统包括一个或一个以上传感器,能检测、感知或测量机械臂装置102的状况或状态,和/或机械臂121操作时所处环境或工作区的状况,并产生或提供相应的传感器数据或信息。传感器信息包括代表机械臂121所处工作区的环境状况的环境传感器信息、代表机械臂装置102(包括其各子系统和组件)状况或状态的信息,以及代表待操控物品特性的信息。所获取的数据可通过通信接口104传输到控制器110,以相应地指挥机械臂121。这些信息例如可包括诊断传感器信息,其有助于诊断机械臂装置 102的状况或状态,或机械臂121操作时所处环境的状况或状态。
20.这些传感器例如可包括一个或一个以上摄像头或成像器116(例如,对可见和/或
不可见范围的电磁波谱如红外线和紫外线等敏感的摄像头或成像器)。传感器子系统114的其他传感器可包括一个或一个以上接触式传感器、力传感器、应变计、振动传感器、位置传感器、姿态传感器、加速度计、雷达、声纳、激光雷达、触摸式传感器、压力传感器、负荷传感器、麦克风118、气象传感器和化学传感器等。在一些实例中,传感器包括诊断传感器,以监测机械臂装置102内部电源(例如电池阵列、超级电容阵列、燃料电池阵列)的状况和/或健康。
21.在一些实例中,一个或一个以上传感器包括接收器,用于接收与机械臂121相关的位置信息和/或方向信息。例如,全球定位系统(gps)接收器可接收gps数据以及两个或更多时间信号,以便控制器110基于信号中的数据(例如传播时间、信号强度或其他影响位置测量的数据)来进行位置测量。此外,例如一个或一个以上加速度计可安装在机械臂121上,以得到其在单轴、双轴或三轴上运动的惯性数据或方向数据。加速度计也可成为机械臂装置102的一部分。
22.系统100的机械臂121可由人类操作员在操作员界面106处进行操控。在人类控制或操控模式下,该人类操作员可观察传感器数据的表现,例如从传感器子系统114的一个或一个以上传感器接收到的视频、音频或触觉数据。随后,该人类操作员基于对数据的表现的感知而采取行动,并创建信息或可执行控制指令以相应操控机械臂121。在操控模式下,机械臂装置102可实时(如无额外延迟)执行从操作员界面106接收到的控制指令,不用考虑其他基于传感信息的控制指令。
23.在一些实例中,机械臂装置102可自主运行。也就是说,没有人类操作员在操作员界面106创建控制指令来指挥机械臂121。通过执行自主控制指令,机械臂装置102可在自主控制模式运行。例如,控制器110可以利用来自传感器子系统114中的一个或一个以上传感器的传感器数据,以生成后续使用的自主控制指令,传感器数据与操作员在机械臂装置102曾一次或多次处于操控模式下生成的控制指令相关。例如,通过运用深度学习技术从传感器数据中提取特征,机械臂装置102可在自主模式下自主识别其所处环境以及待操控物品的特征或状况,并对此做出反应,执行预定义的行为、行为集合、任务、流程或系列任务。在一些实例中,控制器110可自主识别机械臂121周围环境的特征和/或状况,周围环境由来自传感器子系统114的传感器数据和一个或一个以上虚拟物品合成的环境表示。当表示呈现时,该控制器110会作出反应,向机械臂装置102发出控制信号以执行一项或多项动作或任务。
24.在一些示例中,机械臂装置102可在一个时间点自主控制,在另一个时间点由人类操作员操控、操作或控制,即在自主控制模式下运作并切换至操控模式(即非自主模式)。在另一操作模式中,机械臂装置102可回放或执行之前在人类操作员模式(或操控模式)下执行过的控制指令。也就是说,机械臂装置102可在没有传感器数据的情况下基于回放的操控数据进行操作。
25.机械臂装置102进一步包括通信接口子系统124(例如网络接口设备),该子系统与总线126通信耦合并通过通信接口104为系统100的其他部件(例如控制器110)提供双向通信。通信接口子系统124可以是任何影响处理器可读数据和处理器可执行指令之间双向通信的电路系统,例如无线电(例如无线电或微波频率发射器、接收器、收发器)、通信端口和/或相关控制器。合适的通信协议包括ftp、http、web服务、基于xml的soap、wi-fi
tm
协议、蓝牙
(bluetooth

)协议和蜂窝网络(例如gsm、cdma)等。
26.机械臂121是一种机电机器,包括一个或一个以上附加部件,例如机械手臂120以及安装在机械手臂120末端的夹持器组件或末端执行器122。末端执行器122是一种设计复杂的设备,其配置为与所处环境交互以执行若干个任务,包括例如夹持、抓取、与物品可释放接触或以其他方式与物品交互等。末端执行器122的实施例包括爪夹持器、指夹持器、磁或电磁夹持器、伯努利夹持器(bernoulli gripper)、真空吸盘、静电夹持器、范德华夹持器(van der waals gripper)、毛细管夹持器、低温夹持器、超声波夹持器和激光夹持器。
27.机械臂装置102进一步包括运动子系统130,该子系统与机械手臂120和末端执行器122通信耦合。运动子系统130包括一个或一个以上电机、螺线管、其他驱动器、连杆、传动皮带等,操作时可让机械手臂120和/或末端执行器122在一系列动作范围内移动,这些动作与控制器110发出的致动命令或控制信号一致。运动子系统130通过总线126与控制器110通信耦合。
28.机械臂装置102也包括输出端子系统128,该子系统包括一个或一个以上输出设备,例如扬声器、灯或显示器,能让机械臂装置102向工作区发送信号,进而与例如操作员和/或另一机械臂装置102等进行通信。
29.本领域的技术人员知道,机械臂装置102中的部件可以改变,也可组合、拆分或者采取省略的形式等。在一些实施例中,通信接口子系统124、输出端子系统128和/或运动子系统130中的一个或一个以上可进行组合。在其他实施例中,子系统(例如运动子系统130)中的一个或一个以上可拆分成其他子系统。
30.图2为抓取模型200输入和输出流程的示意图。抓取模型200可作为前述实施例中机器人拣取系统100所执行的抓取操作的一部分来实现。例如,控制系统108包括抓取控制系统,例如图1所示的控制器110,该控制系统配置为向机械臂系统102发出致动命令或控制信号。例如,抓取控制系统包括一个或一个以上与抓取模型200通信耦合的处理器。
31.抓取模型200包括神经网络,该神经网络被训练为基于可抓取目标物的图像来预测与抓取操作相关的复数个结果。将包括深度数据如rgb-d数据的图像数据输入至抓取模型200进而处理图像数据以生成对复数个结果的独立预测。也就是说,同一个抓取模型200(包括经过训练的神经网络)配置为针对与抓取操作相关的对应结果集合生成复数个独立预测。在实施例中,抓取模型200包括训练好的的全卷积网络(fcn)。在这种情况下,抓取模型200可以称为全卷积抓取(fcg)模型。
32.图2展示了实施例rgb-d图像210,它包括三个颜色通道(红、绿、蓝)以及1个深度通道,可作为抓取模型200的输入。图像210展示了位于拣取机器人工作区内的多个目标物。抓取模型200配置为处理(rgb-d)图像数据,以生成与复数个结果相对应的复数个像素级预测。像素级预测用像素级预测图(pixelwise prediction maps)220(或“热图(heatmap)”)来表示。每一张热图220都是对已生成的像素级概率值的可视化,该像素级概率值对应于和抓取操作相关的各个结果。
33.与抓取操作相关的结果集合可包括两次或两次以上成功抓取目标物、成功扫描目标物、成功放置目标物、随后成功抓取另一目标物、避免使用目标物抓取另一目标物,以及避免停止抓取操作。例如,成功抓取目标物相当于,在不掉落物品的情况下,机械臂完成对目标物的抓取操作或者抓取工作周期(例如,在初始位置拣取目标物,再将目标物移动至第
二位置并将其放置于此等)。例如,在放置目标物前检测到该目标物从机械臂例如其末端执行器上掉下来即构成掉落物品。机械臂或其末端执行器可包括至少一个接触式传感器,其配置为检测与已拣取物品的接触情况。因此,检测物品是否掉落可以基于至少一个接触式传感器的反馈来确定。例如,成功放置目标物相当于,将目标物放在预设阀值距离内的位置,或衡量目标物在目标放置区域内的居中程度。例如,成功扫描目标物相当于,在抓取操作期间或工作周期中记录或完成对目标物上识别标记(如条形码)的扫描。例如,避免同时抓取另一目标物例如“双重抓取”相当于,确定在抓取操作期间或工作周期中没有检测到双重抓取。例如,避免停止抓取操作可相当于,确定在抓取操作期间或工作周期中抓取操作或工作周期未出现停止。例如,在抓取操作期间,机器人控制器可触发保护性停止或“保护停止(p停止)”以保护机器人,例如避免该机器人遭到损伤等。在其他情况下,抓取操作可能因为机器人未能完成抓取操作而停止,例如,机器人未在预设时间阀值内完成抓取操作。
34.图3a展示了用于抓取生成的抓取模型200输入与输出的另一实施例,抓取生成是抓取操作的一部分。将包括颜色数据311和深度数据312的图像数据310输入至包括经过训练的神经网络的抓取模型200中,生成用于抓取操作的复数个独立像素级预测320。图3a所示的实施例生成了五个像素级预测,该图展示了五张输出的像素级热图320,分别对应于和抓取操作相关的五种不同结果。
35.图3b展示了将多张像素级热图聚合以形成像素级聚合热图的实施例,其中图3a所示实施例中生成的五张热图320经过聚合成为单个像素级预测330。尽管也可采用其他像素级聚合方法如加权积法,但在实施例中采用加权和法来进行聚合。使用加权像素级聚合时,分别与像素级预测如热图对应的权重可通过强化学习方法(稍后描述)预先设定或调整。
36.像素级聚合热图330可以用来从中选择抓取位置,并在此基础上生成抓取位姿来抓取目标物。例如,可确定性地(例如通过贪心算法(greedy algorithm))或概率性地(例如按照概率分布,比如源自像素级聚合热图330的概率分布)对像素级聚合热图330进行采样,以获取与候选抓取位置相对应的像素。
37.神经网络图4展示了神经网络架构的实施例,该神经网络架构作为抓取模型200的一部分实现。实施例神经网络400为全卷积神经网络(fcn)。尽管也可使用其他fcn和卷积神经网络(cnns),例如vgg-16神经网络,但实施例中的全卷积神经网络是弗莱堡大学(university of freiburg)计算机科学系开发的u-net架构。在此实施例中,对fcn400的输入401包括含有深度数据的图像数据。输入图像数据401的像素宽和像素高数值已经给定,且包括一个或一个以上颜色通道(例如红色通道、绿色通道和蓝色通道)以及深度通道。fcn400的卷积层402通常从输入数据401中提取特定的特征以创建特征图(feature map),并且可对图像的一小部分操作。
38.在图4所示的实施例中,在被输入到卷积层402序列中的下一卷积层之前,卷积层402中至少一层的输出会经历池化,例如在池化层进行池化。池化例如可以聚合或组合图像或特征图某区域的值,如选取区域内的最大值。例如,进行2
×
2的最大池化时,针对由给定卷积层输出的特征图,给定卷积层以2
×
2的像素间距输出的最大值将被输入至层402中的后续卷积层,而非传输全部的输出数据。因此,池化能够减少神经网络400后续层的计算量。池化效果可见示意图4,其表现为相关层中画面尺寸的缩小。应该理解,为了便于说明,图4
中神经网络400的图示已经被大大简化,平常的神经网络可能要更加复杂。例如,神经网络400包括一个或一个以上上采样(例如上卷积(up-convolution))层和/或一个或一个以上跨层(skip)(或“捷径(shortcut)”)连接。一般而言,用于抓取模型200的神经网络架构不使用全连接层。例如,u-net网络架构仅使用卷积层、池化层和带有跨层连接的上采样层。如果使用预训练的网络架构(例如vgg-16网络),则仅使用卷积“骨架”(例如特征提取层集合),并进行适当修改(例如附加层)以确保输出预测图(如热图)具有与输入图像相同的维度。
39.一般而言,神经网络如图4中的fcn400会经历所谓的“训练阶段”,在此阶段,神经网络会基于特定的目的接受训练。神经网络通常包括相互连接、形成有向加权图的人工神经元层,其中图的顶点(对应神经元)或边(对应连接)与各自的权重关联。权重可经过训练进行调整,改变单个神经元的输出并因此改变神经网络的整体输出。相比使用cnn进行目标物分类,抓取模型中的fcn被配置为对某些结果进行像素级预测。
40.目前,神经网络400接受训练以通过处理图像数据来预测抓取结果,例如确定各抓取结果相对应的像素级概率值。以这种方式的训练神经网络400能例如生成代表应用于输入图像数据(例如,不同的权重与多层神经网络架构的不同层相关联)的权重的权重数据。其中每个权重与图像块(image patches)中相应的像素值相乘,例如,将内核权重与图像块进行卷积。
41.针对抓取预测这一情况,神经网络400会借助训练数据集来进行训练,该数据集包括由机器人执行的大量抓取行为。数据集中的每个“抓取行为”包括:抓取行为之前该机器人所处任务空间(例如箱)的捕获图像,该图像包括深度数据;世界坐标内的抓取位姿;从世界坐标到图像像素坐标的映射;以及由此产生的测量结果(如抓取成功、条码扫描成功等)。针对输入图像,fcg模型会产生与输入图像相同维度的输出预测,例如热图,其中每个预测结果对应一个通道。例如,输出热图中给定像素(与抓取位置相对应)会与向量相关联,该向量代表了如在紧邻这一像素的地方进行抓取,则抓取模型对每个结果的预测概率。例如,向量的每个分量包括相应于结果的预测概率。训练过程可提高训练数据集中观察到的与抓取位置相对应的像素处的结果的可能性,例如将其最大化。一经训练,神经网络400可用来预测与该神经网络400经过训练后已得出的任何抓取结果相对应的像素概率值。
42.在实施例中,抓取控制系统的一个或一个以上处理器与抓取模型200通信耦合,一个或一个以上处理器配置为可为抓取模型200获取以及提供图像数据,并接收生成的像素级预测。一个或一个以上处理器将像素级预测聚合,并输出像素级聚合预测,以便从中选择抓取位置,并在抓取位置上生成一个或一个以上抓取位姿来抓取目标物。在一些实例中,控制系统108的一个或一个以上处理器在本地实现抓取模型200。
43.启发式方法在一些实例中,抓取控制系统配置为获取像素级聚合预测图330,并将其与一张或多张像素级启发式图(pixelwise heuristic maps)结合。例如,像素级启发式数据(heuristic data)代表与给定启发式方法(heuristic)相对应的像素级启发式值。这样的启发式数据可包括高度数据、表面数据(如表面法线数据)、图像分割数据或者其他任何独立于抓取模型200经过训练所预测的抓取数据的启发式数据。因此,被配置为生成像素级抓取预测数据的抓取模型200能将其他像素级数据如像素图与其结合。抓取控制系统将像素级聚合预测(如聚合热图)与一个或一个以上像素级启发式(如启发式热图)相结合,以获得
组合像素级图。
44.抓取生成在一些实例中,机器人系统100的控制器110与位姿生成器(或位姿评估器)共同工作,该位姿生成器配置为生成(例如,确定或评估)抓取位姿。位姿信息包括代表位置、方向或两者皆有的处理器可读信息。每个抓取位姿包括机械臂121用于抓取目标物的六维位姿,其中六维包括三个平移维度和目标物的旋转方向。
45.一个或一个以上抓取位置被输入至位姿生成器,以基于一个或一个以上抓取位置生成一个或一个以上抓取位姿。一个或一个以上抓取位置对应于选自像素级聚合预测或组合像素级图(将一个或一个以上像素级启发式与像素级聚合预测结合)的一个或一个以上像素。例如,一个或一个以上像素可从相关的像素级图中采样得来,例如通过之前实施例的确定性采样或概率性采样。基于图像中的像素位置来确定抓取位姿,例如具有六自由度的抓取位姿,可通过启发式方法(例如使用自顶向下方法、表面法线等)或使用经过训练、配置为用于位姿评估的神经网络来完成。例如,确定抓取位姿涉及将图像中的二维像素位置映射至六维位姿。
46.例如,控制器110从位姿生成器中获取一个或一个以上生成的抓取位姿,并基于此控制机械臂。在实施例中,一个或一个以上抓取位姿根据它们相应的像素值,例如像素级聚合预测中的像素级概率值或者融合了启发式数据的组合像素级图中的组合“分数”来进行排序。因此,控制器110可向机械臂121发出致动命令或控制信号,使其按照排序后的一个或一个以上抓取位姿来抓取目标物。
47.图5所示的流程图描绘了用于抓取生成的相应的计算机实施过程。例如,该过程可被编码在由一个或一个以上处理器执行的指令中,该处理器为例如先前实施例中与抓取模型200通信耦合的抓取控制系统中的处理器。这些可执行指令存储在计算机可读内存(如存储器112)中,或存储在机器可读介质(如电存储介质、磁存储介质或光存储介质)中。
48.过程500始于501中获取包括深度数据的图像数据,该图像数据代表由摄像头捕获的目标物图像。(501中)还会获取一个或一个以上摄像头参数(例如焦距等内参数和/或世界坐标内摄像头的位姿等外参数),用于将图像中的像素坐标(例如以二维形式的像素坐标)映射至世界坐标(例如以三维形式的像素坐标)。在502中,图像数据被提供给包括神经网络的抓取模型,该神经网络通过训练以基于可抓取目标物的图像来独立地预测与抓取操作相关的复数个结果。随后503便能获取与复数个结果相对应的复数个像素级预测。每个像素级预测,例如可视化为热图,代表与抓取操作相关的复数个结果中的与给定结果相对应的像素级概率值。先前的系统实例中与抓取操作相关的实施例结果也适用于此。
49.复数个像素级预测随后在504中被聚合,以获取像素级聚合预测如热图。过程500结束于505:输出像素级聚合预测并从中选择一个或一个以上像素,在此基础上生成一个或一个以上抓取位姿来抓取目标物。因此,过程500可适用于任何机器人系统,例如用作抓取生成处理流程一部分,在该机器人系统中,物品将被抓取并使用该物品来完成其他任务(或多项任务):这些下游任务的结果可被测量并量化,以便由此产生的数据能够用作抓取模型的训练数据。换句话说,抓取物品就其本身而言不是目的:实际上,抓取目标物再用它来完成别的任务很常见(例如拿起勺子搅拌咖啡)。
50.在一些实例中,过程500涉及使用包括神经网络的抓取模型处理图像数据,以独立
预测复数个结果。而与复数个结果对应的复数个像素级预测则通过例如作为过程500的一部分的抓取模型来生成。
51.在实施例中,过程500涉及:基于像素级预测中一个或一个以上对应的概率值从像素级聚合预测中选择(例如采样)一个或一个以上像素。一个或一个以上抓取位置,例如与一个或一个以上选定像素相对应的抓取位置,被输出至机器人中以在此基础上抓取目标物。例如,基于一个或一个以上一个或一个以上抓取位置生成一个或一个以上抓取位姿。一个或一个以上抓取位姿可输出至机器人中,用于实现一个或一个以上抓取位姿以抓取目标物。
52.在其他实施例中,过程500涉及获取一张或多张像素级启发式图,其中除像素级聚合预测之外,每张像素级启发式图代表对应于给定启发式的像素级启发式值。例如,一张或多张像素级启发式图与像素级聚合预测结合以获取组合像素级图。在这种情况下,抓取位姿生成或评估涉及:通过从组合像素级图中采样一个或一个以上相对应的像素来获取一个或一个以上抓取位置。随后,基于一个或一个以上抓取位置生成或估计一个或一个以上抓取位姿,并将其输出到机器人以供实施。
53.抓取模型的神经网络基于如历史抓取数据或模拟抓取数据中的至少一种进行训练,例如代替人工注释抓取数据。例如,历史抓取数据可在抓取机器人实施期间(例如在生产环境中)运用给定的抓取策略(例如以监督的方式)进行采集。附加地或替代地,可以模拟机器人的抓取,例如,虽然机械臂的控制器发出用于抓取的真实控制信号或致动命令,但实际是由模拟环境下运行的模拟机械臂实现。
54.抓取模型,例如神经网络,可基于抓取更多目标物时获取的更多抓取数据进行更新,此更新为过程500的一部分。例如,当抓取模型在实时环境例如工业或生产环境中得以实现时,实时抓取行为的指令和结果可被收集并添加到训练集中用于更新抓取模型。例如,可在实现机器人期间运用新的抓取数据对神经网络再次进行训练,如进行迭代训练。
55.在一些实例中,通过使用与复数个结果相对应的复数个像素级预测作为rl模型的特征输入,强化学习(rl)模型得以应用。例如,当加权聚合用于复数个像素级预测的像素级聚合时,在像素级预测集合中分别与像素级预测(例如热图)相对应的一个或一个以上权重可得到调整,该调整为rl过程的一部分。
56.用这种方式,抓取模型可以解释为q学习rl方法的“q函数”,或解释为actor-critic rl框架中的“critic”网络,它将每个动作(例如在给定的像素位置以给定的六维位姿执行的抓取行为)与分数或分数集合相关联。用这种方式架构,rl方法既可应用于训练和数据收集阶段。例如,这样可以传达抓取选择策略以便适当平衡探索(例如,在模型不确定结果的位置拣取以更好地理解所处任务空间)和利用(例如,在模型更为确定会成功的位置拣取)。
57.在一些实例中,过程500处理无法直接由像素坐标推断出的一个或一个以上抓取参数。此类抓取参数的实施例包括抓取高度、末端执行器方向、末端执行器选择以及抓取策略。这些附加的抓取参数可采用不同方式进行处理。例如,与参数每个值(例如每个末端执行器选择)相对应的附加输入可传递给抓取模型,以生成取决于附加参数值的像素级预测。替代地,抓取模型可配置为对参数的每个值生成单独的像素级预测(例如热图)。作为实施例,对于两个抓取结果(例如抓取成功和放置成功)和三个附加参数值(例如三种可行的真
空吸盘类型),抓取模型配置为生成六个输出像素级预测(热图),分别对应抓取结果和附加参数值(如真空吸盘类型)的每种组合。作为进一步的替代选择,抓取模型可配置为生成单独的输出(例如,包括附加输出头的模型),以便预测每个像素处的参数值(例如末端执行器选择)。单独输出包括例如作为像素级预测(如热图)中的通道。在三个附加参数值(例如,与三种可行的真空吸盘类型相对应的参数值)的实施例中,每个抓取结果的输出像素级预测将包括三通道图像,其中每个通道对应于单个参数值(例如真空吸盘类型)。
58.回到前述作为抓取流程一部分来实现的抓取模型,机器人的机器人控制系统108(例如控制器110)可启动用于生成抓取候选的过程。例如,机器人控制系统108可向抓取控制系统发送用于抓取候选的请求。抓取控制系统获取包括深度数据的图像数据,该图像数据与所处工作区(例如拣取箱或容器)当前状态相对应。该图像数据由包括本技术抓取模型(例如fcg模型)的一个或一个以上预测(或“评分”)模型进行处理。其他评分模型包括之前描述的启发式模型和分割模型(例如用于识别图像中不同目标物位置的模型)等。如果除了抓取模型之外还使用了附加评分模型,输出评分图可结合形成单个输出评分图。输出评分图经过采样以获取与二维抓取候选相对应的像素。由一个或一个以上抓取生成操作符如抓取生成器处理二维抓取候选,以在机器人所处任务空间内将二维的图像位置转换为三维位置。在一些实施例中,一个或一个以上抓取生成操作符也可基于任务空间中的表面法线确定机械臂如末端执行器的方向。因此,任务空间中一个或一个以上三维位置和方向(例如,抓取位姿)被返回至机器人控制系统108中,每个位置和方向都有对应分数。在实施例中,对应分数可由一个或一个以上抓取生成操作符进行调整,例如基于表面法线或其他启发式方法。机器人控制系统108随后基于一个或一个以上抓取位姿中的一个或一个以上以及它们的对应分数向机器人发出致动命令。
59.在采用数据处理的实施例中,处理器可用作相关系统的一部分。处理器可以是通用处理器,例如中央处理器(cpu)、微处理器、图形处理器(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件部件或其中任意适当的处理器组合,该处理器旨在执行本说明的数据处理功能。
60.在涉及神经网络的实施例中,专用处理器被用作相关系统的一部分。专用处理器可以是神经处理器单元(npu)、神经网络加速器(nna)或专用于神经网络功能的硬件加速器的其他版本。附加地或替代地,至少一部分神经网络处理工作量可由一个或一个以上标准处理器如cpu或gpu分担。
61.上述实施例作为说明性实施例理解,还可设想进一步的实施例。例如,在神经网络经过训练以预测的复数个结果中,另一感兴趣的结果可能是扫描速度。例如,代替或除了对于是否成功扫描物品的二分类预测之外,可以训练神经网络来预测哪一抓取位置对应成功扫描条形码所花费的最短时间。在拣取食品杂货的情况下,例如复数个结果中的结果之一可能是装袋成功,其中抓取模型可学习如何拣取物品以便它们将其成功装袋。例如,模型对“装袋成功”结果的预测可取决于袋子当前的状况(如通过输出箱或提包的rgb-d图像来表示)。
62.总体而言,所描述的系统和方法可用作抓取生成流程或抓取合成流程的一部分,此流程接收包括深度信息的输入图像,并输出排序的抓取位姿,例如具有六个自由度的抓
取位姿。例如,抓取生成流程的输入包括由摄像头捕获的输入图像以及该摄像头在世界坐标系中的方向。抓取生成流程因此包括:通过所描述的fcg抓取模型和可选地一个或一个以上其他的启发式图计算方法来传输输入图像;聚合由此产生的热图;从聚合图中采样像素位置;将采样的像素位置(例如,在2d中)映射至相对应的抓取位姿(例如,在6d中);以及可选地基于启发式和/或抓取模型预测的一些组合来调整相应抓取位姿的排序。
63.在前述实施例中,用于抓取模型的训练数据从历史抓取结果中收集,而非人工注释结果等其他情况。例如,抓取模型意图学习的是“如果我在此处抓取会发生什么”而非“人类认为如果我在此处抓取会发生什么”。然而,在一些实例中,一个或一个以上干预人员(human pilot)可作为生产系统的一部分。具体而言,如果满足一个或一个以上预设条件,人类可以就一小部分拣取给出抓取位置建议。在这种情况下,历史数据集中可能存在一些由人类提议抓取位置(或抓取策略)的抓取行为。尽管如此,抓取结果仍从物理机器人系统中收集。
64.还应理解,上述有关任一实施例的任何特征可以单独使用,或者与前述其他特征结合使用,也可以与任何其他实施例的一个或一个以上特征结合使用,或与任何其他实施例的任何组合结合使用。此外,在未偏离所附权利要求书范围的情况下,也可采用前文未描述的等效物和修改行为。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表