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与真实的自动驾驶汽车一起使用,请在现场测试前制定安全措施和风险评估。
Autoware提供丰富的自动驾驶模块,包括传感,计算和驱动功能。下图描述了这些功能。
关键词包括定位,建图,目标检测和跟踪,交通灯识别,任务和运动规划,轨迹生成,车道检测和选择,车辆控制,传感器融合,摄像机,激光雷达,雷达,深度学习,基于规则的系统,连接导航,日志,虚拟现实等。
用户手册:https://github.com/CPFL/Autoware-Manuals
注意:这里只是推荐的配置,如果能达到这个配置,就可以更好的运行Autoware,发挥其最大功能,但是配置低点也是能运行的,只是效果会有差距,比如,可以在NVIDIA Jetson TX2上安装并运行Autoware。
是不是很炫酷?
等安装完成,你会发现还有精心设计UI界面,操作十分简单。
还等什么,赶紧开始吧!
安装方式分Docker和源码两种方式,这里以源码方式为例。
注:我用的TX2,出厂预装的Ubuntu 16.04系统,没有刷机装一些库,只安装了ROS,然后安装Autoware时自动安装了OpenCV 2.4.9.1,有悖第二条要求,但是运行没有问题。
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
注意:请不要安装ros-indigo-velodyne-pointcloud软件包。如果已经安装,请卸载。
sudo apt-get update
sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu
注意:ROS Kinetic不支持以下软件包。
(1)克隆仓库
cd $HOME
git clone https://github.com/CPFL/Autoware.git --recurse-submodules
如果之前下载过旧版本,可运行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
注意:如果想最简单地安装Autoware,只需要提前安装好ROS,这里会把缺少的依赖项一并安装。
几个基于DNN的节点(如RCNN,SSD和Yolo)不会自动构建。
要构建这些节点,请遵循相应节点的README,SSD Darknet现已包含在Autoware的感知部分中。
cd $HOME/Autoware/ros
./run
然后根据下面的教学视频学习使用方法。
最好的方法就是跟着教学视频操作了。
地址:https://github.com/CPFL/Autoware/wiki/videos (需要科学上网)
包括以下内容:
Autoware的一个显著优势是,一旦3D LiDAR传感器安装在车辆上,就可以在一天内开始对自动驾驶车辆进行现场测试。
可以使用Autoware构建3D地图,制作路线并自动跟踪它。
另外,还需要相机和带有全套Autoware模块的专业3D地图。
但是,第一次进行现场测试时,可以从以下简单测试开始。
Autoware提供基于同时定位与建图(SLAM)的3D建图模块。它在手动驾驶车辆时构建局部坐标点云地图。应该注意回环检测的约束。如果距离原点太远,则生成的点云地图可能与实际地理要素不对齐,除非使用Graph SLAM方法。也就是说,Autoware单独构建的点云地图不应该是大规模的。
一旦点云地图创建完成,就可以创建一个你想要自主跟随的路线。
制定路线最直接的方法是在路线上手动驾驶一次并记录车辆位置。这些车辆位置的轨迹可以保存为路径点(waypoints)。
你所要做的就是跟随这些路径点,也就是寻迹。
另一方面,更智能的方法是使用VectorMapper将道路特征添加到点云地图中,并跟随包含路线车道中心线的路点;然而,这是一项耗时的任务。
一旦制作了一个带有路径点的路线,你所要做的就是跟随这些路径点,根据定位和检测结果控制速度/油门和角度/转向。
在公共道路上,需要激活更多模块,例如目标跟踪器,交通灯识别器和决策器。
实际上,还可以假设路径点是由一些高精度导航服务生成的,Autoware.AI将支持这些服务。路径点准备就绪后,在此尝试的练习将适用于任何测试领域。
1.硬件
2.软件
3.步骤
4.测试结果
部分俯视图如下图所示,是不是看着还不错?
再看看这个侧视图,垂直方向明显存在很大的误差,这就有点尴尬了哦。
5.分析
6.注意事项
points_raw
,而Velodyne、镭神智能、速腾聚创等激光雷达发布的topic均不是这个,因此需要修改。一种方法是修改驱动,将发布的topic改为points_raw
;另一种方法是录制bag,然后在播放时将驱动默认的topic改为points_raw
。以速腾聚创激光雷达为例:rosbag play *.bag /rslidar_points:=/points_raw
7. TO DO
Autoware是一个围绕完整无人驾驶打造的系统,与Apollo类似,有必要深入学习一下。
也可以根据某部分需求,去扒一扒Autoware是如何实现的,然后借鉴过来。
比如,如果只需要激光SLAM建图和导航这部分功能,就要将其剥离出来。