用 Docker 方式安装 Autoware

Autoware 简介

Autoware 号称全球第一个自动驾驶开源软件,比百度的 Apollo 更早开源。Udacity self-driving 课程中最早也是结合 Autoware 进行讲解的,后来也出了一个 Apollo 版本的。

百度的 Apollo 自从开源以来发展迅速,合作伙伴已经有不少落地项目了。每次重大版本发布都有百度高管站台,也借春晚平台攒了不少人气。似乎是为了与之抗衡,前不久,自动驾驶业内的一些公司和院校联合成立了 Autoware 基金会。

我们项目组当前使用的自动驾驶基础平台就是 Autoware,主要原因是我们的项目立项是在 Apollo 开源之前,当时可选的只有 Autoware。

Autoware 的安装是一个比较头疼的问题,或许很多大型软件的安装都不轻松。明明按照官网的指导一步一步的安装,可就是出现一些莫名其妙的问题。

采用Docker 方式安装会减少很多麻烦。以下安装步骤主要借鉴这篇文章.

准备工作1: 安装 docker

这部分工作可以参考本博客另一篇文章。

准备工作2: 安装 nvidia-docker (v1.0)

这部分工作可以参考官网 或者本文。

安装 Autoware

与其说安装,不如说是下载并运行相关的 image 文件。

  1. 下载 Autoware 的 image
docker pull autoware/autoware:1.7.0-kinetic
  1. 创建 Docker image 的启动文件
    一般情况下可以直接在命令行中启动 image 文件,但是这里有比较多的参数需要设置,直接在命令行输入不太方便,所以做成 .sh 可执行文件的形式。启动文件的名字可以随便起,例如 run.sh,为了便于管理,创建专门的文件夹存放 run.sh 文件:
mkdir -p ~/Autoware/docker/generic

在此目录下,创建 run.sh 文件,内容如下

#!/bin/sh

XSOCK=/tmp/.X11-unix
XAUTH=/home/$USER/.Xauthority
SHARED_DIR=/home/autoware/.autoware
HOST_DIR=/home/$USER/.autoware

nvidia-docker run \
    -it --rm \
    --volume=$XSOCK:$XSOCK:rw \
    --volume=$XAUTH:$XAUTH:rw \
    --volume=$HOST_DIR:$SHARED_DIR:rw \
    --env="XAUTHORITY=${XAUTH}" \
    --env="DISPLAY=${DISPLAY}" \
    -u autoware \
    --privileged -v /dev/bus/usb:/dev/bus/usb \
    --net=host \
    autoware/autoware:1.7.0-kinetic
  1. 运行 run.sh 文件
cd ~/Autoware/docker/generic
sh run.sh

上述命令如果报错,可能需要 sudo 权限。
运行之后,命令行提示符变成了 autoware@****,这就说明已经进入了Autoware image 对应的一个 docker container,可以在里面运行 Autoware 了。

运行 Autoware demo

在 docker container 中运行 Autoware demo 的过程,与非 docker 模式相同,按照 Autoware 提供的 QuickStart 中的步骤运行即可。也可以参考本博客另一篇文章中的介绍。

你可能感兴趣的:(用 Docker 方式安装 Autoware)