Apollo自动驾驶实践——第3讲 Apollo软件系统部署

时间:2024-03-07 18:00:15

Ubuntu操作系统
Linux 4.4内核
Apollo 1.5.5内核

驱动软件
1.GPU显卡驱动
2.ESD-CAN卡驱动/Socket CAN卡驱动

应用软件
1.docker软件
2.git软件
3.Apollo源代码

通过BIOS设置工控机风扇的转速以及工控机的功耗

BIOS设置

工控机启动时候按F2进入BIOS设置菜单,选择Advanced,Smart Fan Control
1.设置当温度达到50℃的时候风扇达到最大转速
2.设置当温度达到20℃的是时候风扇开始转动
3.设置工控机一直以最佳状态运行
找到Power中的SKU Power Config 设置为Max TDP

软件安装顺序

1.操作系统软件
2.驱动系统软件
3.应用软件

1.操作系统:Ubuntu 14.04 LTS,Linux 4.4内核,Apollo 1.5.5内核
Linux操作系统种类较多,分为服务器版的和桌面版。

安装Ubuntu
准备一个U盘,下载Ubuntu 14.04LTS的镜像文件,并按照相关说明文档创建一个可启动的U盘,将U盘插入工控机
按F12进入启动菜单,选择U盘进行启动引导,安装Ubuntu

安装好linux 4.4内核
安装好Ubuntu后,重新开机启动,在确保工控机处于正常联网的情况下,在终端输入以下命令安装Linux 4.4内核:
1.在终端使用cd -进入home路径
2.使用sudo apt-get update进行软件包的升级
3.使用sudo apt-get install linux-generic-lts-xenial安装linux4.4内核
之后重启工控机

安装apollo内核
1.下载apollo内核,下载网站https://github.com/ApolloAuto/apollo-kernel/releases
2.使用tar zxvf linux-4.4.32-apollo-1.5.5.tar.gz进行解压
3.cd跳转到install目录
4.sudo bash install_kernel.sh启动安装
5.重启工控机

GPU驱动安装
1.通过wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run 下载驱动
2.终端输入sudo bash ./NVIDIA-Linux-x86_64-375.39.run --no-x-check -a -s --no-kernel-module安装
3.重启工控机

ESD-CAN卡驱动
1.从CAN卡供应商拿到CAN卡驱动安装包,一般命名为esdcan-pcie4 开头的文件
2.拷贝到工控机,并解压
3.通过cd esdcan-pcie402-linux-2.6.x-x86_64-3.10.3使用cd命令跳转到解压好的文件夹中
4.通过cd crc/跳转到stc目录
5.通过make -C /lib/modules/uname -r/build M=pwd对程序进行编译
6.通过sudo make -C /lib/modules/uname -r/build M=pwd module_install安装ESD-CAN卡驱动
7.如果目录中存在驱动文件则成功

socket CAN卡驱动安装
1.Socket CAN 卡安装到工控机 mini PCI-E 接口上
2.通过cd /etc/ydev/rules.d/跳转到指定 rules.d 目录:
3.新建rules文件,sudo touch 99-kernel-rename-emuc.rules
4.打开rules文件sudo vim 99-kernel-rename-emuc.rules
5.添加rules文件内容

6.重启,进入dev目录
7.检查rules是否配置成功,II ttyACM*
8.emuc-B202驱动安装包下载

9.将emuc-B202下的Socket CAN驱动安装包解压出来放到home下, 注意有 Windows 的和 Linux 的,应选择 Linux 的。重命名为SocketCan
10.跳转到 SocketCan 目录后执行编译:

11.修改 start.sh:

12.使用 bash ./start.sh 打开 CAN 卡驱动

13.测试: 将 CAN 卡的 CAN0 和 CAN1 连接起来
14.下载测试代码

15.跳转到 can-utils 目录后执行编译:

16.执行测试命令发送数据:

17.另一个终端接收数据:
①先跳转到 can-utils-master
②./candump can0 命令接收 can0 的数据
③对比发送的和接收的数据是否一致
④若一致则说明 CAN 卡驱动安装成功
18.目前 Apollo 没有将 Socket CAN 的启动脚本加入系统中,启动Socket CAN 的流程如下:
①外部启动,设置到 start 脚本
②目录启动脚本
③启动 Apollo Canbus 模块

Docker 软件安装:
Docker 是一种类似于虚拟机的软件,它是一种对操作系统的虚拟,将 Apollo 所依赖的环境做成 image 镜像放在 Docker 容器中,可以简化 Apollo 系统的部署
1.在 docker 的官网上下载 deb 安装包

2.双击 deb 安装包,在 software center 进行安装,重启工控机

Git 安装:
1.输入如下命令安装 git:

拉取 Apollo 源代码
1.通过cd ~进入 home 目录:
2.通过git init初始化git仓库
3.下载源代码

4.通过cd ~/apollo跳转到 Apollo 目录:
5.将代码切换到工作分支 r3.0.0:

6.设置 Apollo 环境变量:

7.将当前用户加入 docker 用户组:

8.重启

启动并加入docker容器
1.通过cd ~/apollo跳转到apollo目录
2.执行脚本

第一次进入 Docker 或者当 image 镜像有更新时,docker 启动脚本会自动下载所需的镜像文件,下载镜像文件所需时间较长。执行完后会返回一个结果

3.通过bash docker/scripts/dev_into.sh启动 dev_into.sh 脚本进入 docker 环境进入后命令提示符变成了 in_dev_docker

编译apollo
1.通过bash apollo.sh build编译,安装开始时会有黄色的警告,找不到 ESD-CAN 相关库文件,如果本次使用的是 Socket CAN 则忽略,若使用的是 ESD-CAN 则按照黄色告警的要求去读 README 文件,按照 README 文件说明完成 ESD-CAN 库文件的安装设置过程
2.拷贝文件夹。打开ESD-CAN驱动安装包,找到底下的esdcan-pcie402-linux2.6.x-x86_64文件夹,将文件夹下对应的include 和 lib64 文件拷贝到 Apollo 的指定目录下。esdcan 目录在 apollo/third_party/can_card_library/esd_can
3.重命名文件夹,将lib64重命名为lib
4.lib下有一个.so文件和另外一个文件,保留.so文件,删除另外一个
5.创立符号链接,进入刚刚拷贝的 lib 目录输入以下命令:

6.再次编译 Apollo,查看黄色告警是否消失

apollo控制界面以及操作界面
1.通过bash scripts/bootstrap.sh启动图形化界面,根据提示用浏览器打开网址
2.下载回放数据报demo

3.回放数据包 demo