多传感器融合的自主导航护士助手机器人的设计与实现

2023-04-05 02:33陈再胜王颜霞
科海故事博览 2023年5期
关键词:激光雷达上位全局

陈再胜,王颜霞

(商丘工学院,河南 商丘 476000)

医务人员供需不足一直是我国医疗系统的一项痛点,2019 年至今,新冠肺炎的成规模持续,使得这一痛点雪上加霜,医务人员长时间疲惫地工作,对医护人员的身体和心理健康造成极为不良的影响[1-2]。护士助手机器人是一种可实现自主导航、避障、充电和物品运送等的智能移动机器人,可以帮助医务人员承担一部分重复、持续、规律性的工作,比如运送药品、手术耗材工具和其他物品等,缓解医务人员的压力。

目前,融合多传感器的自主定位与导航技术是智能移动机器人领域研究的热点课题之一[3-5]。惯性导航可以通过编码器和陀螺仪直接测得载体的运动速度数据信息,为机器人运动提供必要约束,但编码器存在累计误差,陀螺仪存在z 向漂移;激光雷达在室内建图和导航时能获得较高的精度,但也存在一定的缺陷,比如只能获得雷达本身高度平面内的定位信息,当障碍物超过扫描范围时,激光雷达将无法检测到[6-8]。

因此,本论文设计了一种护士助手机器人,该机器人以树莓派为控制核心,融合姿态传感器、里程计、激光雷达三种导航技术的同时采用远程控制和智能存取柜系统技术实现病人和医务人员之间“无接触、少接触”沟通,并完成规定的运送物品的任务。

1 机器人总体方案设计

医生或者护士通过远程控制端监控机器人移动并发送指令,实现机器人按照要求实时定位和导航。同时,医生或者护士通过显示屏与病人远距离视频通话,将与病人信息相对应的二维码作为存取物品或药品的唯一识别码,只有持有该二维码的人才能打开柜体门锁。

护士助手机器人运送环境是在半污染区,主要运送药品、餐品和被服等用品。运送流程分为装药/物、选定目标点、送药/物、返回零位四个步骤。

第1 步装药/物:护士在护士站处置间将药/物配好后,如果机器人存取柜清零后第一次使用,扫描二维码启动超管或普管权限,机器人所有柜门打开,将药/物放进柜子。如果是有未送完的药物但需要再放入药物时,直接扫描二维码一次,机器人会随机打开一个空柜,护士可以放入药物。

第2 步选定目标点:有两种方式,一种是目标点全部选定,另一种是根据需要运送的物品接收对象进行选定。

第3 步运送药/物:机器人根据选定的目标点进行全局规划,实现自主导航。

第4 步返回零位:药/物运送完成后,护士远程操控机器人选择零位目标点,机器人返回零位。

机器人总体设计方案,机器人总体采用决策层控制与执行层控制相结合的方式。

决策层控制系统核心为一台装载ROS 系统的上位机,该上位机以有线的形式连接MPU、激光雷达和单目相机。决策层接收执行层发送的底盘数据与激光雷达数据进行融合,经过内部程序运算后将运动命令发送给执行层。

执行层的首要功能是驱动功能,为实现该功能,执行层驱控系统核心采用了Arduino2560,该芯片将决策层发送的速度控制命令转换成信号脉冲传输给电机驱动,以便控制驱动电机转动使机器人运动。执行层的次要功能是柜体控制,包括二维码扫码器、交互面板、门锁控制系统和喇叭,其中门锁控制系统核心采用STM32 的控制板,控制数个带反馈电控锁,电控锁的开关信息会及时反馈给门锁控制系统,从而反馈至上位机,供操控人员及时了解病人取放物的情况。

2 机器人结构设计

总体方案设计主要包括底盘及其载具平台、上位机(树莓派主控系统)、自主导航系统、视频监控系统、二维码存取柜系统、显示屏和远程控制终端等。机器人整体采用四层结构,充分利用垂直空间,从低到高依次为底层、第二层、第三层和顶层。机器人底层放置了减速电机、编码器、两个驱动轮和四个从动轮,两个驱动轮差速驱动且相互独立,接收底盘控制板发出的指令就可以实现直行或转弯;为了缓冲底层减速电机和不同路况对三层控制系统的震动冲击,二层加装了减震板和5个弹簧;机器人第三层放置了激光雷达、底盘控制板、电机驱动器、分线器、稳压器、一键制动开关、上位机和MPU 等。上位机与底盘控制板、激光雷达、MPU 通过USB 串口相连来进行通信;机器人顶层放置存取柜、电池、单目相机、显示屏、锁系统主控板和操作界面等。

上位机选用树莓派RaspberryPi4ModelB(简称4 代B 型)作为主控板,通过Pype-C 接口实现5V 供电,通过CSI 摄像头接口连接单目相机,通过USB2.0/3.0接口接收激光雷达、IMU、Arduino2560 控制板传输的数据,通过MicroHDMI 接口连接10 寸显示屏和USB接口连接无线键盘和鼠标接收器实现人机交互和界面显示。

该机器人设计的最大负载为30kg,选取的车轮直径D 为130mm,最大移动速度υmax为0.6m/s,经计算所需单个驱动轮电机功率为:

根据以上条件,为使机器人有足够的动力,选择直流涡轮蜗杆减速电机DM08RC-150i11RV12 为机器人提供动力,该电机具有强劲的驱动能力,且减速比为50,非常适合医院低速度运行。

3 导航控制系统

3.1 导航控制系统总体设计

本护士助手机器人自主导航控制系统主要包括底盘控制系统、SLAM 系统、路径规划系统和可视化人机交互界面。

