Skip to content

tswanepoel/pilotgadgetry

Repository files navigation

C# .NET Quadcopter

This project is experimental. You shouldn't be using this if anyone's life or safety depends on it.

Autopilot

var speedController = new SpeedController(Pca9685PwmController.Default);
var aircraft = new Quadcopter(speedController);

WindowsPilot.Create(
    aircraft,
    L3gd20hGyroscope.Default,
    Lsm303dAccelerometer.Default,
    Lsm303dMagnetometer.Default,
    FlightController.FromGamepad(LogitechF710Gamepad.Default),
    thrustMax: 0.8d,
    angularPositionPitchMax: AngleConvert.ToRadians(15d/*degrees*/),
    angularPositionRollMax: AngleConvert.ToRadians(15d/*degrees*/),
    angularVelocityYawMax: AngleConvert.ToRadians(90/*degrees-per-second*/));

Features

  • Gyroscope (L3GD20H), Accelerometer and Magnometer (LSM303D) interface
  • Kalman filter
  • Sensor Fusion / Attitude and Heading Reference System (AHRS)
  • Logitech F710 Wireless Controller USB-HID
  • PWM Controller (PCA9685) interface
  • PID control for angular positions

Tests

Date Title Video
Mar '16 Flight test #4 Flight test #4
Mar '16 Flight test #3 Flight test #4
Dec '15 Flight test #2 Flight test #4
Nov '15 Flight test #1 Flight test #4

Diagnostics

Date Title Video
Feb '16 Flight diagnostics Flight test #4

Experimental

  • Barometer/Pressure Sensor and Thermometer (LPS25H) interface
  • Ultrasonic/Proximity Sensor (SRF02) interface
  • GPS (u-blox PAM-7Q) interface
  • NMEA parser
  • Linear acceleration estimation in Euclidean space
  • Microsoft Xbox 360 Wireless Controller USB-HID
  • Xeox Pro Gamepad Controller USB-HID

Nuget

Package Description
Biscuits.Devices.L3gd20h.Windows L3GD20H Gyroscope library for the Universal Windows Platform
Biscuits.Devices.Lps25h.Windows LPS25H Pressure Sensor library for the Universal Windows Platform
Biscuits.Devices.Lsm303d.Windows LSM303D 3D Compass and Accelerometer library for the Universal Windows Platform
Biscuits.Devices.Srf02.Windows SRF02 Proximity Sensor library for the Universal Windows Platform
Biscuits.Devices.Pca9685.Windows PCA9685 PWM Controller library for the Universal Windows Platform
Biscuits.Devices.LogitechF710.Windows Logitech F710 Gamepad library for the Universal Windows Platform

References