赞
踩
笔者最近因为项目需要用到CAN通信,所以研究了一下飞控上基于CAN的协议,目前在Ardupilot和PX4中用的是DRONECAN,DRONECAN是基于CAN的通信协议,并且已经在无人机中广泛使用了。但是国内现在对DRONECAN的研究记录太少了,用的最多的还是基于串口的MAVLINK协议,可能还是跟串口协议简单有关吧。我个人感觉,CAN通信也不是非常困难,并且CAN的抗干扰性、通信速度和多点通信特点是串口不可比拟的,所以CAN还是非常有优势的。
这里是笔者使用DRONECAN中的Libcanard(C语言版本)实现的动态分配节点(DNA)功能,即添加很多个同样的设备都不会出现重复的ID。后面会逐步讲解如何实现。现在先总体介绍一下DRONECAN。
DroneCAN的创建是为了继续开发广泛使用的UAVCAN v0协议。该协议已被证明是强大的和功能丰富的,并已广泛部署在商业无人机行业,并得到了行业合作伙伴的广泛支持。拟议引入的UAVCAN v1协议涉及对UAVCAN的更改,增加了复杂性,并没有为现有部署提供一个平滑的迁移路径。在无人机can联盟内部进行了长时间的讨论后,决定最好的解决方案是继续开发DroneCAN v0,并将其命名为DroneCAN。
所以DRONECAN和现在的UAVCAN是有一些区别的。
官方原文是这样说的:
DroneCAN was created to continue the development of the widely used UAVCAN v0 protocol. This protocol has proven itself as robust and feature rich and has been widely deployed in the commercial drone industry and enjoys broad support among industry partners. The proposed introduction of the UAVCAN v1 protocol involved changes to UAVCAN that increased complexity and did not offer a smooth migration path for existing deployments. After extended discussions within the UAVCAN consortium it was decided that the best solution was to continue development of DroneCAN v0 under the name DroneCAN.
欢迎感兴趣的小伙伴添加微信 Reed_UAV
进行交流:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。