一种自主导航的多功能护理床控制系统设计

2021-07-02 08:37夏冬阳刘浩宇庄逸阚孟菲丁思吉丁皓
生物医学工程学进展 2021年2期
关键词:里程计床板调节

夏冬阳,刘浩宇,庄逸,阚孟菲,丁思吉,丁皓

1. 上海理工大学 医疗器械与食品学院(上海, 200093)

2. 上海健康医学院 医疗器械学院(上海, 201318)

0 引言

护理床在老年护理中起着至关重要的作用,随着各种新兴科学技术的发展,许多先进技术被应用到护理床中,使得护理床越来越智能化。如美国医疗科技公司史赛克最新研发的完全无线的护理床Procity可以无缝连接护士呼叫系统;河北工业大学李涛[7]设计了一款家庭护理床的远程监控系统,可实时监测病人的心率、血氧等生理参数,开发了远程监控程序,对于智慧医院的建设有重要意义。但目前医院与家庭使用的护理床仅具有简单的机械结构设计,功能欠缺,灵活性不足,考虑到老年人在护理过程中对于不同床姿状态与床体转移等的需求[8],我们设计了一种自主导航的多功能护理床控制系统,医护人员或患者家属可以通过手机APP控制护理床实现起背、抬腿、翻身、轮椅式等不同的床姿调节,终端控制工作人员可以在APP上指定护理床移动的目的地,护理床便会通过自主定位与导航实现路径规划,并自主移动到目的地。这种设计很大程度上改善了长期卧床老年人的护理质量,也减轻医院医生与护士的工作负担,提升了护理床设计的人性化与智能化。

1 床体结构设计

考虑到患者对不同的床姿模式实际的使用需求,设计的床姿调节模式有起背模式、翻身模式、抬腿模式、曲小腿模式以及轮椅式。整块床板被分割成9块单独的床板,通过不同床板的结合来实现各种不同的床姿调节功能,各床板间采用柔性铰链连接,具体床板的划分以及尺寸设计如图1所示[9]。

图1 床板划分及尺寸设计(单位:mm)Fig.1 Bed board division and size design (unit: mm)

床板的划分采用模块化的设计手段,通过不同床板的组合结合成固定的模块以实现特定的床姿调节功能,各功能模块组成板块与角度调节范围,如表1所示。

表1 床姿调节功能及参数Tab. 1 Bed board division and size design (unit: mm)

2 控制系统原理

自主导航的多功能护理床控制系统原理为:以基于阿克曼转向原理的护理床床体为主体,通过连接蓝牙的手机来控制电机伸缩实现床板角度的变化并结合不同的床板实现起背、翻身、抬腿等床姿调节的功能,将激光雷达、里程计和惯性测量单元结合为参数测量系统,激光雷达用于构建栅格地图,惯性测量单元用于输出当前模块的运动数据,里程计将激光雷达数据和惯性测量单元测量数据结合起来,采用自适应蒙特卡洛定位算法得到当前位置,在远程控制导航APP终端选择目标位置并结合路径规划实现自主导航。护理床控制系统工作原理流程图,如图2所示。

图2 护理床控制系统工作原理流程图Fig.2 Flow chart of working principle of nursing bed control system

3 系统硬件设计与选型

自主导航的多功能护理床控制系统硬件部分由主控模块、床姿调节模块、参数测量模块、床体移动模块、无线传输模块、远程操作模块以及电源模块等组成。控制系统总体方案结构框图,如图3所示。

图3 系统总体方案结构框图Fig.3 Block diagram of the overall system scheme

3.1 主控模块设计

主控模块包括树莓派控制器和Arduino控制板[10],它们是整个控制系统的核心,用于控制其他模块以及对数据的处理。本控制系统中树莓派控制器用于接收参数测量模块测得的各种数据,并发送给上位机进行处理。本控制系统中,Arduino开发板用于驱动各种电机以及负责与蓝牙模块的通信。

3.2 床姿调节模块设计

