ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在NVIDIA Jetson TX2上安装Autoware,并实车测试激光SLAM建图

2019-09-03 20:43:51  阅读:1418  来源: 互联网

标签:Autoware bag 建图 SLAM Ubuntu ROS 安装


在NVIDIA Jetson TX2上安装Autoware,并实车测试激光SLAM建图

2019年01月15日 23:23:01 W_Tortoise 阅读数 2084更多

分类专栏: SLAM

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/learning_tortosie/article/details/86484505

Autoware是世界上第一款用于自动驾驶汽车的“一体化”开源软件,主要适用于城市,但也可以涵盖公路,高速公路等。
Autoware的代码库受BSD许可证保护。请自行决定使用它。
为了安全使用,Autoware为那些没有真正自动驾驶汽车的人提供基于ROSBAG的仿真环境。
如果计划将Autoware与真实的自动驾驶汽车一起使用,请在现场测试前制定安全措施和风险评估。

1 Autoware是什么?

Autoware提供丰富的自动驾驶模块,包括传感,计算和驱动功能。下图描述了这些功能。
关键词包括定位,建图,目标检测和跟踪,交通灯识别,任务和运动规划,轨迹生成,车道检测和选择,车辆控制,传感器融合,摄像机,激光雷达,雷达,深度学习,基于规则的系统,连接导航,日志,虚拟现实等。
用户手册:https://github.com/CPFL/Autoware-Manuals
在这里插入图片描述

2 推荐的系统配置

  • Number of CPU cores: 8
  • RAM size: 32GB
  • Storage size: 64GB+

注意:这里只是推荐的配置,如果能达到这个配置,就可以更好的运行Autoware,发挥其最大功能,但是配置低点也是能运行的,只是效果会有差距,比如,可以在NVIDIA Jetson TX2上安装并运行Autoware。

3 安装

是不是很炫酷?
等安装完成,你会发现还有精心设计UI界面,操作十分简单。
还等什么,赶紧开始吧!
安装方式分Docker源码两种方式,这里以源码方式为例。
在这里插入图片描述

3.1 要求

  • ROS indigo (Ubuntu 14.04) or ROS jade (Ubuntu 15.04) or ROS kinetic (Ubuntu 16.04)
  • OpenCV 2.4.10 or higher
  • Qt 5.2.1 or higher
  • CUDA (可选)
  • FlyCapture2 (可选,PointGrey相机SDK)
  • Armadillo (可选,Armadillo是一个用于C ++语言的高质量线性代数库,旨在实现速度和易用性之间的良好平衡)

注:我用的TX2,出厂预装的Ubuntu 16.04系统,没有刷机装一些库,只安装了ROS,然后安装Autoware时自动安装了OpenCV 2.4.9.1,有悖第二条要求,但是运行没有问题。

3.2 为Ubuntu 14.04 Indigo安装系统依赖项

sudo apt-get install -y  python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin
sudo add-apt-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install libmosquitto-dev
  • 1
  • 2
  • 3
  • 4

注意:请不要安装ros-indigo-velodyne-pointcloud软件包。如果已经安装,请卸载。

3.2 为Ubuntu 16.04 Kinetic安装系统依赖项

sudo apt-get update
sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu
  • 1
  • 2

注意:ROS Kinetic不支持以下软件包。

  • gazebo
  • orb slam
  • dpm ocv

3.3 编译

(1)克隆仓库

cd $HOME
git clone https://github.com/CPFL/Autoware.git --recurse-submodules
  • 1
  • 2

如果之前下载过旧版本,可运行git submodule update --init --recursive进行升级。
(2)初始化工作空间,让rosdep安装缺少的依赖项并编译

cd ~/Autoware/ros/src
catkin_init_workspace
cd ../
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
./catkin_make_release
  • 1
  • 2
  • 3
  • 4
  • 5

注意:如果想最简单地安装Autoware,只需要提前安装好ROS,这里会把缺少的依赖项一并安装。

3.4 基于DNN的节点

几个基于DNN的节点(如RCNN,SSD和Yolo)不会自动构建。

要构建这些节点,请遵循相应节点的README,SSD Darknet现已包含在Autoware的感知部分中。

3.5 启动

cd $HOME/Autoware/ros
./run
  • 1
  • 2

然后根据下面的教学视频学习使用方法。

4 教学视频

