Awaiskhan404 / drone-quadcopter-firmware-rust

making rust fly: firmware for a quadcopter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SafeFlight

This project is a pure rust implementation of a quadcopter.

Tuned PID:

Tuned PID

First Flight:

First Flight!

Features

  1. 19 State Kalman Filter
  2. PID loop for drone stabilization
  3. 3D graphical visualizer of quad state

Todo

  • Move sensors to i2cdev-sensors. Create a sensor manager that can be changed in config.json
  • Refactor project
  • Convert to an Extended Kalman Filter to track location and attitude.
  • GPS long distance navigation.

Teststed Hardware

Micro Controller

  • Raspberry Pi 3B (3B is needed for Wifi). Otherwise any Pi will do.

Sensors

  • LSM9DS0 Gyro, Accel, Mag
  • L3GD20 Gyro
  • BMP280 Barometer, Thermometer
  • LSM303D Accel, Mag

ESC - Electronic Speed Controllers

  • BLHeli ESCs

Motors

  • Crazepony Emax Mt2213 935kv Brushless Motor

Installation

  1. Install Rust https://www.rust-lang.org/en-US/install.html
  2. Install Protobuf 3. For the Pi, you may need to install from source since there are no ARM releases.
  3. Clone the repo
  4. Build with cargo:
cd copter
cargo build --release
  1. Run with sudo:
sh run-release.sh

Configuration

Modify copter.json to suit your specific configuration.

  • Under motors, list the GPIO ports you used on your Raspberry Pi

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

making rust fly: firmware for a quadcopter


Languages

Language:Rust 77.3%Language:C# 8.9%Language:MATLAB 5.5%Language:JavaScript 3.8%Language:C++ 3.1%Language:C 0.8%Language:Shell 0.4%Language:HTML 0.2%Language:M 0.0%