Autoware 1.12.0 源码安装总结
终于是跑通了autoware的demo,源码安装的过程中踩了挺多坑的,本文总结一下安装过程并记录遇到的问题。安装autoware之前最好大概搜索一下其他人的安装过程然后再去官网一步步安装,能少走很多弯路。
(autoware的整个资源已经迁移到gitlab了,之前github主页也会提醒转到gitlab网站)
一、配置及需要预先安装的软件
autoware需要提前安装的东西挺多的,最好确保这些都安装正确再继续。
- Ubuntu 16.04 LTS,安装过程可参考我的这篇博客:Ubuntu 16.04安装过程中的一些总结
注意第一个坑! 安装完ubuntu系统之后最好不要去安装anaconda,因为装完anaconda会把原始Ubuntu自带的python 2.7替换为Python3(ROS很多包都会用到python 2.7)我第一次试着装autoware的时候就装了anaconda,重新创建了一个python 2.7的conda环境之后在跑autoware demo的时候出现了打不开autoware的运行时系统的问题,所以为了节省精力,还是不要装anaconda的好。 - ROS kinetic,安装过程可以参考我的这篇博客:ubuntu 16.04 ROS Kinetic安装
安装ROS相对容易许多,除了这篇文章中提到的换国内源之后出现的GPG ERROR问题,整体安装下来比较顺利。
(ROS Kinetic本身就自带了OpenCV 3.3.1,也可以装完ROS之后可以用import cv2
和cv2.__version__
查看版本) - QT 5.2.1及以上,这里我装的是QT 5.9.9(去官网下载即可),至于QT-ROS的插件安装过程我后续加到这来
- CUDA 9.0,autoware要求CUDA的版本是9.0,所以还是严格按照官网要求来做,我怕出现问题就没装其他版本。装CUDA前先看看显卡驱动是不是和你的内核要求的驱动版本一致,不一致会出现:Failed to initialize NVML: Driver/library version mismatch,下文有解决该问题的博客链接。
参考链接:- CUDA下载地址
- CUDA 9.0下载与安装
(这一步中修改环境变量之后一定要用source ~/.bashrc
更新,最后用nvcc -V
检查cuda版本) - 解决Failed to initialize NVML: Driver/library version mismatch
2. Autoware安装
确保以上的软件都正确安装之后就可以按照官网的步骤安装了。我这里就直接拷贝指令过来吧,省得如果要再装的话去官网找了。
I. 安装相关依赖
sudo apt-get update
sudo apt-get install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin gksu
sudo apt-get install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
pip3 install -U setuptools
II. Build
创建工作空间
mkdir -p autoware.ai/src
cd autoware.ai
下载autoware.ai到工作空间
wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"
vcs import src < autoware.ai.repos
用rosdep安装依赖
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
编译工作空间(这里是with CUDA support)
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
踩坑:动态库链接libEGL.so损坏
为了解决上述问题,我参考了这篇博客,根据报错情况,这里损坏的链接是libEGL.so
。先看该文件是否存在,我是有这个文件的,但是打开文件的properties
之后会发现链接已损坏,如下:
所以先删除该文件,再重新添加链接。
sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so
sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
出现下图就说明安装好了,有的包出现警告应该不影响。还有一点就是DNN相关的包不会自动安装。
3. 运行Autoware ROSBAG Demo
运行demo之前需要按照官网的要求下载两个数据包。建议直接从谷歌云盘下载。并且注意一下两个数据包的大小,sample_moriyama_data.tar.gz
大小约为133MB,sample_moriyama_150324.tar.gz
比较大,有3GB左右。
官方demo网址
下载之后过程就比较简单了,搬运的指令如下:
第一步,解压文件
cd ~
mkdir .autoware
cd .autoware
cp ~/Downloads/sample_moriyama_* .
tar zxfv sample_moriyama_150324.tar.gz
tar zxfv sample_moriyama_data.tar.gz
(这里面要严格按照官网要求创建.autoware
文件夹,我在CSDN上看到了有的博主提到了这个问题,文章参考)
第二步,运行
cd autoware.ai
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch
(这里会打开两个窗口)
第三步,设置simulation的.bag
文件,play之后直接pause
第四步,打开Rviz,设置配置文件(File-->Open Config
)autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/default.rviz
第五步,打开quick start界面,添加相关例子的路径:autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/.
第六步,开始运行simulation: