claudeDroneteam-docs
documentation · reference
Docs reference

Structured knowledge from collected_doc_media/claudedrone_docs/. Browse the tree on the left; the source of truth is markdown in the repo.

Host PC setup

Installing Ubuntu, ROS 2 Jazzy, Gazebo Harmonic, ArduPilot SITL — the base layer everything else builds on.

stabledoc-seoupdated 2026-05-11T00:00:00.000ZClaudeDrone

This is the install recipe for the development host. We’re using Ubuntu 24.04 LTS (because ROS 2 Jazzy is tied to it) on D2 (RTX 5070, 64 GB RAM, NVMe SSD). The same recipe works on any reasonably modern x86-64 Linux machine with at least 16 GB RAM and ~50 GB free disk; without an NVIDIA GPU you’ll be CPU-bound for RL training but everything else works.

Prerequisites

A clean Ubuntu 24.04 install. Don’t try this on 22.04 — ROS 2 Jazzy doesn’t support it. Don’t try it on a non-LTS Ubuntu either; you’ll be fighting package versions.

Step 1 — System dependencies

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git python3-pip python3-venv \
    curl wget locales gnupg lsb-release

Step 2 — ROS 2 Jazzy

Follow the official ROS 2 install guide for the apt-repo setup, then:

sudo apt install -y ros-jazzy-desktop python3-colcon-common-extensions \
    python3-rosdep ros-jazzy-rmw-cyclonedds-cpp
sudo rosdep init && rosdep update

Add the source-line to your shell rc:

echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc
source ~/.bashrc

Verify:

printenv ROS_DISTRO    # should print: jazzy
ros2 doctor            # should mostly print OK

Step 3 — Gazebo Harmonic

sudo apt install -y ros-jazzy-ros-gz

This pulls Gazebo Harmonic (gz-sim8) as a dependency. Verify:

gz sim --version       # expect Gazebo Sim, version 8.x

Step 4 — ArduPilot SITL

ArduPilot SITL is built from source — distros don’t ship recent versions.

cd ~/git
git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git submodule update --init --recursive
./Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile           # picks up newly-set PATH
./waf configure --board sitl
./waf copter

Build takes ~10 minutes on D2. After it finishes:

./Tools/autotest/sim_vehicle.py -v ArduCopter -f gazebo-iris --console --map

If MAVProxy shows Mode STABILIZE within ~10 seconds, the install worked.

Step 5 — claudeDrone repos

cd ~/git/proj/aerosearch
git clone <claudedrone-git-url>
cd claudedrone-git/simulation
colcon build --symlink-install
source install/setup.bash

--symlink-install is important — it means Python file changes don’t require a rebuild.

Step 6 — Smoke test

cd ~/git/proj/aerosearch/claudedrone-git/simulation
./help_scripts/launch.sh --sim --headless -d -log

Within ~30 seconds you should see ArduPilot heartbeats arriving over MAVLink. If you see MAVProxy: Waiting for heartbeat from tcp:127.0.0.1:5760 and it never resolves, head to SITL “Waiting for heartbeat” — three causes — that’s the most-likely-to-bite issue on a fresh install.

What’s next

© 2026 claudeDrone Team · auto-pipeline · Nuxt 3 SSR