DroneCAN

4f9664d498e0a2f55fb5966213fac5b0_640_wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

DroneCAN是ArduPilot和PX4项目用于与CAN外设通信的主要CAN协议。它是一个开放的协议,具有开放的通信、规范及多种实现方式。

与UAVCAN的关系

DroneCAN的创建是为了继续开发使用UAVCAN v0.9协议。该协议性能稳定且功能丰富,并且在商业无人机领域获得广泛的支持与应用。UAVCAN v1协议的引入,涉及到对UAVCAN的改变,这大大增加了它的复杂性,并且增加了对现有部署转换的难度。经过UAVCAN联盟内部的深入讨论,最终决定以DroneCAN的名义继续开发UAVCAN v0.9。

主要特点

DroneCAN的第一个版本被称为DroneCAN v1,与现有的UAVCAN v0.9协议相同。这意味着市面上大部分UAVCAN v0.9设备都与DroneCAN v1兼容。

延续UAVCAN v0.9的功能包括:

  • 详细的协议规范

  • 描述语言,用于消息描述的DSDL消息

  • DNA(动态节点分配),用于分配CAN节点ID

  • 多个开放的DSDL编译器,可生成C和C++绑定文件

  • 丰富的python应用

  • 功能丰富图形用户界面,用于诊断和设备配置

  • ArduPilot和PX4自动驾驶仪的成熟应用

  • AP_Periph和PX4 cannode工具箱,可轻松创建功能丰富的外围设备

不断的进化

DroneCAN是一个不断进化的协议。从DroneCAN v1开始,该协议将不断发展,增加新的功能,以此来帮助CAN协议在无人机行业中更广泛地采用。DroneCAN项目致力于保持与现有DroneCAN设备兼容性的方式完成这一进化。

DroneCAN计划在不久的将来提供的主要功能如下:

  • 支持FDCAN,允许更高的数据速率和更大的帧大小
  • 节点能力消息,允许DNA服务器确定连接节点的硬件和软件能力,以促进平滑过渡到更新的协议版本
  • 支持扩展消息定义,同时保持与现有实现的兼容性
  • 对现有DSDL消息结构进行全面的重新工作,以提高效率和灵活性

开发

DroneCAN项目有一个活跃的开发社区。
讨论的社区: https://dronecan.org/discord
github开发源码库: https://github.com/DroneCAN

加入DroneCAN

如果你愿意公开支持DroneCAN,请填写申请表,链接如下:

https://dronecan.org/apply