(广州南方学院 广东 广州 510900)
摘要:针对目前智能化数字化创新迅速发展的影响,人们对取餐过程中实现智能化的便捷问题,希望设计出基于超宽带定位 技术的无接触配送机器人,同时结合 UWB 室内定位技术与ROS机器人,实现对餐厅就餐过程中的取餐和送餐。本文主要描述了机器人的整体设计方案,并且简单的描述所利用的 UWB 的定位算法。
关键词:UWB;ROS机器人;餐厅服务
近年来,在数字经济不断推进的大背景下 , 人工智能发展迅速,智能机器人作为人工智能的一个综合性载体已经开始渗透进日常生活的方方面面,为人类生活提供便捷。新时代下为落实“十四五”规划的全面推进智能化进度,人们对取餐过程中的便捷智能化需求日益增大,特别是“无接触配送”有望得到大规模推广,智能移动服务机器人在这过程中扮演了重要角色。本项目致力于研究一款基于超宽带定位技术的无接触式配送服务智慧机器人从而进一步地在多个有需要的产业中实现智能“无接触配送”服务。
1 系统概述
本项目机器人系统整体由三部分组成:UWB定位系统、上位机系统和下位机系统。
UWB定位系统:采用了四个基站和一个标签的这套方案。在该方案的设计当中,我们把A基站负责将定位信息传给上位机系统,标签放在机器人上。
上位机系统:上位机系统作为一个服务器,主要负责读取UWB定位系统的坐标位置,并把目标位置发送给机器人。同时作为一个终端服务器获取顾客在小程序端点餐的餐品信息转化成机器人取餐时的坐标位置并把位置信息传到机器人上以便于机器人更好的进行取餐。
下位机系统:ROS机器人作为下位机,当接收到上位机发送的目标信息之后,控制运动底盘的电机驱动进行运动,同时机器人上各个传感器的信息也将返回到上位机当中。
2 系统硬件
2.1 UWB模块
在本项目的设计当中采用的UWB定位模块为广州联网科技公司的DWM1000芯片,定位最小的误差可以达到5厘米以内,芯片的功耗较低,可以实现双向测距和定位。
构成本项目中的中的UWB系统是由4个基站和1个标签组成,实现室内的精准定位,其结构如图1所示。
图1 UWB定位模块
2.2 ROS机器人
在本项目使用到的ROS机器人当中,使用到的到Jeson Nano,具有数据实时处理性能,能够很好的满足本项目中运行ROS系统的功能要求。同时具有多种接口,可以与各个传感器相连进行通信。ROS机器人的实物图如图2所示。
图2 ROS机器人实物图
3 UWB定位原理
3.1定位原理
在本项目的UWB定位模块当中使用到的定位原理是TOA定位方法进行测量:通过TOF测距原理计算出标签与三个不同基站间的距离,最后通过三边定位算法得到标签坐标值。以三基站的位置为原点,标签到三基站的距离为半径,画三个圆,三圆交点就是标签的坐标。如图3所示为UWB定位原理图。当出现测量不精准的情况时,原理图上的三个圆不会相交。
图3 UWB定位原理图
4 UWB定位系统设计
4.1 UWB标签程序
标签接收到正确的主基站发送的 Inform 包后,会发送 Poll 包,开启本次测距。它发送完Poll 包后,会打开 10ms 左右的接收,接收 Resp 包。10ms 过去后,会估计本次的 Final 包发送时间,并写入到 Final 包中,延时发送 Final 包。如图4所示。
图4 标签程序流程
4.2 UWB基站程序
测距使能后,主基站会根据当前标签列表里面,选用当前测距到的标签作为 ID,对发一个包(Inform),并开启接收等待标签回应(Poll)包,接收到 Poll 包后,根据设定好的延时回送 Resp 包,并打开接收标签发送的 Final 包。主基站成功接收到了 Final 包后,会根据当前次基站使能情况,对参与测距的次基站依次发送距离回送请求包(Request 包),接收到次基站的Reply 包来获取本次次基站的测距值。获取完所有的次基站测距后,如果测距则直接上报,定位则还要解算坐标后上传坐标。程序流程图如图5所示:
图5 UWB基站程序流程图
4.3 UWB基站A程序
A基站处于一直监听的状态,根据接收到的不同包来做不同的动作。会对主基站的 Inform 包有响应,它会根据这个包对应字节来知道这次该基站是否应该参与测距。如果是,则待会接收到标签的 Poll 包后会根据设定的延时时间发送 Resp 包,并等待接收 Final 包以计算测距值,不是则不发送;其次它还会对主基站发送的 Request 包有响应,回送本次测距 Reply 包。程序流程图如图6所示:
图6 UWB A基站程序流程图
5 系统软件
5.1机器人系统软件整体设计
本系统的软件设计主要包含两大部分,一个是上位机软件部分,二是机器人下位机软件部分。其中机器人下位机软件部分负责机器人移动控制与机械臂控制,而上位机软件部分包括UWB数据采集定位功能,机器人移动路线规划功能,餐品信息数据库功能。如图7所示为机器人系统软件整体设计图。如图8所示为机器人在模拟餐厅的场景图。
图7 机器人系统软件整体设计图
图8 机器人在模拟餐厅的场景图
5.2 机器人上位机软件设计
如图9所示为上位机主要作业流程图。在上位机系统中,工作过程为:(1)安放在环境内的4个参考节点会通过WIFI传输相应数据包括PC机,PC机接收到4个数据包后进行数据提取,即提取距离值,然后通过优化解算出坐标值,只要上位机系统运行,则此过程一直运行,贯穿整个上位机系统运作流程;(2)等待任务指示,如有送餐任务,则发送相应指令给下位机系统,机器人开始送餐,如果没有送餐任务,则继续等待任务指示;(3)当机器人送餐任务结束,机器人会返回起始点继续等待,直到有下一次的送餐任务,即回到步骤(2)
图9 机器人上位机主要作业流程图
5.3 机器人下位机软件设计
如图10所示机器人的下位机STM32控制作业流程图,RTOS 任务调度器根据任务的优先级决定任务的执行顺序,每个任务执行的时间很短,因此几乎等效于所有任务同时执行,期间如果发生中断则去响应中断。
图11 机器人的下位机STM32控制作业流程图
6 点餐系统的整体设计
6.1 点餐系统数据处理
首先,通过线上线下调差方式收集调查问卷以及搜寻相关的开源数据,包括客人信息、菜品信息和客人与菜品交互行为信息等。再进行数据预处理,经过预处理后的数据,可输入模型中进行训练。最后,菜品推荐算法可以返回最终菜品与客人的表达,并计算得出客人对菜品的预测评分,根据客人对不同菜品的预测评分构成集合,形成菜品推荐列表,将推荐列表通过小程序推荐给客户。推荐算法系统框架如图12所示:
图12 推荐算法系统框架
在菜品推荐模型中,图卷积神经网络模型具体过程为:数据预处理后,将得到的客人的特征表示、菜单的特征表示和客人菜单异构图输入到多层图卷积网络模型中,通过多层图卷积模型的消息传选机制,迭代更新最终得到客人和菜单的嵌入式表示。模型流程图如图14所示:
图13 菜品推荐算法模型流程图
6.2机器人点餐系统的设计与实现
点餐系统主要包括手持端、PC 端和服务器端。服务器端主要负责提供该系统的基础功能,接收、处理、存储系统数据,实物图如图15所示。
图15 点餐系统实物图
参考文献:
[1]许晓艳.基于ROS的智能餐厅服务机器人的研究[J].南方金属,2022(02):17-19+31.
[2]陈子豪,马润楠,雷书砚,向云华,金山海.基于ROS的智能分拣机器人控制方法研究[J].电子技术与软件工程,2022(04):109-112.
[3]温淑慧,问泽藤,刘鑫,温淑焕.基于ROS的移动机器人自主建图与路径规划[J].沈阳工业大学学报,2022,44(01):90-94.
[4]曹露露,张朝旭,于欣怡,吴松芮,谢印忠.基于UWB室内定位系统应用与研究[J].工业控制计算机,2022,35(01):72-74.
[5]张日明,周欢,龙飞阳.基于UWB技术的井下快速移动目标高精度定位系统的设计与实现[J].物联网技术,2022,12(02):12-15.DOI:10.16667/j.issn.2095-1302.2022.02.003.
[6]朱广跃.移动Web点餐系统的设计[J].集成电路应用,2022,39(01):124-125.DOI:10.19339/j.issn.1674-2583.2022.01.045.
基金项目:2022年广东大学生科技创新培育专项资金资助项目“基于超宽带定位技术的无接触智能配送机器人设计与实现--以智能餐厅为例”(pdjh2022b0641)