基于ROS 智能医疗运输机器人的设计

2024-02-27 12:17刘建文何世添马世登
电子设计工程 2024年3期
关键词:下位顶层底层

刘建文,何世添,2,马世登

(1.广东东软学院,广东 佛山 528200;2.柳州城市职业学院,广西 柳州 545000)

COVID-19 对全世界几乎所有国家都产生了负面影响,给医院和医疗带来了巨大的压力,并导致了经济危机。到目前为止,2019 冠状病毒疾病感染人数已达5 亿2 500 万例。一线卫生工作者与患者密切接触,因此感染风险较高[1]。主流医疗机器人多为手术用机器人,且主要面向患者,针对医护人员的机器人并不多见。针对这种情况为医护人员开发部署智能机器人,以便在不被感染的情况下有效地为患者服务至关重要[2-3]。

该文设计的基于ROS(Robot Operating System)医疗用运输机器人通过机器视觉和多传感器融合确认自身位姿,并做出路径规划,以实现自动在医院隔离区与非隔离区之间医疗物资运输,从而最大限度地减少人与人之间的接触[4]。并且,后续将会结合需要实现更多的功能,使机器人能够部署在方舱医院等地方发挥作用。

1 医疗运输机器人的硬件系统设计

1.1 结构设计

该文设计的医疗运输机器人以STM32 为控制核心,由超声波测距模块、锂电池模块、摄像头、WLAN模块、运输箱体等组成。在整体结构设计上采用四轮差速运动结构,具有易用性、运动可控性、稳定性及强负载能力等良好且实用的优点。动力来源使用四个JGB37-520 直流减速电机,并且使用电机自带的编码盘作为轮式里程计传感器,另外通过前置摄像头识别图像使运输机器人具有自我定位的功能,医疗运输机器人模型图和实物图如图1 所示。

图1 模型图与实物图

所设计的运输机器人本体长30 cm,宽约25 cm,高约20 cm,加上运输箱体高约40 cm,轴距约18 cm。运输机器人自重约1 kg,经过电机参数的计算,使用四个电机的情况下运输机器人最高载重约10 kg。

1.2 医疗运输机器人的行驶仿真

为了确保医疗运输机器人在负载下仍可以正常工作,实现可靠、快速地运输,将系统在Matlab 进行负载行驶仿真[5]。由仿真图2 可以看出,有载重时运输机器人的行驶速度相比无载重时的速度小,但仍可以按照匀加速进行运动,且质量合适,运输机器人运行稳定。

图2 运输机器人行驶速度仿真

1)输入初始速度为0 m/s,加速度为1 m/s2,无载重时,运输机器人行驶速度仿真图如图2(a)所示。

2)输入初始速度为0 m/s,加速度为1 m/s2,附加6 kg 载重时,运输机器人行驶速度仿真图如图2(b)所示。

1.3 硬件控制系统

该运输机器人硬件系统由上位机与下位机两部分组成[6]。如图3 所示,树莓派4b 将作为上位机,成为运输机器人的主控大脑,HD98 摄像头负责图像的采集,可直接通过USB 的接口接入到树莓派中进行定位。而运输机器人上的所有传感器,包括编码器、超声波测距、陀螺仪、WLAN 等和下位机STM32 片上的I/O 资源进行连接。然后,通过串口向上位机上传底层传感器数据,上位机经过图像处理对底层控制器上传的数据进行融合处理,融合数据后进行电机运动控制,最后结合路径规划结果对底层控制器下发控制指令。

图3 硬件框架

2 医疗运输机器人的软件系统设计

智能医疗运输机器人软件系统主要由上位机顶层运动控制系统和下位机底层驱动控制系统两部分相结合来实现。其中,顶层基于树莓派ROS 实现自主运动控制[7],底层功能则是通过STM32 处理传感器采集的各种信息完成驱动控制,上位机顶层和下位机底层两者通过串口通信实现数据传输[8]。

2.1 上位机顶层系统设计

