首页/新闻资讯/正文详情

PX4 集成 ARK DIST SR 测距传感器:DroneCAN 与 UART/MAVLink 双通道配置实战

发布时间:2026/9/24 14:55:46 来源:云帆数科 栏目:资讯中心
PX4 集成 ARK DIST SR 测距传感器:DroneCAN 与 UART/MAVLink 双通道配置实战
嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载ARK DIST SR 是 ARK Electronics 出品的一款开源硬件短距离8 cm ~ 30 mDroneCAN 测距传感器rangefinder在 PX4 Autopilot 中可直接通过 CAN 总线以 DroneCAN 协议接入也可以退化为 UART MAVLink 方式连接。本文以仓库内 ARK DIST SR 官方文档 为主线完整梳理其硬件规格、两种接线方式、PX4 参数配置清单并结合仓库中的 uORB/DroneCAN 驱动与 EKF2 源码讲清楚从传感器测量值到EKF 高度融合的完整数据链路帮助你快速完成硬件选型、接线、参数调校与故障排查。一、ARK DIST SR 是什么ARK DIST SR 是一款低量程low range、开源设计的 DroneCAN 距离传感器典型测量范围约为8 cm 到 30 m。它基于 Broadcom 的 Time-of-FlightToF激光测距方案在 PX4 生态中主要服务于地形跟随 / 地形保持terrain following / terrain hold辅助起降时的条件测距辅助conditional range aiding高度融合近地悬停测距、高度限制告警等。在 距离传感器总览文档 的支持列表里ARK DIST SR 与 ARK DIST MR 被并列列出SR 版本量程为8 cm ~ 约 30 mMR 版本为8 cm ~ 约 50 m二者均支持 DroneCAN 与 UART 两种连接方式且均符合 NDAA 合规要求。本文聚焦 SR 版本其配置方法同样适用于 MR 版本仅需把最大量程相关参数从 30 改为 50参见 ARK DIST MR 文档。二、硬件规格速览ARK DIST SR 的完整硬件设计原理图与 BOM以开源形式发布传感器核心为Broadcom AFBR-S50LV85D ToF 距离传感器其关键特性如下项目规格测量原理850 nm 激光 Time-of-FlightToF典型量程约 8 cm ~ 30 m视场角FoV12.4° × 6.2°32 像素抗环境光最高 200k Lux 环境光下可工作健康监测内置 Reference Pixel用于系统健康监控表面适应性官方声称在各种表面条件下表现良好发射光束2° × 2°可照亮 1 ~ 3 个像素连接器与物理形态2 个 Pixhawk 标准 CAN 连接器4 Pin JST GH——支持菊花链冗余接线1 个 Pixhawk 标准 UART 连接器6 Pin JST SH1 个 Pixhawk 标准 Debug 连接器6 Pin JST SH小体积2.0 cm × 2.8 cm × 1.4 cm重约 4 g带 LED 指示灯美国制造符合 NDAA 合规要求。电源需求电压平均电流最大电流5 V84 mA86 mA低功耗特性使其非常适合小型无人机与载板供电受限的场景4 g 的重量也几乎可以忽略对整机重心的影响。三、两种连接方式CANDroneCAN与 UARTMAVLinkARK DIST SR 支持两条接入 PX4 的通道对应两种不同的数据协议CAN 总线 DroneCAN 协议这是推荐的主接入方式传感器作为 DroneCAN 节点挂到 CAN 总线上PX4 通过 DroneCAN 订阅测距数据UART 串口 MAVLink 协议传感器通过串口直接输出 MAVLink 的 DISTANCE_SENSOR 消息current_distance字段即为测量值适合没有可用 CAN 接口或希望独占一条串口的场景。两种方式在 PX4 侧的参数配置完全不同下文分别给出完整的配置清单。四、硬件接线Wiring4.1 CAN 接线ARK DIST SR 通过一根 Pixhawk 标准的4 Pin JST GH CAN 线缆接入 CAN 总线。PX4 侧 CAN 网络的物理接线规范参见 CAN 接线文档CAN 设备按菊花链daisy-chain方式串接顺序无关不要把每个外设单独接到不同的 CAN 端口CAN2等端口用于冗余接线在链路的两端需要接入 120 Ω 终端电阻部分飞控和 GNSS 模块内置终端电阻应分别放在链路两端ARK DIST SR 自带两个 CAN 连接器因此可以很方便地作为链路的中间节点让其他设备继续从另一个 CAN 口串接出去。4.2 UART 接线若选择 UART 方式则将传感器通过 6 Pin JST SH 的 Pixhawk 标准 UART 连接器接到飞控的串口例如GPS2/TELEM2等空闲串口随后按下文 UART/MAVLink 配置 进行参数设置。五、PX4 配置DroneCAN 通道5.1 第一步启用 DroneCAN 驱动在 QGroundControl 中参数修改方法见 查找/更新参数将参数 UAVCAN_ENABLE 设为2若同时使用 DroneCAN 电调 则设为3然后重启飞控将 ARK DIST SR 的 CAN 口连接到 Pixhawk 的 CAN 端口。UAVCAN_ENABLE的取值含义来自 参数参考 与 DroneCAN 总览取值含义默认值0DroneCAN 驱动禁用默认1启用传感器但关闭动态节点分配DNA服务器2启用传感器并开启 DNA 服务器3启用传感器与电调ESC输出并开启 DNA 服务器启用后模块会在启动时被自动检测到测距数据将以40 Hz的速率到达。5.2 第二步订阅测距消息并设置量程在 QGroundControl 中设置以下参数参数推荐值说明UAVCAN_ENABLE2启用 DroneCAN 动态节点分配UAVCAN_SUB_RNG启用订阅 DroneCAN 测距消息EKF2_RNG_A_HMAX30条件测距辅助模式允许的最大离地高度mEKF2_RNG_QLTY_T0.2测距信号有效性的最短持续判定时间sUAVCAN_RNG_MIN0.08DroneCAN 测距最小有效量程m对应 8 cmUAVCAN_RNG_MAX30DroneCAN 测距最大有效量程m参数背后的源码依据UAVCAN_SUB_RNG 在驱动参数文件中定义为布尔类型默认值为0未启用修改后需要重启。它使 PX4 订阅uavcan::equipment::range_sensor::Measurement消息——这与 DroneCAN 总览中PX4 默认不会订阅所有可能用到的消息以避免污染 CAN 总线的设计一致参见 DroneCAN 订阅与发布。UAVCAN_RNG_MIN / UAVCAN_RNG_MAX 的默认值分别为0.0与999.0单位 m即不设置时驱动几乎不做量程裁剪。在 rangefinder 驱动 的init()中会通过param_get(param_find(UAVCAN_RNG_MIN), ...)与param_get(param_find(UAVCAN_RNG_MAX), ...)读取这两个参数作为测距值的有效范围过滤依据。将UAVCAN_RNG_MIN设为 0.08、UAVCAN_RNG_MAX设为 30即把有效量程精确对齐到该传感器的 8 cm ~ 30 m 物理能力。EKF 高度融合参数说明EKF2_RNG_A_HMAX 属于条件测距辅助conditional range aid参数当EKF2_RNG_CTRL 1默认值即 1条件模式时仅当飞行器离地高度低于该阈值、且水平速度低于 EKF2_RNG_A_VMAX默认 1.0 m/s时EKF 才会融合测距数据估计高度适合起降阶段气压计受旋翼洗流干扰的场景。EKF2_RNG_QLTY_T 是最小测距有效性时长默认 1.0 s范围 0.1 ~ 5 s只有测距信号质量signal quality连续非零的时间达到该值测量才被判定为有效用于过滤瞬时噪声。ARK DIST SR 文档推荐 0.2 s即对信号质量要求更宽松。提示在 参数参考文档 中EKF2_RNG_A_HMAX的数值范围为 1.0 ~ 10.0 m默认 5.0 m而 ARK DIST SR 文档推荐设置为 30 m 以覆盖传感器全量程。二者存在差异请以你所使用固件版本中的实际参数上限为准超出上限时以固件允许的最大值近似即可EKF 高度融合本身不会因为阈值略高而失效。可选安装位置补偿若测距传感器未安装在飞行器重心CoG处可进一步设置 EKF2_RNG_POS_X、EKF2_RNG_POS_Y、EKF2_RNG_POS_Z 进行三维位置补偿若传感器并非严格垂直朝下安装还需要设置 EKF2_RNG_PITCH单位 rad默认 0 表示垂直朝下。这些参数的更完整清单见 距离传感器通用配置。六、UART/MAVLink 配置如果不走 CAN而是通过 UART 串口连接 ARK DIST SR则在 QGroundControl 中设置参数推荐值说明MAV_X_CONFIG传感器所接的串口把该串口配置为 MAVLink 通道X为通道号如MAV_0_CONFIG对应通道 0MAV_X_FORWARD0关闭关闭该通道的 MAVLink 转发减少多余流量MAV_X_MODE7或137为 Minimal、13为 Low Bandwidth均可显著降低内存/带宽占用SER_XXX_BAUD115200串口波特率XXX为具体端口名例如 SER_GPS2_BAUDEKF2_RNG_A_HMAX30同上条件测距辅助最大高度EKF2_RNG_QLTY_T0.2同上信号有效性判定时长连接成功后传感器通过 MAVLink 上报DISTANCE_SENSOR消息PX4 会将其转换为内部distance_sensoruORB 主题DistanceSensor消息定义见 DistanceSensor.msg供 EKF2 等模块消费。七、固件与节点管理PX4 DroneCAN FirmwareARK DIST SR 运行的是PX4 DroneCAN Firmware详见 PX4 DroneCAN 固件文档因此天然具备两项能力支持通过 CAN 总线远程升级固件PX4 在启动时会扫描 SD 卡上/fs/microsd/根目录或/fs/microsd/ufw_staging/暂存目录中的固件.bin文件依据文件中内嵌的APDescriptor包含目标板 ID、固件版本与校验和匹配对应节点并自动刷写具体流程见 DroneCAN 固件更新支持动态节点分配Dynamic Node Allocation, DNA当UAVCAN_ENABLE设为2或3时PX4 会启动内置的节点分配服务器在系统启动时为检测到的外设自动分配唯一节点 ID无需手动配置详见 Node ID Allocation。注意PX4 进行动态节点分配需要SD 卡飞行中不使用 SD 卡另外 PX4 目前不在 CAN2 端口运行节点分配服务器因此仅连接 CAN2且无 CAN1 冗余的设备需要手动配置节点 ID。从固件构建角度此类 CAN 外设的固件目标位于仓库boards/目录下构建时会同时产出用于 CAN 刷写的.uavcan.bin应用固件与 SWD 刷写的canbootloader引导固件驱动侧的核心实现位于 src/drivers/uavcannode外设端生产者与 src/drivers/uavcan飞控端消费者。八、数据链路与底层实现把 ARK DIST SR 接入 PX4 后测距数据的完整流动路径为ARK DIST SR (AFBR-S50LV85D, ToF 测距) │ 40 Hz 测量 ▼ DroneCAN 总线uavcan::equipment::range_sensor::Measurement ▼ PX4 uavcan 驱动 (src/drivers/uavcan/sensors/rangefinder.cpp) │ 订阅 UAVCAN_RNG_MIN/MAX 量程过滤 ▼ uORB 主题distance_sensor (msg/DistanceSensor.msg) ▼ EKF2 高度融合 (EKF2_RNG_* 参数控制, src/modules/ekf2/EKF) ▼ 飞行控制 / 地形跟随 / 辅助起降从源码结构可以确认几个关键实现事实rangefinder.cpp 中的UavcanRangefinderBridge以ORB_ID(distance_sensor)为发布目标把 DroneCAN 测距消息桥接到标准 uORB 主题上任何消费distance_sensor的模块如 EKF2、避障、地形跟随都能复用该数据测距数据在 EKF2 中的融合行为由 params_range_finder.yaml 中的EKF2_RNG_*参数族统一控制包括EKF2_RNG_CTRL融合开关与模式、EKF2_RNG_NOISE测量噪声、EKF2_RNG_GATE新息一致性门限等。ARK DIST SR 文档只要求调整其中与量程/质量判定相关的两个参数其余保持默认即可。九、验证与测试9.1 通过 MAVLink Console 查看测距数据打开 QGroundControl 的MAVLink Console或 SITL 模拟器下的终端监听distance_sensoruORB 主题listener distance_sensor 5该命令会持续打印最近 5 条测距消息包含current_distance等字段。若主题无输出请先确认UAVCAN_SUB_RNG已启用且飞控已重启详见 Sensor/Topic Debugging。9.2 通过 QGC MAVLink Inspector 查看 DISTANCE_SENSOR在 QGroundControl 中打开Analyze Tools选择DISTANCE_SENSOR消息并勾选current_distance绘图即可直观地看到测距值随传感器前方障碍物远近的变化曲线参考 距离传感器测试章节。9.3 检查 CAN 总线节点若设备未被识别可在 MAVLink Console 中执行uavcan status该命令列出 PX4 在 CAN 总线上检测到的全部 DroneCAN 节点用于确认 ARK DIST SR 是否成功入网。十、常见问题排查QARK DIST SR 接入后没有数据确认 UAVCAN_ENABLE 已设为2或3并重启确认 UAVCAN_SUB_RNG 已启用默认关闭在 MAVLink Console 执行uavcan status检查节点是否在线确认飞控插有可用的 SD 卡动态节点分配依赖 SD 卡。Q动态节点分配没有下发节点 ID检查 SD 卡是否正常插入并重启飞控。Q如何让 EKF 更信任/更不信任测距数据调整 EKF2_RNG_NOISE测量噪声与 EKF2_RNG_QLTY_T信号有效性时长想要更激进的融合可放宽噪声、降低质量门限。十一、延伸阅读DroneCAN 总览与配置DroneCAN 协议、节点分配、订阅/发布参数的完整说明PX4 DroneCAN FirmwareCAN 外设固件的构建、静态节点 ID 配置与开发信息距离传感器Rangefinder总览全部受支持测距传感器及通用配置/测试方法CAN 总线接线CAN 网络物理布线规范与终端电阻要求EKF2 测距参数定义EKF2_RNG_*参数族的完整源码定义DroneCAN 测距驱动实现飞控端测距消息订阅与量程过滤的具体代码DroneCAN 驱动参数UAVCAN_SUB_RNG、UAVCAN_RNG_MIN/MAX等参数的默认值与取值范围。赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐PX4 接入 ARK DIST MR 中程 DroneCAN 测距传感器硬件规格、接线与参数配置完全指南PX4 接入 ARK DIST MR 中程 DroneCAN 测距传感器硬件规格、接线与参数配置完全指南 ARK DIST MR 是 ARK Electron嵌入式物联网机器人自动驾驶智能硬件PX4 与 ARK Flow MR中距离 DroneCAN 光流/测距/IMU 模块的接入与配置指南PX4 与 ARK Flow MR中距离 DroneCAN 光流/测距/IMU 模块的接入与配置指南 ARK Flow MRMid Range是 ARK嵌入式物联网机器人自动驾驶智能硬件COLMAP 教程从照片到可旋转 3D 模型只需 3 步COLMAP 教程从照片到可旋转 3D 模型只需 3 步 你绕着一栋建筑拍了一圈手机里存了几十张照片现在想让它在屏幕上转起来——这就是 COLMAP 干嵌入式物联网机器人自动驾驶智能硬件上一篇戴森球计划工厂蓝图库3000设计模板让你的星际工厂建设快人一步下一篇VIA桌面客户端终极键盘定制指南让你的机械键盘变身效率神器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

