Apollo7.0系统概述

Apollo概述

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

通信框架

通信框架

代码结构

代码目录总览

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

canbus模块示例

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
家中

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值