Ubuntu16.04 Autoware环境配置详解

因最近做项目需要用到Autoware,因此安装Autoware,把整个流程记录下,方便自己记忆,也方便做Autoware相关的朋友一起探讨。

安装也是按照其 Github中的Readme(https://github.com/CPFL/Autoware/wiki/Source-Build) 进行安装,在安装Autoware之前,有如下依赖:Ros kinetic(Ubuntu 16.04),OpenCV和Qt。

- 一. Ubuntu 16.04安装 ROS Kinetic

按照wiki官网步骤安装ROS kinetic:http://wiki.ros.org/kinetic/Installation/Ubuntu

  1. 配置您的Ubuntu资源库

    在系统设置中,找到软件与更新,将Main、Ubiverse、Restricted与Multiverse都勾选,允许其从互联网下载。
    Ubuntu16.04 Autoware环境配置详解

  2. 设置你的sources.list

设置你的计算机可以从packages.ros.org接收软件

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 设置你的**
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

如果您遇到连接到keyserver有问题,可以尝试在前面的命令中替换hkp://pgp.mit.edu:80或hkp://keyserver.ubuntu.com:80。

  1. 安装

首先,确保Ubuntu软件包索引是最新的:

sudo apt-get update

ROS中有许多不同的库和工具。我们提供了四种默认配置来帮助您入门。您还可以单独安装ROS包。
全桌面安装:(推荐):ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt-get install ros-kinetic-desktop-full

桌面安装:ROS, rqt, rviz, and robot-generic libraries

sudo apt-get install ros-kinetic-desktop

ROS-Base: (极简版) ROS包、构建和通信库。没有GUI工具。

sudo apt-get install ros-kinetic-ros-base

单个包:还可以安装特定的ROS包(用包名的破折号替换下划线):

sudo apt-get install ros-kinetic-PACKAGE

例如:

sudo apt-get install ros-kinetic-slam-gmapping

查询可用的包,使用:

apt-cache search ros-kinetic
  1. 初始化rosdep

在使用ROS之前,需要初始化rosdep。rosdep使您能够轻松地为要编译的源安装系统依赖项,并且需要在ROS中运行一些核心组件。

sudo rosdep init
rosdep update
  1. 环境设置

当每次启动一个新的shell时,ROS环境变量都会自动添加到bash会话中:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

如果您安装了多个ROS分发包,~/.bashrc必须只提供您当前使用的版本的setup.bash源。
如果您只想更改当前shell的环境,可以输入:

source /opt/ros/kinetic/setup.bash

如果您使用zsh而不是bash,则需要运行以下命令来设置shell:

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc
  1. 构建包的依赖项

到目前为止,您已经安装了运行核心ROS包所需的东西。为了创建和管理您自己的ROS工作区,有各种工具和需求分别分布。例如,rosinstall是一个经常使用的命令行工具,它允许您使用一个命令轻松地下载用于ROS包的许多源代码树。
要安装此工具和构建ROS包的其他依赖项,请运行:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

二. Ubuntu 16.04 安装Opencv 3.4.3

1.去官网下载opencv(http://opencv.org/releases.html),选择3.4.3版本下的Sources.
Ubuntu16.04 Autoware环境配置详解
2.解压下载下来的zip包并进入加压后的文件夹:

unzip opencv-3.4.3.zip
cd opencv-3.4.3

3.安装cmake和依赖库

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

4.创建编译文件夹并进入

mkdir my_build_dir
cd my_build_dir

5.执行cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

6.编译,等待完成

sudo make

7.安装

sudo make install

到此,OpenCV安装完成,下面是环境配置。
8.将OpenCV的库添加到系统可执行路径

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加下面语句并保存:

/usr/local/lib 

9.执行如下命令使得配置路径生效

sudo ldconfig

10.配置bash

sudo gedit /etc/bash.bashrc

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH 

保存,执行如下命令使得配置生效

source /etc/bash.bashrc

三.Ubuntu 16.04 安装QT5
1.从官网上获取qt5.8的安装包。网址为:https://download.qt.io/official_releases/qt/
Ubuntu16.04 Autoware环境配置详解

选择当前最新版5.12,进入后根据自己电脑系统选择运行版本。我的是64位Ubuntu 16.04,因此选择qt-opensource-linux-x64-5.12.0.run。
Ubuntu16.04 Autoware环境配置详解
2.调整权限,运行安装程序,按照指令完成QT安装

chmod +x qt-opensource-linux-x64-5.12.0.run
./qt-opensource-linux-x64-5.12.0.run

运行后,进入安装指导界面,根据提示一步步安装就可以了。
3.安装g++
新打开一个命令终端,执行以下命令安装g++:

sudo apt-get install build-essential

4.安装通用字体配置库-runtime
执行以下命令安装通用字体配置库的完整运行时文件:

sudo apt-get install libfontconfig1

5.配置一个编译器
启动Qt Creator. 进入Tools > Options.点击Build & Run并选择配置选项。如果没有自动检测到编译器,则配置编译器。

6.安装OpenGL库
执行以下命令安装OpenGL库:

sudo apt-get install mesa-common-dev

注意:仅仅安装上面提到的mesa-common-dev kit对于最新的Ubuntu版本来说是不够的。根据Qt论坛中的评论,需要安装一个额外的包。执行下面的命令:

sudo apt-get install libglu1-mesa-dev -y

7.设置文件与pro文件的关联
从联机源安装时,文件关联不会自动完成。当您试图将其与文件资源管理器关联时,它也不会显示。Wiki网上给了示例,但尝试后不成功。尝试如下方法可以:

cd .local/share/applications
ls -l

只有文件“Qt Creator (Enterprise).desktop”,将其复制到桌面,即可打开QT Creator,而不用每次都进入QT安装目录去打开。

四.Autoware安装

1.为Ubuntu16.04 ROS Kinetic安装系统依赖项

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

2.克隆资源代码

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

或者,如果您已经有了repo的副本,那么运行:

git submodule update --init --recursive

3.初始化工作区,让rosdep安装缺失的依赖项并编译。

cd ~/Autoware/ros/src
catkin_init_workspace
cd ../
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
./catkin_make_release

4.运行

cd $HOME/Autoware/ros
 ./run

到这里就完成了Autoware的安装!