Native installation¶
Documentation / Installation / Native
Use the native path when you want the toolkit installed directly on the workstation for development, simulation, or physical-platform work.
Supported host¶
These installation instructions target:
- Ubuntu 24.04 (Noble)
- ROS 2 Jazzy
- Gazebo Harmonic / Gazebo Sim 8 series; the documented version is recorded in
config/versions.env
Other hosts are not currently covered by these installation instructions.
Clone¶
Choose an installation profile¶
The installer exposes four profiles:
./setup/install.sh common
./setup/install.sh sitl
./setup/install.sh experiment
./setup/install.sh all
| Profile | Use it for | Adds |
|---|---|---|
common |
shared ROS/toolkit development | ROS 2 Jazzy, common tools, common pinned sources, ROS workspace build |
sitl |
PX4 + Gazebo simulation | common + SITL PX4 dependencies + MAVProxy + SITL sources |
experiment |
companion-computer physical stack | common + experiment PX4 dependencies + Vicon source |
all |
workstation that needs both environments | SITL + hardware sources and dependencies + MAVProxy + QGroundControl |
GCS=qgc is a valid SITL runtime choice, but the sitl installer profile installs MAVProxy, not QGroundControl. Use all or run ./setup/install_qgroundcontrol.sh if you want QGroundControl managed by the toolkit.
The setup scripts may use sudo to install host packages.
Source pin behavior¶
External repositories are declared in:
setup/fetch_sources.sh does not reset already-present external repositories. If a source scope is partially populated, it refuses to modify it automatically rather than creating a mixed checkout.
Build¶
The top-level installer builds the ROS 2 workspace automatically. To rebuild later:
The build helper deliberately uses a small clean environment so previously sourced ROS/PX4 paths do not leak into colcon build.
Test¶
Run toolkit-maintained Python and ROS package tests with:
The test helper covers the toolkit-maintained ROS packages and analysis regression tests; fetched third-party repositories retain their upstream test suites.
Runtime shell¶
Before invoking ROS 2 commands manually:
The user-facing tools/sitl and tools/experiment wrappers source the repository runtime environment inside the tmux processes they create.
Verification¶
For a SITL installation:
Then start it:
For the experiment installation profile, review config/runtime/experiment.env, verify the serial device, then use:
For physical hardware, continue with the Hardware environment checklist before flight.