内存不够用之后:Swap、Linux 启动链与那些能救命的救援操作
内存不够用之后:Swap、Linux 启动链与那些能救命的救援操作

内存不够用之后:Swap、Linux 启动链与那些能救命的救援操作 上一篇把存储从 RAID 拼到 LVM,讲的是"盘怎么组织"。这一篇换个方向:内存不够了怎么办,以及系统启动不起来的时候,从哪一层开始救。 这两件事看着… · 2026/9/24 14:55:40

开关磁阻电机智能控制:从数据驱动到嵌入式实时部署
开关磁阻电机智能控制:从数据驱动到嵌入式实时部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:55:40

Javadoc 语法解析:用 ANTLR4 精确匹配 Java 文档注释的完整实现指南
Javadoc 语法解析:用 ANTLR4 精确匹配 Java 文档注释的完整实现指南

编程语言编译器开发工具 【免费下载链接】grammars-v4 Grammars written for ANTLR v4; expectation that the grammars are free of actions. 项目地址: https://gitcode.com/gh_mirrors/gr/grammars-v4 点击查看 免费下载 导读 本文围绕 grammars-v4 仓库中的 j… · 2026/9/24 14:55:40

现代智能雷达技术10——FMCW体制(2)
现代智能雷达技术10——FMCW体制(2)

