APP下载

基于激光雷达和高德地图的移动机器人平台设计

2019-09-03龙天瑶黄元辉

自动化与仪表 2019年8期
关键词:子目标高德移动机器人

黄 虎 ,黄 鹏 ,钟 山 ,龙天瑶 ,黄元辉

(1.成都理工大学 信息科学与技术学院,成都 610059;2.成都理工大学 核技术与自动化工程学院,成都 610059)

近年来,机器人技术得到飞速发展,已经应用到无人驾驶、物流、工业等相关领域。自主导航与避障技术作为机器人的关键技术,主要包含有定位、建图和路径规划3个方面。其中,前2个方面称为实时定位与建图SLAM,通常需要激光雷达、摄像头及超声波传感器等传感器,对环境进行感知而进行建图[1-2];第3个方面称为路径规划,是指在复杂的环境中,满足一定的约束条件下,如行走路径的长度短、路径的代价低、时间短等,找到一条从指定起始位置到指定目标位置的安全、无碰撞的优化路径[3-4]。目前主流移动机器人的路径规划多用于室内进行自主导航。而室外复杂环境下的路径规划,难度较大且成本较高。寻找低成本实现室外远距离路径规划的算法,一直是当前路径规划的研究热点之一。

高德地图Amap开放平台是一个集定位、导航、路线规划、搜索等功能的,成熟的开源性平台[5]。它能够高效地进行全局静态路径规划,但不适用于局部路径的动态规划。故在此提出一种新的路径规划方式,并设计了基于激光雷达与高德地图的移动机器人平台,将机器人操作系统ROS的局部动态路径规划与高德地图的全局路径规划相结合,实现了机器人室外远距离路径规划与导航避障。

1 系统工作原理

ROS是一个适用于机器人的开源的操作系统[6-7]。它提供了操作系统应有的服务,包括:硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写,以及跨计算机运行代码所需的工具和库函数。在此主要使用move_base包,订阅激光雷达、map地图、amcl的定位等消息,规划出全局和局部路径,将路径转化为机器人的速度信息,最终实现机器人导航[8-9]。系统框图如图1所示。

图1 系统框图Fig.1 Systematic block diagram

首先,通过远程终端输入目的地,将目的地坐标信息通过4G网络传输到平板电脑,平板电脑上运行的基于高德地图应用程序编程接口API(application programming interface)的导航 App,通过 GPS定位当前所在位置进行全局的静态路径规划,并将路径分割为多段,每段端点作为子目标点。通过迭代将子目标点依次送入移动机器人平台中,作为机器人的当前目标点。移动机器人平台利用激光雷达和里程计等传感器进行SLAM,通过D*算法规划出一条到子目标点动态路径[10-11],并将速度信息传回STM32,驱动机器人平台移动,实现移动机器人室外远距离导航与避障。

2 硬件选择及实现

2.1 树莓派

树莓派Raspberry Pi是一种基于ARM的微型电脑主板,拥有体积小、功能丰富等优点,可以运行完整的操作系统[12]。在此,选用树莓派3代B型作为主控,它拥有1.2 GHz的主频,1 GB内存,能满足开发的需求。在树莓派上安装Ubuntu mate系统,并运行ROS,通过串口和STM32进行通信,并处理各传感器数据。

2.2 激光雷达

激光雷达作为移动机器人感知环境的主要传感器,通过发射和接受激光扫描周围环境,并将环境信息转换为点云数据。在此,选用思岚A1激光雷达,扫描范围广,扫描精度较高,能准确地将周围环境转换为点云数据,通过串口传送给ROS中,满足该设计的开发需求。激光雷达参数见表1。

表1 激光雷达参数Tab.1 Lidar parameters

2.3 STM32及相关传感器

采用STM32F103C8T6作为底层驱动MCU,对IMU进行解算,得到移动机器人平台角速度;通过编码器进行解算,得到移动机器人平台线速度。对角速度和线速度进行积分,得到里程计信息,将该信息通过串口发送至ROS上层,同时STM32通过串口接收ROS上层发送的速度指令并执行,驱动电机使机器人移动。模块间的数据通信如图2所示。

2.4 平板电脑

图2 模块数据通信Fig.2 Module data communication

选择安卓系统的平板电脑,运行基于高德地图API的导航软件。平板电脑内置有GPS定位模块与基站定位模块,可以定位当前机器人位置。内置4G通信模块,可以通过远程客户端对移动机器人进行位置监测和发出目的地指令。结合自身位置与目标点指令,规划、分割路径,并通过串口通信将子目标点迭代发送至ROS,进行全局导航。

