'Narwhal' Quadrotor Build


3689476570?profile=original

 

We are designing a Cortex-M4F coupled with a Raspberry Pi running Linux or Andriod Quadrotor, here is our build log!

 

The Cortex would handle all the controls - sensor fusion, PID/LQR, height, RC controls etc. The Raspberry PI (or another platform) will handle GPS telemetry, communication across different quadrotors, and allowing the user to write higher level applications to do whatever they please while abstracting away the sensor/controls.

 

The goal is to make everything transparent as possible, from documentation of the sensor fusion algos, and also providing matlab, vpython simulation files.

 

Current electronic hardware specs (main features):

  • CPU: STM32F4-407
  • Gyro: IDG500, ISZ500
  • Mag: HMC5883L
  • Acc: ADXL345
  • ST EEPROM
  • Barometer : BMA180
    • Barometer will switch to MS5611-01BA03, Accelerometer will remain, Gyros will either switch to MPU-3300, or ADXRS450 depending on vibration tolerance/bandwidth
  • 8 PWM Inputs
  • 8 PWM Outputs
  • 3 USARTs
  • 2 SPI
  • 2 I2C
  • 6 ADC
  • 4 LED
  • 5V out
  • 3.3V out
  • 2 DAC


All the pins and ports are broken out for additional use such as GPS etc. I would like to keep the control board as straightforward as possible and abstract all the telemetry/localization features to the Raspberry pi (or other controller)

 

Software:

 

Using the Extended Kalman Filter with quaternion state propagation as the main sensor fusion algorithm, the Unscented KF is currently written in Matlab but have yet to ported to C.

 

Using PID for motors now, will resort to LQR when time permits.

 

Magnetometer calibration using Gauss newton method, written in Matlab.

 

GPS localization fusion algos have yet to be determined, it is simple outdoors as a Sigma Point KF will just do, but more difficult indoors due to the lack of an absolute reference.

 

If you have any inquiries/questions or want to help, please let us know!

Small quadrotor: ~8 inches tip to tip

3689476591?profile=original

 

Tri blades

 

3689476288?profile=original

 

PWM output sonar

 

3689476540?profile=original

Light and sturdy fiberglass frame

 

3689476601?profile=original

 

2nd revision of the control board

 

Using the STM32 discovery as a programmer

3689476607?profile=original


It is about 200 grams with everything mounted, motors are 2200kv, currently just using an AR DRONE battery. The controllers are 10A hobbyking controllers that can handle 500hz.

 

Larger all carbon fiber quadrotor:

 

3689476710?profile=original

 

Entire quad chasis

 

3689476620?profile=original

Carbon fiber blades, hope to reduce the vibration and also increase rotor response time.

3689476661?profile=original

Central hub - 4400mah battery for now, the motor controllers are I2C ones.

 

3689476641?profile=original

Motor choices...3689476674?profile=original

Size difference...

3689476731?profile=original

3689476765?profile=original

 

4 in 1 brushless controller, theses are I2C controllers

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Nice building blog... can you describe the components of the platform (frame, ESC controller, prop size, prop pitch, motor size, amps, etc... ) that you are using on your small 8 inches QUAD? thanks I was googling for it without any luck.... thanks a million. Hernan

  • Nice platform. Thanks for the information.

  • Hi, can i ask you where did you get the frame for this project?

  • @Luke, Thanks! We did a proof of concept using a beagleboard + 720p camera and Gstreamer, it handled 1080p pretty well. The main issue was desense - interference from the motors decreased the useable bandwidth which caused laggy video...Next thing to try is 5 ghz, or playing around with the channel settings.

  • Just the other day I was wondering if a Raspberry Pi or similar board could be used for higher level functionality. Today I'm reading this. I love the idea! When following my curiosity I was surprised to find the AR.Drone has a 1.0 GHz CPU and 1 Gb (gigabit not gigabyte) of memory. I suppose the use all of that power to do things like encode a live stream of the video for transmission over WiFi (it an iPad or whatever). Something like that which is open source could open doors to all kinds of things, like OpenCV capabilities on-board. Can't wait to see where this goes!

  • Very nice!

  • nice... I wish one day one could buy one pcb with all the electronics on it

  • congratulation great projects

  • Pi comes after getting all the cortex software up the running :)

  • Developer

    When do you plan to install the Pi?

This reply was deleted.