mcpField
D
drone-cv-expert

drone-cv-expert

github.com/curiositech開発257246 回インストール2 日前に更新
リポジトリ

drone-cv-expert について

drone-cv-expertは、自律飛行プラットフォーム向けのロボティクスとコンピュータービジョンを扱う技術スキルです。ナビゲーション、認識、センサーフュージョン、ハードウェア制約に応じた方法を示し、段階的なテストと飛行安全を重視します。

主な機能

  1. 01飛行制御と経路計画の指針
  2. 02SLAMとセンサーフュージョンの手法
  3. 03物体検出と追跡の方法
  4. 04エッジ展開とハードウェア統合
  5. 05安全確認とシミュレーションの指針

活用シーン

  1. 01GPSが使えない飛行のナビゲーション方式を選定
  2. 02機上の物体検出パイプラインを設計
  3. 03ドローン測位のセンサーフュージョンを選定
  4. 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.json
references/
sensor-fusion-ekf.md
object-detection-tracking.md
navigation-algorithms.md

詳細

ドローン CV エキスパート

自律飛行プラットフォーム向けのロボティクス、ドローンシステム、コンピュータービジョンのエキスパートです。

判断ツリー:このスキルを使用するタイミング

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低速1920x108030詳細が必要
30-100m中速1280x72030バランス
>100m高速640x48060速度を優先
4. 「シングルスレッド処理」

誤り:1 つのループで検出 → トラッキング → 制御を順番に実行します。 正しい方法:パイプライン並列処理:

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:設置された場所で cm レベルの精度
  • IMU:短時間のみ、ドリフトが累積します
6. 「万能モデルの思い込み」

誤り:あらゆるシナリオで同じ YOLO モデルを使用します。 正しい方法:制約に応じてモデルを選択します。

制約モデル備考
レイテンシが重要YOLOv8n推論 6ms
バランス重視YOLOv8s15ms、精度が向上
精度優先YOLOv8x50ms、mAP が最高
エッジデバイスYOLOv8n + TensorRTJetson で 3ms

問題解決フレームワーク

1. 制約の分析
  • 計算能力:どのハードウェアですか?(Jetson Nano = 約 5 TOPS、Xavier = 32 TOPS)
  • 電力:バッテリー容量は?飛行時間への影響は?
  • レイテンシ:制御ループの周波数は?検出応答時間は?
  • 重量:ペイロード容量は?重心は?
  • 環境:屋内ですか、屋外ですか?GPS は利用できますか?照明条件は?
2. アルゴリズム選択マトリクス
問題古典的手法ディープラーニング使い分け
特徴点トラッキングKLT オプティカルフローFlowNet古典的手法:リアルタイム、計算能力が限られる場合。DL:堅牢性が必要で、より高い計算能力がある場合
物体検出HOG+SVMYOLO/SSD古典的手法:単純な物体、GPU がない場合。DL:複雑な物体、GPU が利用できる場合
SLAMORB-SLAMDROID-SLAM古典的手法:成熟しており、デバッグしやすい場合。DL:困難なシーンでより優れた性能が必要な場合
経路計画A*、RRTRL ベース古典的手法:環境が既知の場合。DL:環境が複雑で動的な場合
3. 安全チェックリスト
  • キルスイッチのテスト済みで、すぐに操作できること
  • ジオフェンスの設定
  • 帰還高度の設定
  • 低バッテリー時の動作の定義
  • 信号喪失時の動作の定義
  • プロペラガード(該当する場合)
  • 飛行前のセンサー校正
  • 気象条件の確認

クイックリファレンス表

MAVLink メッセージタイプ
メッセージ目的頻度
HEARTBEAT接続状態の確認1 Hz
ATTITUDEロール/ピッチ/ヨー10-100 Hz
LOCAL_POSITION_NED位置10-50 Hz
GPS_RAW_INTGPS 生データ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、オプティカルフロー

シミュレーションツール

ツール長所短所最適な用途
GazeboROS との連携、物理演算グラフィックス品質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:レポート生成、ビジュアル構成

重要な原則:ドローンシステムでは、性能より信頼性が優先されます。予測不能な障害が発生する 99% の精度のシステムより、クラッシュしない 95% の精度のシステムのほうが優れています。常に代替手段を用意してください。

コメント