welcom ! Handel home

2025年11月11日 星期二

PX4 官方指南

整理了利用 PX4 官方指南 提供的腳本

來設定 PX4、ROS、MAVROS 和 Gazebo 模擬環境 的步驟。

這個方法是設定 PX4 開發環境中最快速且最推薦的方式,它會自動處理許多依賴項和配置問題。


🛠️ PX4、ROS、MAVROS 和 Gazebo 模擬環境設定步驟 (使用官方腳本)

PX4 官方使用一個 Bash 腳本 (ubuntu.sh) 來一鍵安裝所有必要的工具鏈、依賴項和模擬器。

1. 取得 PX4 原始碼

首先,您需要下載 PX4 韌體的原始碼庫,其中包含安裝腳本和 Gazebo 模擬所需的檔案。

Bash
# 在您的主目錄 (或您偏好的工作目錄) 下執行
git clone https://github.com/PX4/PX4-Autopilot.git --recursive

2. 執行一鍵安裝腳本

進入下載的目錄,並執行安裝腳本。

Bash
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh

📌 腳本作用說明:

  • 完整安裝: 如果您直接運行 bash ./Tools/setup/ubuntu.sh,腳本會安裝所有元件,包括:

    • PX4 的編譯工具鏈。

    • Gazebo 模擬器 (版本取決於您的 Ubuntu 版本)。

    • ROS (版本取決於您的 Ubuntu 版本,例如 Ubuntu 20.04 對應 ROS Noetic)。

    • MAVROS 套件,用於 ROS 和 PX4 之間的通訊。

    • 其他必要的依賴項。

  • 指令提示: 腳本運行時會詢問您是否同意安裝各個元件,請在出現提示時輸入 y 或按 Enter 鍵確認。

  • 重要! 執行完畢後,官方強烈建議您重新啟動電腦,以確保所有環境變數和權限設定生效。

3. (選用) 針對 ROS 環境的細微調整

如果您的目的是與 ROS 協作,官方指南通常會建議您在安裝後確認 ROS 工作空間和環境變數已正確設定。

  • 確認 ROS 環境: 通常,腳本會將 ROS 環境設定在您的 ~/.bashrc~/.zshrc 檔案中,讓您在每次開啟新終端機時自動載入。 您可以開啟一個新的終端機,運行以下指令來檢查 ROS 是否成功載入:

    Bash
    echo $ROS_DISTRO
    

    如果顯示 noetic 或其他 ROS 版本名稱,則表示成功。

  • Gazebo 模型路徑: 在某些舊版本的設定中,您可能需要手動設定 Gazebo 模型的路徑,但如果使用官方腳本,通常會自動處理。如果未來遇到 Gazebo 找不到模型的錯誤,您可以嘗試手動載入 Gazebo 模型環境變數:

    Bash
    # (如果使用 Gazebo Classic)
    source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default
    

🚀 啟動 Gazebo 模擬環境 (SITL + MAVROS)

設定完成後,您可以通過以下方式啟動 PX4、Gazebo 和 MAVROS:

方法一:使用 PX4 make 指令 (推薦)

這是最簡單的方式,它會在背景運行 PX4 SITL 實例並啟動 Gazebo。

Bash
# 啟動 Iris 四旋翼模型 (預設 Gazebo 模擬)
make px4_sitl gz_iris

或者,如果您的 Gazebo 版本較舊,使用 Gazebo Classic

Bash
# 啟動 Iris 四旋翼模型 (Gazebo Classic 模擬)
make px4_sitl gazebo-classic_iris

啟動後,您可以開啟 QGroundControl (QGC) 地面站軟體,它會自動連接到模擬的飛控。

方法二:使用 ROS Launch 檔案 (適用於 ROS 開發)

如果您打算使用 ROS 節點(Node)與飛控通訊,可以透過 ROS 的 launch 檔案來啟動 SITL 和 MAVROS。

  1. 開啟第一終端機: 啟動 Gazebo 模擬器和 PX4 飛控。

    Bash
    cd PX4-Autopilot
    # 啟動 Iris 模擬器
    roslaunch px4 iris.launch
    
  2. 開啟第二終端機: 啟動 MAVROS 節點,連接到 PX4 飛控。

    Bash
    roslaunch mavros px4.launch
    

    通常,mavros px4.launch 檔案會預設使用正確的 UDP 連接設定來連接到 SITL 模擬實例。


這就是使用 PX4 官方腳本設定 Gazebo 模擬環境的完整流程。

您現在是否希望我為您搜尋在 Gazebo 模擬中執行第一個 ROS/MAVROS 控制範例(例如,Offboard Control 模式)的教學?

沒有留言: