自动驾驶 Apollo 源码分析系列,系统监控篇(二):Monitor模块如何监控硬件

本文详细分析了Apollo自动驾驶系统的Monitor模块在硬件监控方面的实现,包括ESD CAN、GPS、Socket CAN和ResourceMonitor。Monitor通过周期性检测,结合硬件驱动进行状态评估,确保自动驾驶系统的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面的文章有分析,Monitor 模块监控的内容分为 Hardware 和 Software 两位。

本篇分析硬件监控部分。

首先,可以观察一下 Apollo 官方文档给出的硬件连接图。

在这里插入图片描述
跟自动驾驶本身相关的无非是传感器和底盘。

在这里插入图片描述
当前 Monitor 系统支持的硬件类监控有 4 个:

  • ESD CAN
  • GPS
  • Resource
  • SOCKET CAN

监控 ESD CAN

ESD CAN 是一种 CanCard,在 Apollo 中通过 PCIe 接口连接到 6108 工控机上面,在 Apollo 1.0 版本的官方文档就有介绍过 ESD CAN 型号是 ESD CAN-PCIe/402-1。 它长这个样子:

在这里插入图片描述

ESD CAN 接收到的信号有 2 类:

  • 线控底盘 CAN 信号
  • 大陆毫米波雷达 CAN 信号
EsdCanMonitor

我在前面的文章中有写过,各类 xxxMonitor 其实是 RecurrentRunner 子类。

在这里插入图片描述
EsdMonitor 也是如此,它和 CameraMonitor 一样也是 RecurrentRunner 子类。

在这里插入图片描述
EsdCanMonitor 在初始化的时候设置了自己的模块名字和周期执行间隔,这里时间间隔是 3 秒,也就是 EsdCan 每 3 秒被监控 1 次。

在这里插入图片描述
我们也可以看到 EsdCanMonitor 的核心方法其实是 EsdCanTest。

在这里插入图片描述
在 EsdCanTest 中检测到的结果,最后会通过 SummaryMonitor.Es

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frank909

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值