Apollo3.0软件在百度无人车开发者套件上的部署与安装

(注:本人有幸亲自接触到百度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官方网址自行下载。

1、安装Ubuntu14.04.3操作系统

此系统为百度Apollo官方建议系统,至于其他系统目前还没有尝试过,安装系统过程,我就不再这里赘述,请大家自行安装。

系统安装完成之后,请换源并执行软件更新安装

a、换源:

打开系统设置(System Settings)——>软件更新(Software&Updates)——>Ubuntu软件(Ubuntu Software)——>下载源(Download from)——>其他(Other)——>选择最佳服务(Select Best Server)这里需要等待一会儿——>选择mirror.tuna.tsinghua.edu.cn——>选择服务(Choose Server)这里需要输入密码——>选择关闭(Close)——>载入(Reload )——> 等待结束即可!(也可以网络查询其他换源方法 )

b.在终端执行以下命令完成最新软件包的更新:

sudo apt-get update

c.打开终端,输入以下命令,安装Linux4.4内核:

sudo apt-get install linux-generic-lts-xenial

2、安装Apollo内核

WARNING:在整个Apollo系统的安装和操作的过程中,全程禁用root账户,皆用普通账户进行操作,切记!

车上运行Apollo需要Apollo Kernel。你可以依照如下步骤获取、安装预编译的内核:

a.从releases文件夹下载发布的包

https://github.com/ApolloAuto/apollo-kernel/releases

b.安装包下载完成后,解压后安装:

tar zxvf linux-4.4.32-apollo-1.5.5.tar.gz
cd install
sudo bash install_kernel.sh

c.使用reboot命令重新启动计算机。

重启之后可以在终端使用 uname -r 命令查看当前使用内核版本信息 如果出现4.4.32-apollo-2-RT 则说明内核安装成功。但是此时的系统分辨率 可能不是常的,这是正常现象需要下面安装GPU驱动。

(注:我遇到的坑,在安装完这个内核之后,机器就进入了无限重启状态,一直循环在grub界面,经过一番折腾之后,发现问题所在,是因为在解压内核包时出了问题,解压出来的内核包并不是完整的,所以经过几番折腾,终于安装成功了。这一步的坑就在于解压内核包的会出问题。

3、安装GPU驱动

a.下载Nvidia GPU驱动

可以在终端中输入以下命令进行下载:

wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run

下载成功后安装包会放在终端当前的目录中。

b.安装Nvidia GPU驱动

在终端运行以下命令进行安装:

sudo bash ./NVIDIA-Linux-x86_64-375.39.run -no-opengl-files --no-x-check -a -s --no-kernel-module

 注:这一步装完之后需要重启一下,重启完毕之后,系统分辨率就正常了。 

4、安装Can驱动

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内核的时候出现了问题, 这时候可以考虑重新安装系统并在此安装内核了。)

5、Apollo源代码

WARNING:在本模块及以下的操作中,如非本文档或操作系统要求,禁用一切sudo操作,切记!

a.获取Apollo源代码

可以在github上下载,在终端中输入以下命令:

cd ~
git clone https://github.com/ApolloAuto/apollo.git

代码下载的时间视网速的快慢而有所区别,请耐心等待; 下载完成后的代码在~/apollo目录下,然后执行git checkout -b r3.0.0 origin/r3.0.0将代码切换到我们所需要的工作分支r3.0.0上。

b.设置环境变量

在终端输入以下命令:

echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc && source ~/.bashrc
source ~/.bashrc

c.安装Docker

这一步我是用的是apollo3.0代码里提供的Docker安装脚本进行安装的,经过多次尝试都没有失败过,所以大家可以尝试用这种方法.

cd ~/apollo
bash docker/setup_host/install_docker.sh

命令执行完成后,重新启动一下计算机。

d.启动并进入docker容器

在终端输入以下命令:

cd ~/apollo
bash docker/scripts/dev_start.sh

第一次进入docker时或者image镜像有更新时会自动下载apollo所需的image镜像文件,下载镜像文件的过程会很长,请耐心等待;这个过程完成后,请输入以下命令以进入docker环境中:

bash docker/scripts/dev_into.sh

e.编译apollo

在终端输入以下命令,等待编译完成,整个编译过程大约耗时20分钟:

bash apollo.sh build

运行DreamView

a.启动apollo

在终端输入以下命令:

bash scripts/bootstrap.sh

如果启动成功,在终端会输出以下信息:

Start roscore...
Launched module monitor.
Launched module dreamview.
Dreamview is running at http://localhost:8888

在浏览器中输入以下地址:

http://localhost:8888

可以访问DreamView。

b.回放数据包

在终端输入以下命令下载数据包:

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

Apollo3.0软件在百度无人车开发者套件上的部署与安装_第1张图片 至此,我已经全安装部署完毕,虽然只有两处坑,但是这两处坑却让我痛苦了好几天,分享出来是希望大家少走我出现的弯路,如还有其他问题可以 留言评论讨论。谢谢大家的支持!

你可能感兴趣的:(Apollo,无人驾驶学习)