基于SLAM技术的医疗服务机器人
2018-09-12林靖生吴韬
林靖生 吴韬
摘 要:随着机器人技术的不断发展,机器人正在进入国民生活的医疗领域,医疗服务机器人正成为机器人技术推广的新领域。本研究从SLAM技术的发展现状入手,描述了基于此技术的医疗服务机器人五大性能,地图构建、路径规划、实时定位、自动回充、语音控制,分析了复杂环境下的SLAM算法优化,提出一种基于SLAM技术的医疗服务机器人的设计与实现。鉴于具有成本相对较低,对传感器性能要求低,算法整体运算压力小,具有广阔的应用前景。
关键词:医疗;服务机器人;SLAM
中图分类号:TP242 文献标志码:A 文章编号:2095-2945(2018)22-0074-03
Abstract: With the continuous development of robot technology, robot is entering the medical field of national life, medical service robot is becoming a new field of robot technology promotion. Starting with the development of slam technology, this paper describes the five performances of medical service robot based on SLAM technology, including map construction, path planning, real-time positioning, automatic refilling and voice control, and analyzes the optimization of SLAM algorithm in complex environment. This paper presents the design and implementation of a medical service robot based on SLAM technology. In view of the relatively low cost, low demand for sensor performance and low computational pressure of the algorithm as a whole, it has a broad application prospect.
Keywords: medical treatment; service robot; SLAM
前言
随着市场需求的不断走高,机器人应用越来越广泛,尤其在医疗服务业方面,机器人学的一个重要分支是移动机器人。预计2020年,服务类机器人年销售收入有望超过300亿元,市场定位和产业升级的需求让导航定位成为刻不容缓的任务[1]。机器人技术是融合了机械,电子,传感器,计算机,人工智能等许多科学知识,涉及到当今许多前沿领域技术[2,3]。移动机器人从实验室走向应用,需要稳定的运动系统,可靠的导航系统,精确的感知能力和安全性。移动机器人能够在各种复杂的环境下进行自主定位和导航是完成任务的前提,室内定位技术相对于传统的室外定位技术有其特殊性。主要表现在GPS信号变弱、障碍物多、干扰源多、多层建筑中的定位及未知环境定位。室内定位技术是基于对室内环境了解的基础上,减少对环境依赖的室内定位是亟需解决的难题。
在机器人领域中,不依赖GPS定位技术具有广阔的应用前景。自主定位基于惯性单元的航迹推算,利用惯导或里程计,对自身位置进行递归推算。导致航位推算法只适于短时短距的位姿估计,而对于大范围的定位常利用传感器对环境进行观测,通过环境地图匹配,可实现精确定位。如果把机器人位姿看作系统状态,可以用贝叶斯滤波对其位姿进行估计。鉴于里程计和惯导系统误差累积效应,需用其他方法进行定位修正,对远距离精确导航定位不适用。随着科技发展和现实需要,出现了同步定位与地图构建方法,因为它可以在确定自身位置的同时构造环境模型,常被用来解决机器人定位问题,其应用被认为是机器人能否实现自主的关键前提条件。
1 SLAM技术发展现状
随着人工智能的快速发展,智能机器人已经深入人类生活中的方方面面。它的出现是为了解决单调、重复的体力劳动而使得人的双手得以解放。为了进一步提高生产效率和生活便利性,对机器人的自主环境适应性能要求也更高。能够在复杂环境下进行自主定位和导航是机器人完成任务的基础。移动机器人在作业时,需要各类传感器对自身位姿和外部环境信息的感知,通过准确感知自身和环境的信息,从而有效完成作业。在实际过程中,问题求解往往难度较大。近年来移动机器人的同步定位与建图问题广为关注。
SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写,最早由Hugh Durrant-Whyte 和 John J.Leonard提出[4]。SLAM技术主要用于解决机器人在复杂环境下的定位导航与地图构建,可以在周围环境无法先验前提下,让其在运动过程中根据自身携带的传感器和对周围环境的感知进行精准定位。SLAM技术是解决移动机器人自主定位與导航问题的关键所在,已成为移动机器人领域研究的热点[5]。
可靠导航是移动机器人实现自主的先决条件之一,它包括回答:“我在哪里?”“我要去哪里?”和“我怎样到达那里?”这三个问题。移动机器人的同步定位和地图创建问题要求机器人在一个完全未知的环境中,从未知位置出发,建立环境的导航地图,同时同步确认自己方位,从而全面地回答“我在哪里”这一问题。SLAM技术具有重要的理论和价值,被很多初学者认为是移动机器人实现真正自主的关键。机器人的定位有相对和绝对。前者是根据机器人本身或从环境中提取某些特征信息,结合上一次的位置和姿态来判断出当前自身位姿;而后者是通过人们在环境中预先设置的路标或显眼节点来计算机器人实时的位姿。现往往将两种结合来提高机器人定位的精准度。
近年来,SLAM的研究及应用,提高了移动机器人的定位精度和地图创建能力。常见的方法有,将SLAM与运动物体检测和跟踪的思想相结合;用于非静态环境中构建地图的机器人对象建图方法;结合最近点迭代算法和粒子滤波的同时定位与地图创建方法;应用二维激光雷达实现对周围环境的建模,同时采用基于模糊似然估计的局部静态地图匹配的方法。
2 基于SLAM技术实现医疗服务机器人自动巡航
基于SLAM技术实现医疗服务机器人能够在医院病房、行政大厅等多种复杂的公共空间环境下起到自主规划和实施更正导航路线的功能,具备十分优秀的移动和动态避障能力。即使当机器人经过时,从身边的病床可能突然掉落物体,也能通过局部路径规划方式自然地避开该物体。本发明提供了视频通信功能,用于观察患者状态,还可通过视频远程操控机器人移动,在需要人工介入时提供辅助的移动操作,使得机器人的移动更加灵活,更适合医疗服务的应用。还配合语音识别技术,可以使得医护人员能够通过固定格式的语音来指挥机器人完成所下的命令的动作,例如巡视病房、移动至某个床位前等。通过语音直接操作机器人,具有操作便利、智能化的优势,还能够有效减轻医护人员的工作压力,提高医护人员的工作效率。为了使得患者能够舒适地观看机器人屏幕所显示的内容,可以通过调整机器人的结构,使得显示装置所显示的内容与患者的视线平齐。针对以上医疗服务机器人所要满足的功能需求,我们所研发的机器人提供了集地图构建等功能于一体的解决方案。
2.1 地图构建
机器人利用地图描述环境,由于使用的算法和传感器的差异,所以地图描述形式也有不同。机器人常用栅格地图对环境地图进行描述。这种地图同人类认知的地图相似。广泛应用于路径规划、导航、位姿估计,已成为机器人定位的通用地图表示法。其本质是一张位图图片,但其中每个“像素”则表示了实际环境中存在障碍物的概率分布。
本次研发的医疗服务机器人系统内部也采用该地图方式,我们通过激光雷达扫描绘制栅格地图,是把环境划分成一系列栅格,其中每一个栅格给定一个可能值,表示该栅格被障碍物占据的几率。每个栅格可能有“占有”“空”“未知”三种状态,分别表示不可通过、可通过、未知三类区域,易于导航避障,适于运动规划。采用这种方式构建地图,易于创建和维护。
2.2 实时定位
经研究发现在未使用绝对路标,只利用里程计来进行位姿更迭,当机器人在转弯时,位姿未得到及时纠正,产生角度误差,机器人若继续构建地图时很有可能会产生loop closure(回)环问题,最终导致原本是该闭合的环形走廊断开。位姿更新过程中,由于累积误差的存在,连续迭代可能会导致地图扭转。这大大影响了地图的稳定性和准确性。因此本次所研发医疗服务机器人是利用红外定位传感器消除里程计累积误差带来的位姿估计误差。在医疗服务机器人上配备了红外定位传感器来探测贴在天花板上的红外标签,目的是更正里程计的累计误差。研究认为当里程计位姿迭代和红外定位传感器的位姿估计可同时获得时,红外定位传感器的位姿信息更准确可靠。当只有里程计时,利用里程计信息进行位姿更迭。以这两种方式相结合的方式构建地图比原来单纯依靠里程计的位姿迭代更新创建的地图效果更加理想,通过引入绝对路标信息成功纠正了里程计的位姿累积误差(尤其是角度误差),解决了地图重复精度问题。
2.3 路径规划
机器人路径规划是根据当前环境和目标点信息规划出下一刻机器人的运动速度和方向。通过人为预先设定的环境信息,可以规划好一条最优的路径,方便对机器人进行来回自主导航。由于SLAM算法本身只完成定位和地图构建,同导航定位/运动规划还不完全等价。事实上,在完成同步定位与地图构建后,要进行目标点导航能力。这就是所谓的路径规划,本质就是规划出一条A点到B点的路径,让机器人过去。要实现这个过程,运动规划需实现两个层次的模块,一个叫做全局规划。另一个层次的规划模块,叫做局部规划,采用的是D*路径搜索算法。结合两种算法,我们本次研发的医疗服务机器人将这两个层次的规划模块一起协同,机器人就可以很好的实现从A到B点的行动了。使机器人在环境地图上求取两点之间的最小代价路径,并且能避开障碍物,動态规划出一条较优的路径。
2.4 自动回充
为了提高机器人使用便利性,避免电量过低导致机器无法运作的问题,我们为本次医疗服务机器人设计了自动回充功能。在检测到自己电量不足后,将会启动自动回充功能,首先通过路径规划机器人走到充电坞附近,然后使用光电红外对接的方式实现与充电坞的对接,通过充电座发出的红外线信号而检测出与充电座之间的相对位置信息引导回归到充电坞。红外的对接系统由红外发射管与红外接收管组成。红外发射管在发送数据的时候采用调制的方式,即将要送的数据和一定频率的载波作“与”操作,这样可以提高发送的效率以及降级发射的功耗。
为了实现充电坞的对接,机器人的需要接收充电坞的引导。当机器人走到充电坞的附近,理论上应该就能够接收到充电坞上发出的红外引导信号。但是实际情况下,由于机器人走到充电附近时的姿态朝向以及障碍物的影响,可能不能接受到充电坞发出的红外引导信号。所以,为了保证机器人能可靠地接收到充电坞的引导,我们首先需要让机器人找到引导信号。机器人在充电坞红外信号的引导下,每次步进10厘米,然后继续根据检测到的信号来调整自己的位置和姿态,由于红外接收器是安装在机器人后方,所以机器人是倒退着走向充电坞的。机器人与充电坞的对接根据机器人相对充电坞不同位置处理方式不同。
2.5 语音控制
本次研发的医疗服务机器人可以通过语音控制机器人,机器人上设置麦克风,配合语音识别技术,可以使得医护人员能够通过固定格式的语音来指挥机器人完成所下的命令的动作,例如巡视病房、移动至某个床位前等。通过语音直接操作机器人,具有操作便利、智能化的优势,还能够有效减轻医护人员的工作压力,提高医护人员的工作效率。
3 复杂环境下的SLAM算法调优(核心算法和优化结果对比)
3.1 简述
通常机器人服务的环境复杂多变,如何更加准确的建立室内地图成为复杂环境中机器人的首要问题。本次研发的医疗服务机器人为此针对影响SLAM建圖准确性的两个重要因素进行优化,将SLAM室内地图的准确性提高,为后续的自主移动,自主定位实现打下坚实的基础。具体优化方向是里程计反馈优化和SLAM闭环检测,里程计既是机器人移动物理环境下的距离、方向,准确的里程计数据,可以获得机器人相对初始位置的相对位移。而机器人建图时经常会遇到的另外一个问题,当重新回到之前的某个位置时,已经建好的地图会错位并叠加到一起,导致室内地图混乱,为此本次研发的医疗服务机器人使用SLAM闭环检测算法,当SLAM算法发现回到某个之前的位置时,通过算法重新校准地图,消除之前的累积误差。下面是对两个优化方向的详细介绍。
3.2 里程计优化处理
里程计原理是利用从移动传感器获得的数据来估计物体位置随时间的变化而改变。改方法往往应用于多种机器人系统,估算相对于初始位置移动的距离。其对由速度对时间积分来求得位置的估算时所产生的误差十分敏感。本次研发的医疗服务机器人是由两个并行的驱动轮来提供动力,为此我们采用PID算法校准里程计反馈数据。
实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一。当被控对象结构和参数不能完全掌握时,控制理论其他技术难以采用时,系统控制器结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
由增量式的PID表达式可知,增量式PID算法的控制增量只与过去的三组误差量有关。因此在程序的实现上就容易很多。同时需要存储和处理的数据量也大大降低,对处理器的处理速度和存储要求也就大大降低,因此增量式PID控制算法是嵌入式控制系统中普遍使用的一种算法。在PID控制中,PID参数设置是影响精度的最重要因素,为此我们参照PID参数工程整定方法的基本原则:
(1)在输出不震荡时,增大比例增益P。(2)在输出不震荡时,减小比例增益Ti。(3)在输出不震荡时,增大比例增益Td。
在导航系统中,里程计是一种利用致动器的移动数据来估算机器人位置随时间改变量的方法。虽然我们利用PID算法最大程度地消除误差,但里程计总是会遇到误差累计问题。
3.3 SLAM闭环检测
当机器人在不光滑的表面运动时,误差是由多种影响因素交互产生的。误差随时间的累积,导致了里程计的读数增加,SLAM的偏移也会越大。为此我们引入视觉矫正来增强机器人在任何表面以任何方式移动时的导航精度。
算法基于以下几个步骤:(1)图像获取:单目照相机、双目照相机或者全向照相机;(2)图像校正:使用一些图像处理技术来去除透镜畸变;(3)特征检测:确定感兴趣的描述符,在帧与帧之间匹配特征并构建光流场;(4)检查光流场向量
是否存在潜在的跟踪误差,移除外点;(5)由光流场估计照相机的运动;(6)周期性的重定位跟踪点。
通过PID算法优化里程计精确度,并辅以视觉里程计周期性重定位,本次研发的医疗服务机器人在SLAM建图过程中,实现了高精度的地图构建,机器人运行过程更加稳定。
4 结束语
当前,从医疗服务机器人的热点来看,为满足医疗机器人复杂环境下的适应性,医疗服务机器人正朝着智能化、自主化方向发展。随着经济全球化的发展和人口老龄化的加剧,医疗服务机器人的需求也在不断增加,从而为本研究医疗机器人的发展提供了更广阔的市场空间和发展机遇。
参考文献:
[1]维普.服务机器人年销售收入将超300亿元[J].城市开发:物业管理,2016(5):7.
[2]秦汉.机器人技术的发展与应用综述[J].赤峰学院学报(自然科学版),2018(2):38-40.
[3]邓广福,王效,刘鹏,等.机器人技术的国内外发展现状探究[J].装备制造技术,2015(4):237-238.
[4]储明帅.基于增量平滑的移动机器人同时定位与地区构建的研究[D].北京交通大学,2016:12-30.
[5]王淮卿.基于互联网与SLAM的移动机器人系统研究[D].哈尔滨工业大学,2015:9-41.