多功能护理床床姿调节模块由手机APP发送执行命令,通过HC-05蓝牙模块连接Arduino mega 2560控制板,Arduino控制板通过12路HLE继电器开关控制板控制电路分别对6个推杆电机进行控制。在每块床板后安装的GY-25角度测量传感器将测得的床板角度值发送给Arduino mega 2560控制板,最后通过蓝牙模块实时显示在手机APP上,床姿调节模块结构框图,如图4所示。

图4 床姿调节模块结构框图Fig.4 Block diagram of bed posture adjustment module

3.3 自主移动模块设计

床体移动模块采用前轮转向,后轮驱动的阿克曼运动学模型设计[11]。前轮转向舵机采用SRC-04B数字舵机模块,包括转向舵机和数字舵机驱动板,后轮驱动电机采用BLD-300B无刷电机驱动模块,包括直流无刷行星减速电机和无刷电机驱动器,电机自带的编码器用于反馈转速数据和里程计。

3.4 参数测量模块设计

激光雷达、里程计、惯性测量单元是控制系统中实现地图构建与定位导航功能的重要组成部分,将三者结合起来可以更好地提高护理床的定位精度和鲁棒性[12]。激光雷达Delta-3A通过发射与采集激光信号,通过内部处理器快速计算出外部物体与雷达的距离,JY-901惯性测量单元是采用MPU9250芯片,利用动态卡尔曼滤波算法解决积分运算产生的误差,对于角速度的测量更为精准,里程计将激光雷达与惯性测量单元所测得的数据结合起来,测得的数据通过串口输出至树莓派[13]。

4 系统软件设计

4.1 上位机设计

本控制系统开发了两款APP,一款是用于患者或家属自主调节床姿的APP,在床姿调节功能界面,用户可以拖动滑块来实现起背、翻身、曲腿等功能的调节,通过记忆按钮自动调节到上次调节的角度,可以通过一键还原按钮将角度都归零,也可以一键选择主治医师根据患者不同的病情量身制定的角度数据。另一款是由控制中心操控的远程控制导航终端APP,APP通过WIFI局域网与树莓派控制器连接,可以输送床体自主移动到病房、手术室、影像室等,在床体移动功能界面,当前的床体位置信息自动显示在屏幕上,通过列表下拉框选择目标位置,按下执行后床体就会安全移动到目的位置,在地图上可以实时观察到护理床的位置。

4.2 环境地图构建

Gmapping算法是广泛应用于机器人定位导航的一种基于改进RBPF(rao-blackwellized particle filter)粒子滤波的2D激光SLAM算法[14],RBPF粒子滤波算法提出先进行定位再进行环境地图构建,解决了SLAM算法定位和建图无法同时进行的问题,Gmapping又针对RBPF算法所用的粒子数目多和频繁执行重采样而造成的内存消耗大、计算量大以及粒子退化带来的问题提出了改进提议分布和选择性重采样两点改进方案。

改进提议分布通过结合里程计数据和最近一次的激光测量数据来获取更加接近目标分布的粒子,改进提议分布公式为:

式中:P为条件联合概率; x表示机器人位姿,m表示栅格地图,z为雷达观测数据,u为里程计数据。

选择性重采样通过设定一个阈值来减少重采样的次数,当粒子权重w变化大于设定的阈值时就会执行重采样,在一定程度上减轻了粒子退化,阈值的设定公式为:

Gmapping算法适合构建小场景地图,场景越大,粒子数目越多,需要的内存和计算量也就越大。因此,医院、养老院等室内的工作环境较适合采用Gmapping算法来实现地图构建。Gmapping算法工作流程图,如图5所示。

图5 Gmapping算法工作流程图Fig.5 Gmapping algorithm work flow chart

4.3 定位导航

4.3.1 AMCL定位

自适应蒙特卡洛定位(odaptive Monte Carlo localization,AMCL)算法[15]采用粒子滤波算法来追踪已扫描地图中的移动机器人位姿,相比蒙特卡洛(Monte Carlo localization,MCL)定位算法,AMCL的自适应性体现在实际应用中对粒子的数量进行了较好的控制,解决了粒子集中和机器人绑架问题。由于实际使用中里程计存在里程漂移的误差,因此AMCL先通过里程计数据对机器人位置进行初步的估计,再通过测量模型得到机器人在地图上的定位,AMCL定位示意图,如图6所示。

