- 收藏
- 加入书签
基于超宽带定位技术的无接触配送机器人设计与实现
——以智慧餐厅为例
摘要:针对目前智能化数字化创新迅速发展的影响,人们对取餐过程中实现智能化的便捷问题,希望设计出基于超宽带定位技术的无接触配送机器人,同时结合UWB室内定位技术与树莓派,实现对餐厅就餐过程中的取餐和送餐。本文主要描述了机器人的整体设计方案,并且简单的描述所利用的UWB的定位算法。
关键词:餐厅服务,机器人,UWB室内定位技术
近年来,在数字经济不断推进的大背景下,人工智能发展迅速,智能机器人作为人工智能的一个综合性载体已经开始渗透进日常生活的方方面面,为人类生活提供便捷。新时代下为落实“十四五”规划的全面推进智能化进度,人们对取餐过程中的便捷智能化需求日益增大,特别是“无接触配送”有望得到大规模推广,智能移动服务机器人在这过程中扮演了重要角色。本项目致力于研究一款基于UWB技术的无接触式配送服务智慧机器人,以基于UWB技术的无接触智能配送在智慧餐厅中的服务为例,从而进一步地在多个有需要的产业中实现智能“无接触配送”服务,积极地在相应社会人工智能化餐厅发展情况,实现智能无接触配送以帮助人们。
1.智慧餐厅机器人整体结构分析
目前市场上的智能餐厅一般由机器人待机区,取菜区,客户就餐座位,餐厅入口和餐厅出口组成,本项目设计过程中模拟真实餐厅设计出如图1所示的小型模拟餐厅。当厨师做好菜品之后送到B区通过按B区中的按铃使小车经语音唤醒后启动;小车从出发区离开,通过UWB定位技术移动至菜品领取区B区,B区模拟的是餐厅的配菜区,B区挡板上的二维码包含了终点信息和菜品信息,分别代表了D1,D2,D3这三个终点和对应机器人所需要抓取的菜品;小车识别任务领取区张贴的QR码,获取终点信息;小车离开菜品领取区,移动至C区,在移动的过程中机器人可以通过其上配备的避障传感器和超声波传感器来识别在C区中是否有人阻碍机器人的前行,当有人时机器人停下来通过语音提示的形式来提示前方的人并重新规划路线来到达C区;小车穿越C区,停泊在任务要求的终点区域;小车语音播报“您的菜品已送达,请您取餐”后总任务结束;机器人重新的回到启动区恢复到休眠状态。
本项目所研究的餐厅服务机器人整体系统框图如图2-2所示。在本项目的设计研究当中采用了基于Cortex-M4内核的STM32F407VET6芯片,整个系统主要由两部分组成:上位机系统(即计算机)和下位机系统。其中上位机系统主要组成部分有坐标解算模块以及机器人任务调度模块,主要完成从 UWB 定位系统中获 得坐标位置,通过机器人任务调度系统经由WIFI发送指令给下位机,进行机器人的送餐任务;下位机系统主要完成接收上位机发送的指令,相应的去发送数据 给电机控制器到达对机器人的控制,同时采集各个传感器信息反馈回上位机。在机器人中用到很多控制器和外设,包括:树莓派(JetsonNano)、激光雷达,STM32控制器,电机、编码器、双路驱动、蓝牙、PS2手柄、航模遥控、陀螺仪等,同时提供了串口1和CAN接口方便用户拓展控制,这些控制器与控制器,外设与控制器之间的连接。
按照图2-1的上位机数据分析和图2-2主控规划设计思路,可以利用对应的硬件模块进行机器人组装制作,在其基础上完善软件系统不断调试,最终具体实物效果如图3所示。
机器人以一块硬铝板为底板,在底板的下部搭载着四个电机和四个麦克纳姆轮,底板的上部搭载着一块树莓派芯片和一个激光雷达。与此同时,考虑到餐厅桌子的高度问题,我们在底板上再搭建了一块硬铝板用于放置STM32F4主控芯片,摄像头和机械臂。在机械臂的设计上,我们从餐盘的结构上进行了考虑,因此我们选取了夹取式的机械臂。该设计可以很好的实现夹取餐盘并送到客户餐桌上的这一过程,提高送餐服务的精准性。
2.智慧餐厅机器人硬件设计
2.1主控MCU部分
本系统采用STM32F407VET6单片机主控模块作下位机控制器,来控制舵机机械的运动姿态,该控制器具有168 MHz工作频率,同时也能够与树莓派进行通信。此外,还具有以太网MAC和用于CMOS传感器的照相机接口。STM32F407VET6具有32位闪存MCU具有浮点单元(FPU),带数字信号处理(DSP)说明和存储器保护装置(MPU),提高了应用安全性。STM32F407VET6微控制器带有一个crypto/hash处理器,为AES 128、192、256、Triple DES和hash(MD5,SHA-1)提供硬件加速。因此,本项目采用STM32F407VET6作为下位机的控制方案。框架如图4所示。
2.2电机控制部分
在本系统的设计当中我们采用了麦克纳姆轮作为机器人的移动系统。相比于其他的移动系统结构,麦克纳姆轮结构有着稳定性搞,移动能力强,路面适应性高等特点。在机器人底盘驱动方面,系统采用四个驱动电压12V,减速比为1:30的减速电机作为机器人麦克纳姆轮的控制源。
为了实现同时对四个电机进行控制的效果,系统采用TB6612FNG电机驱动模块对麦克纳姆电机进行驱动。它具有大电流 MOSFET-H 桥结构,双通道电路输出,可同时驱动 2 个电机。而且,相比 L298N 的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。对于PWM信号输入频率范围,高达100 kHz的频率更是足以满足我们大部分的需求了。
2.3机械臂控制部分
本文设计的机器人中,机械臂采用了4个舵机。而舵机的角度控制需要利用PWM信号,因此我们将机械臂与STM32F407VET6主控芯片连接然后对其进行控制。在机械臂的设计当中,夹取餐盘的方式我们采用了夹取式的方法,通过夹取餐盘,然后放置到机器人的相应位置上进行承接,当到达用户的餐桌时再再通过夹取的方式来将餐盘夹取到客户的餐桌上。
2.4导航部分
因为餐桌的坐标位置不变,所以我们采用电磁线与UWB技术相结合的方法来引导机器人的移动。硬件简单,算法也比较简单。同时我们采用UWB室内定位技术辅助机器人行驶,使用UWB室内定位技术,能够使机器人准确的停在取餐的位置和客户的餐桌区。
2.5 树莓派图像识别部分
在餐品信息识别方面,系统以树莓派作为硬件数据处理核心并配合摄像头进行快递数据的识别。在核心程序方面,系统主要采用 openCV 算法识别图像中的二维码数据。树莓派是一款基于 ARM 的微型电脑主板,在本设计中,树莓派不仅承担餐品表面二维码信息识别工作,还有承担机器人与上位机通信的工作。树莓派通过自身蓝牙模块跟服务器进行通信,并将从服务器端接受到的指令分发给STM32F407VET6控制板。
3.智慧餐厅机器人软件设计
本系统的软件设计主要包含两大部分,一个是上位机软件部分,二是机器人下位机软件部分。其中机器人下位机软件部分负责机器人移动控制与机械臂控制,而上位机软件部分包括UWB数据采集定位功能,机器人移动路线规划功能,餐品信息数据库功能。
3.1上位机软件控制部分
在上位机系统中,工作过程为:(1)安放在环境内的4个参考节点会通过WIFI传输相应数据包括PC机,PC机接收到4个数据包后进行数据提取,即提取距离值,然后通过优化解算出坐标值,只要上位机系统运行,则此过程一直运行,贯穿整个上位机系统运作流程;(2)等待任务指示,如有送餐任务,则发送相应指令给下位机系统,机器人开始送餐,如果没有送餐任务,则继续等待任务指示;(3)当机器人送餐任务结束,机器人会返回起始点继续等待,直到有下一次的送餐任务,即回到步骤(2);上位机软件主要包括了:速度控制模块、当前坐标显示模块、目的地即送餐餐桌坐标输入模块、机器人航向角即机器人电量模块、机器人控制指令按钮发送模块、UDP 接收参考节点数据模块。本项目中无接触配送机器人系统中,参考节点与上位机软件之间使用 UDP 传输数据,上位机软件与下位机软件使用 TCP 传输数据,都是通过WIFI进行传输。
3.2下位机软件控制部分
下位机系统的主控制器为STM32,STM32通过串口2连接WIFI232模块,WIFI模块接收上位机发送的指令信息,然后通过串口将数据传输给主控制器;主控制器 STM32 会提取分析数据段并作出相应的处理,软件采用DMA方式搬运传输控制信息数据。于此同时,在服务机器人运行过程中,主控制器采用ADC中断方式采集红外避障传感器信号,用于检测机器人前方是否有障碍物,如有障碍物则减速停车并语音报警;还有,采用ADC采集电压信息;同时,系统采用I2C方式采集超声波避障传感器信息,采集到的距离信息用于判断突然出现在机器人前的障碍物,如果突然出现的障碍物与机器人之间的距离已经小于安全距离,则紧急制动;通过串口1、3分别采集里程信息和方位角信息,这些信息起辅助作用。
3.3 UWB定位算法实现
UWB定位技术是本项目中的核心技术,在本项目的UWB定位技术系统的设计与实现当中主要有UWB标签程序,UWB基站程序,UWB基站0程序。
(1)UWB标签程序
标签程序,用于发送测量命令给各个基站,并测量和各个基站(0/1/2/3基站)的距离后发送给基站0。以上循环进行。如图5所示。
(2)UWB基站程序
作为参考点的基站负责响应标签的测距响应命令,并将测量结果封装到响应帧中,通过无线再发送给标签。见图6所示。
(3)UWB基站0程序
基站0程序除了作为参考点响应标签的测量命令之外,实时接收标签发送的测量数据,并将测量数据缓存后通过串口发送给上位机。以上循环进行。见图7所示。
3.4二维码识别算法部分
二维码扫描的系统设计是本项目中的难点之一。当用户扫描餐桌上的二维码并输入信息时,信息传回到安卓端,安卓端再将信息传到领取菜品区中的二维码,机器人在启动区被唤醒之后运动到领取菜品区通过扫描二维码获取对应的信息之后抓取对应的菜品并送到对应的客户当中。二维码是用某种特定的几何图形按一定规律在平面分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,二维码不仅可以导入对应用户所需的菜品信息并反馈给安卓端,而且机器人可以核对扫描的二维码信息和安卓端后台的输出的数据进行对比,增加正确率。具体调试过程如图8所示。
4.总结
智慧餐厅场景下的智能服务机器人符合科学配置、全面节约以及循环利用等绿色理念。在接受命令前,机器人处于休眠状态,到达节约能源的目的。用户在点餐过程中通过扫二维码点餐的数据会交由云端进一步计算,统计数据后会呈现出用户最受欢迎的菜单,可通过数据呈现的结果来增减所需采购的食品材料。用户体验完智慧餐厅机器人服务后,可以填写相关建议,通过不断地改善,让用户体验到更加智慧便捷、节约能源的优质人工智能服务。且机器人技术,单片机,智能终端等技术,尤其是UWB定位技术,语音交互功能,传感器等方面关键技术的成熟和广泛应用,成为了本课题实现的必要技术。








京公网安备 11011302003690号