| name | px4-vision-nav |
| description | PX4 视觉导航与避障 - 光流定位、深度相机、激光雷达融合、视觉里程计 |
| argument-hint | 视觉导航 OR px4 vision OR 视觉避障 OR 光流定位 |
| user-invocable | true |
PX4 视觉导航技能
用于配置和使用基于视觉的定位、导航和避障功能
何时使用
当需要以下帮助时使用此技能:
- 配置光流定位
- 设置视觉里程计
- 配置激光雷达避障
- 实现室内自主飞行
快速参考
光流定位
QGC → Sensors → Optical Flow
→ 安装下视相机
→ 配置传感器
视觉里程计
EKF2_AID_MASK |= 0b0010
EKF2_EV_PRIO
EKF2_EV_DELAY
光流配置
支持的传感器
| 传感器 | 接口 | 说明 |
|---|
| PX4FLOW | I2C | 官方光流模块 |
| PMW3901 | SPI | 鼠标传感器 |
| OA500VM | Serial | 成品光流模块 |
配置步骤
-
安装传感器
-
QGC 配置
QGC → Sensors → Optical Flow
→ 点击 "Start Setup"
→ 按照提示校准
参数
EKF2_OF_CTRL = 1
EKF2_OF_PRIO
EKF2_OF_QMIN
EKF2_RNG_AID
RNGFND_MAX_CM
视觉里程计 (VIO)
ROS 2 + VIO 设置
EKF2_AID_MASK |= 0b0010
EKF2_EV_DELAY = 0
EKF2_HGT_MODE = 2
VIO 参数
EKF2_EV_PRIO = 50
EKF2_EV_VELO_PRIO = 50
EKF2_EV_RESET_YAW = 1
激光雷达/测距仪
支持的传感器
| 类型 | 型号 | 接口 |
|---|
| 声学测距 | MaxBotix | Serial |
| 超声波 | SRF02/HC-SR04 | I2C |
| TOF 激光 | TFmini, TF-Luna | Serial |
| 激光雷达 | RPLidar, LEO | Serial |
配置
RNGFND_TYPE = 5
RNGFND_MAX_CM = 500
RNGFND_MIN_CM = 50
RNGFND_QUALITY = 50
EKF2_RNG_AID = 1
避障功能
基于测距仪的避障
OBS_CTRL = 1
OBS_R_MAX = 5
OBS_R_MIN = 0.5
OBS_TYPE = 1
EKF 障碍物融合
EKF2_RNG_AID = 1
EKF2_RNG_NOISE = 0.1
室内定位方案
推荐方案
| 方案 | 适用场景 | 精度 |
|---|
| 光流 + 测距 | 简单室内 | 10-30cm |
| VIO | 复杂环境 | 1-5cm |
| UWB | 大范围室内 | 10-30cm |
| AprilTag | 已知环境 | 1-5cm |
室内飞行配置
EKF2_GPS_CTRL = 0
EKF2_AID_MASK = 0b0111
EKF2_HGT_MODE = 3
EKF2_NOAID_NOISE = 0.5
常见问题
光流不工作
- 检查安装方向
- 检查地面纹理
- 确认测距仪数据
- 检查 EKF 配置
VIO 漂移
- 校准相机内参
- 检查时间同步
- 调整延迟参数
- 检查 IMU 外参
避障不触发
- 检查传感器数据
- 调整检测距离参数
- 确认障碍物大小
- 检查模式设置
相关文档