3.1.1 底盘控制系统

底盘控制系统主要用于控制机器人运动的速度和角度。选用ROS 系统中的bringup 功能包从上位机中人机交互系统接收操作者给定的速度命令,并通过PWM脉冲控制驱动电动机旋转;同时在该功能包中可以获取驱动电机的运行速度,再通过电机编码器转换为距离数据,传输到上位机;同时通过MPU 收集机器人的角/线速度数据后反馈到上位机。

3.1.2 SLAM 系统

在ROS 系统中包含SLAM 系统包,可以依据IMU、激光雷达等位置和姿态传感器传递的环境信息,使用相关算法构建环境地图,并实时测量机器人所在的位置和姿态。

对比目前室内自主导航常用技术,本设计使用三种导航定位技术实现自主导航定位。第一种根据航迹推算法采用里程计(电机编码器)得到机器人运行的距离和角度,实现局部定位,存在较大的累积误差;第二种根据扩展卡尔曼滤波(EKF)算法利用 IMU 低噪声的特性去矫正里程计的累计角度偏差,测量机器人相对于初始位置的距离和方向,从而推知机器人当前的位置和下一步的目的地;第三种根据自适应蒙特卡罗算法(Adaptive Monte Carlo Localization,AMCL)将里程计和IMU的融合数据与激光雷达数据再进行融合,从而获得机器人在已知的全局地图下高精度的定位。本设计选择粒子滤波的SLAM 方法(FastSLAM)实现全局地图构建,其中FastSLAM 算法利用EKF 进行路标点状态估计,利用PF 进行机器人的位姿估计。

3.1.3 路径规划系统

本文设计的护士助手机器人在实际运行中,首先,根据SLAM 系统构建的全局地图,以及操作者设定的巡航目标点,通过A*算法进行总体路径的规划,即全局路径规划,并计算出机器人到目标点的最优路线;其次,在全局路径规划的最优路线中,机器人通过机载的传感器实时检测机器人周围是否有障碍物,当存在障碍物时机器人通过模糊控制算法设计出几条避障路线,并综合评优,选取最优的避障路线,机器人按照此避障路线进行运动;最后,当避障结束后,还需要判断机器人是否在第一步规划的全局路径上,如果在则继续运动直至达到巡航目标点;如果不在原全局路径上,则重新进行全局规划,重复上述步骤直至机器人移动到巡航目标点。

3.1.4 可视化人机交互界面

ROS 系统中具有二维可视化界面工具Rviz,Rviz工具不仅可以实时显示机器人在运动过程中的位置和姿态,并构建实时环境地图,地图构建成功后可以及时保存,而且可以设置机器人的巡航目标点的位置和方向。

3.2 定点巡航系统设计

为了更好地适应医院复杂的环境,本护士助手机器人采用随机坐标点和顺序坐标点两种无限巡航模式,同时为了弥补视频监控必须专人时时监控的弊端,采用导航时间限定,当超过设定时间后将前往下一个目标点,并记入失败次数。

第一步,超管或普管扫描二维码进入管理界面,系统自动启动了move_base 节点后就可以使用Rviz 中的“2D Nav Goal”功能来获取到地图上坐标点的坐标和朝向,并获取所有目标点的位置信息。

第二步,设定patrol_type 巡逻模式,选择是否开启随机坐标点无限巡航模式,如果是则选择随机坐标点无限巡航模式,需要指定目标点,柜锁控制系统会打开随机柜子;如果选择否,则选择顺序坐标点无限巡航模式,则无需指定目标点,机器人将按照顺序巡航系统内所有的目标点,柜锁控制系统将打开所有柜子。同时需要设定巡航圈数或时间,当选择0 时,为巡航圈数模式,需要设定巡航圈数;当选择1 时为巡航时间,需要设定巡航时间。

第三步,放入药物,关闭柜门,柜锁控制系统将数据信息反馈给上位机,之后机器人启动巡航。

第四步,首次巡航,当机器人移动导航时间大于5min 时,将前往下一个目标点,并记录导航失败次数和机器人位置信息,如果小于5min,将继续导航直至到达目标点。

第五步,机器人到达目标点后等待病人取药/物,如果等待时间未超过15min,则继续等待病人;如果超过15min,则检查总巡航时间是否超过1h,如果未超过则前往下一个目标点,并记录;如果超过则返回零位,并打印导航任务信息,结束。

这里的导航超时时间、等待时间和总巡航时间可以在开机测试时根据医院的具体情况测定。

4 系统测试

4.1 测试环境选择

为更好地模拟医院办公室和长走廊环境,特选择本校行知苑1 楼作为测试环境,并选择周六周日学生课少且人行随机的时间段进行测试。

4.2 运行结果分析

该机器人运动为低匀速移动,最大运行速度为0.6m/s,负载能力不小于15kg,单次运行时间不小于3 小时。本系统经过测试,机器人自主导航定位能够达到导航精度最大横向偏差±0.25m,最大偏角±5°,刹车灵敏,运行可靠,移动过程中未发生碰撞。

5 结语

本文设计的护士助手机器人,采用AMCL 算法将MPU、里程计、激光雷达三种导航数据融合,实现高精度的导航定位,并采用A*算法和模糊控制理论实现全局和局部路径规划,进而实现定点或多点巡航。同时采用远程控制和智能存取柜系统技术实现病人和医务人员之间“无接触、少接触”沟通,并完成规定的运送物品的任务,从而减轻医院隔离病房医务人员的工作压力,缓解医患关系。

猜你喜欢
激光雷达上位全局
手持激光雷达应用解决方案
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
法雷奥第二代SCALA?激光雷达
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
落子山东,意在全局
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统