Apollo自动驾驶软件系统:

  • 系统软件:Ubuntu操作系统、Linux4.4内核、Apollo1.5.5内核;
  • 驱动软件:GPU显卡驱动、ESD-CAN卡驱动或Socket CAN卡驱动;
  • 应用软件:Docker软件、Git软件、Apollo源代码;

1.BIOS设置

工控机启动,按F2进入BIOS设置菜单:

  1. 选Advanced,设置风扇的相关参数:
    设置温度达到50摄氏度时风扇的最大转速;
    设置温度达到20摄氏度时风扇开始起转;
  2. 选Power中的SKU POWER CONFIG,设置为MAX TDP ,这是为了设置工控机一直以最佳状态运行。

2.安装软件

工控机软件安装顺序:计算机操作系统软件、驱动软件、应用软件;

2.1安装操作系统

  1. 安装Ubuntu操作系统
    综合稳定性、安全性考虑选用Ubuntu 14.04 LTS。
    可以参考Ubuntu官网详细安装:
    准备U盘,下载镜像文件,按照说明文档创建一个U启动盘,把U盘插入工控机。
    开机启动,按F12进入启动菜单,选择U盘启动引导,按照屏幕说明安装Ubuntu(选择清除disk安装Ubuntu,选择国家信息,填用户密码等)。
    安装完成后重启工控机。
  2. 安装Linux4.4内核
    确保工控机联网,在终端输入:
    cd跳转到home目录;
    sudo apt-get update用sudo命令执行更新;
    sudo apt-get install linux-generic-lts-xenial安装Linux4.4内核。

安装完成后重启工控机

  1. 安装Apollo内核

从GitHub Apollo的网站下载Apollo内核:http://github.com/ApolloAuto/apollo-kernel/releases

tar zxvf linux-4.4.32-apollo-1.5.5.tar.gz解压Linux内核;
cd install跳转install目录;
sudo bash install_kernel.sh安装Apollo内核;

reboot命令之后重启工控机。

2.2安装驱动软件

GPU显卡驱动

终端输入wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run下载GPU驱动(保证网络状态良好);
sudo bash ./NVIDIA-Linux-x86_64-375.39.run --no-x-check -a -s --no-kernel-module运行;

reboot命令之后重启工控机。

CAN卡驱动

在这里插入图片描述
以下是两种常用的CAN卡,安装时任选其一。

  1. ESD-CAN卡驱动安装
    将安装包Copy到工控机,解压安装包;
    cd命令跳转到解压后的文件夹中;
    cd src/命令跳转到src目录中;
    make -C /lib/modules/'uname -r'/build M='pwd'命令做程序的编译;
    sudo make -C /lib/modules/'uname -r'/build M='pwd' modules_install安装ESD-CAN卡驱动;

安装成功可以在指定文件下(/lib/modules/4.4.32-apollo-2-RT/extra/)找到esdcan-pcie402.ko

  1. Socket CAN卡驱动
    将Socket CAN卡硬件安装到工控机mini PCI-E接口上,打开工控机终端;
    cd /etc/udev/rules.d/命令跳转到目录;
    sudo touch 99-kernel-rename-emuc.rules新建rules文件;
    sudo vim 99-kernel-rename-emuc.rules打开rules文件;
    ACTION=="add",SUBSYSTEM=="tty",MODE=="0777",KERNELS=="1-10:1.0",SYMLINK+="ttyACM10"添加rules文件内容;
    :wq保存文件退出,重启系统;
    cd /dev/命令跳转到目录;
    ll ttyACM*检查rules是否配置成功;

下载emuc-B202驱动包(http://www.innodisk.com/Download_file?D7856A02AF20333811EBF83A6E6FDFE31262BBEB35FDA8E63B4FCD36B5C237175D714D7286AF87B5)
将文件夹下的Socket解压放到home下(重命名为SocketCan);
cd SocketCan/命令跳转到目录;
make命令;
CAN启动脚本start.sh;
将start.sh里面的“sudo ./emuc_64 -s9 ttyACM0 can0 can1”修改为“sudo ./emuc_64 -s7 ttyACM10 can0 can1”;

bash ./start.sh命令打开;
在这里插入图片描述

测试:
下载测试代码地址:http://github.com/linux-can/can-utils;
把测试代码Copy到home;
cd can-utils/命令跳转到目录;
make命令;
./cansend can0 1FF#1122334455667788执行测试命令发送数据;
./candump can0另开一个终端接收数据;

Tips:
Apollo没有把Socket CAN的启动脚本加入系统,启动Socket CAN的流程如下:外部启动,设置到start脚本;目录启动脚本;启动Apollo Canbus模块。

2.3安装应用软件

Docker软件

类似于虚拟机,是一种对操作系统的虚拟,Docker容器内放有Apollo所依赖环境做成的image镜像,可以简化Apollo部署。

官网下载安装包http://www.docker.com;
双击deb安装包,在Software Center安装;
安装完成后重启工控机。

Git软件

保证工控机网络状态良好,
sudo apt-get install git安装git;

Apollo源代码

cd ~跳转到home 目录;
git init初始化git仓库;
git clone http://github.com/ApolloAuto/apollo.git下载源代码;

cd ~/apollo跳转到Apollo目录;
git checkout -b r3.0.0 origin/r3.0.0将代码切换到工作分支r3.0.0;

echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc && source ~/.bashrc source ~./bashrc设置Apollo环境变量;
sudo gpasswd -a $USER dockersudo usermod -aG docker $USER将当前用户加入docker用户组;

执行完成后重启工控机。

启动并进入Docker容器

保持网络状态良好,在终端输入:
cd home跳转到Apollo目录;
bash docker/scripts/dev_start.sh执行脚本(Tips:第一次进入docker或当image镜像有更新时,docker启动脚本会自动下载所需的镜像文件。);

编译Apollo

bash apollo.sh build编译Apollo;

对于可能出现的黄色警告提示,按照提示目录README.md文档说明完成ESD-CAN库文件安装:
打开ESD-CAN驱动安装包,找到esdcan-pcie402-linux2.6x-x86_64;
将include和lib64目录拷贝到apollo/third_party/can_card_library/esd_can目录下;
将lib64重命名为lib,打开文件夹删除除了.so文件之外的文件;
进入lib目录创建符号链接:ln -s libntcan.so.4.0.1 libntcan.so.4ln -s libntcan.so.4.0.1 libntcan.so.4.0

这种之后重新编译Apollo,黄色警告若没有消失,检查建立的链接文件的权限。

3.查看Apollo控制界面

bash scripts/bootstrap.sh启动图形化界面;
看到提示已经启动Dreamview,需要到浏览器,这样就可以到http://localhost:8888访问DreamView

如果没有车,可以仿真。到Apollo的GitHub下载数据包,例如常用的demo_2.0.bag数据包:
python docs/demo_guide/rosbag_helper.py demo_2.0.bag下载回访数据包demo;
rosbag play -l docs/demo_guide/demo_2.0.bag回访数据包;
这样就可以在DreamView中看到仿真。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