CN113977609A - 一种基于双臂移动机器人的自动打菜系统及其控制方法 - Google Patents

一种基于双臂移动机器人的自动打菜系统及其控制方法 Download PDF

Info

Publication number
CN113977609A
CN113977609A CN202111427478.9A CN202111427478A CN113977609A CN 113977609 A CN113977609 A CN 113977609A CN 202111427478 A CN202111427478 A CN 202111427478A CN 113977609 A CN113977609 A CN 113977609A
Authority
CN
China
Prior art keywords
dish
point
mechanical arm
arm
bowl
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.)
Granted
Application number
CN202111427478.9A
Other languages
English (en)
Other versions
CN113977609B (zh
Inventor
高明裕
周海平
杨宇翔
董哲康
林辉品
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202111427478.9A priority Critical patent/CN113977609B/zh
Publication of CN113977609A publication Critical patent/CN113977609A/zh
Application granted granted Critical
Publication of CN113977609B publication Critical patent/CN113977609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本发明涉及一种基于双臂移动机器人的自动打菜系统。本发明包括:订单处理模块、图像数据采集模块、打菜点预测模块、双机械臂抓取模块以及移动模块。本方法实现了双臂移动机器人自动识别菜品种类并定位、打菜点位姿预测并挖取、双臂协同倒菜、自动出餐等功能。本发明采用深度相机采集图像数据,通过投票特征算法实现打菜点的预测,采用主从模式控制双臂之间的协调操作。本发明具有高灵活性、高精度、操作简单、环境适应性强等优点。大大减小了餐厅、食堂等工作人员的工作量,有助于餐厅工作效率的提高,具有广泛的市场需求。

Description

一种基于双臂移动机器人的自动打菜系统及其控制方法
技术领域
本发明属于机器人技术领域,具体涉及一种基于双臂移动机器人的自动打菜系统。
背景技术
在我国众多快餐店、学校、政府机关、工厂等单位的餐厅和食堂的点菜、打菜和支付结算工作都由人工完成,但这会消耗巨大的人力资源和成本,并具有效率低、人工成本高等缺点。随着机器视觉、深度学习、人工智能等技术的发展,智能服务机器人逐渐能够自动完成一些简单场景下的工作,可以将人们从重复性高、枯燥的工作中解放出来,其中传感技术、视觉处理算法、运动规划、双臂协同技术等是研发智能服务机器人系统的关键技术。针对餐厅内的打菜、支付结算工作,研发一种基于智能服务机器人的自动打菜系统对餐厅具有重要的实际意义。
发明内容
鉴于上述背景中存在的问题,本发明的目的在于提供一种基于双臂移动机器人的自动打菜系统,该系统通过图像采集、yolov4网络识别定位、投票特征算法预测打菜点和机械臂轨迹规划完成对菜品的识别、定位和抓取功能。集成了神经网络、自动控制、双臂控制和轨迹规划等多种技术。能大幅度减少餐厅内的人工成本,有效提高餐厅的运行效率。
一种基于双臂移动机器人的自动打菜系统,该系统包括:订单处理模块、图像数据采集模块、打菜点预测模块、双机械臂抓取模块和移动模块;
订单处理模块,用于对用户订单进行数据处理并发送至打菜点预测模块;
图像数据采集模块,包括:Realsense D435深度相机;Realsense D435深度相机采集RGB彩色图像数据和深度图像数据;RGB彩色图像用于Yolov4网络实现菜品的识别和定位,深度图像用于菜品的打菜点预测;深度相机安装于主机械臂末端;
打菜点预测模块,利用投票特征算法进行估计;
双机械臂抓取模块,包括:主机械臂UR10、打菜勺、六轴力矩传感器、辅机械臂UR3和夹爪AG95,主机械臂和打菜勺负责菜品的挖取任务,六轴力矩传感器用于测量打取菜品的质量,辅机械臂和夹爪负责餐具的抓取和搬运任务;双机械臂抓取模块安装在移动模块上;
移动模块,包括:移动小车、超声波传感器、工控机、落碗装置和传送带;超声波传感器用于小车移动过程中的避障,传送带用于输送菜品至出餐口,工控机用于接收打菜系统的指令并控制移动小车、落碗装置、传送带的运动。
一种基于双臂移动机器人的自动打菜系统的控制方法,包括以下步骤:
步骤一:通过移动模块,使用图像采集模块对当前窗口所有菜品进行扫描,利用训练好的Yolov4神经网络对彩色图像进行识别,生成当前窗口的菜单并记录下每个菜品在移动小车基坐标系下的位置信息,同时把菜单同步到客户端上。
步骤二:自动打菜系统在开始处理订单信息时,客户端对用户进行接受反馈;系统通过MQTT通信协议控制移动小车运动至目标菜品附近;同时系统为辅机械臂计算生成轨迹信息并控制落碗装置共同执行餐具的抓取任务。
计算辅机械臂的轨迹信息过程为:
Figure BDA0003379087460000021
表示辅机械臂起始状态下的六个关节值,
Figure BDA0003379087460000022
表示辅机械臂目标状态下的六个关节值,为了防止辅机械臂在运动过程中与落碗装置发生碰撞,设置若干个过渡状态
Figure BDA0003379087460000023
利用三次样条插值算法进行计算,对辅机械臂每两个状态之间用三次方程Si(x)=ai+bix+cix2+dix3进行拟合,同时需要保证运动轨迹连续平滑,即Si(x),S′i(x),S″i(x)连续;对于只有一个过渡点时,需要对两个区间进行三次方程拟合,共有八个未知数a1,b1,c1,d1,a2,b2,c2,d2,以自然边界为约束,其中开始、结束速度均为0,并结合一阶、二阶导数连续的要求,通过矩阵法进行求解;
Figure BDA0003379087460000031
其中t1,t2分别为两个状态之间运动的时间,对于有多个过渡点的情况,重复使用矩阵法进行求解。
步骤三:到达目标位置后,对图像模块采集到的点云数据进行预处理,利用统计滤波器剔除点云中的离群点,利用体素滤波器进行下采样处理,把处理后的点云数据通过ROS消息机制发送到打菜点预测模块。
步骤四:打菜点预测模块通过投票特征算法预测得到合适的打菜点,并转换为移动小车基坐标系下的位姿信息,通过MoveIt中的OMPL运动规划算法生成机械臂的打菜轨迹并发送给双机械臂抓取模块。
其中打菜点预测模块通过投票特征算法预测得到打菜点,过程为:
子步骤四一:对点云数据构建KDTree实现点云邻域的快速搜索,设置点云邻域数k,得到每个点的邻域集合Γk(pi),并计算每个邻域深度特征Fdepth、曲率特征Fcurve、密度特征Fdensity和位置特征Fpos;定义公式
Figure BDA0003379087460000041
其中,式中Xbowl,Ybowl,Dbowl分别是菜盆的长宽和深度,di为点pi距离盆底的距离;λmin为点pi在邻域内的法向量近似值;xi,yi为点pi在2D平面上的坐标,ε为x,y方向上的权重分配;k为邻域内的点数,S为邻域在2D平面上的面积。
子步骤二,采用主成分分析法对每个点的法向量进行估计,对于每个点pi构建协方差矩阵C3×3
Figure BDA0003379087460000042
其中p为邻域的质心,协方差矩阵表示了邻域Γk(pi)中内点和质心p间的距离特征,再根据
Figure BDA0003379087460000043
求解到协方差矩阵的特征值λj0≤λ1≤λ2)和特征向量
Figure BDA0003379087460000044
,取最小特征值λmin对应的特征向量
Figure BDA0003379087460000045
作为pi的法向量,而λmin表征邻域内点在法线方向的变化程度,若λmin=0,代表点pi邻域是一个平面,λmin值越大代表曲面越尖锐。
子步骤三,完成对邻域特征的计算后,从中投票选出打菜开始点和打菜结束点;把邻域内的点作为投票人,对每个点的特征进行投票,把打菜开始点和结束点的投票分数定义为:
Figure BDA0003379087460000051
其中
Figure BDA0003379087460000052
是设定的阈值,在对打菜开始点投票时将ε设置为0.6,对结束点投票时设置为0.4;最终选择分数最高的点作为打菜开始点和结束点。
把打菜点位姿转换到移动小车基坐标系下的具体过程为:
根据手眼标定得到的手眼矩阵
Figure BDA0003379087460000053
,把
Figure BDA0003379087460000054
变换到主机械臂末端坐标系下的位姿
Figure BDA0003379087460000055
,根据主机械臂与移动小车基坐标系之间的转换关系,得到相对于小车基坐标系的姿态
Figure BDA0003379087460000056
;得到打菜开始点和结束点的位姿信息后,通过ROS中MoveIt运动库的OMPL算法、逆解算法得到关节空间下主机械臂的运动信息,如果规划失败,则重新预测新的打菜点,直到规划成功。
步骤五:主机械臂完成菜品挖取任务和辅机械臂完成餐具抓取任务时,将菜品完整地倒入餐具中;采用主从模式的双臂控制方法,根据双臂末端之间的约束关系,通过双臂协同规划算法计算得到双臂末端的轨迹信息。
双臂轨迹规划过程如下:
设在倒菜任务开始前,主机械臂和辅机械臂的末端在移动小车基坐标系里的空间位置分别为Pur3=(xur3,yur3,zur3),Pur10=(xur10,yur10,zur10),末端姿态为
Figure BDA0003379087460000057
,打菜勺半径为rspoon,最大深度为h,并以圆心为原点建立坐标系Ospoon,碗的半径为rbowl,以碗口中心为原点建立坐标系Obowl;在倒菜过程中,设定主机械臂末端的空间位置和辅机械臂末端的姿态是固定不变的,辅机械臂的末端位置随着主机械臂末端的姿态改变而不断变化;假设主机械臂末端绕坐标系Ospoon的y轴顺时针方向旋转,旋转角度为α,辅机械臂末端沿着坐标系Obowl的y轴正方向移动,移动距离为dy;倒菜开始前,坐标系Ospoon原点在坐标系Obowl中处于(0,rbowl,h+Δh),其中Δh是勺子与碗在z轴方向上的安全距离;倒菜结束时,坐标系Ospoon原点在坐标系Obowl中处于(0,0,h+Δh),由此得到双臂末端的约束方程为:
Figure BDA0003379087460000061
其中Δdy,Δα分别表示为辅机械臂末端当前移动距离和主机械臂末端当前旋转角度;进而得到整个倒菜过程中双臂末端在笛卡尔空间内的位姿信息,通过逆解算法得到在关节空间内的轨迹信息。
步骤六:辅机械臂将盛有菜品的餐具放置在传送带上,传送带运动至出餐窗口,客户端通知用户订单已完成,前往窗口进行取餐。
本发明的有益效果:本发明利用多传感器的信息采集能力,通过神经网络技术对菜品进行识别定位,使用投票特征算法对打菜点位姿进行估计,最后通过双臂协调规划完成一系列动作;系统采用模块化设计,分工明确,层次结构清晰,可快速预测得到不同菜品的打菜点位姿;具有实时检测菜品种类、自主选择打菜动作、动态规划双臂轨迹等优点,可以代替餐厅员工快速、稳定地完成打菜任务,具有一定的实践价值。
附图说明:
图1:为本发明的整体硬件图;
图2:为本发明的微信小程序界面图。
具体实施方式:
实施例1
一种基于双臂移动机器人的自动打菜系统,整体硬件图如图一所示,该系统分为五部分:订单处理模块、图像数据采集模块、打菜点预测模块、双机械臂抓取模块、移动模块;本实施例中订单处理模块主要在微信小程序上完成,即微信小程序为本实施例中的客户端,数据后台把用户订单发送至打菜系统进行处理;图像数据采集模块由RealsenseD435深度相机组成,主要采集RGB彩色图像和深度图像两种数据;RGB彩色图像用于Yolov4网络实现菜品的识别和定位,深度图像用于菜品的打菜点预测;深度相机安装于UR10末端,采用“眼在手上”的标定方式;打菜点预测模块利用投票投票特征算法进行估计;双机械臂抓取模块由UR10、打菜勺和六轴力矩传感器、UR3和AG95夹爪组成,UR10和打菜勺负责菜品的挖取任务,六轴力矩传感器用于测量打取菜品的质量;UR3和AG95负责餐具的抓取和搬运任务;移动模块由移动小车、超声波传感器、工控机、落碗装置、传送带组成,超声波传感器用于小车移动过程中的避障,传送带用于输送菜品至出餐口,工控机用于接收打菜系统的指令并控制移动小车、落碗装置、传送带的运动。
一种基于双臂移动机器人的自动打菜方法,该方法具体如下:
步骤一:移动机器人通过图像采集模块对当前窗口所有菜品进行扫描,利用训练好的Yolov4神经网络对彩色图像进行识别,生成当前窗口的菜单并记录下每个菜品在移动小车基坐标系下的位置信息,同时把菜单同步到如图二所示的微信小程序上。
步骤二:自动打菜系统在开始处理订单信息时,微信小程序通知用户您的订单正在处理中;系统通过MQTT通信协议控制移动小车运动至目标菜品附近;同时系统为UR3计算生成轨迹信息并控制落碗装置共同执行餐具的抓取任务;
计算UR3的轨迹信息过程为:
Figure BDA0003379087460000071
表示UR3起始状态下的六个关节值,
Figure BDA0003379087460000072
表示UR3目标状态下的六个关节值,为了防止UR3在运动过程中与落碗装置发生碰撞,设置若干个过渡状态
Figure BDA0003379087460000073
,接着利用三次样条插值算法进行计算,对UR3每两个状态之间用三次方程Si(x)=ai+bix+cix2+dix3进行拟合,同时需要保证运动轨迹连续平滑,即Si(x),S′i(x),S″i(x)连续;对于只有一个过渡点时,需要对两个区间进行三次方程拟合,共有八个未知数a1,b1,c1,d1,a2,b2,c2,d2,以自然边界为约束(开始、结束速度均为0),并结合一阶、二阶导数连续的要求,通过矩阵法进行求解;
Figure BDA0003379087460000074
其中t1,t2分别为两个状态之间运动的时间,对于有多个过渡点的情况,重复使用矩阵法进行求解即可。
步骤三:到达目标位置后,对图像模块采集到的点云数据进行预处理,利用统计滤波器剔除点云中的离群点和体素滤波器进行下采样处理,把处理后的点云数据通过ROS消息机制发送到菜品打菜点预测模块;
步骤四:打菜点预测模块通过投票特征算法预测得到合适的打菜点,并转换为移动小车基坐标系下的位姿信息,通过MoveIt中的OMPL运动规划算法生成机械臂的打菜轨迹并发送给双臂抓取控制模块;
其中打菜点预测模块通过投票特征算法预测得到打菜点,具体为:
首先对点云数据构建KDTree实现点云邻域的快速搜索,设置点云邻域数k=40,得到每个点的邻域集合Γk(pi),并计算每个邻域深度特征Fdepth、曲率特征Fcurve、密度特征Fdensity和位置特征Fpos;定义公式
Figure BDA0003379087460000081
式中Xbowl=0.31m,Ybowl=0.46m,Dbowl=0.068m分别是菜盆的长宽和深度,di为点pi距离盆底的距离;λmin为点pi在邻域内的法向量近似值;xi,yi为点pi在2D平面上的坐标,ε为x,y方向上的权重分配;k为邻域内的点数,S为邻域在2D平面上的面积;
其中采用主成分分析法对每个点的法向量进行估计,对于每个点pi构建协方差矩阵C3×3
Figure BDA0003379087460000082
其中
Figure BDA0003379087460000091
为邻域的质心,协方差矩阵表示了邻域Γk(pi)中内点和质心
Figure BDA0003379087460000092
间的距离特征,再根据
Figure BDA0003379087460000093
求解到协方差矩阵的特征值λj0≤λ1≤λ2)和特征向量
Figure BDA0003379087460000094
,取最小特征值λmin对应的特征向量
Figure BDA0003379087460000095
作为pi的法向量,而λmin表征邻域内点在法线方向的变化程度,若λmin=0,代表点pi邻域是一个平面,λmin值越大代表曲面越尖锐。
完成对邻域特征的计算后,需要从中投票选出打菜开始点和打菜结束点;把邻域内的点作为投票人,对每个点的特征进行投票,把打菜开始点和结束点的投票分数定义为:
Figure BDA0003379087460000096
其中
Figure BDA0003379087460000097
是设定的阈值,在对打菜开始点投票时将ε设置为0.6,对结束点投票时设置为0.4;最终选择分数最高的点作为打菜开始点和结束点。
把打菜点位姿转换到移动小车基坐标系下的具体过程为:
根据手眼标定得到的手眼矩阵
Figure BDA0003379087460000098
,把
Figure BDA0003379087460000099
变换到UR10末端坐标系下的位姿
Figure BDA00033790874600000910
根据UR10与移动小车基坐标系之间的转换关系,得到相对于小车基坐标系的姿态
Figure BDA00033790874600000911
;得到打菜开始点和结束点的位姿信息后,通过ROS中MoveIt运动库的OMPL算法、逆解算法得到关节空间下UR10的运动信息,如果规划失败,则重新预测新的打菜点,直到规划成功。
步骤五:UR10完成菜品挖取任务和UR3完成餐具抓取任务时,进一步将菜品完整地倒入餐具中;采用主从模式的双臂控制方法(UR10作为主臂,UR3为从臂),根据双臂末端之间的约束关系,通过双臂协同规划算法计算得到双臂末端的轨迹信息。
双臂轨迹规划过程具体如下:
假设在倒菜任务开始前,UR10和UR3的末端在移动小车基坐标系里的空间位置分别为Pur3=(xur3,yur3,zur3),Pur10=(xur10,yur10,zur10),末端姿态为
Figure BDA0003379087460000101
,打菜勺半径为rspoon=0.055m,最大深度为h=0.04m,并以圆心为原点建立坐标系Ospoon,碗的半径为rbowl=0.05m,以碗口中心为原点建立坐标系Obowl;在倒菜过程中,设定UR10末端的空间位置和UR3末端的姿态是固定不变的,UR3的末端位置随着UR10末端的姿态改变而不断变化;假设UR10末端绕坐标系Ospoon的y轴顺时针方向旋转,旋转角度为α=100°,UR3末端沿着坐标系Obowl的y轴正方向移动,移动距离为dy=0.05m;倒菜开始前,坐标系Ospoon原点在坐标系Obowl中处于(0,rbowl,h+Δh),其中Δh=0.02m是勺子与碗在z轴方向上的安全距离;倒菜结束时,坐标系Ospoon原点在坐标系Obowl中处于(0,0,h+Δh),由此得到双臂末端的约束方程为:
Figure BDA0003379087460000102
其中Δdy,Δα分别表示为UR3末端当前移动距离和UR10末端当前旋转角度;进而得到整个倒菜过程中双臂末端在笛卡尔空间内的位姿信息,通过逆解算法得到在关节空间内的轨迹信息。
步骤六:UR3将盛有菜品的餐具放置在传送带上,传送带运动至出餐窗口,微信小程序通知用户订单已完成,前往窗口进行取餐。

