话不多说,咱直接上手!!!
配置环境:
★ Ubuntu14.04
★ Apollo2.5
注意:内存最好4G以上,硬盘容量至少100G。
1、查看你的CPU是否支持FMA和AVX
$ cat /proc/cpuinfo | grep avx
$ cat /proc/cpuinfo | grep fma
有返回值即支持
2、浏览器必须支持WebGL(最好使用谷歌)
3、安装NVIDIA显卡驱动(可选)(我没装) (若不装Nvidia driver, 运行bash docker/scripts/dev_start.sh报错,但不影响后续进程)
$ ubuntu-drivers devices
会显示推荐安装的驱动,装那个就好
$ sudo apt install nvidia-340 (安装指定版本)
4、安装git
$ sudo apt-get install git
5、下载Apollo源码
$ git clone https://github.com/ApolloAuto/apollo.git
// 若下载指定版本
$ git clone --branch v2.5.0 https://github.com/ApolloAuto/apollo.git
6、安装Docker CE环境
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
// 确认拥有秘钥
$ sudo apt-key fingerprint 0EBFCD88
// 返回东西类似这个就好了
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
// 下面是一句
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce=17.03.1~ce-0~ubuntu-trusty
PS:其实,人家Apollo已经帮我们想好了,运行下面一句就能代替上面所有了
$ bash docker/setup_host/install_docker.sh
7、添加用户名到docker 中,这样使用docker时无需再输入sudo
$ sudo groupadd docker
$ sudo usermod -aG docker fu(用户名)
// 注销账号,重新登录,让刚才的命令生效
$ docker run hello-world (这时不用sudo,命令仍能执行,说明安装成功。稍微等一下,会有东西的)
8、下载Apollo依赖环境的image文件
$ cd apollo
$ bash docker/scripts/dev_start.sh
// 听说使用bash docker/scripts/dev_start.sh -C ,速度快些,然而我都下不了,只能乖乖用上面那个
// (当装的不是Nvidia显卡时,会提示“modprobe: FATAL: Module nvidia not found"的错误信息, 不必在意。)
// 另外可能需要修改下Docker,自带的那个源似乎访问不了
// 参考这个https://segmentfault.com/a/1190000016083023
// 他的第三步就不用了,然后重启,记得再次进入apllo文件夹
9、进入Docker环境
$ bash docker/scripts/dev_into.sh
这时命令窗口显示前缀的方式会发生改变:
类似这样:
fu@in_dev_docker:/apollo$
// 退出Docker用exit
10、安装ESD CAN library (这个步骤只需执行一次) 仿真不用装。到实车上的才要,所以这步我就没走
$ cd /apollo/third_party/can_card_library/esd_can/
// 要在docker环境下
// 建立两个新目录include和lib
$ mkdir include
$ mkdir lib
// 把 ntcan.h 拷贝到 include/
// 把64-bit的libntcan.so.4.0.1 拷贝到 lib/
// 进行符号连接
$ cd ./lib/;
$ ln -s libntcan.so.4.0.1 libntcan.so.4;
$ ln -s libntcan.so.4.0.1 libntcan.so.4.0
11、编译apollo
$ bash apollo.sh build
// 需重新编译时,先跑下面这个命令
$ bash apollo.sh clean
挺久的,可以喝几杯咖啡了
12、启动仿真环境Dreamview
$ bash scripts/bootstrap.sh
// 可能报错,重新开个终端,再进入Docker,重新运行
13、启动rosbag
// 下个数据包
$ python docs/demo_guide/rosbag_helper.py demo_2.0.bag
// 运行
$ rosbag play demo_2.0.bag --loop
14、开始愉快的玩耍
打开Chrome,输入http://localhost:8888, 这时你就可以看到仿真窗口了
Module Controller--->打开Planning和Routing;
Tasks--->打开SimControl