最好的方法就是跟着教学视频操作了。
地址:https://github.com/CPFL/Autoware/wiki/videos (需要科学上网)
包括以下内容:

  • 快速开始
  • 建图
  • 加载地图
  • 使用GNSS进行定位
  • 没有GNSS的定位
  • 使用SSD进行目标检测
  • 使用Yolo2进行目标检测
  • 使用Yolo3进行目标检测
  • 使用DPM进行目标检测
  • 欧几里德聚类检测
  • 交通灯识别
  • 使用ROSBAG进行规划
  • 使用wf_simulator进行规划
  • 使用混合状态A*进行规划
  • 标定工具包
  • bag文件的数据处理器
  • Ftrace

5 现场测试

Autoware的一个显著优势是,一旦3D LiDAR传感器安装在车辆上,就可以在一天内开始对自动驾驶车辆进行现场测试。
可以使用Autoware构建3D地图,制作路线并自动跟踪它。
另外,还需要相机和带有全套Autoware模块的专业3D地图。
但是,第一次进行现场测试时,可以从以下简单测试开始。

5.1 构建点云图

Autoware提供基于同时定位与建图(SLAM)的3D建图模块。它在手动驾驶车辆时构建局部坐标点云地图。应该注意回环检测的约束。如果距离原点太远,则生成的点云地图可能与实际地理要素不对齐,除非使用Graph SLAM方法。也就是说,Autoware单独构建的点云地图不应该是大规模的。

5.2 在点云地图中制作路线

一旦点云地图创建完成,就可以创建一个你想要自主跟随的路线。
制定路线最直接的方法是在路线上手动驾驶一次并记录车辆位置。这些车辆位置的轨迹可以保存为路径点(waypoints)。
你所要做的就是跟随这些路径点,也就是寻迹。
另一方面,更智能的方法是使用VectorMapper将道路特征添加到点云地图中,并跟随包含路线车道中心线的路点;然而,这是一项耗时的任务。

5.3 跟随路线上的路径点

一旦制作了一个带有路径点的路线,你所要做的就是跟随这些路径点,根据定位和检测结果控制速度/油门和角度/转向。
在公共道路上,需要激活更多模块,例如目标跟踪器,交通灯识别器和决策器。
实际上,还可以假设路径点是由一些高精度导航服务生成的,Autoware.AI将支持这些服务。路径点准备就绪后,在此尝试的练习将适用于任何测试领域。

6 实车测试

1.硬件

  • 自动驾驶汽车
  • TX2
  • 速腾聚创16线激光雷达

2.软件

  • Autoware
  • ROS Kinetic
  • Ubuntu 16.04

3.步骤

  • 在TX2上配置好Autoware(很顺利,没遇到问题)
  • 人工驾驶装有激光雷达的汽车采集bag数据
  • 根据教学视频的建图部分操作

4.测试结果
部分俯视图如下图所示,是不是看着还不错?
在这里插入图片描述
再看看这个侧视图,垂直方向明显存在很大的误差,这就有点尴尬了哦。
在这里插入图片描述
5.分析

  • Autoware的SLAM没有类似视觉中消除累计误差的回环检测模块,因此不适合大场景,那到底多大的场景算大?
  • TX2性能不足,因此我尝试在性能更好的计算平台上安装Autoware,但是遇到一些问题,待更新。
  • 数据问题,采集数据时车速过快,转弯时也较快。

6.注意事项

  • 现在的方案是提前录制好bag,然后播放bag进行建图。如果不提前录制bag,而是直接启动激光雷达驱动,那么将无法建图,就算静止时也会发飘,呈半圆弧状无限旋转运动。具体原因是什么,我还不清楚。
  • Autoware的Lidar topic为points_raw,而Velodyne、镭神智能、速腾聚创等激光雷达发布的topic均不是这个,因此需要修改。一种方法是修改驱动,将发布的topic改为points_raw;另一种方法是录制bag,然后在播放时将驱动默认的topic改为points_raw。以速腾聚创激光雷达为例:rosbag play *.bag /rslidar_points:=/points_raw

7. TO DO

  • 重新采集数据,放慢车速,以及转弯速度
  • 在性能更好的计算平台上安装Autoware,然后建张好图并保存
  • 加载地图进行定位
  • 记录轨迹
  • 寻迹

7 总结

Autoware是一个围绕完整无人驾驶打造的系统,与Apollo类似,有必要深入学习一下。
也可以根据某部分需求,去扒一扒Autoware是如何实现的,然后借鉴过来。
比如,如果只需要激光SLAM建图和导航这部分功能,就要将其剥离出来。

标签:Autoware,bag,建图,SLAM,Ubuntu,ROS,安装
来源: https://blog.csdn.net/qq_25104905/article/details/100526878

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有