在【如何修改Gazebo-PX4模擬的飛機模組】的最後,我們有開啟三台無人機的模擬,但那是MAVSDK所控制的無人機,如果要用ROS環境並搭配MAVROS控制無人機,需要滿多複雜的操作,在此提供。
建立工作環境
創立、初始化工作空間
$mkdir -p ~/Desktop/catkin_ws/src
$cd ~/Desktop/catkin_ws
$catkin init
$wstool init src
<aside> 💡 中間如果有指令無法使用,確保已經安裝了這些工具: $sudo apt-get install python3-catkin-tools python3-rosinstall-generator -y
</aside>
建立MAVLink和MAVROS的來源:
$rosinstall_generator --rosdistro noetic mavlink | tee /tmp/mavros.rosinstall
$rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall
安裝
$wstool merge -t src /tmp/mavros.rosinstall
$wstool update -t src -j4
$rosdep install --from-paths src --ignore-src -y
<aside> 💡 如果rosdep不能用, $sudo apt install python3-rosdep2
</aside>
安裝 **GeographicLib** datasets:(我不太確定這個datasets的意義是什麼)
$./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
<aside> 💡 做這些事情的時候,都是在剛建立的工作空間(~/Desktop/catkin_ws/)
</aside>
Build
$catkin build
$source devel/setup.bash
這樣MAVROS的部分應該算也安裝完了
設定模擬環境
確保無人機有先make過
$cd ~/Desktop/PX4-Autopilot/
$DONT_RUN=1 make px4_sitl_default gazebo-classic
把環境放到~/.bashrc,這樣打開Terminal就會自動加入
$cd ~/Desktop/PX4-Autopilot/
$nano ~/.bashrc
#在最底下放
source ~/catkin_ws/devel/setup.bash # (optional)
source $(pwd)/Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$(pwd)/Tools/simulation/gazebo-classic/sitl_gazebo-classic
#改完後退出
$source ~/.bashrc
<aside> 💡 把所有$(pwd)改成你的【PX4-Autopilot】路徑,例如我是~/Desktop/PX4-Autopilot/ 路徑要注意一下,你我可能不一樣 【CTRL+S】儲存,【CTRL+X】關閉
</aside>
測試模擬環境
$cd ~/Desktop/PX4-Autopilot/
$roslaunch px4 multi_uav_mavros_sitl.launch

