Skip to content
Pete Hollands edited this page Oct 28, 2016 · 5 revisions

MatrixPilot: Overview

MatrixPilot is a project and community, founded by William Permerlani, that allows ennthusiasts to create and experiment with world class autopilot algorithms. It is licensed for re-use using the GPL V3 opensource license.

The code repository is located here: https://github.com/MatrixPilot/MatrixPilot

You can also check out the project status to see what we've been up to.

Supported Air Frames

MatrixPilot can be used to control a wide variety of airframes:

  • Standard Airplane: Stabilize and navigate using elevator, and either ailerons, rudder, or both. This is the Airframe type to use if you're upgrading from AileronAssist or MatrixNav.
  • Delta Wing: Similar to the Standard Airplane, but all control is performed through the 2 "elevon" control surfaces.
  • V-Tail: Similar to the Standard Airplane, but rudder and elevator channels are mixed for a V-Tail configuration.
  • Glider: Provides access to channel mixing for the creation of features like Crow Brakes, and also provides speed control while gliding.

More Radio Inputs and Servo Outputs

MatrixPilot currently supports a few different configurations of Radio Inputs, and Servo Outputs. Out of the box, you can plug in 8 Input channels and 8 Servo Outputs channels. Both direct connect PWM radio inputs or multiplexed PPM inputs can be configured.

Each Input channel can be configured as one of the following:

  • Throttle
  • Aileron
  • Elevator
  • Rudder
  • Mode Switch: Control the state of the firmware between manual, auto (you can still add your control on top of the stabilization), and return-to-launch (you can still add your control on top of the stabilization and navigation)
  • Camera Pitch, and Camera Yaw controls for manually aiming an on-board camera
  • OSD Switch: Turn the OSD on and off
  • Passthrough: Allows passing up to 4 RC channels directly through to corresponding output channels. This can be helpful when you're using PPM RC input, and you need to control something like flaps which are not controlled natively yet by MatrixPilot.

Each Output channel can be configured as one of the following:

  • Throttle
  • Aileron
  • Elevator
  • Rudder
  • 2nd Aileron (separately reversible from the main aileron output)
  • Camera Roll, Camera Pitch, and Camera Yaw controls for stabilizing and targeting an on-board camera
  • Trigger to control things like turning on LEDs, releasing a tow-line, taking a photo, etc.
  • Passthrough

UDB4/5 and AUAV3 boards support channel reversing via build time software configuration.

Telemetry

MatrixPilot has support for outputting telemetry data in one of a few different formats. If you add an XBee radio, or something similar, you can monitor your plane's status from the ground while flying.

  • SERIAL_UDB_EXTRA: This formats is compatible with a tool we've developed called Flan (FLight ANalyzer), which helps you visualize flights in Google Earth, and explore flight details in a spreadsheet.
  • ArduStation: (deprecated) This format is compatible with the ArduPilot ground station, and the ArduStation hardware ground station.
  • SERIAL_OSD_REMZIBI: This format can be wired directly into the Remzibi On-Screen-Display to show important data on an overlay on top of your live, first-person video feed coming from the plane, if you're rigged up for that.
  • SERIAL_MAVLINK: provides telemetry basic support for a number of available groundstation projects which support the open-source MAVLink protocol.

Camera Stabilization

MatrixPilot includes the ability to stabilize a camera, and even to automatically target the camera at specific locations in 3D space as you fly around.

Clone this wiki locally