無人機開發之四:Pixhawk開發環境搭建

Pixhawk開發環境搭建

PX4代碼可以在 Mac OS,Linux 或者 Windows上進行開發,本文采用Ubuntu的長期支持版本Ubuntu16.04作爲開發環境

爲了便於開發,我們需要把用戶添加到用戶組”dialout”中,終端中執行:

sudo usermod -a -G dialout $USER

然後註銷後,重新登錄,因爲重新登錄後所做的改變纔會有效。

注意:永遠不要使用sudo來修復權限問題,否則會帶來更多的權限問題,需要重裝系統來解決。

安裝PX4的依賴包

更新包列表,安裝下面編譯PX4的依賴包。先安裝cmake,執行:

sudo add-apt-repository ppa:george-edison55/cmake-3.x -y
sudo apt-get update

必備軟件

sudo apt-get install python-argparse git-core wget zip 
sudo apt-get install python-empy qtcreatorcmake build-essential genromfs -y

編譯工具

添加源安裝開發環境

    sudo add-apt-repository ppa:openjdk-r/ppa
    sudo apt-get update
    sudo apt-get install openjdk-8-jre
    sudo apt-get install ant protobuf-compiler libeigen3-devlibopencv-dev openjdk-8-jdk openjdk-8-jre clang-3.5 lldb-3.5 -y

安裝交叉編譯工具鏈

Ubuntu配備了一系列代理管理,這會嚴重干擾任何機器人相關的串口(或usb串口),卸載掉它也不會有什麼影響,我們這裏把它卸載:

sudo apt-get remove modemmanager

更新包列表和安裝下面的依賴包:

        sudo apt-get install python-serial openocd 
        sudo apt-get install    flex bison libncurses5-devautoconf texinfo build-essential 
        sudo apt-get install    libftdi-dev libtoolzlib1g-dev 
        sudo apt-get install    python-empy  

安裝arm-none-eabi編譯工具鏈,在添加arm-none-eabi工具鏈之前,請確保刪除殘餘:

刪除殘留命令

        sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabibinutils-arm-none-eabi gcc-arm-embedded
        sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa

安裝工具命令

       sudo apt-get install gcc-arm-none-eabi

如果需要在樹莓派上開發則需要安裝樹莓派上對於的工具鏈。樹莓派開發者應該從下面地址下載樹莓派Linux工具鏈。安裝腳本會自動安裝交叉編譯工具鏈:

        git clone https://github.com/pixhawk/rpi_toolchain.git
        cd rpi_toolchain
        ./install_cross.sh

在工具鏈安裝過程中需要輸入密碼。如果不想把工具鏈安裝在默認位置/opt/rpi_toolchain,可以執行

    ./install_cross.sh<PATH>

向安裝腳本傳入其它地址。安裝腳本會自動配置需要的環境變量。最後,運行以下命令更新環境變量:

source ~/.profile

代碼編譯

開發環境搭建好之後,就可以開始下載代碼並編譯了,PX4可以在控制檯或者圖形界面/IDE開發。在這裏我們對控制檯的開發進行簡要介紹。

首先建立工作目錄,然後從git上下載代碼: mkdir -p ~/src cd ~/src

第一篇介紹過Pixhawk有兩種固件包,我們使用ArduPilot固件包,執行命令 git clone https://github.com/ArduPilot/ardupilot cd ardupilot git submodule update --init --recursive cd ..

現在可以通過編譯源代碼來構建二進制文件。在直接使用硬件前,推薦先進行仿真。然後就可以對代碼進行編譯並下載了: cd ardupilot make px4fmu-v2_default

注意到“make”是一個字符命令編譯工具,“px4fmu-v2”是硬件/ardupilot版本,“default”是默認配置,所有的PX4編譯目標遵循這個規則。通過在命令後面添加‘upload’,編譯的二進制程序就會通過USB上傳到飛控硬件。下載成功後的情況如下所示:

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