关于 drone-cv-expert
drone-cv-expert 是面向自主飞行平台机器人与计算机视觉的技术技能。它帮助工程师根据导航、感知、传感器融合和硬件约束选择方案,并强调分阶段测试与飞行安全。
主要功能
- 01飞行控制与路径规划指导
- 02SLAM 和传感器融合方案
- 03目标检测与跟踪方法
- 04边缘部署与硬件集成
- 05安全检查和仿真指导
适用场景
- 01为无 GPS 飞行选择导航方法
- 02设计机载目标检测流程
- 03选择无人机定位的传感器融合方案
- 04规划仿真和分阶段飞行测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill drone-cv-expert安装后在 Claude Code 中输入/drone-cv-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.md.claude-plugin/plugin.jsonreferences/sensor-fusion-ekf.mdobject-detection-tracking.mdnavigation-algorithms.md详细介绍
无人机计算机视觉专家
专注于机器人、无人机系统以及自主飞行平台的计算机视觉。
决策树:何时使用此技能
User mentions drones or UAVs?
├─ YES → Is it about inspection/detection of specific things (fire, roof damage, thermal)?
│ ├─ YES → Use drone-inspection-specialist
│ └─ NO → Is it about flight control, navigation, or general CV?
│ ├─ YES → Use THIS SKILL (drone-cv-expert)
│ └─ NO → Is it about GPU rendering/shaders?
│ ├─ YES → Use metal-shader-expert
│ └─ NO → Use THIS SKILL as default drone skill
└─ NO → Is it general object detection without drone context?
├─ YES → Use clip-aware-embeddings or other CV skill
└─ NO → Probably not a drone question
核心能力
飞行控制与导航
- PID 调参:位置、速度、姿态控制回路
- SLAM:ORB-SLAM、LSD-SLAM、视觉惯性里程计(VIO)
- 路径规划:A*、RRT、RRT*、Dijkstra、势场法
- 传感器融合:EKF、UKF、互补滤波器
- 无 GPS 导航:AprilTags、视觉里程计、LiDAR SLAM
计算机视觉
- 目标检测:YOLO(v5/v8/v10)、EfficientDet、SSD
- 跟踪:ByteTrack、DeepSORT、SORT、光流
- 边缘部署:TensorRT、ONNX、OpenVINO 优化
- 3D 视觉:立体深度、点云、运动恢复结构
硬件集成
- 飞控:Pixhawk、Ardupilot、PX4、DJI
- 协议:MAVLink、DroneKit、MAVSDK
- 边缘计算:Jetson(Nano/Xavier/Orin)、Coral TPU
- 传感器:IMU、GPS、气压计、LiDAR、深度相机
应避免的反模式
1. “仅仿真综合征”
错误做法:只在 Gazebo/AirSim 中测试,然后直接部署到真实无人机。 正确做法:仿真 → 台架测试 → 系留飞行 → 受控环境 → 实地测试。
2. “过度使用 EKF”
错误做法:互补滤波器足以胜任时仍使用扩展卡尔曼滤波器。 正确做法:根据需求匹配滤波器复杂度:
- 互补滤波器:基本稳定,仅姿态
- EKF:多传感器融合,GPS+IMU+气压计
- UKF:高度非线性系统、激烈机动
3. “最高分辨率假设”
错误做法:处理 4K、30fps 的帧,并期望达到实时性能。 正确做法:根据高度和速度权衡分辨率:
| 高度 | 速度 | 分辨率 | FPS | 原因 |
|---|---|---|---|---|
| <30m | 慢 | 1920x1080 | 30 | 需要细节 |
| 30-100m | 中等 | 1280x720 | 30 | 折中 |
| >100m | 快 | 640x480 | 60 | 优先考虑速度 |
4. “单线程处理”
错误做法:在一个循环中依次执行检测 → 跟踪 → 控制。 正确做法:采用流水线并行:
Thread 1: Camera capture (async)
Thread 2: Object detection (GPU)
Thread 3: Tracking + state estimation
Thread 4: Control commands
5. “信任 GPS”
错误做法:假设 GPS 始终准确且可用。 正确做法:使用多源位置估计:
- GPS:室外精度为 2-5m,室内不可用
- 视觉里程计:漂移为 0.1-1%,受光照影响
- AprilTags:在部署位置可达到厘米级精度
- IMU:仅适用于短期,漂移会不断累积
6. “一个模型适用于所有场景”
错误做法:在所有场景中使用同一个 YOLO 模型。 正确做法:根据约束选择模型:
| 约束 | 模型 | 备注 |
|---|---|---|
| 对延迟要求严格 | YOLOv8n | 推理耗时 6ms |
| 均衡 | YOLOv8s | 15ms,精度更高 |
| 优先考虑精度 | YOLOv8x | 50ms,mAP 最高 |
| 边缘设备 | YOLOv8n + TensorRT | Jetson 上耗时 3ms |
问题解决框架
1. 约束分析
- 算力:使用什么硬件?(Jetson Nano = 约 5 TOPS,Xavier = 32 TOPS)
- 功耗:电池容量是多少?对飞行时间有何影响?
- 延迟:控制回路频率是多少?检测响应时间是多少?
- 重量:载荷能力如何?重心在哪里?
- 环境:室内还是室外?GPS 是否可用?光照条件如何?
2. 算法选择矩阵
| 问题 | 经典方法 | 深度学习 | 适用场景 |
|---|---|---|---|
| 特征跟踪 | KLT 光流 | FlowNet | 经典方法:实时、算力有限。深度学习:鲁棒性好,但需要更多算力 |
| 目标检测 | HOG+SVM | YOLO/SSD | 经典方法:简单目标、无 GPU。深度学习:复杂目标、有 GPU |
| SLAM | ORB-SLAM | DROID-SLAM | 经典方法:成熟、易调试。深度学习:在具有挑战性的场景中效果更好 |
| 路径规划 | A*、RRT | 基于 RL | 经典方法:已知环境。深度学习:复杂、动态环境 |
3. 安全检查清单
- 已测试急停开关,并确保其易于访问
- 已配置地理围栏
- 已设置返航高度
- 已定义低电量时的操作
- 已定义信号丢失时的操作
- 螺旋桨保护罩(如适用)
- 飞行前完成传感器校准
- 已检查天气状况
快速参考表
MAVLink 消息类型
| 消息 | 用途 | 频率 |
|---|---|---|
| HEARTBEAT | 连接状态正常 | 1 Hz |
| ATTITUDE | 横滚/俯仰/偏航 | 10-100 Hz |
| LOCAL_POSITION_NED | 位置 | 10-50 Hz |
| GPS_RAW_INT | 原始 GPS 数据 | 1-10 Hz |
| SET_POSITION_TARGET | 命令 | 按需 |
卡尔曼滤波器调优
| 矩阵 | 高值 | 低值 |
|---|---|---|
| Q(过程噪声) | 更信任测量值 | 更信任模型 |
| R(测量噪声) | 更信任模型 | 更信任测量值 |
| P(初始协方差) | 初始状态不确定 | 初始状态确定 |
常见坐标系
| 坐标系 | 原点 | 轴 | 用途 |
|---|---|---|---|
| NED | 起飞点 | 北-东-下 | 导航 |
| ENU | 起飞点 | 东-北-上 | ROS 标准 |
| Body | 无人机重心 | 前-右-下 | 控制 |
| Camera | 镜头中心 | 右-下-前 | 视觉 |
参考文件
详细实现见 references/:
navigation-algorithms.md- SLAM、路径规划、定位sensor-fusion-ekf.md- 卡尔曼滤波器、多传感器融合object-detection-tracking.md- YOLO、ByteTrack、光流
仿真工具
| 工具 | 优势 | 劣势 | 最适合 |
|---|---|---|---|
| Gazebo | ROS 集成、物理仿真 | 图形质量 | ROS 开发 |
| AirSim | 照片级真实感、侧重计算机视觉 | 以 Windows 为主 | 视觉算法 |
| Webots | 多机器人、易于使用 | 针对无人机的特性较少 | 集群仿真 |
| MATLAB/Simulink | 控制设计 | 非实时 | 控制器调优 |
新兴技术(2024-2025)
- 事件相机:1μs 时间分辨率,无运动模糊
- 神经形态计算:Loihi 2 实现超低功耗推理
- 4D 雷达:速度 + 3D 位置,可在各种天气条件下工作
- 集群自主性:去中心化协同、涌现行为
- 基础模型:SAM、CLIP 实现零样本检测
集成点
- drone-inspection-specialist:领域特定检测(火灾、损坏、热成像)
- metal-shader-expert:GPU 加速视觉处理、自定义着色器
- collage-layout-expert:报告生成、视觉排版
核心原则:在无人机系统中,可靠性比性能更重要。一个永不崩溃、准确率为 95% 的系统,胜过一个准确率为 99% 但会不可预测地失效的系统。务必准备备用方案。
评论
支持 Markdown