基于点云的机器人抓取检测方法研究
2024-03-04李彩红
李 鑫,李彩红,张 正
(长安大学 工程机械学院,陕西 西安 710064)
0 引言
近年来,在工业、农业、军事和家庭服务等领域机器人抓取技术得到了快速发展。人们期望智能机器人能与环境互动,更好地扩展机器人的应用范围。在大多数情况下,人们通过分析物体并观察场景可以快速、准确地抓取物品。然而,对于机器人而言,由于物体和场景的不确定性,实现自主抓取非常具有挑战性。机器人系统主要包括抓取检测、抓取规划和抓取控制等三个模块。抓取检测是从机器人传感器提供的信息或信号中确定抓取姿势的能力。抓取检测直接影响到随后抓取规划和抓取控制的具体实现。
本文提出一种基于点云的抓取位姿检测方法,并搭建仿真平台,验证了该方法的可行性和稳定性。
1 系统构成
如图1所示,本文的机器人系统主要由UR10机械臂、D435i RGBD深度相机、AG-95二指夹持器等组成。
图1 机器人系统
通过MoveIt建立UR10机械臂的抓取规划和控制系统,使用KDL库进行正逆运动学求解和路径插值。通过OMPL运动规划器中的RRT算法进行轨迹规划,以 action 的信息形式发布,Gazebo订阅这些轨迹信息实现对UR10机械臂关节的控制。
机器人抓取系统感知、规划、控制等模块和对应实现的ROS节点如图2所示,各个节点之间通过发布和订阅话题进行通信。Node2订阅Topic1获得场景点云,然后对抓取目标识别定位,将识别结果通过Topic2发布;Node3订阅Topic2,进行抓取位姿检测,生成稳定的抓取位姿,并将结果通过Topic3发布。Node4订阅话题Topic3通过RRT算法进行轨迹规划,通过MoveIt 对Gazebo场景中UR10机械臂进行控制。当到达指定的抓取点时,反馈到位信息,然后控制二指夹持器进行抓取。
图2 节点通信机制
2 抓取位姿检测方法
本文提出的抓取位姿检测方法通过分析抓取场景中的点云信息,生成六自由度抓取位姿,实现机械手的多方位稳定且有效的抓取。
平行夹持器可等效为图3所示结构,几何参数为Θ=(θl,θd,θw,θt),其中,θl为夹爪的深度,θd为夹爪两指的最大开口宽度,θw为夹爪手指与物体接触的夹持宽度,θt为夹爪手指的厚度,两指闭合过程中扫过的立体空间为B(h)。
图3 二指夹持器
图4 末端夹持器坐标系
图5 目标点云采样
本文通过虚拟相机获取Gazebo场景点云,使用均值滤波去除噪声,然后经RANSAC算法分割桌面点云。
2.1 点云法线计算
点云的法线近似于估计表面的一个相切面法线,然后转换成一个最小二乘法平面拟合估计问题。计算点云每个点pi的法线对应于协方差矩阵C最小特征值的特征向量。
(1)
C·Vj=λj·Vj,j∈{0,1,2}
(2)
其中,pc表示最近邻点的坐标,k作为离点pi最近的k个点,Vj为第j个特征向量,λj表示C的第j个特征值。
本文通过对目标点云进行均匀采样确定初始抓取点集合。法线的正方向通过相机视点Pv确定。取满足ni·Vi>0条件的方向为正。
2.2 抓取位姿搜索策略
在抓取位姿搜索之前,需建立夹爪坐标系F(G)和采样点局部坐标系F(p)的位姿关系,如图6所示。F(G)的Xg轴与F(p)的v1轴反向平行,Yg与v2轴反向平行,Zg与v3轴同向平行,且F(G)原点Og与F(p)原点Op在Xg方向上距离为θl。
图6 坐标系位姿关系
为获得更多潜在可行的候选抓取位姿,在每个采样点坐标系F(p)下,沿v1旋转方向进行单维度搜索,v2作为起始方向,每次旋转20°,共旋转6次,在不与场景点云Cscene和待抓取物体点云Ctag发生碰撞的前提下,然后将夹持位姿沿v1负向移动x*,确定抓取位姿后,提取夹持器内部点云C(h)。
抓取位姿搜索策略如算法1所示,在每个采样点处,确定初始抓取位姿F(G),如图7所示。设z、x分别为夹持器坐标原点Og和采样点Op沿v3和v1方向的距离。此时抓取位姿为h(z,x,F(p)),设置单位搜索步长为Δz。抓取位姿搜索需满足以下条件。
图7 候选位姿生成
图8 夹爪内部点云Ccls
图9 PointNet网络结构
条件1:夹持器模型与场景点云Cscene和待抓取物体点云Ctag发生碰撞,即B(h)∩(Cscene,Ctag)=∅;
条件2:夹持器闭合区域Ch需要存在待抓取物体的点云的点,即C(hz,x*,p)∩C≠∅。
算法1输入:目标点云C,采样点局部坐标系F(p),夹持器深度θl 输出:候选抓取位姿集H,夹持器闭合区域点云c1:H=∅,hz,x,p=B(h(z,x,F(p)))2:for0:Δθ:23π do3:Search hz,x,p4:if B(hz,x,p)∩(Cscene,Ctag)=∅5:x∗=maxx∈R such that B(hz,x∗,p)∩(Cscene,Ctag)=∅6:If C(hz,x∗,p)∩C≠∅7:H=H∪h(z,x∗,F(p))8:end if9:end if10:end for
3 位姿质量评估
通过位姿搜索扩充了很多的候选抓取位姿,如果采用传统分析方法对抓取位姿进行度量的话,导致计算复杂且实时性较差。因此,我们通过PointNet搭建抓取质量评估网络,对候选位姿进行优选,输出质量较高的多个位姿。
3.1 质量评估网络
网络的输入为候选位姿对应的夹爪内部点云Ccls,经T-Net(3×3)网络的点云空间变换实现数据对齐,通过两层的MLP模型进行64维特征提取,接着经T-Net(64×64)网络对提取出来的深层特征进行对齐,解决点云变换不变性的问题。然后利用三层感知机(64,128,1024)提取每个点的1024维特征,经过最大池化层变成1×1024的全局特征,这些全局特征输入三层的全连接网络,最后经L-SoftMax分类器输出较高得分的抓取位姿。
3.2 抓取数据集
将YCB数据集提供的真实点云模型作为待抓取物体,选择YCB数据集中的47个物体模型生成350k个样本,样本内包含夹爪闭合区域内的点云Ccls和对应的抓取质量评分Gscore。本文通过力封闭指标和GWS指标得到数据集中的每个抓取位姿的抓取质量评分Gscore,以此来训练抓取质量评估网络。
4 机器人抓取仿真
图10 机械手和相机之间的位姿关系
图11 抓取检测流程
图12 仿真实验平台
5 结语
针对机器人抓取中未知物体的单视角或完整点云,提出了一种抓取位姿检测和抓取位姿评估两步走的位姿检测方法。然后基于ros在Gazebo场景中搭建了仿真实验平台,并进行抓取实验,可以实现场景中任意目标的放置任务,验证了提出的抓取位姿检测方法的可行性。