整理了利用 PX4 官方指南 提供的腳本
來設定 PX4、ROS、MAVROS 和 Gazebo 模擬環境 的步驟。
這個方法是設定 PX4 開發環境中最快速且最推薦的方式,它會自動處理許多依賴項和配置問題。
🛠️ PX4、ROS、MAVROS 和 Gazebo 模擬環境設定步驟 (使用官方腳本)
PX4 官方使用一個 Bash 腳本 (ubuntu.sh) 來一鍵安裝所有必要的工具鏈、依賴項和模擬器。
1. 取得 PX4 原始碼
首先,您需要下載 PX4 韌體的原始碼庫,其中包含安裝腳本和 Gazebo 模擬所需的檔案。
# 在您的主目錄 (或您偏好的工作目錄) 下執行
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
2. 執行一鍵安裝腳本
進入下載的目錄,並執行安裝腳本。
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 是否成功載入:Bashecho $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。
# 啟動 Iris 四旋翼模型 (預設 Gazebo 模擬)
make px4_sitl gz_iris
或者,如果您的 Gazebo 版本較舊,使用 Gazebo Classic
# 啟動 Iris 四旋翼模型 (Gazebo Classic 模擬)
make px4_sitl gazebo-classic_iris
啟動後,您可以開啟 QGroundControl (QGC) 地面站軟體,它會自動連接到模擬的飛控。
方法二:使用 ROS Launch 檔案 (適用於 ROS 開發)
如果您打算使用 ROS 節點(Node)與飛控通訊,可以透過 ROS 的 launch 檔案來啟動 SITL 和 MAVROS。
開啟第一終端機: 啟動 Gazebo 模擬器和 PX4 飛控。
Bashcd PX4-Autopilot # 啟動 Iris 模擬器 roslaunch px4 iris.launch開啟第二終端機: 啟動 MAVROS 節點,連接到 PX4 飛控。
Bashroslaunch mavros px4.launch通常,
mavros px4.launch檔案會預設使用正確的 UDP 連接設定來連接到 SITL 模擬實例。
這就是使用 PX4 官方腳本設定 Gazebo 模擬環境的完整流程。
您現在是否希望我為您搜尋在 Gazebo 模擬中執行第一個 ROS/MAVROS 控制範例(例如,Offboard Control 模式)的教學?
沒有留言:
張貼留言