在【如何修改Gazebo-PX4模擬的飛機模組】的最後,我們有開啟三台無人機的模擬,但那是MAVSDK所控制的無人機,如果要用ROS環境並搭配MAVROS控制無人機,需要滿多複雜的操作,在此提供。

建立工作環境

  1. 創立、初始化工作空間

    $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>

  2. 建立MAVLink和MAVROS的來源:

    $rosinstall_generator --rosdistro noetic mavlink | tee /tmp/mavros.rosinstall
    $rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall
    
  3. 安裝

    $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>

  4. 安裝 **GeographicLib** datasets:(我不太確定這個datasets的意義是什麼)

    $./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
    

    <aside> 💡 做這些事情的時候,都是在剛建立的工作空間(~/Desktop/catkin_ws/)

    </aside>

  5. Build

    $catkin build
    $source devel/setup.bash
    

這樣MAVROS的部分應該算也安裝完了

設定模擬環境

  1. 確保無人機有先make過

    $cd ~/Desktop/PX4-Autopilot/
    $DONT_RUN=1 make px4_sitl_default gazebo-classic
    
  2. 把環境放到~/.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

Untitled

Untitled

UAV Tutorial