Apollo7.0系统概述

目录

  • Apollo概述
  • 通信框架
  • 代码结构
    • 代码目录总览
    • canbus模块示例
  • 环境的搭建
    • ubuntu系统的安装
    • Nvidia显卡的安装
    • 安装docker
    • 安装docker工具包
  • 操作命令
    • 启动apollo docker容器
    • 进入apollo docker容器
  • 编码细节
    • 编译方法
    • 启动Apollo DreamView
    • 启动Apollo-LGSVL DreamView
    • 清除编译环境
    • 查看Log
    • 启动CANBus调试工具
    • 监控topic
    • 启动和停止CANBus launch文件

Apollo概述

Apollo系统是百度推出的自动驾驶平台,目前已经迭代到了版本7.0。

通信框架

Apollo7.0系统概述_第1张图片

代码结构

代码目录总览

Apollo7.0系统概述_第2张图片
cyber:主要是涉及到模块之间的topic通信
docker:主要是docker容器
docs:主要是相关的说明文档
modules:代码的核心部分,涉及到控制,规划,感知,预测,驱动等等
scripts:主要是一些调试脚本
third_part:主要存放第三方库文件

canbus模块示例

Apollo7.0系统概述_第3张图片
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
家中

你可能感兴趣的:(汽车电子,自动驾驶)