FRONTIER DISCUSSION | 前沿探讨
基于激光雷达的自动驾驶的方案设计
王建彬 张轩望 谭卓 侯明北京信息科技大学 北京市 100192
摘 要: 针对在封闭环境内智能车如何实现自动驾驶问题,本文通过算法与理论的分析以及在仿真环境中进行运动规划的验证,进而得到了一套低成本、简单易操控的自动驾驶引导方案。经实验结果证明,基于ROS平台设计的智能车,在地图构建(SLAM)、定位、路径规划方面具有较好的稳定性、实时性、快速性与准确性。关键词:自动驾驶 ROS 仿真Scheme Design of Automatic Driving based on LidarWang Jianbin Zhang Xuanwang Tan Zhuo Hou Ming
Aiming at the problem of how to realize automatic driving of smart cars in a closed environment, this paper uses algorithm and theory analysis and Abstract: verifi cation of motion planning in a simulation environment to obtain a set of low-cost, simple and easy-to-control automatic driving guidance solutions. The experimental results prove that the smart car designed based on the ROS platform has good stability, real-time, rapidity and accuracy in terms of map construction,SLAM, positioning, and path planning.Key words:autonomous driving, ROS, simulation1 自动驾驶的整体设计方案
这套针对封闭环境中既定路径下车辆自动驾驶的控制方案是基于ROS操作平台实现的,ROS提供了大量的工具组合用来进行功能的配置、启动、自检、调试以及可视化。在ROS平台中使用Gmapping算法针对激光雷达和IMU位姿传感器检测和采集的信息对周围环境进行二维栅格地图构建(SLAM)、采用AMCL算法来实现车辆在地图中的准确定位、最后通过A*算法进行全局的路径规划。在路径规划中针对道路中临时出现的障碍通过TEB算法进行判别并进行局部的路径规划以实现对其合理避让。整套方案在结构上具有适应性广泛、开发成本低的特点,在不降低效率的前提下实现了对于自动驾驶的功能。
里程计测量信息,经过TF转换,输出地图信息和位姿估计。
和H值相加所得。G值对应从起始点移动到指定方格的移动代价,H值为指定方格移动到终点的估算成本。寻找F值最小的方格放入开放列表中,将该方格作为新的起始点,重复上述操作,直到起始点周围方格中包含终点,则此时成功找到合适路径。
3 定位以及导航算法功能介绍
AMCL全称为自适应蒙特卡洛定位,是在传统MCL定位算法基础上,添加KLD采样实现功能改进。针对已有的地图,使用粒子滤波器跟踪机器人位置姿态。AMCL算法解决了机器人绑架问题,有效防止迭代过程中重要信息粒子的缺失,并极大程度地提高了运算效率。
5 局部路径规划
局部路径规划代价地图包含障碍地图层和膨胀层。该功能用于小车行进过程中,对地图中未记录的障碍信息,能够及时改变路径避开障碍。局部路径规划器是基于TEB算法实现的。
TEB算法核心围绕位姿和记录时间序列展开。位姿及为机器人在地图中的位置、姿态信息记录不同时间段的位姿信息,经过整合形成位姿序列。时间序列则由相邻位姿状态变化所经历的时间∆t整合而成。将位姿序列和时间序列进行合并,以全局路径允许的最大路径作为约束条件,通过加权目标优化获取最优的路径点。
4 全局路径规划
全局路径规划代价地图包含地图层和膨胀层。并基于A*算法配置、设计全局路径规划器,通过全局代价题图获取单元格代价信息,通过计算寻找起点与终点之间最小代价路径。本节将具体介绍A*算法的基本原理以及实现过程。A*算法第一部是将区域作方格化简化操作,将二维区域地图简化为2维数组的形式,数组的每个元素对应一个方格,便于计算操作。在简化搜索区域完成后,需标注起始点、终点和障碍的位置信息。准备工作完成后,将起始点放入开放列表中,对其周围的八个方格,计算F值,F值由G值
2 基于Gmapping建图功能的设计
SLAM全称为Simultaneous Localization and Mapping,及定位的同时完成建图。本节从Gmapping算法功能包开始,结合重要参数信息展开介绍SLAM建图功能。
Gmapping运行的理论基础为通过从激光雷达和里程计分别获取数组观测向量信息和
6 智能车在Gazebo中的仿真
实现基于ROS操作系统的智能车仿真,
14
AUTO TIME
Copyright©博看网 www.bookan.com.cn. All Rights Reserved.FRONTIER DISCUSSION | 前沿探讨
时代汽车 www.cnautotime.com需要一个稳定且功能强大的仿真的环境。ROS 官方专门提供了Gazebo物理仿真软件。Gazebo仿真环境可以实现机器人在三维环境中完成复杂动作。Gazebo不仅提供各种可二次开发的数据库,还可以与ROS系统中的其他平台进行通讯,不仅提高了开发人员的工作效率也为ROS 平台的开发提供了更多的可能性。仿真具体过程的流程如下:
6.1 车模与运动控制器的建立
在ROS操作系统里面,一个完整的机器人仿真模型由一系列的link和joint组成,斑纹采用acrox描述文件来构建车模的link(部件)与joint(连接件)的基本属性。Link设置模型的各个部件的特性与名称,link的三个属性分别为,conllision,inertial分别与外观,碰撞属性和惯性特性相对应。Joint则是连接两个link的关节,将parent link与child link进行连接,由于parent link与child link的运动关系不同,使得不同joint之间的连接类型不同,下表为仿真模型用到的主要joint类型参数。控制器的配置在很大程度上决定了车模的属性。
结合AMCL算法实现小车自定位,为建图做好准备。然后,通过采用设计好的控制工具包提供的滑块控制车模在环境中运动(如图2所示),通过rviz可以观察车模运动过程中地图的扫描情况。在车模运动过程中,gampping算法将车模的坐标控制信息、里程计坐标信息、激光雷达坐标信息进行处理运算实现二维地图的构建。完成建图工作后使用 map_server 命令行工具将扫描好的地图进行保存。
Gzaebo在仿真环境中的研究。
为了测试智能车在仿真环境中的性能。通过激光雷达建立栅格地图与环境模型进行对比,验证实验结果的准确性。将栅格地图与环境模型进行比较,可知智能车在环境建图测试中表现良好,拥有着较为精准的导航与建图功能。图4为测试结果。
图4 环境地图与栅格地图的对比
图2 Gazebo与rviz仿真环境下建图
6.3 导航:
首先,开启gazebo和rviz的仿真环境,在gazebo仿真环境中增设障碍物锥桶,以模拟真实环境中的路况变化。Rviz能够加载显示出新建好的二维栅格地图。其次,分别开启全局路径规划、局部路径规划、AMCL定位的功能文件,自动引导启动与定位和导航相关的多个节点。通过在rviz上使用2D-nav goal指定目标点的位姿矢量,之后move_base节点自动订阅车模坐标信息进行定位,并由此计算出最佳路径,由控制器发送指令控制车模沿路径方向移动至终点。
8 结论
基于该方案设计的自主驾驶方案,经过基于ROS平台的 Gezabo 仿真实验,得到了准确度较高的栅格地图,经与仿真环境中的赛道进行对比,证实了该方案在校园清洁、 医院消毒、封闭环境中的自动驾驶与路径规划等应用场景的可行性。
图1 RVIZ中构建的智能车模型图
参考文献:
[1]恩里克费尔南德斯.ROS 机器人程序设计
智能车模型的运动控制器配置过程:1)在配置模型属性的过程中,模型的各部分joint已经添加了gazebo的标签并且添加了相应的控制器插件,接下来通过一个yaml文件,声明仿真需要的controller以及相对应的参数,并通过joint_state_controller来发布每个关节的实时状态。
2)生成启动文件,在文件目录下加载需要加载的controller
6.2 建图:
首先,打开 gazebo和rviz的launch启动文件,此时将加载仿真车模及其仿真环境,以及启动gampping的功能文件。接着gazebo结点会自动订阅车模坐标控制信息、里程计坐标信息、激光雷达坐标信息,
图3 智能车在仿真环境中进行导航功能
[M]. 机械工业出版社.2016.
[2]李鑫. 基于激光雷达的同时定位与建图方法研究[D].长沙.
[3]高翔,张涛.视觉SLAM十四讲:从理论到实践[M].北京:电子工业出版社,2017.
7 仿真结果的分析
经过测试本实验设计的智能车可以在仿真环境中完成SLAM导航,Gmapping建立栅格地图,躲避障碍物等功能,实现了
作者简介
王建彬: (2000.01.31—),男,汉族,山东省
寿光市人,本科生。主要研究方向:SLAM技术与智能机器人。
AUTO TIME
15
Copyright©博看网 www.bookan.com.cn. All Rights Reserved.