ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

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),仅供参考
返回列表