图6 AMCL定位示意图Fig.6 AMCL positioning diagram

4.3.2 路径规划

局部规划采用move_base导航包中的TEB(Timed-Elastic-Band)局部规划器[16],可以很好地处理基于阿克曼模型移动小车的运动学约束,TEB将时间信息融入位姿轨迹模型中,定义机器人第i个位姿状态为:

式中:x、y为机器人坐标值,θ为当前时间机器人的方向角。

将位姿状态点Si与两个状态点的时间间隔 Ti结合得:

通过加权多目标优化的方法来获取最佳的路径点,即最优的位姿和时间间隔:

式中:C*表示位姿和时间间隔序列的最优结果,γk是权重系数,f(C)函数为考虑各种约束下的目标函数之和。

在move_base导航包中提供了两个全局规划路径算法:迪杰斯特拉(Dijkstra)算法和A*算法,A*算法虽然计算速度快,但是只能够得到局部最优解,Dijkstra算法搜索范围大并且可以得到全局最优解,因此采用Dijkstra算法[17-18]。

Dijkstra算法首先创建一个用于保存源点s到各个顶点最短距离的数组dis和一个用于保存最短路径顶点的集合T,初始时集合T只有顶点s。

STEP1:源点s的dis[s]被设置为0;

STEP2:对于源点s能直接到达的顶点m1,m2,m3,dis[m]设置为w1(s,m1),w2(s,m2),w3(s,m3);

STEP3:对于源点s不能直接达到的边dis[m]设置为无穷大;

STEP4:从dis[m]数组中选择最小值的顶点c加入集合T中,此顶点到源点s即为最短路径;

STEP5:对于顶点c重复步骤二、三、四,又能够得出新的顶点,对这些新的顶点再重复上述步骤,直到集合T包含了所有的顶点为止。

5 系统测试

5.1 床姿调节功能测试

为验证床姿调节的精确度,用高精度角度测量仪测量真实的床板角度并与设定的床板角度对比,分析其误差大小。表2为床板角度对比的结果,数据显示实际角度与设定角度相差较小,对于患者的使用体验影响较小,更不会危及患者的生命安全。

表2 床板调节对比结果(°)Tab. 2 Comparison result of bed board adjustment

5.2 自主导航功能测试

在实验室模拟环境下启动护理床控制系统,通过远程控制终端APP控制移动小车环绕实验室采集地图信息生成环境地图,地图构建完成后,通过远程控制终端APP选择导航目的地,执行操作后,在APP主界面观察到护理床生成局部代价地图并开始移动,最终结果表明护理床在移动过程中可以避开障碍物并到达目的地。

6 结论

设计了一种自主导航的多功能护理床控制系统,主要完成了以下工作内容:

(1)对护理床床板进行了功能模块化的设计,完成了控制系统硬件部分的选型以及电路设计。

(2)设计了两款手机APP,一款用于实现床姿调节,另一款用于实现环境地图构建、床体定位、路径规划以及自主导航。

(3)对床姿调节和自主移动两大功能进行了实验,验证了控制系统的可行性和可靠性。

该研究将移动机器人路径规划技术与电动护理床相结合,解决了护理床移动费时费力的问题,有较好的应用前景。但目前自主导航功能只有终端控制工作人员才能操作,病人无法自主操控,未来可以将自主导航功能开放给患者,可以更加方便患者的日常需求;远程控制导航终端APP只能控制单一床体移动,对于多床体的导航控制以及多床体的调度算法没有进一步研究,未来可以针对这两方面进行下一步的深入研究。

猜你喜欢
里程计床板调节
方便调节的课桌
室内退化场景下UWB双基站辅助LiDAR里程计的定位方法
VitalBeam加速器四种不同治疗床板的剂量衰减特性测量与分析
浅析铁路箱涵顶进控制滑床板技术
床板被保洁员卖了 女子索赔未果
2016年奔驰E260L主驾驶座椅不能调节
双块式无砟轨道路桥过渡段道床板上拱整治技术研究
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
大角度斜置激光惯组与里程计组合导航方法
基于固定里程量测的车载捷联惯导/里程计组合导航算法*