当前位置: 首页 > news >正文

ardupilot开发 --- CAN BUS、DroneCAN 、UAVCAN 篇

1. CAN BUS、DroneCAN 、UAVCAN 区别

  • UAVCAN是一种轻量级协议,旨在通过CAN BUS 在航空航天和机器人应用中实现可靠通信。 UAVCAN网络是分散的对等网络,其中每个对等体(节点)具有唯一的数字标识符 - 节点ID,并且仅需要为基本设置设置一个参数。有关协议的详细说明,请访问https://uavcan.org/
  • DroneCAN的前身是UAVCAN。
  • 物理连接为CAN BUS,使用DroneCAN协议(驱动);
  • 如 CAN_P1_DRIVER=1, 即物理接口CAN1使用的是CAN_D1_PROTOCOL设置的驱动程序(数据交互协议)。
  • 大多数自动驾驶仪都有一个或两个CAN接口,用于连接不同的设备。ArduPilot最多可支持3个can接口。除了物理接口之外,还有一个表示特定协议的驱动器层和一个通过这些驱动器在CAN总线上通信的软件层(ArduPilot)。

2. CAN 总线设置

  • 映射物理接口到哪个驱动器
    CAN_P1_DRIVER = 1,2,3
    CAN_P2_DRIVER = 1,2,3
    CAN_P3_DRIVER = 1,2,3

  • 配置CAN驱动程序
    CAN_Dx_PROTOCOL = 0,1,4,6,7,8,10,11,12
    在这里插入图片描述

  • 配置后需要reboot.

  • CAN_PX_BITRATE 在此接口上设置所需的传输速率,通常默认使用的比特率为1 Mbit。

  • CAN_PX_DEBUG 允许输出调试消息,可以根据用户的偏好和需求设置调试级别。

  • 参考文献:
    【1】https://doc.cuav.net/tutorial/copter/advanced-configuration/canbus.html
    【2】https://ardupilot.org/copter/docs/common-canbus-setup-advanced.html#

3. DroneCAN(UAVCAN)设置

  • DroneCAN的前身是UAVCAN。

  • Aurdupilot的UAVCAN驱动程序不支持当前版本的自动节点编号。所有节点都应明确设置ID。

  • CAN_DX_UC_NODE - 自动驾驶仪的节点ID。

  • CAN_D1_UC_ESC_BM - 允许发送ESC命令的位掩码。

  • CAN_D1_UC_SRV_BM - 允许发送伺服命令的位掩码。

  • UAVCAN是一种轻量级协议,旨在通过CAN总线在航空航天和机器人应用中实现可靠通信。 UAVCAN网络是分散的对等网络,其中每个对等体(节点)具有唯一的数字标识符 - 节点ID,并且仅需要为基本设置设置一个参数。

  • 参考文献:
    【1】https://doc.cuav.net/tutorial/copter/advanced-configuration/common-uavcan-setup-advanced.html
    【2】https://ardupilot.org/copter/docs/common-uavcan-setup-advanced.html#dronecan-setup

http://www.lryc.cn/news/209087.html

相关文章:

  • 京东平台数据分析:2023年9月京东空气净化器行业品牌销售排行榜
  • vue使日历组件点击时间渲染到时间输入框
  • TensorFlow学习:使用官方模型和自己的训练数据进行图片分类
  • MATLAB算法实战应用案例精讲-【图像处理】相机标定
  • python画气泡标尺图
  • Java并发编程指南:如何正确使用信号量和线程池熔断机制
  • 大彩串口屏读写文件问题
  • php之 角色的权限管理(RBAC)详解
  • asp.net乡村旅游管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • 【linux】文件系统+软硬连接+动静态库
  • 力扣每日一题73:矩阵置零
  • vscode C++项目相对路径的问题
  • 视频转换器WinX HD Video Converter mac中文特点介绍
  • 数据隐私保护的方法有哪些?
  • 【Linux】解决缓存锁问题:无法获得锁 /var/lib/dpkg/lock-frontend
  • 嵌入式软件开发工程师应该关注芯片数据手册中的哪些信息
  • 基于数字电路交通灯信号灯控制系统设计-单片机设计
  • Spring Boot 配置邮件发送服务
  • 【Spring】快速入门Spring Web MVC
  • python---continue关键字对for...else结构的影响
  • 小结笔记:多位管理大师关于管理的要素的论述
  • sql---慢查询和语句耗时
  • ChinaSoft 论坛巡礼 | 智慧化 IDE 论坛
  • 数字孪生智慧工厂三维可视化系统解决方案,打造新一代智慧工厂
  • 并查集学习心得
  • 自动驾驶之—LaneAF学习相关总结
  • 软考系统架构之案例篇(Redis相关概念)
  • 黑客入门指南,学习黑客必须掌握的技术
  • 定档11月2日,YashanDB 2023年度发布会完整议程公布
  • composer安装thinkphp6报错