机器人的上位机顶层运动控制系统基于ROS 实现机器人的自主运动功能[9],上位机顶层系统功能主要分为三大部分。第一部分:上位机顶层利用下位机底层上传的编码器数据以及MPU6050 的yaw 轴角速度数据进行里程计算[6];第二部分:上位机顶层负责图像的采集和图像处理,对底层控制器上传的数据进行融合处理,融合数据后进行定位和运动控制,最后结合路径规划的结果对底层控制器下发控制指令。第三部分:远程监视器具有查看系统的实时运行状况、对路径进行更改、远程遥控运输机器人的功能。上位机顶层系统框图如图4 所示。

图4 上位顶层系统框架

2.2 下位机底层系统设计

机器人的下位机底层驱动系统主要通过STM32处理传感器采集的各种信息,以及接收来自顶层速度控制指令,实现电机的底层驱动控制。STM32 通过与超声波直连,获取机器人前后400 mm 范围内的障碍物信息,并利用串口将距离数据上传给上位机,以实现避障和距离矫正;同时,下位机根据上位机下发的速度数据控制底盘运动,并将机器人的实际运动速度上传给上位机;当机器人运输到目标位置后,上位机对目标点标志位进行赋值,下发给下位机,下位机根据标志位的数据控制舵机自动分类、放置工作;当工作完成后,下位机对工作完成标志位进行赋值,并通过串口上传到上位机,自动返航回到起点。机器人下位机底层驱动控制系统框图如图5 所示。

图5 下位机底层系统框架

2.3 机器人运动控制框架

医疗运输机器人的主要功能是在隔离区域自主完成目标物体的识别以及自动分类运输工作。首先,启动机器人,机器人进行待机运动,当扫描到医疗二维码信息后机器人更新状态后向定位区运动;然后,当超声波距离大于阈值后更新状态,进行距离矫正;接着,机器人转弯到达目标角度后更新状态,扫到坐标图像或遇到障碍物时,更新状态保证运输的可靠性,将目标物体卸载完成后更新状态;最后,机器人回到初始位置。机器人的运动控制框架如图6 所示。

图6 机器人运动控制框架

3 实验测试

为了测试最终是否实现了智能医疗运输机器人的功能,以及测试系统整体的可靠性。该文在远程客户端进行了运输机器人正常运输环境实验测试,机器人上位机客户端如图7 所示。

图7 远程上位机客户端

3.1 通信测试

小车上电后,移动电脑连接小车WIFI,进行上位机与下位机串口通信,获得下位机的详细信息数据,如图8 所示,指令均能正常执行。

图8 功能指令

3.2 图像识别测试

图形识别主要是测试智能运输能否在不同的距离与环境下识别图形二维码信息,保证输送的准确性,并且通过机器视觉和多传感器融合确认自身位姿并做出路径规划,每次测试结束后识别图形的正确次数如表1 所示,识别正确率达到98%,可见图形识别能实现。

表1 图形识别测试表

3.3 运动控制测试

在室内复杂的环境下,启动机器人使用不同的运输模式进行运动。通过运动控制完成隔离区域的运输工作,所得实验结果如表2 所示。运动的控制状态准确度有助于保证运输的可靠性,所以运输机器人运动控制可靠。

表2 运动控制测试表

4 结束语

该文是基于疫情环境下设计的ROS 智能医疗运输机器人。该智能医疗运输机器人选用四轮差速运动模型作为基础结构设计来保证运输过程中的稳定性,同时可以承载更多的医疗物资。在运输机器人的控制器中采用分层结构设计,顶层以树莓派作为上位机控制器收集外界信息进行分析,底层以STM32 控制器为下位机核心与上位机进行有效的数据交互。通过实验测试表明,机器视觉和多传感器融合确认自身位姿并做出路径规划,以实现自动运输和返航,效果较好,系统稳定可靠。医疗运输机器人为减少在疫情中的交叉感染提供了参考,后续在研究中需提高自动分拣医疗物质效率及进一步完善路径规划的效果。

猜你喜欢
下位顶层底层
航天企业提升采购能力的底层逻辑
汽车顶层上的乘客
发射机房监控系统之下位机
顶层设计
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
加快顶层设计
CAN总线并发通信时下位机应用软件设计
健康卡“卡”在顶层没联网
回到现实底层与悲悯情怀