Files
simulation/docs/setup_guide.md
2026-02-09 04:52:32 +00:00

2.5 KiB

Setup Guide

Complete installation for Ubuntu 22.04/24.04 and WSL2.

One-Command Installation

git clone https://git.sirblob.co/SirBlob/simulation.git
cd simulation
bash setup.sh

The script installs:

  • ROS 2 (Humble or Jazzy)
  • Gazebo Harmonic
  • ArduPilot SITL
  • ardupilot_gazebo plugin
  • Python dependencies

Installation takes 20-40 minutes.

Manual Installation

If you prefer to install components separately:

1. ROS 2

# Add ROS 2 repository
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
    -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
    http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | \
    sudo tee /etc/apt/sources.list.d/ros2.list

sudo apt update
sudo apt install ros-humble-ros-base ros-humble-ros-gz

2. Gazebo Harmonic

sudo wget 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

sudo apt update
sudo apt install gz-harmonic libgz-cmake3-dev libgz-sim8-dev

3. ArduPilot SITL

git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git ~/ardupilot
cd ~/ardupilot
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile
./waf configure --board sitl
./waf copter

4. ardupilot_gazebo Plugin

git clone https://github.com/ArduPilot/ardupilot_gazebo.git ~/ardupilot_gazebo
cd ~/ardupilot_gazebo
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

5. Python Environment

cd ~/simulation
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Verify Installation

# Check Gazebo
gz sim --version

# Check ArduPilot
sim_vehicle.py --help

# Check plugin
ls ~/ardupilot_gazebo/build/libArduPilotPlugin.so

Running the Simulation

cd ~/simulation
source activate_venv.sh
bash scripts/run_simulation.sh

Uninstall

bash scripts/uninstall.sh         # ArduPilot and plugin only
bash scripts/uninstall.sh --all   # Everything including project

To remove ROS 2 and Gazebo:

sudo apt remove ros-humble-* gz-harmonic