王兴伟,陈 浩,师 普,史金炆,刘 煜
(中国石油大学(华东) 山东 青岛 266580)
针对地图构建的问题,现在一些陆地机器人已经实现,但只能构建二维地图,对于机器人的控制,目前也只限于人工控制,一旦失去通信信号,将无法实现对机器人的有效控制,除此之外,传统救援机器人由于缺少多机器人间的协同性,救援效率不高。现阶段,灾后救援机器人控制方式单一(人工控制),且环境信息采集能力较弱,对于灾后完全陌生的环境不具备自定位和导航功能。灾害发生后,若不能及时的获得灾区环境内部情况,就不能实时的展开有效的救援以及疏散工作。本系统提出的通过多机器人编队式互联来实现及时定位与环境地图构建的方案,能有效地开展救援工作与环境信息的采集。结合双目视觉,人工智能等技术,在灾后现场第一时间自主的进行地图构建和救援准备工作。
本系统在实现受灾环境的地图构建时:由机器人从一个未知点开始移动,利用激光测距雷达发射电磁波,当电磁波遇到阻碍就会反射回来,通过记录电磁波往返的时间,根据电磁波在介质中的传播速度从而计算出机器人到障碍物的距离,同时将障碍物标记为路标点,然后根据机器人与路标点之间的相对位置和里程计的读数估计出机器人自身和路标点的位置,构成全局坐标系,机器人继续运动,进行路标识别和自身定位,最终构建出完整的路标地图。
里程计和激光测距雷达放置在密封壳内,从而完成机器人的定位和误差校正;使用超远距离传输模块Xbeepro进行数据传输,确保数据的可靠性。树莓派控制器安装在密封壳内主板上,内部移植ROS操作系统实现完整SLAM。现有SLAM算法的实现是在MATLAB仿真软件的环境下实现的,本作品在树莓派上安装Ubuntu系统,再将ROS机器人操作系统移植到Ubuntu系统中,调用ROS中相应的功能包实现仿真。并将SLAM算法移植到ROS中,对机器人电机转速进行控制,处理传感器测得的数据信息,实现对机器人的实际控制,最终构建特征地图,实现完整的SLAM过程。
地图信息采集上,通过在树莓派系统上移植机器人控制操作系统的方法,实现对机器人的运动控制,配合激光测距雷达、里程计等,采用SLAM技术(全称即时定位与地图构建),实现机器人自主导航和地图构建功能。同时实现地图构建数据的处理、存储与传输,救援人员可在远程手持设备上查看地图和图像,便于开展救援决策、发送指挥指令,机器人搭载的声光报警设备可引导被困人员撤离。
我们所采用的SLAM技术是智能机器人的基础技术,解决机器人自主导航过程中的三个问题:“我在哪”,“到哪去”和“怎么去”。机器人通过应周围环境,定位自己,构建地图,寻找目标点,规划行驶路线。现有的机器人的定位方法大体可以分为三种:相对定位,绝对定位和组合定位。相对定位是依靠机器人自身的感应器进行的定位,绝对定位是依靠外界发来的定位信息对自己进行定位,组合定位是相对定位和绝对定位一起进行综合定位。在作品功能实现的过程中,我们对机器人运动模型公式进行了改进。
外部传感器通过观测周围的环境,解析观测信息,来对自己进行定位。某个环境特征相对于机器人自己的位置信息为Z(k),则公式1所示:
其中xi和yi是某个环境特征位置的坐标,xvy(k)和xvx(k)为机器人的位置坐标。
内部传感器通过感应机器人的运动信息来定位,下图为机器人的运动模型,设当前时刻为i,下一时刻的时间就是i+1。那么相对应的当前位置的横坐标为x(i),纵坐标为y(i),面向角为θ(i),下一时刻的位置为横坐标为x(i+1),纵坐标为y(i+1),面向角为θ(i+1)。感应器测得的位移数据横坐标为△x(i),纵坐标为△y(i),面向角为△θ(i),最后的是感应器测量时的误差。
公式2就是机器人运动过程中通过自身感应器通过之前的位置信息和测得的移动信息对当前的位置信息进行推算的公式,即为运动模型公式。
图1 基于SLAM技术的地图构建流程图
系统能够实现灾后环境的地图构建,并且标定出被救援目标的位置,为救援人员进场搜救奠定基础。是通过在树莓派嵌入式环境上移植ROS机器人操作系统,同时搭载激光雷达与摄像头等多种传感器配合来实现的。
这里我们采用的算法核心是扩展卡尔曼滤波器(EKF)。它用于结合信息估计机器人准确位置,选取的特征一般称作地标。EKF在这个过程中将持续不断的估计周围环境中机器人位置和地标位置。
图2 EKFSLAM算法的MATLAB仿真图
测距单元的输出表示的距离是机器人与最近的障碍物的距离。机器人自身位置的一个估计可以通过对机器人轮胎运行圈数的估计得到,由此得到的数据可以被看作EKF的初值。在确定完需要提取的特征后,需要从测距单元获得的信息中准确的提取出为救援人员进入所提供的特征。我们通过在实验中验证如何从激光雷达得到的信息中提取有效特征得出结论。两种典型的特征提取方法,Spike方法和RANSAC方法会产生适合适合环境条件的结果。
SLAM过程的目标就是利用环境信息构建环境地图,在此基础上更新机器人的位置姿态实现机器人定位。对环境信息进行特征提取,与已知地图进行特征匹配,当机器人再次运动时进行再次观测,进行特征点更新。这些特征被称为路标,根据路标点可靠地估计机器人的位置信息。不断进行循环迭代,逐步减小误差,完成传感器网络的组网和地图构建。
本系统通过及时定位与地图构建(SLAM)来为救援人员进入灾区制定路线,可以自行规避路途中遇到的障碍物,进而到达救援现场的指定位置并营救被困人员,极大地缩短了救援时间。同时不需要采用交流电,可以应付各类复杂状况。本系统还具有普适性,对比系统封闭的现阶段救援产品,我们可以根据需求随时搭载各种所需要的传感器进行工作。因此,此地图构建系统可以应用于各类自然灾害现场,如火灾、地震灾害等现场的探测及救援,同时可以作为探险救援队的装备来推广。