Windows 10 下開源飛控開發環境配置(Ardupilot/PX4)

0 環境

  • Windows 10 build version >= 18917 1
    啓動 cmd 後輸出的第一行文字便是 Windows 的版本信息,或者更明確一點,在 cmd 中執行 ver 。如果不滿足版本要求請更新系統到高版本。

1 配置 WSL

WSL (Windows Subsystem for Linux) 提供了在 Windows 10 中執行 Linux 命令的兼容層,即在 Windows10 中可以運行Linux 子系統,WSLWSLWSL2兩個版本,WSL2WSL 的主要區別在於 WSL2 中真實的運行了一個 Linux 核。也就是說在 WSL2 在 Windows10 上提供了一個真實的 Linux 子系統,在這個子系統裏面幾乎可以執行任何 Linux 主機上可以執行的操作。同時 Windows 10 硬盤上的數據可以在 WSL 中直接訪問到,這就給跨平臺的測試和開發帶來許多便利。

1.1 安裝 WSL2

在以管理員身份運行的 powershell 中執行 2

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重啓之後,在 Microsoft Store 搜索 Ubuntu 18.04 找到 Ubuntu 系統,當然 WSL 也支持一些其他的 Linux 發行版本。
安裝之後可能需要一些設置。首先檢查一下當前的 linux 分發版本是運行在 WSL 還是 WSL2,在 cmd 或者powershell 中執行

wsl -l -v

確定版本號 VERSION 1。如果 VERSION1 ,則可以通過 wsl --set-version <distro> <version> 來設置,如wsl --set-version Ubuntu-18.04 2 可以設置 Ubuntu-18.04 使用 WSL2

1.2 安裝工具鏈

上面安裝了基於 WSL2 的 Ubuntu-18.04,但是還需要進一步安裝用來開發的工具鏈。針對於 ArdupilotPX4開發而言,這裏的工具鏈主要涉及到本地編譯交叉編譯的工具鏈。本地編譯主要是用來編譯仿真測試的代碼,交叉編譯主要是用來編譯到嵌入式平臺上,即編譯到飛控硬件平臺上。下面的步驟主要參考 Ardupilot 開發文檔 3PX4 開發文檔 4

  • 本地編譯:gcc

  • 交叉編譯:arm-none-eabi-gcc

這裏可以分別用 ArdupilotPX4 官方配置來安裝。

# Ardupilot
cd path/to/ardupilot/Tools/environment_install
./install-prereqs-ubuntu.sh
# PX4
cd path/to/Firmware/Tools/setup
chmod u+x ubuntu.sh --no-sim-tools
./ubuntu.sh

上面安裝 PX4 編譯依賴項時使用了--no-sim-tools 選項來避免安裝仿真工具,對於 ArudpilotPX4 的安裝依賴項還有一些可以自己設定,這裏就不展開了。

2 配置VS Code

安裝VS Code後,在 VS Code 安裝Remote Development 插件,然後通過 ctrl + shift + p 執行命令remote-WSL 來打開 WSL 工作空間。這個時候就可以在 VSCode 裏面進行 Linux 下的程序開發此時在VS Code 中的launch.json 文件中會自動生產對應於 Linux 環境下的編譯設置。除此之外,由於 Ardupilot/PX4 代碼的主要編程語言爲 C/C++Python,所以順便安裝上一些相關插件

  • Python: Python (Microsoft)
  • C/C++: C/C++ (Microsoft)
  • CMake: CMake Tools (Microsoft)
    VS Code 與 WSL 的開發模型

  1. https://docs.microsoft.com/en-us/windows/wsl/wsl2-install ↩︎ ↩︎

  2. https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 ↩︎

  3. https://ardupilot.org/dev/docs/building-the-code.html ↩︎

  4. http://dev.px4.io/master/en/setup/dev_env_linux_ubuntu.html ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章