Ardupilot和Gazebo的环境搭建

35 阅读1分钟

Ardupilot和Gazebo

  1. 安装Ubuntu 22.04

  1. 安装Arduilot
    • 克隆ArduPilot仓库
      git clone https://github.com/ArduPilot/ardupilot.git
      
    • 编译
      cd ardupilot
      git submodule update --init --recursive
      Tools/environment_install/install-prereqs-ubuntu.sh -y
      
    • 环境配置
      pwd
      /home/daniel/ardupilot
      
      export PATH=$PATH:<ardupilot path>/Tools/autotest
      export PATH=/usr/lib/ccache:$PATH
      
      . ~/.profile
      
      
    • 编译配置
      ./waf configure --board sitl
      
    • 测试
      sim_vehicle.py -w -v ArduCopter
      

  1. 安装Gazebo Harmonic
    • 添加官方软件源和密钥 在终端中依次执行以下命令,添加Gazebo的官方软件仓库
      sudo apt-get update
      sudo apt-get install curl
      sudo curl https://packages.osrfoundation.org/gazebo.gpg -o /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
      
    • 安装 Gazebo Harmonic 更新软件列表并安装:
      sudo apt-get update
      sudo apt-get install gz-harmonic
      
    • 验证安装完成后 您可以通过运行 gz sim --version来验证是否成功。

  1. 安装Arduilot_gazebo插件

    • Harmonic (apt)

      sudo apt update
      sudo apt install libgz-sim8-dev rapidjson-dev
      sudo apt install libopencv-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl
      
    • 克隆仓库并构建:

      git clone https://github.com/ArduPilot/ardupilot_gazebo
      cd ardupilot_gazebo
      mkdir build && cd build
      cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
      make -j4
      
    • 假设您已将存储库克隆到: $HOME/ardupilot_gazebo:

      echo 'export GZ_SIM_SYSTEM_PLUGIN_PATH=$HOME/ardupilot_gazebo/build:${GZ_SIM_SYSTEM_PLUGIN_PATH}' >> ~/.bashrc
      echo 'export GZ_SIM_RESOURCE_PATH=$HOME/ardupilot_gazebo/models:$HOME/ardupilot_gazebo/worlds:${GZ_SIM_RESOURCE_PATH}' >> ~/.bashrc
      

  1. 安装MavProxy
    • 安装依赖
      sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame
      python3 -m pip install PyYAML mavproxy --user
      echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
      
    • 更新
      pip3 install mavproxy pymavlink --user --upgrade
      

  1. 启动gazebo和ardupilot
    • 启动gazebo

      cd ardupilot_gazebo
      gz sim -v4 -r iris_runway.sdf --render-engine ogre
      

      image.png

    • 启动ardupilot

      cd ardupilot
      sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --map --console
      

      image1.png

    • 等待传感器初始化完成后解锁执行任务

      mode guided // 切换到引导模式
      arm throttle //解锁
      takeoff 5 //起飞高度5m
      position 0 0 3 //位置设置为(0,0,3) m
      position 100 100 0 //位置设置为(100,100,0) m
      position 100 -200 0 //位置设置为(100,-200,0) m
      rtl
      

      微信图片_20260526093014_292_7.png