開源自動導航系統:ArduPilot/APM

jopen 9年前發布 | 37K 次閱讀 ArduPilot/APM

ArduPilot/APM是一款開源自動導航系統,支持多旋翼飛行器,傳統直升機,固定翼飛機與傳統直升機。源碼由一個大型愛好者社區開發。

支持的導航板

目前,ArduPilot/APM支持如下自動導航板

  • PX4 – 一款32位基于ARM的自動導航儀,支持很多高級特性,使用NuttX實時操作系統

    </li>

  • APM2 – 一款受歡迎的AVR2560 8位自動導航儀

    </li>

  • APM1(已終止開發) – 一款基于AVR2560的自動導航儀,使用分離式結構

    </li> </ul>

    ArduPilot/APM源碼基于AP-HAL硬件抽象層編寫,使代碼能支持更多自動導航板變為可能。請查看這篇博客文章獲取關于遷移到AP-HAL的更多信息。

    關鍵資源

    • ArduPilot/APM的源碼使用git管理在http://github.com/diydrones/ardupilot

      </li>

    • 主開發者討論郵件列表drones-discuss,它開放給任何人加入

      </li>

    • 用于支持的自動導航板的預編譯固件可在http://firmware.diydrones.com上下載

      </li>

    • 有關配置與飛行ardupilot的用戶文檔可在http://copter.ardupilot.cnhttp://plane.ardupilot.cnhttp://rover.ardupilot.cn上找到

      </li>

    • 用戶支持由DIYDrones論壇提供

      </li>

    • ArduPilot/APM自動測試系統顯示每個commit的測試狀態

      </li>

    • 故障追蹤與開放issues可以使用github issues系統跟蹤

      </li>

    • 由源代碼自動生成的載具板載參數文檔

      </li> </ul>

      為什么取這個名字?

      ArduPilot的“Ardu”部分取自Arduino。最初APM1自動導航板是基于Arduino開 發環境的。自從我們成長的比Arduino環境更快時,我們就不再使用Arduino運行庫了。盡管我們仍然使用稍加修改的Arduino集成開發環境版 本,來支持用于基于AVR的APM1與APM2板的ArduPilot。因為我們現在不僅支持Arduino兼容硬件(如PX4),為表示當前代碼的跨平 臺特性,我們把“Ardu”前綴從軟件項目取消,改為了“APM” 前綴(APM:Copter,APM:Plane,APM:Rover等)。

      開發語言與工具

      用于ArduPilot/APM的主要飛行代碼使用C++編寫。支持工具使用多語言編寫,最常用的是python。

      目前,主要載具代碼編寫為“.pde”文件,由Arduino構建系統得來。pde文件是預處理為.cpp文件構建的一部分。pde文件中包含的聲明也能提供構建規則,說明需要包含與連接到哪些庫。

      地面站

      ArduPilot/APM支持多種地面站用于計劃與控制飛行。飛行固件使用MAVLink協議,它允許飛機被任何MAVLink兼容設備控制。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!