Apollo详解之canbus模块——综述

canbus模块简要介绍

can是汽车通信的标准协议,百度Apollo当中的canbus模块的功能就是接受并执行控制命令,并收集底盘状态作为给控制模块的反馈,也就是说,将控制消息通过canbus发送给车辆底层,并通过canbus从车辆底层获得消息。
该模块默认订阅/apollo/control话题,获得控制消息转换为can报文发送给车辆底层,其消息类型在modules/control/proto/control_cmd.proto当中定义。此外,还可以在配置文件当中修改参数,将订阅的话题改为/apollo/guardian
该模块默认发布/apollo/canbus/chassis,获取车辆底层发来的can报文,进行解析为消息格式后发送给该话题。此外可以在配置文件当中修改相关参数,发布/apollo/canbus/chassis_detail,消息类型分别在modules/canbus/proto/chassis.protomodules/canbus/proto/chassis_detail.proto文件当中定义。

整体框架

该模块使用apollo::cyber::TimerComponent机制,通过CanbusComponent::Init完成初始化,cyber_RT会以一定的频率调用CanbusComponent::Proc函数。
有关Component机制可详细参考这里
此外,canbus模块使用了工厂模式,使得可以根据配置文件里的参数动态创建堆对象

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值