(注:本人有幸亲自接触到百度Apollo无人驾驶开发套件,并且亲自为其安装以及部署环境以及软件,很是荣幸,但是过程中遇到了很多问题,以下过程是本人亲自走过的过程,现在分享出来和大家一起讨论与进步。参考官方网址为https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/D-kit/Waypoint_following--Apollo_software_installation_cn.md,安装过程基本都是按照百度官方GitHub指导文档安装,但是中间有一些较为痛苦的坑,经过本人和师姐以及请教百度工程师一块儿完成了Apollo3.0在百度无人车开发套件上的部署,感谢他们的支持与帮助。)
实车工控机主要参数:GPU为GTX1080
操作系统:Ubuntu14.04.3
软件源:清华源
Apollo内核:linux-4.4.32-apollo-1.5.5.tar.gz
Apollo软件版本:r3.0.0
CAN卡驱动:esdcan-pcie4.2-linux-2.6.x-x86_64-3.10.3.tgz
注:本次 过程中需要用到的软件以及安装包,我都已经打包好上传至百度云(链接: https://pan.baidu.com/s/1QV-b912fx3KfUYhSU0OdgA&shfl=shareset 提取码: 2vbf ),大家可以自行提取,如果下载过程中出现问题或者不能使用,请移步至Apollo官方网址自行下载。
此系统为百度Apollo官方建议系统,至于其他系统目前还没有尝试过,安装系统过程,我就不再这里赘述,请大家自行安装。
系统安装完成之后,请换源并执行软件更新与安装
打开系统设置(System Settings)——>软件更新(Software&Updates)——>Ubuntu软件(Ubuntu Software)——>下载源(Download from)——>其他(Other)——>选择最佳服务(Select Best Server)这里需要等待一会儿——>选择mirror.tuna.tsinghua.edu.cn——>选择服务(Choose Server)这里需要输入密码——>选择关闭(Close)——>载入(Reload )——> 等待结束即可!(也可以网络查询其他换源方法 )
sudo apt-get update
sudo apt-get install linux-generic-lts-xenial
WARNING:在整个Apollo系统的安装和操作的过程中,全程禁用root账户,皆用普通账户进行操作,切记!
车上运行Apollo需要Apollo Kernel。你可以依照如下步骤获取、安装预编译的内核:
https://github.com/ApolloAuto/apollo-kernel/releases
tar zxvf linux-4.4.32-apollo-1.5.5.tar.gz
cd install
sudo bash install_kernel.sh
reboot
命令重新启动计算机。重启之后可以在终端使用 uname -r 命令查看当前使用内核版本信息 如果出现4.4.32-apollo-2-RT 则说明内核安装成功。但是此时的系统分辨率 可能不是常的,这是正常现象需要下面安装GPU驱动。
(注:我遇到的坑,在安装完这个内核之后,机器就进入了无限重启状态,一直循环在grub界面,经过一番折腾之后,发现问题所在,是因为在解压内核包时出了问题,解压出来的内核包并不是完整的,所以经过几番折腾,终于安装成功了。这一步的坑就在于解压内核包的会出问题。)
可以在终端中输入以下命令进行下载:
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run
下载成功后安装包会放在终端当前的目录中。
在终端运行以下命令进行安装:
sudo bash ./NVIDIA-Linux-x86_64-375.39.run -no-opengl-files --no-x-check -a -s --no-kernel-module
注:这一步装完之后需要重启一下,重启完毕之后,系统分辨率就正常了。
a.从CAN卡供应商那里拿到CAN卡的驱动安装包esdcan-pcie4.2-linux-2.6.x-x86_64-3.10.3.tgz。
b.解压此安装包,cd到解压后的文件夹里。
c.编译安装CAN卡驱动,在终端执行以下命令:
cd src/
make -C /lib/modules/`uname -r`/build M=`pwd`
sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
d.CAN卡驱动esdcan-pcie402.ko可以在/lib/modules/4.4.32-apollo-2-RT/extra/文件夹下找到。
(注:如果在安装CAN驱动这一步出错了,其一上面的命令不能正常执行,其二也就是并没有在/lib/modules/4.4.32-apollo-2-RT/extra/文件下找到esdcan-pcie402.ko驱动,说明在安装apollo内核的时候出现了问题, 这时候可以考虑重新安装系统并在此安装内核了。)
WARNING:在本模块及以下的操作中,如非本文档或操作系统要求,禁用一切sudo
操作,切记!
可以在github上下载,在终端中输入以下命令:
cd ~
git clone https://github.com/ApolloAuto/apollo.git
代码下载的时间视网速的快慢而有所区别,请耐心等待; 下载完成后的代码在~/apollo目录下,然后执行git checkout -b r3.0.0 origin/r3.0.0
将代码切换到我们所需要的工作分支r3.0.0上。
在终端输入以下命令:
echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc && source ~/.bashrc
source ~/.bashrc
这一步我是用的是apollo3.0代码里提供的Docker安装脚本进行安装的,经过多次尝试都没有失败过,所以大家可以尝试用这种方法.
cd ~/apollo
bash docker/setup_host/install_docker.sh
命令执行完成后,重新启动一下计算机。
在终端输入以下命令:
cd ~/apollo
bash docker/scripts/dev_start.sh
第一次进入docker时或者image镜像有更新时会自动下载apollo所需的image镜像文件,下载镜像文件的过程会很长,请耐心等待;这个过程完成后,请输入以下命令以进入docker环境中:
bash docker/scripts/dev_into.sh
在终端输入以下命令,等待编译完成,整个编译过程大约耗时20分钟:
bash apollo.sh build
在终端输入以下命令:
bash scripts/bootstrap.sh
如果启动成功,在终端会输出以下信息:
Start roscore...
Launched module monitor.
Launched module dreamview.
Dreamview is running at http://localhost:8888
在浏览器中输入以下地址:
http://localhost:8888
可以访问DreamView。
在终端输入以下命令下载数据包:
python docs/demo_guide/rosbag_helper.py demo_2.0.bag
或者将从百度云下载到的demo_2.0.bag 数据包放到apollo/docs/demo_guide目录下。
输入以下命令可以回放数据包,在浏览器DreamView中可以看到回放画面。
rosbag play -l docs/demo_guide/demo_2.0.bag
至此,我已经全安装部署完毕,虽然只有两处坑,但是这两处坑却让我痛苦了好几天,分享出来是希望大家少走我出现的弯路,如还有其他问题可以 留言评论讨论。谢谢大家的支持!