机械臂控制方法、装置、设备和存储介质与流程
未命名
07-27
阅读:104
评论:0
1.本技术涉及计算机技术领域,具体而言,涉及一种机械臂控制方法、装置、设备和存储介质。
背景技术:
2.分拣作业是大多数流水化生产线上的一个重要环节,使用分拣机器人能够很好的提高流水线上的工作效率,与人工分拣作业相比,分拣机器人有着高效、准确、卫生等优势。
3.目前,机械臂分拣方案常采用基于视觉的方法,通过给定一个包含分拣目标的平面,以该场景的视觉信息作为输入,计算出一个最优的抓取位姿,使机械臂在该位姿下可以稳定的抓取物体,抓取算法可以独立的运行,或作为复杂任务的一部分。
4.然而,上述分拣方案在抓取商品的选取上往往基于预设的抓取策略,或者简单的进行随机抓取,而当抓取策略需要临时变动时,预设的策略往往无法满足要求。
技术实现要素:
5.有鉴于此,本技术实施例提供了一种机械臂控制方法、装置、设备和存储介质,以在抓取策略变动时,通过利用人机交互界面选定的目标物品,实现基于人机交互的机械臂抓取控制。
6.第一方面,本技术实施例提供了一种机械臂控制方法,包括:
7.获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;
8.对所述环境图像进行物品识别,得到所述待抓取区域中各个物品在所述环境图像中的包围框信息;
9.根据针对所述环境图像输入的选择操作,以及所述各个物品在所述环境图像中的包围框信息,从所述各个物品中确定目标物品;
10.根据所述目标物品的包围框信息,控制所述待控制机械臂对所述目标物品执行抓取操作。
11.第二方面,本技术实施例还提供了一种机械臂控制装置,包括:
12.获取模块,用于获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;
13.识别模块,用于对所述环境图像进行物品识别,得到所述待抓取区域中各个物品在所述环境图像中的包围框信息;
14.确定模块,用于根据针对所述环境图像输入的选择操作,以及所述各个物品在所述环境图像中的包围框信息,从所述各个物品中确定目标物品;
15.控制模块,用于根据所述目标物品的包围框信息,控制所述待控制机械臂对所述目标物品执行抓取操作。
16.第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一所
述的机械臂控制方法。
17.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一所述的机械臂控制方法。
18.本技术提供了一种机械臂控制方法、装置、设备和存储介质,其中,该方法包括:获取深度相机采集的待控制机械臂对应待抓取区域的环境图像,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现了基于人机交互的机械臂抓取控制。
19.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
21.图1为本技术实施例提供的机械臂控制方法的流程示意图一;
22.图2为本技术实施例提供的机械臂控制方法的流程示意图二;
23.图3为本技术实施例提供的机械臂控制方法的流程示意图三;
24.图4为本技术实施例提供的机械臂控制方法的流程示意图四;
25.图5为本技术实施例提供的机械臂控制方法的流程示意图五;
26.图6为本技术实施例提供的机械臂控制装置的结构示意图;
27.图7为本技术实施例提供的电子设备的结构示意图。
具体实施方式
28.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.对于分拣作业而言,特别是在汽车装配、焊接等工业流水线上,以自动化机械臂为代表的工业机器人已经有着成功应用,具备高度成熟的市场,这类生产环境大多为单一场景、固定轨迹,只需要计算出机械臂要移动的固定轨迹,部署后即可投入使用。但在仓储物流应用中,机械臂系统必须处理包含各种不可预知物体的复杂场景,比如面对一张堆满凌
乱货物的桌子,大部分机械臂抓取系统可能会失败,即便抓取成功,也可能出现与预定抓取物品不匹配的情况,影响抓取流程的顺利完成。
30.传统的机械臂分拣方案常采用基于视觉的方法和深度学习的目标检测,实现对物体的识别与检测,其中,基于视觉的分拣方案,给定一个包含分拣目标的平面,以该场景的视觉信息作为输入,计算出一个最优的抓取位姿,使机械臂在该位姿下可以稳定的抓取物体,抓取算法可以独立的运行,或作为复杂任务的一部分,而基于深度学习的分拣方案,通过深度相机实现分拣目标位置的三维定位,并利用深度网络对平面物品抓取姿态预测,实现对分拣物品的稳定抓取。
31.但是在现实场景中,难免会出现预定策略不符合现有抓取流程,或者遇到突发情况时需要改变抓取策略,动态调整抓取目标的情况,而传统的分拣机器人可能很难达到类似人类思考的智能化程度,也就是说,现有的分拣策略在抓取商品的选取上往往基于预设的抓取策略,或者简单的进行随机抓取,而当抓取策略需要临时变动时,预设的策略往往无法满足要求,特别的,对于一些特殊物体的抓取任务,如果预设策略没有相应的抓取方案,可能无法满足分拣任务。
32.基于此,本技术提供了一种基于人机交互的机械臂自动分拣方案,该方案可以在必要的场景下,根据操作人员的指令完成指定物品的抓取任务,在普通分拣场景任务下,可根据预设分拣策略完成自动分拣作业,但当需要人工操作介入时,操作人员可根据前端监控窗口点击需要优先抓取的目标物品,机械臂根据人机交互指令完成“指哪抓哪”的任务,也就是说,在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,以控制机械臂根据人类指令抓取指定目标,实现抓取策略根据人工指示动态调整,从而提出一种基于人机交互的机械臂自动分拣方法来解决现有方案存在的不足。
33.下面结合几个具体实施例对本技术所提供的机械臂控制方法进行说明。
34.图1为本技术实施例提供的机械臂控制方法的流程示意图一,本实施例的执行主体可以为电子设备,如终端、服务器等。
35.如图1所示,该方法可以包括:
36.s101、获取深度相机采集的待控制机械臂对应待抓取区域的环境图像。
37.其中,深度相机可以设置于待控制机械臂上,深度相机用于采集待控制机械臂对应的待抓取区域的环境图像,其中,环境图像为深度相机所采集的待控制机械臂对应的待抓取区域的图像。
38.值得说明的是,深度相机可以检测出拍摄空间的深度信息,通过深度相机可以获取到待抓取区域的环境图像中每个点距离摄像头的距离,再加上该点在该环境图像中的二维位置坐标,就可以获得该环境图像中每个点的三维空间坐标。
39.深度相机和电子设备可以通过有线或无线的方式建立通信连接,这样深度相机可以将采集的待控制机械臂对应待抓取区域的环境图像发送给电子设备。
40.s102、对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息。
41.环境图像中包括待抓取区域中的物品,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,其中,可以采用图像识别算法,对环境图像进行
识别,以得到待抓取区域中各个物品在环境图像中的包围框信息。
42.其中,物品在环境图像中的包围框信息包括但不限于:包围框的尺寸、朝向、中心位置,其中,包围框为一个里面包含着复杂形状的物体的几何空间,以长方形为例,包围框的尺寸包括长宽高。
43.s103、根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品。
44.电子设备提供有前端监控窗口,在该前端监控窗口显示待抓取区域的环境图像,用户可输入针对环境图像的选择操作,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品。
45.其中,选择操作用于从环境图像中选择物品,该选择操作例如可以为单击操作、双击操作、滑动操作、本技术实施例对此不做特别限定。
46.也就是说,通过人机交互界面选择需要抓取的物品轮廓,这样可获知该选择操作所作用的位置信息,然后根据该位置信息和各个物品在环境图像中的包围框信息进行匹配,从各个物品中确定目标物品,其中,可以根据该位置信息和各个物品的包围框,计算选择操作和各个物品的包围框之间的距离,将距离最短的包围框对应的物品作为目标物品。
47.s104、根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。
48.确定出目标物品的包围框信息后,可以根据目标物品的包围框信息,获取待控制机械臂的抓取位姿,并根据待控制机械臂的抓取位姿,规划生成待控制机械臂的运动轨迹,然后根据该运动轨迹,向待控制机械臂发送控制指令,以控制待控制机械臂按照该运动轨迹进行运动并对目标物品执行抓取操作。
49.值得说明的是,待控制机械臂可以为六轴关节的机械臂,利用轨迹规划工具(如moveit)根据待控制机械臂的抓取位姿,规划待控制机械臂的六轴关节的运动轨迹,然后向待控制机械臂输出控制指令,以控制待控制机械臂的六轴关节进行运动,使得待控制机械臂采用该抓取位姿,对目标物品执行抓取操作。
50.在本实施例的机械臂控制方法中,获取深度相机采集的待控制机械臂对应待抓取区域的环境图像,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。以在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现基于人机交互的机械臂抓取控制。
51.在一可选的实施方式中,步骤s103,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,包括:
52.根据选择操作的位置点和各个物品在环境图像中的包围框信息进行匹配,从各个物品中确定目标物品。
53.选择操作的位置点为该选择操作在环境图像中所作用的位置点,用户输入针对环境图像的选择操作,则可以确定该选择操作的位置点的位置信息,然后根据该位置信息和各个物品在环境图像中的包围框信息,对该位置点和各个物品在环境图像中的包围框信息进行匹配,以从各个物品中确定目标物品。
54.其中,可以根据该位置点的位置信息和各个物品在环境图像中的包围框信息,计算该位置点和各个物品在环境图像中的包围框之间的距离,并将该距离满足预设距离条件的物品确定为目标物品,预设距离条件例如可以为距离最短,即将距离最近的物品作为该位置点所匹配到的物品。
55.值得说明的是,位置点的位置信息可以为环境图像对应的图像坐标系中的二维位置坐标,根据物品在环境图像中的包围框信息对应二维位置坐标,以及该位置点的二维位置坐标,可以计算该位置点和各个物品在环境图像中的包围框之间的距离。
56.当然,也可以结合深度相机所采集的深度信息,获取该位置点的三维空间坐标,然后根据该位置点的三维空间坐标和各个物品在环境图像中的包围框信息对应的三维空间坐标,计算计算该位置点和各个物品在环境图像中的包围框之间的距离。
57.在一些实施例中,用户通过人机交互界面点击需要抓取的物品轮廓,这样可获知该选择操作所作用的位置点的三维空间坐标,其中,该位置点的坐标信息可以通过机器人操作系统(robot operating system,ros)节点发布话题,在机械臂分拣程序中可通过ros订阅该节点发布的该位置点的位置信息话题,然后通过领域搜索算法找与该位置即相互匹配的包围框,该包围框所对应的实例即为用户点击的待抓取的目标物品,也就是说,用户通过前端界面选定待抓取的物品,该位置消息通过与环境图像内实例的匹配,选定最为接近的包围框信息以确定目标物品。
58.值得说明的是,ros提供一系列程序库和工具以帮助软件开发者创建机器人应用软件,它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能,ros节点可以简单理解为ros通信的基本单位,在ros中有两个节点:一个是发布者talker,另一个是订阅者listener,两个节点分别发布、订阅同一个话题(topic),该话题指的是位置点的位置信息,通过topic完成数据通讯。
59.图2为本技术实施例提供的机械臂控制方法的流程示意图二,如图2所示,在一可选的实施方式中,步骤s102,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,可以包括:
60.s201、根据环境图像中的颜色信息,对环境图像进行实例分割,得到各个物品的实例分割结果。
61.环境图像中的颜色信息即rgb信息,根据环境图像中的颜色信息,可以对环境图像进行实例分割,以得到各个物品的实例分割结果,在一些实施例中,利用深度相机(如realsense)获取待抓取区域的环境图像,并传输至电子设备进行后续处理,在电子设备上安装分割软件(如adelaidet server),并该软件环境下将环境图像中的颜色信息输入到实例分割网络(如blendmask),对环境图像进行实例分割,得到环境图像中各个物品的实例分割结果,即实例mask。
62.值得说明的是,实例分割是目标检测和语义分割的结合,指的是在环境图像中将目标检测出来然后对每个像素打上标签,其中,目标检测是识别图像中存在的内容和检测其位置,语义分割是对图像中的每个像素打上类别标签进行分类,可以看出,实例分割指的是将环境图像中的不同实例进行区分并进行标记,也就是说,实例分割可将相同类别的不同个体区分开。
63.s202、根据环境图像中的深度信息和实例分割结果,确定各个物品的三维点云。
64.s203、根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息。
65.环境图像中的深度信息为深度相机所采集的环境图像中每个点的深度信息,根据各个物品的实例分割结果可以确定各个物品在环境图像中包围框的二维位置坐标,然后从环境图像中的深度信息确定各个物品的包围框对应的深度信息,根据各个物品的包围框的二维位置坐标以及深度信息,确定各个物品的三维点云。
66.然后,根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息,其中,该包围框信息为三维空间坐标形式,根据包围框的二维位置坐标和深度信息确定。
67.在一些实施例中,针对每一个实例(即物品)提取对应的三维点云,然后基于三维对象绘制软件(如open3d得)到物体的包围框信息,其中,在实例分割任务中,在大多数实例分割框架中,实例分类的置信度被用作掩码质量分数,及实例分割的分数,blendmask网络可以直接输出实例分割分数,其结果越高,置信度也越高。
68.其中,物品在环境图像中的包围框信息包括但不限于:包围框的尺寸、朝向、中心位置,为便于数据处理,将得到的包围框中心位置、朝向和尺寸信息,以及实例分割分数组成一组数据信息,这个数据信息的格式是object的格式,即var obj=[],例如,在格式内添加元素dic[“包围框长度”]=“value=5m”,即包围框的长度为5m。
[0069]
在本实施例的机械臂控制方法中,根据环境图像中的颜色信息,对环境图像进行实例分割,得到各个物品的实例分割结果,根据环境图像中的深度信息和实例分割结果,确定各个物品的三维点云,根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息。通过2d实例分割和3d点云包围框拟合的形式确定各个物品在环境图像中的包围框信息,准确度较高。
[0070]
图3为本技术实施例提供的机械臂控制方法的流程示意图三,如图3所示,在一可选的实施方式中,步骤s104,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作,包括:
[0071]
s301、根据目标物品的包围框信息,获取待控制机械臂的抓取位姿。
[0072]
s302、根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹。
[0073]
s303、根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0074]
根据选定的目标物品的包围框信息,可以获取待控制机械臂的抓取位姿,其中,不同的包围框信息对应不同的抓取位姿,然后根据待控制机械臂的抓取位姿,规划生成待控制机械臂的运动轨迹,并根据该运动轨迹,向待控制机械臂发送控制指令,以控制待控制机械臂按照该运动轨迹进行运动并对目标物品执行抓取操作。
[0075]
在一些实施例中,可以将待控制机械臂的抓取位姿输入到预训练好的深度网络(如graspnet),得到待控制机械臂的抓取位姿,然后利用轨迹规划工具(如moveit)根据待控制机械臂的抓取位姿,规划待控制机械臂的运动轨迹。
[0076]
在本实施例的机械臂控制方法中,通过抓取位姿生成待控制机械臂的运动轨迹,进而控制待控制机械臂对目标物品执行抓取操作,提高了机械臂的控制精度,使机械臂能够准确抓取到目标物品。
[0077]
图4为本技术实施例提供的机械臂控制方法的流程示意图四,如图4所示,在一可选的实施方式中,步骤s301、根据目标物品的包围框信息,获取待控制机械臂的抓取位姿,可以包括:
[0078]
s401、根据目标物品的包围框信息,确定世界坐标系下待控制机械臂的抓取位姿。
[0079]
其中,目标物品的包围框信息可以为环境图像对应图像坐标系下的包围框信息,将目标物品的包围框信息从图像坐标系转换到世界坐标系,得到世界坐标系下目标物品的包围框信息,然后根据世界坐标系下目标物品的包围框信息,确定世界坐标系下待控制机械臂的抓取位姿。
[0080]
待控制机械臂的抓取位姿的参数可以包括:[x,y,z,roll,pitch,yaw],其中,x、y、z分别为x轴坐标、y轴坐标、z轴坐标;roll、pitch、yaw分别为关节点按照x轴、y轴、z轴旋转的翻滚角、俯仰角、偏航角,这3+3个量就描述了一个关节在空间的6个自由度(dof),合称为位姿。
[0081]
相应地,步骤s302,根据待控制机械臂的抓取位姿,生成待控制机械的运动轨迹,可以包括:
[0082]
s402、根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿。
[0083]
将世界坐标系下待控制机械臂的抓取位姿转换到待控制机械臂的末端坐标系,得到待控制机械臂的末端坐标系下的抓取位姿,其中,待控制机械臂的末端坐标系下的抓取位姿为末端坐标系下待控制机械臂的抓取位姿,末端坐标系可以理解为待控制机械臂的机械臂的抓取末端对应的坐标系。
[0084]
在一可选的实施方式中,根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿,包括:
[0085]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的手爪坐标系下的抓取位姿;根据待控制机械臂的手爪坐标系下的抓取位姿,确定深度相机的相机坐标系下的抓取位姿;根据相机坐标系下的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿。
[0086]
将世界坐标系下待控制机械臂的抓取位姿转换到待控制机械臂的手爪坐标系,得到待控制机械臂的手爪坐标系下的抓取位姿,其中,待控制机械臂的手爪坐标系为待控制机械臂的手爪所在的坐标系,然后将待控制机械臂的手爪坐标系下的抓取位姿转换到深度相机的相机坐标系,得到相机坐标系下的抓取位姿,以及将相机坐标系下的抓取位姿转换到末端坐标系,得到待控制机械臂的末端坐标系下的抓取位姿。
[0087]
s403、根据待控制机械臂的末端坐标系下的抓取位姿,生成运动轨迹。
[0088]
根据待控制机械臂的末端坐标系下的抓取位姿,以及待控制机械臂在末端坐标系下的当前位置,规划生成待控制机械臂的运动轨迹,例如,待控制机械臂在末端坐标系下的当前位置为a,目标物品的抓取位姿为b,利用轨迹规划工具(如moveit)完成待控制机械臂的运动轨迹的规划,以使待控制机械臂从位置a通过运动抓取目标物品b。
[0089]
在一些实施例中,确定待控制机械臂的手爪坐标系下的抓取位姿之后,可以根据手爪坐标系和相机坐标系的手眼变化矩阵,将得到待控制机械臂的手爪坐标系下的抓取位姿转换到相机坐标系下的抓取位姿,其中,手眼变化矩阵为对手爪坐标系(即手)和相机坐标系(即眼)进行手眼标定得到的坐标系转换矩阵,手眼标定是指通过输入两组以上的机械臂姿态信息和相机所识别的对应标志物的机械臂姿态信息,经过程序计算可输出,机械臂手爪和相机坐标系之间的坐标系转换矩阵,即手眼变换矩阵,其中,手眼变换矩阵=机械臂
手爪到相机的平移+机械臂手爪到相机的旋转,其本质是一个坐标转化的方法。
[0090]
值得说明的是,关于坐标系转换的方法具体可参见现有技术中的相关描述,在此不再赘述。
[0091]
在本实施例的机械臂控制方法中,根据图像坐标系、世界坐标系、相机坐标系及机械臂手爪坐标系、机械臂末端坐标系之间的转换关系确定选定目标物品在机械臂坐标系下的实际抓取位姿,然后规划机械臂的运动轨迹,通过该方式提高了机械臂的运动轨迹的准确度,进而提高了机械臂的控制精度,使机械臂能够准确抓取到目标物品。
[0092]
图5为本技术实施例提供的机械臂控制方法的流程示意图五,如图5所示,步骤s 303,根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作之前,该方法还可以包括:
[0093]
s501、若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化。
[0094]
相应地,步骤s303,根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作,可以包括:
[0095]
s502、根据优化后的运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0096]
确定在规划生成的运动轨迹下待控制机械臂的运动参数,若该运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化,其中运动参数例如可以包括运动方向,在一些情况下,比如某个方向存在障碍物,则确定该运动参数不满足预设运动条件,则对该运动参数进行调整,例如,调整运动方向,然后根据调整后的运动参数对该运动轨迹进行优化,即通过设计一个判断条件对规划的运动轨迹进行在线重规划,以及根据优化后的运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0097]
在一可选的实施方式中,运动参数包括:旋转角度,步骤s501,若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化,可以包括:
[0098]
若运动轨迹下待控制机械臂的旋转角度达到预设旋转角度,则对旋转角度进行调整,并根据调整后的旋转角度,对运动轨迹进行优化。
[0099]
其中,预设旋转角度例如可以为180
°
,若该运动轨迹下待控制机械臂的旋转角度达到预设旋转角度,则对该旋转角度进行调整,例如,要抓取目标物品a,规划的运动轨迹可能需要机械臂旋转180度再对物品进行抓取,但实际上机械臂可以不用旋转,直接移动到目标物品a即可完成抓取任务,也就是说,将旋转角度调整到0
°
,这种就属于不合理的旋转路径,可能会对机械臂造成物理损耗。
[0100]
类似地,机械臂手抓顺时针旋转270
°
,由于顺时针旋转270
°
跟逆时针旋转90
°
的效果是一样的,因此将旋转角度调整为逆时针90
°
,这样可减少旋转度数,避免了过度旋转对机械臂本体造成的损耗。
[0101]
在本实施例的机械臂控制方法中,对机械臂的运动轨迹进行在线优化,有效避免了机械臂不合理的运动轨迹,规避了诸如机械臂过度旋转所产生的时间和能耗问题,使得机械臂控制效果较好。
[0102]
基于同一发明构思,本技术实施例中还提供了与机械臂控制方法对应的机械臂控制装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述机械臂控制方法
相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0103]
图6为本技术实施例提供的机械臂控制装置的结构示意图,该装置可以集成在电子设备中。如图6所示,该装置可以包括:
[0104]
获取模块601,用于获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;
[0105]
识别模块602,用于对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息;
[0106]
确定模块603,用于根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品;
[0107]
控制模块604,用于根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。
[0108]
在一可选的实施方式中,识别模块602,具体用于:
[0109]
根据环境图像中的颜色信息,对环境图像进行实例分割,得到各个物品的实例分割结果;
[0110]
根据环境图像中的深度信息和实例分割结果,确定各个物品的三维点云;
[0111]
根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息。
[0112]
在一可选的实施方式中,确定模块603,具体用于:
[0113]
根据选择操作的位置点和各个物品在环境图像中的包围框信息进行匹配,从各个物品中确定目标物品。
[0114]
在一可选的实施方式中,控制模块604,具体用于:
[0115]
根据目标物品的包围框信息,获取待控制机械臂的抓取位姿;
[0116]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹;
[0117]
根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0118]
在一可选的实施方式中,控制模块604,具体用于:
[0119]
根据目标物品的包围框信息,确定世界坐标系下待控制机械臂的抓取位姿;
[0120]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹,包括:
[0121]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿;
[0122]
根据待控制机械臂的末端坐标系下的抓取位姿,生成运动轨迹。
[0123]
在一可选的实施方式中,该装置还包括:
[0124]
调整模块605,用于若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化;
[0125]
控制模块604,具体用于:
[0126]
根据优化后的运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0127]
在一可选的实施方式中,运动参数包括:旋转角度,调整模块605,具体用于:
[0128]
若运动轨迹下待控制机械臂的旋转角度达到预设旋转角度,则对旋转角度进行调整,并根据调整后的旋转角度,对运动轨迹进行优化。
[0129]
在一可选的实施方式中,控制模块604,具体用于:
[0130]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的手爪坐标系下
的抓取位姿;
[0131]
根据待控制机械臂的手爪坐标系下的抓取位姿,确定深度相机的相机坐标系下的抓取位姿;
[0132]
根据相机坐标系下的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿。
[0133]
在本实施例的机械臂控制装置中,获取模块,用于获取深度相机采集的待控制机械臂对应待抓取区域的环境图像,识别模块,用于对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,确定模块,用于根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,控制模块,用于根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。以在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现基于人机交互的机械臂抓取控制。
[0134]
图7为本技术实施例提供的电子设备的结构示意图,如图7所示,该设备可以包括:处理器701、存储器702和总线703,存储器702存储有处理器701可执行的机器可读指令,当电子设备运行时,处理器701与存储器702之间通过总线703通信,处理器701执行机器可读指令,以执行以下步骤:
[0135]
获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;
[0136]
对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息;
[0137]
根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品;
[0138]
根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。
[0139]
在一可选的实施方式中,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,包括:
[0140]
根据环境图像中的颜色信息,对环境图像进行实例分割,得到各个物品的实例分割结果;
[0141]
根据环境图像中的深度信息和实例分割结果,确定各个物品的三维点云;
[0142]
根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息。
[0143]
在一可选的实施方式中,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,包括:
[0144]
根据选择操作的位置点和各个物品在环境图像中的包围框信息进行匹配,从各个物品中确定目标物品。
[0145]
在一可选的实施方式中,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作,包括:
[0146]
根据目标物品的包围框信息,获取待控制机械臂的抓取位姿;
[0147]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹;
[0148]
根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0149]
在一可选的实施方式中,根据目标物品的包围框信息,获取待控制机械臂的抓取位姿,包括:
[0150]
根据目标物品的包围框信息,确定世界坐标系下待控制机械臂的抓取位姿;
[0151]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹,包括:
[0152]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿;
[0153]
根据待控制机械臂的末端坐标系下的抓取位姿,生成运动轨迹。
[0154]
在一可选的实施方式中,根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作之前,该方法还包括:
[0155]
若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化;
[0156]
根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作,包括:
[0157]
根据优化后的运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0158]
在一可选的实施方式中,运动参数包括:旋转角度,若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化,包括:
[0159]
若运动轨迹下待控制机械臂的旋转角度达到预设旋转角度,则对旋转角度进行调整,并根据调整后的旋转角度,对运动轨迹进行优化。
[0160]
在一可选的实施方式中,根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿,包括:
[0161]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的手爪坐标系下的抓取位姿;
[0162]
根据待控制机械臂的手爪坐标系下的抓取位姿,确定深度相机的相机坐标系下的抓取位姿;
[0163]
根据相机坐标系下的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿。
[0164]
在本实施例的电子设备中,处理器执行机器可读指令时以执行,在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现基于人机交互的机械臂抓取控制。
[0165]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,处理器执行以下步骤:
[0166]
获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;
[0167]
对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息;
[0168]
根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品;
[0169]
根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。
[0170]
在一可选的实施方式中,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,包括:
[0171]
根据环境图像中的颜色信息,对环境图像进行实例分割,得到各个物品的实例分割结果;
[0172]
根据环境图像中的深度信息和实例分割结果,确定各个物品的三维点云;
[0173]
根据各个物品的三维点云,构建各个物品在环境图像中的包围框信息。
[0174]
在一可选的实施方式中,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,包括:
[0175]
根据选择操作的位置点和各个物品在环境图像中的包围框信息进行匹配,从各个物品中确定目标物品。
[0176]
在一可选的实施方式中,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作,包括:
[0177]
根据目标物品的包围框信息,获取待控制机械臂的抓取位姿;
[0178]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹;
[0179]
根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0180]
在一可选的实施方式中,根据目标物品的包围框信息,获取待控制机械臂的抓取位姿,包括:
[0181]
根据目标物品的包围框信息,确定世界坐标系下待控制机械臂的抓取位姿;
[0182]
根据待控制机械臂的抓取位姿,生成待控制机械臂的运动轨迹,包括:
[0183]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿;
[0184]
根据待控制机械臂的末端坐标系下的抓取位姿,生成运动轨迹。
[0185]
在一可选的实施方式中,根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作之前,该方法还包括:
[0186]
若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化;
[0187]
根据运动轨迹,控制待控制机械臂对目标物品执行抓取操作,包括:
[0188]
根据优化后的运动轨迹,控制待控制机械臂对目标物品执行抓取操作。
[0189]
在一可选的实施方式中,运动参数包括:旋转角度,若运动轨迹下待控制机械臂的运动参数不满足预设运动条件,则对运动参数进行调整,并根据调整后的运动参数,对运动轨迹进行优化,包括:
[0190]
若运动轨迹下待控制机械臂的旋转角度达到预设旋转角度,则对旋转角度进行调整,并根据调整后的旋转角度,对运动轨迹进行优化。
[0191]
在一可选的实施方式中,根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿,包括:
[0192]
根据世界坐标系下待控制机械臂的抓取位姿,确定待控制机械臂的手爪坐标系下的抓取位姿;
[0193]
根据待控制机械臂的手爪坐标系下的抓取位姿,确定深度相机的相机坐标系下的抓取位姿;
[0194]
根据相机坐标系下的抓取位姿,确定待控制机械臂的末端坐标系下的抓取位姿。
[0195]
在本实施例的计算机可读存储介质中,计算机程序被处理器运行时执行,在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现基于人机交互的机械臂抓取控制。
[0196]
在本技术实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说
明,在此不再详细赘述。
[0197]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0198]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0199]
另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0200]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0201]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0202]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种机械臂控制方法,其特征在于,包括:获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;对所述环境图像进行物品识别,得到所述待抓取区域中各个物品在所述环境图像中的包围框信息;根据针对所述环境图像输入的选择操作,以及所述各个物品在所述环境图像中的包围框信息,从所述各个物品中确定目标物品;根据所述目标物品的包围框信息,控制所述待控制机械臂对所述目标物品执行抓取操作。2.根据权利要求1所述的方法,其特征在于,所述对所述环境图像进行物品识别,得到所述待抓取区域中各个物品在所述环境图像中的包围框信息,包括:根据所述环境图像中的颜色信息,对所述环境图像进行实例分割,得到所述各个物品的实例分割结果;根据所述环境图像中的深度信息和所述实例分割结果,确定所述各个物品的三维点云;根据所述各个物品的三维点云,构建所述各个物品在所述环境图像中的包围框信息。3.根据权利要求1所述的方法,其特征在于,所述根据针对所述环境图像输入的选择操作,以及所述各个物品在所述环境图像中的包围框信息,从所述各个物品中确定目标物品,包括:根据所述选择操作的位置点和所述各个物品在所述环境图像中的包围框信息进行匹配,从所述各个物品中确定目标物品。4.根据权利要求1所述的方法,其特征在于,所述根据所述目标物品的包围框信息,控制所述待控制机械臂对所述目标物品执行抓取操作,包括:根据所述目标物品的包围框信息,获取所述待控制机械臂的抓取位姿;根据所述待控制机械臂的抓取位姿,生成所述待控制机械臂的运动轨迹;根据所述运动轨迹,控制所述待控制机械臂对所述目标物品执行抓取操作。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标物品的包围框信息,获取所述待控制机械臂的抓取位姿,包括:根据所述目标物品的包围框信息,确定世界坐标系下所述待控制机械臂的抓取位姿;所述根据所述待控制机械臂的抓取位姿,生成所述待控制机械臂的运动轨迹,包括:根据所述世界坐标系下所述待控制机械臂的抓取位姿,确定所述待控制机械臂的末端坐标系下的抓取位姿;根据所述待控制机械臂的末端坐标系下的抓取位姿,生成所述运动轨迹。6.根据权利要求4所述的方法,其特征在于,所述根据所述运动轨迹,控制所述待控制机械臂对所述目标物品执行抓取操作之前,所述方法还包括:若所述运动轨迹下所述待控制机械臂的运动参数不满足预设运动条件,则对所述运动参数进行调整,并根据调整后的运动参数,对所述运动轨迹进行优化;所述根据所述运动轨迹,控制所述待控制机械臂对所述目标物品执行抓取操作,包括:根据优化后的运动轨迹,控制所述待控制机械臂对所述目标物品执行抓取操作。7.根据权利要求6所述的方法,其特征在于,所述运动参数包括:旋转角度,所述若所述
运动轨迹下所述待控制机械臂的运动参数不满足预设运动条件,则对所述运动参数进行调整,并根据调整后的运动参数,对所述运动轨迹进行优化,包括:若所述运动轨迹下所述待控制机械臂的旋转角度达到预设旋转角度,则对所述旋转角度进行调整,并根据调整后的旋转角度,对所述运动轨迹进行优化。8.根据权利要求5所述的方法,其特征在于,所述根据所述世界坐标系下所述待控制机械臂的抓取位姿,确定所述待控制机械臂的末端坐标系下的抓取位姿,包括:根据所述世界坐标系下所述待控制机械臂的抓取位姿,确定所述待控制机械臂的手爪坐标系下的抓取位姿;根据所述待控制机械臂的手爪坐标系下的抓取位姿,确定所述深度相机的相机坐标系下的抓取位姿;根据所述相机坐标系下的抓取位姿,确定所述待控制机械臂的末端坐标系下的抓取位姿。9.一种机械臂控制装置,其特征在于,包括:获取模块,用于获取深度相机采集的待控制机械臂对应待抓取区域的环境图像;识别模块,用于对所述环境图像进行物品识别,得到所述待抓取区域中各个物品在所述环境图像中的包围框信息;确定模块,用于根据针对所述环境图像输入的选择操作,以及所述各个物品在所述环境图像中的包围框信息,从所述各个物品中确定目标物品;控制模块,用于根据所述目标物品的包围框信息,控制所述待控制机械臂对所述目标物品执行抓取操作。10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1至8任一所述的机械臂控制方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至8任一所述的机械臂控制方法。
技术总结
本申请提供了一种机械臂控制方法、装置、设备和存储介质,其中,该方法包括:获取深度相机采集的待控制机械臂对应待抓取区域的环境图像,对环境图像进行物品识别,得到待抓取区域中各个物品在环境图像中的包围框信息,根据针对环境图像输入的选择操作,以及各个物品在环境图像中的包围框信息,从各个物品中确定目标物品,根据目标物品的包围框信息,控制待控制机械臂对目标物品执行抓取操作。以在抓取策略变动时,通过人机交互界面输入的选择操作和待抓取区域的环境图像中的包围框信息,确定利用人机交互界面选定的目标物品,从而实现基于人机交互的机械臂抓取控制。人机交互的机械臂抓取控制。人机交互的机械臂抓取控制。
技术研发人员:刘潇 王蒙 陈赢峰 范长杰 胡志鹏
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.04.17
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
