這PART會講解如何在Gazebo中利用MAVSDK來模擬單台UAV飛行

1. 開啟QGroundControl。 2. 用PART2講到的【sitl_multiple_run.sh】開啟Gazebo。 3. 執行程式。

開啟 QGroundControl (有兩種方式)

  1. 直接滑鼠雙擊 QGroundControl.AppImage。
  2. 開啟一個Terminal,到 QGroundControl.AppImage的地方執行。
$cd ~/Desktop/
$./QGroundControl.AppImage

開啟 Gazebo

<aside> 💡 這裡不能用雙擊直接開Gazebo,會單純開啟模擬環境沒有飛機,因此要用【sitl_multiple_run.sh】來開啟。 另外多開Terminal可以直接對Terminal點右鍵【New Tab】這樣就可以在同一個視窗,不會這麼雜亂。

</aside>

開啟一個Terminal,到【sitl_multiple_run.sh】的所在地。

$cd ~/Desktop/PX4-Autopilot/Tools/simulation/gazebo-classic/
$./sitl_multiple_run.sh -n 1 (n 後面的數字 = 要幾台無人機)

執行程式

在MAVSDK-Python的Source code中,examples內有很多範例程式可以測試,例如takeoff_and_land.py,可以用內建文字編輯器去看看裡面怎麼寫,也可以去下載其他優秀的編輯器 (vscode) 來使用。 執行方法很簡單,前往examples的所在地然後執行就可以了,如下:

$cd ~/Desktop/MAVSDK-Python/examples/
$./takeoff_and_land.py

<aside> 💡 這裡需要注意的是,如果利用./takeoff_and_land.py來執行.py檔,在檔案的最上面一定需要加上#!/usr/bin/env python3,否則要【python3 takeoff_and_land.py】來執行。

</aside>

三件事情依序做完後,就可以看到飛機在移動的畫面,成功執行模擬程式

Untitled