查看原文
其他

开发者说 | Apollo仿真环境搭建傻瓜教程

开发者张学军 Apollo开发者社区 2022-07-29

无人驾驶的仿真可以把现实中路跑中的某一段路记录下来,按场景做切分,会切分成许多段。

在红绿灯场景、障碍物场景、U型拐弯场景、斑马线场景中,按场景切分好之后可以适配自己的算法,把自己的算法拿到这些场景上跑,跑完之后仿真平台会给出报告。

报告里会反映是否到达目的地,是否发生碰撞,是否有红绿灯的异常情况等信息。

以下是Apollo社区开发者张学军在知乎上分享的《百度无人驾驶Apollo仿真环境搭建的新手傻瓜教程》,感谢他为我们在仿真环境搭建这一步所做的详细教程。

如果你是萌新开发者,可能要浪费很多的时间才能搞定仿真环境搭建。本文将省却你的苦功,从零开始,一步一步,手把手地教你搭建出你的第一个自动驾驶的仿真环境。


Apollo仿真环境搭建必须要具备以下四个条件,如果不具备,就不必往下进行。

  • 查看你的CPU是否支持FMA和AVX,否则仿真环境Dreamview无法启动(当在浏览器中输入http://localhos:8888,会出现"Unable to connect"的错误)。

  • 浏览器必须支持WebGL,否则仿真界面无法显示动画,这实际上隐含了对GPU的要求,可以不是Nvidia的,但要有。百度提供的仅有CPU的编译选项,只是水中花、镜中月。

  • 必须要有CAN卡的驱动程序,因为这个驱动程序不是开源的,需要你购买硬件时才能提供,虽然只用到了其中的两个文件。

  • 硬盘至少50G,内存至少4G


具备以上四个条件以后,我们就可以按照下面的步骤开始搭建Apollo仿真环境。


一、安装基础操作系统

Step 1  安装Ubuntu 14.04.05

安装方法参考 Ubuntu 16.04安装及配置过程中涉及的主要内容。

Step 2  设定你的用户名

后面用***代表

Step 3  安装Chrome浏览器

无论是Firefox还是Chrome,都要打开对WebGL的支持, 否则Dreamview只有黑色窗口,不显示车和路的动画。

Step 4  打开一个Terminal窗口

输入以下命令:

1$ sudo apt-get update
2$ wget https://dl.google.com/linux/direct/google.chrome-stable_current_amd64.deb
3$ sudo dpkg -i google-chrome-stable_current_amd64.deb

Step 5  解决无法启动的问题

用以下命令解决chrome在ubuntu14.04安装后无法启动的问题:

$ sudo apt install --reinstall libness3

Step 6  安装Google拼音输入法

1$ sudo apt-get install ibus-googlepinyin;
2Log out

Step 7  重新进入系统,让刚才的命令生效

System setting---》Text Entry---》搜索"googlepin", 并添加。

Step 8  安装NVIDIA显卡驱动(可选)

1$ ubuntu-drivers devices;
2$ sudo apt install nvidia-340 (安装指定版本)

Step 9  重启系统

$ nvidia-smi (查看当前驱动版本号)

若不装Nvidia driver, 运行

bash docker/scripts/dev_start.sh 报错。

但不影响后续进程。



二、安装git

$ sudo apt-get install git

下载Apollo源码 

$ git clone https://github.com/ApolloAuto/apollo.git

若下载指定版本则用以下命令:

$ git clone https://github.com/ApolloAuto/apollo.git



三、安装Docker CE环境

1$ sudo apt-get update
2
3$ sudo apt-get install \
4apt-transport-https \
5ca-certificates \
6curl \
7software-properties-common
8
9$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
10$ sudo apt-key fingerprint 0EBFCD88
11
12$ sudo add-apt-repository \
13"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
14$(lsb_release -cs) \
15stable"

16
17$ sudo apt-get update
18
19$ sudo apt-get install docker-ce=17.03.1~ce-0~ubuntu-trusty

把你的用户名加入到docker 中,这样使用docker时无需再输入sudo.

1$ sudo groupadd docker
2$ sudo usermod -aG docker *** (你的用户名)
3Log out

然后重新进入系统,让刚才的命令生效。

$ docker run hello-world

这时不用sudo,命令仍能执行,说明安装成功。



四、下载Apollo依赖环境的image文件

1$ cd apollo   
2(转到apollo文件夹下,这时的命令窗口会显示前缀 ***@你的计算机名:~/apollo$ )
3
4$ bash docker/scripts/dev_start.sh

若从国内下载image, 使用

bash docker/scripts/dev_start.sh-C

速度较快,总共10G左右。

下载成功后,最好导出镜像到本地文件,并备份到移动硬盘上,方法见文末。作为新手,难免需要重装几次的。

当装的不是Nvidia显卡时,会提示“modprobe: FATAL: Module nvidia not found"的错误信息, 不必在意。


五、进入Docker环境

$ bash docker/scripts/dev_into.sh

这时命令窗口显示前缀的方式会发生改变:

 ***@in_dev_docker:/apollo$



六、安装ESD CAN library 

这个步骤只需执行一次。

/home/***/apollo/third_party/

can_card_library/esd_can/目录下,而且要在Docker环境下***@in_dev_docker



七、建立两个新目录include和lib

$ mkdir include
$ mkdir lib


八、拷贝两个文件

ntcan.h 拷贝到 include/
把64-bit的
libntcan.so.4.0.1 拷贝到 lib/


九、进行符号连接

1$ cd./lib/;
2$ ln -s libntcan.so.4.0.1 libntcan.so.4;
3$ ln -s libntcan.so.4.0.1 libntcan.so.4.0


十、编译apollo 

$ bash apollo.sh clean

需重新编译时,才会用到该命令。

$ bash apollo.sh build

不是Nvidia GPU也是可以的。不建议使用 bash apollo.sh build_cpu来编译



十一、启动仿真环境Dreamview

$ bash scripts/bootstrap.sh

有时这步会报错。不要灰心,关掉当前terminal,新开一个terminal并把本节命令执行一遍,就会成功。具体原因未知。

典型的出错信息是:

sampled_right_width_[0.787094] is too small. It should be larger than half vehicle width



十二、启动rosbag

1$ sudo python docs/demo_guide/rosbag_helper.py demo_2.0.bag
2$ rosbag play demo_2.0.bag --loop



十三、打开Chrome

输入http://localhost:8888, 这时你就可以看到仿真窗口了。

  • Module Controller--->打开Planning和Routing;

  • Tasks--->打开SimControl




自Apollo平台开放已来,我们收到了大量开发者的咨询和反馈,越来越多开发者基于Apollo擦出了更多的火花,并愿意将自己的成果贡献出来,这充分体现了Apollo『贡献越多,获得越多』的开源精神。为此我们开设了『开发者说』板块,希望开发者们能够踊跃投稿,更好地为广大自动驾驶开发者营造一个共享交流的平台!


* 以上内容为开发者原创,不代表百度官方言论。

  已获开发者授权,原文地址请戳阅读原文。



﹏﹏﹏﹏﹏   END  ﹏﹏﹏﹏﹏


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存