Skip to content

t3gemstone/ardupilot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

T3 Foundation

Gemstone ArduPilot

T3 Foundation License

What is it?

This repository contains the version of the open-source autopilot called ArduPilot that runs on T3 Gemstone development boards.

All details related to the project can be found at docs.t3gemstone.org/en/projects/ardupilot. Below, only a summary of how to perform the building is provided.

Build

Run all commands in the host PC. ArduPilot is cross-compiled for T3 Gemstone boards using T3 Gemstone Toolchains. You can select which vehicle you want to compile by changing the VEHICLE variable defined inside Taskfile.yml.

1. Clone the project
git clone https://github.com/t3gemstone/ardupilot
cd ardupilot
git submodule update --init --recursive
2. Install Taskfile
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
3. Compile the project
VEHICLE=plane task build

Board Setup

Run following command in the host PC. Board setup is automated via SSH connections.

VEHICLE=plane task build board-setup

You need to reboot the board for overlay changes to take effect. After the reboot, ArduPilot should start automatically and on-board green LED located to the right of the HDMI port should be blinking. Check ArduPilot docs to learn more about LEDs meaning.

Firmware Upload

If you have done Board Setup once and only want to upload new firmware then run the following commands in the host PC:

VEHICLE=plane task build board-upload

Software-in-the-Loop (SITL)

SITL

This repository includes a complete SITL environment for ArduPilot development and testing, orchestrated through Docker Compose. The setup integrates ArduPilot SITL with QGroundControl and Gazebo simulation for realistic vehicle testing.

Architecture

The SITL environment consists of three containerized services:

  • ArduPilot SITL: Flight controller simulation running your vehicle firmware
  • QGroundControl: Ground control station for mission planning and monitoring
  • Gazebo: 3D physics simulation environment for realistic vehicle dynamics

Quick Start

Start the SITL environment:

task sitl-start

Stop the SITL environment:

task sitl-stop

Connecting to SITL

QGroundControl automatically connects to 14550 UDP port.

Configuration

SITL parameters are configured in the Taskfile:

SITL_LOCATION: ARDUCOPTER_AUTOTEST
SITL_VEHICLE: ArduPlane
SITL_FRAME: gazebo-skywalker-x8-quad
SITL_WORLD: skywalker_x8_quad_runway.sdf

SITL_LOCATION: Starting location for the simulated vehicle

SITL_VEHICLE: Vehicle type to simulate

  • Examples: ArduPlane, ArduCopter, ArduSub, Rover

SITL_FRAME: Frame type for vehicle configuration

  • Examples: gazebo-skywalker-x8-quad, gazebo-iris, gazebo-zephyr

SITL_WORLD: Gazebo world file for simulation environment

  • Examples: skywalker_x8_quad_runway.sdf, iris_runway.sdf, zephyr_runway.sdf

After modifying any SITL variables in the Taskfile, restart the environment:

task sitl-start

The Docker Compose configuration will automatically pick up the new environment variables and restart the services with the updated settings.

Available Models

Model Image SITL_VEHICLE SITL_FRAME SITL_WORLD
BiCopter BiCopter ArduCopter gazebo-bicopter bicopter_runway.sdf
Hexapod Copter Hexapod Copter ArduCopter gazebo-hexapod-copter hexapod_copter_runway.sdf
Iris Copter Iris Copter ArduCopter gazebo-iris iris_runway.sdf
Alti Transition QuadPlane Alti Transition ArduPlane gazebo-alti-transition-quad alti_transition_runway.sdf
SkyCat TVBS QuadPlane SkyCat TVBS ArduPlane gazebo-skycat-tvbs skycat_runway.sdf
Skywalker X8 Plane Skywalker X8 ArduPlane gazebo-skywalker-x8 skywalker_x8_runway.sdf
Skywalker X8 QuadPlane Skywalker X8 Quad ArduPlane gazebo-skywalker-x8-quad skywalker_x8_quad_runway.sdf
Swan-K1 Tailsitter Quadplane Swan-K1 ArduPlane gazebo-swan-k1-hwing swan_k1_hwing_runway.sdf
Weight-Shift Plane Weight-Shift ArduPlane gazebo-wsc-aircraft wsc_aircraft_runway.sdf
X-UAV Mini Talon V-Tail Mini Talon V-Tail ArduPlane gazebo-mini-talon-vtail vtail_runway.sdf
Zephyr Plane Zephyr Plane ArduPlane gazebo-zephyr zephyr_runway.sdf
AION R1 Skid-steer Rover AION R1 Rover gazebo-r1-rover r1_rover_runway.sdf
Blue Robotics BlueBoat BlueBoat Rover gazebo-blueboat waves.sdf
Catamaran Catamaran Rover gazebo-catamaran catamaran_waves.sdf
DAF XF 450 Tractor DAF XF 450 Tractor Rover gazebo-daf-xf-450-tractor daf_truck_runway.sdf
Omni3 Mecanum Rover Omni3 Rover Rover gazebo-omni3rover omnirover_playpen.sdf
Omni4 Mecanum Rover Omni4 Rover Rover gazebo-omni4rover omnirover_playpen.sdf
Quadruped Rover Quadruped Rover gazebo-quadruped quadruped_runway.sdf
Sawppy Rover Sawppy Rover Rover gazebo-sawppy sawppy_playpen.sdf
Wild Thumper 6WD Skid-steer Rover Wild Thumper Rover gazebo-wild-thumper wildthumper_runway.sdf

Checkout SITL_Models documentation for more information about Gazebo models.

About

ArduPlane, ArduCopter, ArduRover, ArduSub source

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 62.2%
  • Python 12.4%
  • C 9.9%
  • Objective-C 7.9%
  • Lua 4.8%
  • HTML 1.0%
  • Other 1.8%