CAN总线在整个无人驾驶系统中有着十分重要的作用。除了在VCU信号需要通过CAN总线进行传输外,无人车上的某些传感器(如雷达、Mobileye)的信号传递也是通过CAN实现的。
前言
本文主要内容是——无人驾驶中的CAN(Controller Area Network )总线。
CAN总线在整个无人驾驶系统中有着十分重要的作用。除了在VCU信号需要通过CAN总线进行传输外,无人车上的某些传感器(如雷达、Mobileye)的信号传递也是通过CAN实现的。
我在无人驾驶,个人如何研究?中提到过
实现一个无人驾驶系统,会有几个层级: 感知层 → 融合层 → 规划层 → 控制层 更具体一点为: 传感器层 → 驱动层 → 信息融合层 → 决策规划层 → 底层控制层
“传感器层”在之前的分享中已经介绍过了,这次主要介绍的是“驱动层”相关的内容。
正文
CAN通信是一套高性能、高可靠性的通信机制,目前已广泛应用在汽车电子领域。有关CAN的总线的原理及特性并不是本次分享的重点。本文的重点在无人驾驶系统获取到CAN消息后,如何根据CAN协议,解析出想要的数据。从CAN总线中解析出传感器的信息,可以说是每个自动驾驶工程师,甚至每一个汽车电子工程师必备的技能。
认识CAN消息
以百度推出的Apollo开源的代码为例做CAN消息的讲解,我们先看到每一帧的CAN消息是如何被定义的。