Claims (2)

1.一种基于双臂移动机器人的自动打菜系统,其特征在于,该系统包括:订单处理模块、图像数据采集模块、打菜点预测模块、双机械臂抓取模块和移动模块;
订单处理模块,用于对用户订单进行数据处理并发送至打菜点预测模块;
图像数据采集模块,包括:Realsense D435深度相机;Realsense D435深度相机采集RGB彩色图像数据和深度图像数据;RGB彩色图像用于Yolov4网络实现菜品的识别和定位,深度图像用于菜品的打菜点预测;深度相机安装于主机械臂末端;
打菜点预测模块,利用投票特征算法进行估计;
双机械臂抓取模块,包括:主机械臂、打菜勺、六轴力矩传感器、辅机械臂和夹爪,主机械臂和打菜勺负责菜品的挖取任务,六轴力矩传感器用于测量打取菜品的质量,辅机械臂和夹爪负责餐具的抓取和搬运任务;双机械臂抓取模块安装在移动模块上;
移动模块,包括:移动小车、超声波传感器、工控机、落碗装置和传送带;超声波传感器用于小车移动过程中的避障,传送带用于输送菜品至出餐口,工控机用于接收打菜系统的指令并控制移动小车、落碗装置、传送带的运动。
2.一种基于双臂移动机器人的自动打菜系统的控制方法,适用于要求1所述的一种基于双臂移动机器人的自动打菜系统,其特征在于,包括以下步骤:
步骤一:通过移动模块,使用图像采集模块对当前窗口所有菜品进行扫描,利用训练好的Yolov4神经网络对彩色图像进行识别,生成当前窗口的菜单并记录下每个菜品在移动小车基坐标系下的位置信息,同时把菜单同步到客户端上;
步骤二:自动打菜系统在开始处理订单信息时,客户端对用户进行接受反馈;系统通过MQTT通信协议控制移动小车运动至目标菜品附近;同时系统为辅机械臂计算生成轨迹信息并控制落碗装置共同执行餐具的抓取任务;
计算辅机械臂的轨迹信息过程为:
Figure FDA0003379087450000011
表示辅机械臂起始状态下的六个关节值,
Figure FDA0003379087450000012
表示辅机械臂目标状态下的六个关节值,为了防止辅机械臂在运动过程中与落碗装置发生碰撞,设置若干个过渡状态
Figure FDA0003379087450000013
利用三次样条插值算法进行计算,对辅机械臂每两个状态之间用三次方程Si(x)=ai+bix+cix2+dix3进行拟合,同时需要保证运动轨迹连续平滑,即Si(x),S′i(x),S″i(x)连续;对于只有一个过渡点时,需要对两个区间进行三次方程拟合,共有八个未知数a1,b1,c1,d1,a2,b2,c2,d2,以自然边界为约束,其中开始、结束速度均为0,并结合一阶、二阶导数连续的要求,通过矩阵法进行求解;
Figure FDA0003379087450000021
其中t1,t2分别为两个状态之间运动的时间,对于有多个过渡点的情况,重复使用矩阵法进行求解;
步骤三:到达目标位置后,对图像模块采集到的点云数据进行预处理,利用统计滤波器剔除点云中的离群点,利用体素滤波器进行下采样处理,把处理后的点云数据通过ROS消息机制发送到打菜点预测模块;
步骤四:打菜点预测模块通过投票特征算法预测得到合适的打菜点,并转换为移动小车基坐标系下的位姿信息,通过MoveIt中的OMPL运动规划算法生成机械臂的打菜轨迹并发送给双机械臂抓取模块;
其中打菜点预测模块通过投票特征算法预测得到打菜点,过程为:
子步骤四一:对点云数据构建KDTree实现点云邻域的快速搜索,设置点云邻域数k,得到每个点的邻域集合Γk(pi),并计算每个邻域深度特征Fdepth、曲率特征Fcurve、密度特征Fdensity和位置特征Fpos;定义公式
Figure FDA0003379087450000031
其中,式中Xbowl,Ybowl,Dbowl分别是菜盆的长宽和深度,di为点pi距离盆底的距离;λmin为点pi在邻域内的法向量近似值;xi,yi为点pi在2D平面上的坐标,ε为x,y方向上的权重分配;k为邻域内的点数,S为邻域在2D平面上的面积;
子步骤二,采用主成分分析法对每个点的法向量进行估计,对于每个点pi构建协方差矩阵C3×3
Figure FDA0003379087450000032
其中
Figure FDA0003379087450000033
为邻域的质心,协方差矩阵表示了邻域Γk(pi)中内点和质心
Figure FDA0003379087450000034
间的距离特征,再根据
Figure FDA0003379087450000035
求解到协方差矩阵的特征值λj0≤λ1≤λ2)和特征向量
Figure FDA0003379087450000036
取最小特征值λmin对应的特征向量
Figure FDA0003379087450000037
作为pi的法向量,而λmin表征邻域内点在法线方向的变化程度,若λmin=0,代表点pi邻域是一个平面,λmin值越大代表曲面越尖锐;
子步骤三,完成对邻域特征的计算后,从中投票选出打菜开始点和打菜结束点;把邻域内的点作为投票人,对每个点的特征进行投票,把打菜开始点和结束点的投票分数定义为:
Figure FDA0003379087450000041
其中
Figure FDA0003379087450000042
是设定的阈值,在对打菜开始点投票时将ε设置为0.6,对结束点投票时设置为0.4;最终选择分数最高的点作为打菜开始点和结束点;
把打菜点位姿转换到移动小车基坐标系下的具体过程为:
根据手眼标定得到的手眼矩阵
Figure FDA0003379087450000043
Figure FDA0003379087450000044
变换到主机械臂末端坐标系下的位姿
Figure FDA0003379087450000045
根据主机械臂与移动小车基坐标系之间的转换关系,得到相对于小车基坐标系的姿态
Figure FDA0003379087450000046
得到打菜开始点和结束点的位姿信息后,通过ROS中MoveIt运动库的OMPL算法、逆解算法得到关节空间下主机械臂的运动信息,如果规划失败,则重新预测新的打菜点,直到规划成功;
步骤五:主机械臂完成菜品挖取任务和辅机械臂完成餐具抓取任务时,将菜品完整地倒入餐具中;采用主从模式的双臂控制方法,根据双臂末端之间的约束关系,通过双臂协同规划算法计算得到双臂末端的轨迹信息;
双臂轨迹规划过程如下:
设在倒菜任务开始前,主机械臂和辅机械臂的末端在移动小车基坐标系里的空间位置分别为Pur3=(xur3,yur3,zur3),Pur10=(xur10,yur10,zur10),末端姿态为
Figure FDA0003379087450000047
打菜勺半径为rspoon,最大深度为h,并以圆心为原点建立坐标系Ospoon,碗的半径为rbowl,以碗口中心为原点建立坐标系Obowl;在倒菜过程中,设定主机械臂末端的空间位置和辅机械臂末端的姿态是固定不变的,辅机械臂的末端位置随着主机械臂末端的姿态改变而不断变化;假设主机械臂末端绕坐标系Ospoon的y轴顺时针方向旋转,旋转角度为α,辅机械臂末端沿着坐标系Obowl的y轴正方向移动,移动距离为dy;倒菜开始前,坐标系Ospoon原点在坐标系Obowl中处于(0,rbowl,h+Δh),其中Δh是勺子与碗在z轴方向上的安全距离;倒菜结束时,坐标系Ospoon原点在坐标系Obowl中处于(0,0,h+Δh),由此得到双臂末端的约束方程为:
Figure FDA0003379087450000051
其中Δdy,Δα分别表示为辅机械臂末端当前移动距离和主机械臂末端当前旋转角度;进而得到整个倒菜过程中双臂末端在笛卡尔空间内的位姿信息,通过逆解算法得到在关节空间内的轨迹信息;
步骤六:辅机械臂将盛有菜品的餐具放置在传送带上,传送带运动至出餐窗口,客户端通知用户订单已完成,前往窗口进行取餐。
CN202111427478.9A 2021-11-29 2021-11-29 一种基于双臂移动机器人的自动打菜系统及其控制方法 Active CN113977609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111427478.9A CN113977609B (zh) 2021-11-29 2021-11-29 一种基于双臂移动机器人的自动打菜系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111427478.9A CN113977609B (zh) 2021-11-29 2021-11-29 一种基于双臂移动机器人的自动打菜系统及其控制方法

