Apollo自动驾驶实践课(2)——Apollo软件系统部署
Apollo自动驾驶软件系统:系统软件:Ubuntu操作系统、Linux4.4内核、Apollo1.5.5内核;驱动软件:GPU显卡驱动、ESD-CAN卡驱动或Socket CAN卡驱动;应用软件:Docker软件、Git软件、Apollo源代码;1.BIOS设置工控机启动,按F2进入BIOS设置菜单:选Advanced,设置风扇的相关参数:设置温度达到50摄氏度时风扇的最大转速;设置温度达到20
Apollo自动驾驶软件系统:
- 系统软件:Ubuntu操作系统、Linux4.4内核、Apollo1.5.5内核;
- 驱动软件:GPU显卡驱动、ESD-CAN卡驱动或Socket CAN卡驱动;
- 应用软件:Docker软件、Git软件、Apollo源代码;
1.BIOS设置
工控机启动,按F2进入BIOS设置菜单:
- 选Advanced,设置风扇的相关参数:
设置温度达到50摄氏度时风扇的最大转速;
设置温度达到20摄氏度时风扇开始起转; - 选Power中的SKU POWER CONFIG,设置为MAX TDP ,这是为了设置工控机一直以最佳状态运行。
2.安装软件
工控机软件安装顺序:计算机操作系统软件、驱动软件、应用软件;
2.1安装操作系统
- 安装Ubuntu操作系统
综合稳定性、安全性考虑选用Ubuntu 14.04 LTS。
可以参考Ubuntu官网详细安装:
准备U盘,下载镜像文件,按照说明文档创建一个U启动盘,把U盘插入工控机。
开机启动,按F12进入启动菜单,选择U盘启动引导,按照屏幕说明安装Ubuntu(选择清除disk安装Ubuntu,选择国家信息,填用户密码等)。
安装完成后重启工控机。 - 安装Linux4.4内核
确保工控机联网,在终端输入:
cd
跳转到home目录;
sudo apt-get update
用sudo命令执行更新;
sudo apt-get install linux-generic-lts-xenial
安装Linux4.4内核。
安装完成后重启工控机
- 安装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卡,安装时任选其一。
- 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
- 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 docker
,sudo 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.4
,ln -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中看到仿真。
更多推荐
所有评论(0)