面对自动驾驶中干扰严重与MIMO效率低的挑战,雷达波形迎来革新:PMCW以相位编码实现抗干扰与并行发射,支持多雷达共存与高帧率;DDMA则在FMCW基础上通过微小相位偏移实现多天线频域分离,保持高速度与高信噪比。二者分别从… · 2026/9/24 15:27:31

【车载/农机 AVM 优化】高发热与线程争抢卡死?基于 54Hz 硬件屏的 360 环视降频控制与 SQL 分析调优实践
【车载/农机 AVM 优化】高发热与线程争抢卡死?基于 54Hz 硬件屏的 360 环视降频控制与 SQL 分析调优实践

标签:Android 性能优化 车载开发 AVM 360环视 Perfetto SQL分析 adb命令 OpenGL ES 一、 背景与痛点 在车载与农机(如收割机、拖拉机)等工业终端设备上,360 度全景环视系统(AVM, Around View Monitoring)是… · 2026/9/24 15:27:31

Feign 集成 Apache HttpClient 4:从入门配置到请求/响应转换源码解析
Feign 集成 Apache HttpClient 4:从入门配置到请求/响应转换源码解析

后端API设计 【免费下载链接】feign Feign makes writing java http clients easier 项目地址: https://gitcode.com/gh_mirrors/fe/feign 点击查看 免费下载 Apache HttpClient 是 Java 生态中最成熟、功能最丰富的 HTTP 客户端之一。本指南围绕 Feign 仓库中的 f… · 2026/9/24 15:27:31