Publications (2)

Publication Number Publication Date
CN113977609A true CN113977609A (zh) 2022-01-28
CN113977609B CN113977609B (zh) 2022-12-23

Family

ID=79732280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111427478.9A Active CN113977609B (zh) 2021-11-29 2021-11-29 一种基于双臂移动机器人的自动打菜系统及其控制方法

Country Status (1)

Country Link
CN (1) CN113977609B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115446851A (zh) * 2022-11-11 2022-12-09 北京炎凌嘉业机电设备有限公司 双臂机器人控制系统及用于自动喷涂的双臂机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020118306A2 (en) * 2018-12-07 2020-06-11 Postmates Inc. Delivery robot
CN112171689A (zh) * 2020-09-27 2021-01-05 杭州电子科技大学 一种面向餐厅的机器人移动平台
CN112560918A (zh) * 2020-12-07 2021-03-26 杭州电子科技大学 一种基于改进YOLO v3的菜品识别方法
CN112720410A (zh) * 2020-12-25 2021-04-30 浙江理工大学 双臂小型果蔬采收机器人
CN113510718A (zh) * 2021-05-11 2021-10-19 江苏师范大学 一种基于机器视觉的智能售餐机器人及其使用方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020118306A2 (en) * 2018-12-07 2020-06-11 Postmates Inc. Delivery robot
CN112171689A (zh) * 2020-09-27 2021-01-05 杭州电子科技大学 一种面向餐厅的机器人移动平台
CN112560918A (zh) * 2020-12-07 2021-03-26 杭州电子科技大学 一种基于改进YOLO v3的菜品识别方法
CN112720410A (zh) * 2020-12-25 2021-04-30 浙江理工大学 双臂小型果蔬采收机器人
CN113510718A (zh) * 2021-05-11 2021-10-19 江苏师范大学 一种基于机器视觉的智能售餐机器人及其使用方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115446851A (zh) * 2022-11-11 2022-12-09 北京炎凌嘉业机电设备有限公司 双臂机器人控制系统及用于自动喷涂的双臂机器人

