这将是一篇小白运行autoware的精品文章,注意加关注和点赞。
实测操作环境:
环境名称 | 版本 |
---|---|
操作系统 | Ubuntu 16.TLS |
ROS | Kinetic |
安装大忌: 在anaconda 环境下安装是不行的,要删除anaconda, 安装了autoware之后,再重装anaconda 是可以的,血和泪的教训
首先说一下文章的大体结构,如下图所示。
1. 下载AutoWare
1。 第一部分就是安装啦
首先给出安装的网址:https://github.com/Autoware-AI/autoware.ai
,进入之后,然后翻到ReadMe 文档,点击Source ,查找适合自己系统的版本进行下载。
从下图中可以看到Ubuntu 16.04 最高支持1.12.0版本,我就下载了这个最高版本进行实验。
具体的操作步骤如下:
1 .1. 首先下载必须的工具。
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
sudo apt-get install python3-vcstool
1.2. 创建工作空间
mkdir -p autoware.ai/src
cd autoware.ai
1.3. 下载AutoWare 对 AutoWare.AI工作空间的配置
wget -O autoware.ai.repos "https://raw.githubusercontent.com/Autoware-AI/autoware.ai/1.12.0/autoware.ai.repos"
1.4. 下载AutoWare 代码到工作空间中。
vcs import src < autoware.ai.repos
1.5. 下载rosdep需要的依赖
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
1.6. 不安装Cuda 下进行编译
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
在编译过程中遇到了很多问题,下面就进入第二部分,解决编译问题。
2. 安装AutoWare 依赖
2.1. 安装命令为sudo apt-get install ros-kinetic-grid-map-ros
2.2. 安装命令为sudo apt-get install ros-kinetic-nmea-msgs
2.3.之后执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
编译了53个包,还有79个包没有编译
2.3.1 出现问题为, Could NOT find GLEW
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find GLEW (missing: GLEW_INCLUDE_DIR GLEW_LIBRARY)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindGLEW.cmake:44 (find_package_handle_standard_args)
CMakeLists.txt:15 (find_package)
解决方法,sudo apt-get install libglew-dev
2.4.继续执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
,提示还有73个包还没有编译。
其中,我们看到报错的问题是,
Could not find a package configuration file provided by
“automotive_platform_msgs” with any of the following names:
automotive_platform_msgsConfig.cmake
automotive_platform_msgs-config.cmake
2.4.1 于是我们继续执行如下命令,sudo apt-get install ros-kinetic-autoware-msgs
2.5.继续执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
,提示还有72个包还没有编译,刚才的问题没有解决,但是多编译了一个功能包,说明上面的命令不是针对该错误的命令。
2.6. 我们继续执行安装命令 sudo apt-get install ros-kinetic-automotive-platform-msgs
,执行完之后再执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
。
发现又少了两个错误,,再来看一下报错的问题。说是没有安装automotive的navigation , 世凡师兄说automotive 直接用apt就可以直接安装了。
2.6.1 这是非常经验的说法,下面就执行安装命令。sudo apt-get install ros-kinetic-automotive-navigation-msgs
2.7. 我们继续执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
。
发现还有39个功能包没有安装,我们离胜利越来越近了。而且我们需要的artware_camera_lidar_calibrator
这个功能包找到了。
2.8. 这里我们看到错误,如下图所示,于是我们安装命令如下:sudo apt-get install ros-kinetic-velodyne-pointcloud
2.9. 我们继续执行编译命令colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
。可以看到错误只剩下19个了
2.10 再看错误
2.10.1 输入命令为sudo apt-get install ros-kinetic-gps-common
,并继续进行编译。显示8个功能包没有安装
2.11 然后出现错误,Could NOT find Armadillo (missing: ARMADILLO_LIBRARY ARMADILLO_INCLUDE_DIR)
2.11.1 首先安装给线性集合库需要的依赖
sudo apt install libopenblas-dev liblapack-dev
2.11.2 下载该库,并进行安装。注意,该库不能在autoware.ai下下载
wget http://sourceforge.net/projects/arma/files/armadillo-9.880.1.tar.xz
tar -xvf armadillo-9.880.1.tar.xz
cd armadillo-9.880.1
./configure
make
sudo make install
2.12 到这里,几乎可以说是完成了
这只是警告信息,而不是错误,所以可以忽略。
现在又按照原来的教程走了一遍,发现还是有问题,问题如下所示。
Could not find a package configuration file provided by "jsk_rviz_plugins"
with any of the following names:
jsk_rviz_pluginsConfig.cmake
jsk_rviz_plugins-config.cmake
解决方法sudo apt-get install ros-kinetic-jsk-rviz-plugins
问题 No module named ‘rospkg’
解决方法
pip install rospkg