3 软件及相关算法

3.1 导航软件

该平台通过使用高德地图开放平台的接口,开发出一款导航App。在平板电脑上通过4G信号接收终端发来的目的地指令,在原高德地图路径规划的基础上,将路径分割为多段,并提取每段路径端点的经纬度坐标,将其通过串口通信发送至ROS中,便于ROS进行下一步数据处理。同时,通过4G通信发送实时位置到终端,便于终端查询机器人位置。软件导航界面如图3所示。

图3 导航软件界面Fig.3 Navigation software interface

3.2 导航App与ROS平台数据融合

为使导航App的数据能够指导移动机器人平台的运动,以移动机器人平台的出发点为坐标原点,建立了世界坐标系。导航App将路径端点的经纬度数据通过串口发送给移动平台,系统将经纬度坐标转换为世界坐标系上的坐标[13],同时系统将编码器和磁力计数据也转换为世界坐标,实现数据转换。

以正北为y轴正方向,正东为x轴正方向,编码器及磁力计数据转换如下:设由编码器获得的速度为v,从磁力计获取的角度为θ,则转换的坐标分别为

经纬度的数据转换以A,B两点为例:设A,B点的经度分别为 LonA,LonB;维度分别为 LatA,LatB。 坐标转换如图4所示。

图4 坐标转换示意图Fig.4 Diagram of coordinate transformation

可以计算得:

3.3 数据误差处理

由于受地形,基站和GPS信号等影响,经纬度坐标转换存在一定随机误差。因此单独采用经纬度坐标估计移动平台位置是不准确的。使用ROS中robot_pose_ekf扩展卡尔曼滤波融合包,对来自imu[14-16],里程计和经纬度坐标的nav_msgs/Odometry消息进行监听,经过多传感器融合,使经纬度坐标随机误差的影响大大下降,能够用以测算移动平台的实际位置。

3.4 路径算法

路径算法的流程如图5所示。主要包含以下4个步骤:

步骤1目标点输入,使用高德地图开放平台进行路径规划,将全局路径分割为n个子目标节点。

图5 路径算法框图Fig.5 Path algorithm block diagram

步骤2将第 1个子目标节点 F(n),(n=1)点作为机器人的当前子目标点,利用D*算法进行局部动态路径规划到达子目标节点F(n)。

步骤3机器人当前位置F(t)与当前子目标点F(n)之间的距离为M,最小允许距离误差为D。当M

步骤4当从当前位置F(t)到当前子目标点F(n)的实际用时T小于期望时间E,且机器人当前位置F(t)与当前子目标点F(n)之间的距离 M满足M

在Gazebo和Rviz平台进行仿真,仿真结果如图6所示。结果表明,该路径算法有效节省了机器人在未知环境中路径规划的时间,减少了拐角次数与陷入死区次数,避免了路径的偏离,能够有效解决移动机器人远距离路径规划的问题。

4 试验结果与分析

试验效果如图7所示。移动平台从图7d所示起点出发,运行至目标点,运行过程平稳,建图效果良好,如图8所示(所建立的地图为图7c中圈出的部分)。

图6 算法仿真结果Fig.6 Simulation results of the algorithm

图7 试验效果Fig.7 Experimental effect

图8 移动机器人同步建图Fig.8 Mobile robot synchronization mapping

该平台能进行有效的导航和避障,顺利到达目标区域,运行路程全长1.2 km,运行时间37 min,最大速度0.64 m/s,运行过程无碰撞,在一定程度以低成本解决了室外机器人远距离导航和避障。

然而,由于设计使用的激光雷达为二维雷达,所以对地形存在坑洼的地带不能有效避障。在后续的改进中,计划采用多线激光雷达进行三维同步建图,以克服这一缺陷。

5 结语

将搭载ROS系统的移动机器人、激光雷达与高德地图相结合,并进行相关硬件与软件的设计,搭建了一个室外移动机器人平台。仿真试验表明,该设计能够以低成本实现室外机器人远距离路径规划导航和避障,在一定程度上能推动机器人行业的发展,为室外机器人的研发提供了一种新的方案。

猜你喜欢

子目标高德移动机器人
稀疏奖励环境中的分层强化学习①
基于案例属性的子目标挖掘方法①
移动机器人自主动态避障方法
移动机器人路径规划算法综述
雷达群目标跟踪下的弹道预报方法
基于四元数卷积神经网络的移动机器人闭环检测
基于改进强化学习的移动机器人路径规划方法
等车望眼欲穿高德新出的实时公交APP
活地图
高德地图车机版正式发布