Also Published As

Publication number Publication date
CN113977609B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
CN110216649B (zh) 机器人作业系统、以及机器人作业系统的控制方法
Allen et al. Automated tracking and grasping of a moving object with a robotic hand-eye system
Fod et al. A laser-based people tracker
EP3284563A2 (en) Picking system
US20170028562A1 (en) Machine learning device, robot system, and machine learning method for learning workpiece picking operation
JP5100525B2 (ja) 物品管理システム及び物品管理方法及び物品管理プログラム
CN110116407A (zh) 柔性机器人位姿测量方法及装置
Allen et al. Trajectory filtering and prediction for automated tracking and grasping of a moving object
CN113977609B (zh) 一种基于双臂移动机器人的自动打菜系统及其控制方法
US11642780B2 (en) Monitoring of surface touch points for precision cleaning
CN110744544B (zh) 服务机器人视觉抓取方法及服务机器人
CN114061486A (zh) 面向飞机大型蒙皮曲面的自动化测量装置及其测量方法
Yang et al. Rigid-soft interactive learning for robust grasping
Nagata et al. Picking up an indicated object in a complex environment
Aleotti et al. Perception and grasping of object parts from active robot exploration
Grimm et al. Vision-based robotic pushing and grasping for stone sample collection under computing resource constraints
KR101391525B1 (ko) 이동 로봇의 지도 형성 방법 및 위치 인식 방법
Nadon et al. Automatic selection of grasping points for shape control of non-rigid objects
Harada et al. Object placement planner for robotic pick and place tasks
Allen et al. Hand-eye coordination for robotic tracking and grasping
Taylor et al. Grasping unknown objects with a humanoid robot
CN114167866A (zh) 一种智能物流机器人及控制方法
Kubota et al. Topological environment reconstruction in informationally structured space for pocket robot partners
Watanabe et al. Cooking behavior with handling general cooking tools based on a system integration for a life-sized humanoid robot
CN114310872B (zh) 一种基于dgg点云分割网络的机械臂自动打菜方法

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
GR01 Patent grant
GR01 Patent grant