PX4小車控制——Ubuntu下的開發環境搭建


參考1:Ubuntu操作系統下Pixhawk原生固件PX4的編譯方法

在Ubuntu下的環境搭建官方也有指導文檔,
英文鏈接是 http://dev.px4.io/v1.9.0/en/setup/dev_env_linux.html
中文鏈接 http://dev.px4.io/v1.9.0/zh/setup/dev_env_linux.html
官方源下載慢可以使用國內源,我用的是清華源參考鏈接

項目流產,板子被小夥伴拿去了😂,突然發現這裏有個草稿記錄了過程和一些資料,分享出來吧。

安裝依賴庫

安裝通用庫

# 常用工具qtcreator git cmake等
sudo apt-get update
sudo apt-get install python-argparse git-core wget zip \
	python-empy qtcreator cmake build-essential genromfs -y
# 仿真工具
sudo apt-get update
sudo apt-get install openjdk-8-jre
sudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-8-jdk openjdk-8-jre clang-3.5 lldb-3.5 -y

使用清華源未見安裝失敗,之前用中科大的源有些安裝不上。

  • 卸載模式管理器

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

sudo apt-get remove modemmanager

更新依賴包,安裝通用依賴

sudo apt-get update -y
sudo apt-get install git zip qtcreator cmake \
    build-essential genromfs ninja-build exiftool -y
# Required python packages
sudo apt-get install python-argparse \
    python-empy python-toml python-numpy python-yaml \
    python-dev python-pip -y
sudo -H pip install --upgrade pip 
sudo -H pip install pandas jinja2 pyserial cerberus

可選擇安裝pyulog。這是一個有用的python包,其中包含解析ULog文件並顯示它們的腳本。

# optional python tools
sudo -H pip install pyulog

下載代碼

mkdir -p ~/src
cd ~/src
git clone https://github.com/PX4/Firmware.git

這裏使用github的源代碼太慢了,所以我使用碼雲的鏈接

# 替換上邊的下載
git clone https://gitee.com/designer/PX4Firmware.git

初始化

先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……

cd Firmware
git submodule update --init --recursive
#下載很慢是從github官方下載的,這一步半個小時52%,後邊編譯必須要這個組件

下邊說到的這個庫很難更新,所以我在gitee上同步了一個
在這裏插入圖片描述
在這裏插入圖片描述

cd Firmware/Tools
git clone https://gitee.com/lilinxin75/jMAVSim.git
cd ..
cd /platforms/nuttx/NuttX/apps //若無apps文件夾,請使用mkdir apps創建
git clone https://gitee.com/lilinxin75/NuttX-apps.git

之後再重複上上一條git submodule update --init --recursive
這樣就可以更新附件模塊成功。

Qt Creator在linux下編譯

Qt Creator是官方唯一支持的IDE,在Ubuntu上針對PX4固件使用,便於看代碼的同時也可以進行編譯燒錄。

Qt creator offers clickable symbols, auto-completion of the complete codebase and building and flashing firmware.

Qt creator提供了方便的函數、變量鏈接、自動補齊代碼、構建和刷新固件。

Qt截圖

在打開Qt之前,應該創建project文件:

cd ~/src/Firmware
mkdir ../Firmware-build
cd ../Firmware-build
cmake ../Firmware -G "CodeBlocks - Unix Makefiles"
#可以發現Firmware-build目錄生成了一些文件

提個醒: 按照官網上面最後一行的命令,當前使用Qt編譯得到的將是build px4 ,因爲默認的編譯指令是make posix_sitl_default,這不是大家所期待的結果。
解決方案:對於,Pixhawk硬件,將最後一行改成

cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4fmu-v2_default

其他例如使用FMUv4的用戶請根據需求進行替換。

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