首先,要明白只有can_client才会与设备通信,在apollo中can_client提供了三种通信方式
enum CANCardBrand {
FAKE_CAN = 0; //假的数据通信,一般模拟使用
ESD_CAN = 1; //esd canbus卡通信
SOCKET_CAN_RAW = 2; //socket 通信,在gem车上使用
}
需要新增的通信方式,以serial为例
1.在modules/drivers/canbus/proto/can_card_parameter.proto 中新增如下
enum CANCardBrand {
FAKE_CAN = 0;
ESD_CAN = 1;
SOCKET_CAN_RAW = 2;
SERIAL_CAN = 3;

本文介绍了如何在Apollo自动驾驶系统中适配非CAN总线设备,特别是通过serial通信的方式。首先,理解can_client是与设备交互的关键,它支持三种通信方式。以新增serial通信为例,需在指定目录下创建相应文件和实现类,同时更新BUILD编译脚本。完成这些步骤后,可在sensors模块中如毫米波雷达一样应用新通信方式,参考已有socket通信方案和相应配置文件进行调整。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



