本專案旨在開發一套通用的無人機避障導航系統。初期利用 AirSim 模擬器的高精確度深度圖進行演算法驗證,最終目標是將程式碼移植至 DJI Tello 實體無人機,並整合 MiDaS 深度估計模型解決單目測距問題。
以下是 MiDaS 相關論文與Github連結:
https://github.com/isl-org/MiDaS
https://arxiv.org/abs/1907.01341
目前採用模組化設計,將感知 (Perception) 與決策 (Planning) 分離,以利於未來抽換硬體介面。
project_root/
├── modules/ # 核心功能模組
│ ├── [perception.py](<http://perception.py>) # 感知層:負責切換 AirSim (真值) 或 Tello (MiDaS)
│ ├── drone_[control.py](<http://control.py>) # 控制層:封裝飛行指令 (Velocity Control)
│ ├── local_[planner.py](<http://planner.py>) # 規劃層:實作混合式避障 (ROI + DWA)
│ └── global_[planner.py](<http://planner.py>) # (預計) RRT 全域路徑規劃
├── utils/ # 工具庫
│ ├── [visualization.py](<http://visualization.py>) # 顯示深度圖、繪製預測軌跡
│ └── math_[utils.py](<http://utils.py>) # 座標轉換、角度計算
├── tests/ # 測試驗證區
│ └── test_[perception.py](<http://perception.py>) # 目前進度:驗證影像讀取與自動起降
└── output/ # 執行紀錄 (Logs, Screenshots)
DepthPlanar API 直接取得精確的絕對深度(單位:公尺)。