【技术实现步骤摘要】
一种基于DGG点云分割网络的机械臂自动打菜方法
[0001]本专利技术属于机器视觉领域,具体涉及一种基于DGG点云分割网络的机械臂自动打菜方法。
技术介绍
[0002]针对在餐厅、食堂内使用的自动打菜机器人,其使用的打菜算法一般通过分析菜品表面深度信息特征进行计算,然而在多种多样的菜品面前,传统的算法难以得到理想的结果,缺乏一定的灵活性和通用性,而且在噪声面前也缺少一定的稳定性;随着深度学习在3D检测方面的应用不断深入,对3D数据的检测和分割准确率有着比较满意的结果,且能应对各种复杂多变的数据,因此采用深度学习的方法对菜品数据进行处理能够大幅度增加打菜的成功率。
技术实现思路
[0003]鉴于上述的问题,本专利技术通过深度相机实时采集菜品表面的点云数据,同时提出一种基于图卷积的点云分割网络DGG,对菜品点云数据进行处理并预测得到打菜点的位置信息,再根据打菜点之间菜品量的分布情况选择对应的打菜动作,根据3D空间旋转原理计算得到各个打菜点的姿态信息,再通过三次B样条插值和Squad插值算法对机械臂末端轨迹进行规划 ...
【技术保护点】
【技术特征摘要】
1.一种基于DGG点云分割网络的机械臂自动打菜方法,其特征在于:该方法包括以下步骤:步骤一:搭建DGG点云分割网络;构建局部点云的特征提取模块,定义一个有向图G=(v,ε)来表征局部点云的几何结构,其中v,ε分别表示顶点和边;从输入的点云中随机选取一个点作为图G的中心,记为p
i
,通过K近邻算法从R3×3空间得到k个最近邻点{p
i1
,p
i2
,...,p
ik
},把局部点云的位置特征定义为:P
i,m
={p
i1,m
‑
p
i,m
,p
i2,m
‑
p
i,m
,...,p
ik,m
‑
p
i
}其中p
ik,m
代表邻域里第k个点的第m维特征;把局部点云的密集程度定义为:其中k代表邻域点数,F
m
(j)代表点p
i
的第m维特征,并把ρ
i,m
作为位置特征P
i,m
的权重函数;把局部点云的形状特征定义为:其中代表两个向量之间的内积计算,为图G内的边;把P
i,m
和S
i,m
分别经过两层的MLP结构实现进一步的特征提取,通过最大池化层解决点云无序性问题,进行特征聚合后作为局部点云的整体特征;把局部点云的整体特征输入到具有残差连接的三层MLP网络中,提升特征维度至1024;为了能够同时训练多种菜品数据,添加一维的菜品种类向量,经过最大池化函数后通过普通的三层MLP,最后一层的卷积输出通道数num为分割标签的总数;DGG网络中所有卷积操作的步长为1,激活函数使用Leaky Relu,同时为避免训练过程中出现过拟合,在输出层前添加Dropout,其失活率设置为0.5;步骤二:利用深度相机采集菜品表面的点云数据,其中相机固定在机械臂末端;利用Semantic
‑
Segmentation
‑
Editor工具对数据进行标记,分为三个标签:入勺区域、出勺区域和无关区域;分为训练集和测试集输入到步骤一中构建的DGG点云分割模型中,设置训练参数:迭代次数300,批次大小32,初始学习率0.001,使用SGD优化器对网络模型权重参数进行调整;保存损失值最低时的网络权重参数;步骤三:将步骤一搭建的分割模型移植到ROS开发平台上,并加载步骤二中保存的网络权重参数,对ROS中实时采集的菜品点云数据进行目标点的预测,同时对网络的预测结果进行筛选;对预测结果区域点数较少或存在区域分离的情况进行剔除;通过ROS消息机制把预测结果发布出去;步骤四:机械臂订阅步骤三中发布的话题得到预测结果,结合菜品表面深度信息计算得到末端执行器挖取的最大深度,得到机械臂末端执行器在笛卡尔空间下的姿态信息;计算过程如下:a)设机械臂末端执行器为市场上通用的打菜勺,规定勺口中心为末端坐标系的原点,垂直勺面向上为Z轴方向,指向勺柄方向作为Y轴,X轴方向可根据右手定则确定;
b)将网络的预测区域的中心点作为入勺点(x
s
,y
s
,z
s
)和出勺点(x
e
,y
e
,z
e
),如果入勺点或出勺点距离菜盆边界的距离...
【专利技术属性】
技术研发人员:高明裕,周海平,董哲康,杨宇翔,曾毓,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。