动态生成 PDF 时如何优雅实现“第 x 页 共 y 页”的页码效果?
动态生成 PDF 时如何优雅实现“第 x 页 共 y 页”的页码效果?

在使用 iTextSharp 导出 PDF 文件时,产品需求定义页脚显示类似 “第 x 页 共 y 页” 的格式。然而,当 PDF 内容包含大量动态元素(如可变行数的表格、不确定长度的文本等)时,在生成过程中无法提前获知总页数&#xff0c… · 2026/9/24 15:27:25

葡萄牙语翻译怎么选?真正麻烦的是巴西葡语和欧洲葡语根本不完全一样
葡萄牙语翻译怎么选?真正麻烦的是巴西葡语和欧洲葡语根本不完全一样

很多人第一次用葡萄牙语翻译软件时,会直接在语言列表里选择Portuguese。这个选择看起来很简单,真正用起来以后,很快就会遇到一个问题:你面对的到底是巴西葡萄牙语,还是欧洲葡萄牙语?两种变体可以互相理解&a… · 2026/9/24 15:27:19

Qt — 容器类控件
Qt — 容器类控件

目录 1. Group Box 2. Table Widget 容器类控件:容器里面还可以容纳一些其它的控件 多元素控件:包含的内容,是一个一个的自定义好的 “Item”对象 容器类控件,包含的内容是前面已经讲述过的各种控件了,QPushButton… · 2026/9/24 15:27:12

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码