目录
Apollo概述
Apollo系统是百度推出的自动驾驶平台,目前已经迭代到了版本7.0。
通信框架
代码结构
代码目录总览
cyber:主要是涉及到模块之间的topic通信
docker:主要是docker容器
docs:主要是相关的说明文档
modules:代码的核心部分,涉及到控制,规划,感知,预测,驱动等等
scripts:主要是一些调试脚本
third_part:主要存放第三方库文件
canbus模块示例
canbus_component.cc是canbus模块的进入点,主要包含init函数和proc函数
launch目录保存着启动canbus模块的脚本,包含dag文件
dag目录了保存模块拓扑关系的配置文件,可以在 dag 文件中定义使用的 Component 和上游/下游通道,主要包含pb.txt文件和conf文件
conf目录保存了pb.txt和conf文件,主要是相关配置
proto目录保存了proto文件,用于解析相关的数据
common目录保存了gflag文件,主要是一些flag的配置
BUILD主要是配置编译的相关东西
环境的搭建
ubuntu系统的安装
Apollo7.0推荐安装ubuntu18.04以上的版本。
Nvidia显卡的安装
查询系统推荐的显卡:ubuntu-drivers devices
显卡安装:sudo apt-get install nvidia-driver-470 #此处数字要对应上面查询到的版本号
检查是否安装成功:nvidia-smi
安装docker
安装docker社区版
curl https://get.docker.com | sh
sudo systemctl start docker && sudo systemctl enable docker
重启docker使其生效
sudo systemctl restart docker
完成 Docker 安装后,在终端中执行下述命令并重启系统,这样可以免去每次执行 Docker 命令时需要添加 sudo 的繁琐
sudo groupadd docker
sudo usermod -aG docker [your_username]
安装docker工具包
如果是在物理机中安装的 Ubuntu,且机器配有 NVIDIA 显卡,在安装了驱动的前提下,还需要安装 NVIDIA 容器工具包以运行 Apollo Docker 镜像中的 CUDA:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get -y update
sudo apt-get install -y nvidia-docker2
如果linux内核变动,需要重新执行以下命令。
操作命令
启动apollo docker容器
./docker/scripts/dev_start.sh
注意事项:
已经启动一次Apollo docker容器的情况下,需要另外开启窗口,不用重复启动
命令如果出现fail或者error,则多尝试几次该命令
启动本地docker(除开第一次启动)
./docker/scripts/dev_start.sh -l
进入apollo docker容器
./docker/scripts/dev_into.sh
编码细节
编译方法
./apollo.sh build
差分编译
进入相应的目录:bazel build
启动Apollo DreamView
启动 DreamView 并使能模块监控机制,在浏览器中访问 http://localhost:8888 来显示 DreamView 界面
./scripts/bootstrap.sh start
启动Apollo-LGSVL DreamView
bash scripts/bootstrap_lgsvl.sh
bash scripts/bridge.sh
清除编译环境
bash scripts/apollo_clean.sh –all
查看Log
路径:/apollo/data/log
如果是单独模块:会有单独的文件 ,例如canbus在是canbus.log.INFO.20220325-095444.15138
如果不是单独模块:都在文件mainboard.log.INFO.20220325-095444.15469
也可以直接打开它们的快捷方式,canbus.INFO和mainboard.INFO,能够直接获取最新的log
启动CANBus调试工具
模拟control模块发送控制命令消息
./scripts/canbus_teleop.sh
进入自动驾驶状态 m+1
设置档位 G+0 空挡
G+1 驾驶挡位
G+2 倒挡
G+3 驻车挡
加速(2% 需处于D挡)W
减速(2%) S
左转(2%) A
右转(2%) D
监控topic
cyber_monitor
启动和停止CANBus launch文件
cyber_launch start modules/canbus/launch/canbus.launch
cyber_launch stop modules/canbus/launch/canbus.launch
——————
2022/07/27
家中