User Tools

Site Tools


quadrotor

Design

  • 4 Motors ESC
  • ARM Cortex-M3 80Mhz
  • Sensors: Gyro, Accelerometer, Compass, Temperature, GPS & Sonar(to come in later design)
  • Xbee 802.15.4 Wireless Communication

 650px

Plan

Project is current in Phase B-9.

Design Diagram: quadrotor_uav_arko.vsd

Phase A - Hardware Development

  1. Build a one motor/ESC setup, vary speed (Prototype with Arduino)
  2. Build a two motor/ESC setup, vary speed (Prototype with Arduino)
  3. Design board with new TI chip, sensors, power management, etc.
  4. Layout, mill and test proto board
  5. Build a two motor/ESC setup teeter-tot (Pitch) and wire up to proto board, test all hardware

Phase B - Modeling & Software Development

  1. Create library (or use Maple IDE)
  2. Create Kalman filter for all sensor inputs
  3. Create basic flight control/stabilization code
  4. Balance one degree of freedom very well (Pitch)
  5. Code Clean Up
  6. Build a rig to support two degrees of freedom (Pitch and Roll)
  7. Balance two degrees of freedom (Pitch and Roll) very well
  8. Modify rig to support three degrees of freedom (Pitch, Roll, Yaw)
  9. Balance and stabilize all three axis, add fourth degree of freedom (Altitude)
  10. Create wireless communication with computer/controller and command set

Phase C - Testing/Revising

  1. Test and improve board layout, filtering, design
  2. Design/CAD new chassis, mount and update model
  3. Add any extra features
  4. Test, Test, Test

Phase D - Package and Document

  1. Document all parts, assembly notes, and code
  2. Create cost summary and links to buy parts

Phase E - Complex Flight

  1. Follow flight path defined by user
  2. Do tricks?
  3. Stage 6 to CDM, separation at level 4

Phase F - ???

Phase G - Profit

Chassis and Hardware

  1. Build teetertot 1 degree of freedom (pitch)
    • Picture and build instructions coming soon..
  2. Build 2 degrees of freedom balance (pitch and roll)
  3. Build 3 degrees of freedom rig (pitch, roll, yaw)
  4. Build 6 degrees of freedom rig (hang on a string?, pitch, roll, yaw, long, lat, alt)

Board Layout and Schematic

  • Board layout and schematic to be posted soon..
  • List of Parts to be posted soon..

State Estimation & Kalman Filter

To obtain a clean state estimation one must first filter the sensory inputs then produce a state model based on that.

  1. Create Kalman filter
    • Here's a simulation of a gyro and accelerometer filtered to give a clean angle estimation: kalman_gyro_acc.m
  2. Create state model

Control System

Pictures & Videos

First Stable Flight with APM!

<html> <iframe width=“640” height=“390” src=“http://www.youtube.com/embed/26CKfzZxblg” frameborder=“0” allowfullscreen></iframe> </html>

New Chassis!

 650px

 650px

First flight test with APM

<html> <object type=“application/x-shockwave-flash” width=“400” height=“300” data=“http://www.flickr.com/apps/video/stewart.swf?v=109786” classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”> <param name=“flashvars” value=“intl_lang=en-us&photo_secret=5648ec8538&photo_id=6925134495”></param> <param name=“movie” value=“http://www.flickr.com/apps/video/stewart.swf?v=109786”></param> <param name=“bgcolor” value=“#000000”></param> <param name=“allowFullScreen” value=“true”></param><embed type=“application/x-shockwave-flash” src=“http://www.flickr.com/apps/video/stewart.swf?v=109786” bgcolor=“#000000” allowfullscreen=“true” flashvars=“intl_lang=en-us&photo_secret=5648ec8538&photo_id=6925134495” height=“300” width=“400”></embed></object> </html>

New Frame!

 650px

Fixed Kalman Filter Lag issues! Small setback, but the control should be much cleaner.

<html> <iframe width=“640” height=“390” src=“http://www.youtube.com/embed/2C_nZQytfUc” frameborder=“0” allowfullscreen></iframe> </html>

New Mount! Finally Rotational X,Y,Z!

 650px

New Chassis!! Finally have 4 rotors!

 650px

New board in action!

<html> <iframe width=“640” height=“390” src=“http://www.youtube.com/embed/erqqJiqQ7Jg” frameborder=“0” allowfullscreen></iframe> </html>

 650px

<html> <iframe title=“YouTube video player” width=“640” height=“390” src=“http://www.youtube.com/embed/FNUaF5oQIS8” frameborder=“0” allowfullscreen></iframe> </html>

Balancing with a Kalman Filter and PID loop tuned!

<html> <iframe title=“YouTube video player” width=“640” height=“390” src=“http://www.youtube.com/embed/dJ4UCmEErd0” frameborder=“0” allowfullscreen></iframe> </html>

Balancing for the first time! (no Kalman Filter)

 650px

 650px

<html> <iframe title=“YouTube video player” width=“640” height=“390” src=“http://www.youtube.com/embed/uJXTldteSjc” frameborder=“0” allowfullscreen></iframe> </html>

Powered up the motors and able to read accelerometer!

<html> <iframe title=“YouTube video player” class=“youtube-player” type=“text/html” width=“640” height=“390” src=“http://www.youtube.com/embed/9fWGkLAlYEQ” frameborder=“0” allowFullScreen></iframe> </html>

First time firing up the board and the code uploaded just fine! Test code works!

 500px

<html> <iframe title=“YouTube video player” class=“youtube-player” type=“text/html” width=“640” height=“390” src=“http://www.youtube.com/embed/k7jDgBtNLH4” frameborder=“0” allowFullScreen></iframe> </html>

Beginning code works! Able to read multiple ADC inputs and output multiple PWM outputs!

 500px

 500px

 500px

 600px

 600px

<html> <BR><BR>

<object width=“640” height=“385”><param name=“movie” value=“http://www.youtube.com/v/o6dARgDJEew?fs=1&amp;hl=en_US”></param><param name=“allowFullScreen” value=“true”></param><param name=“allowscriptaccess” value=“always”></param><embed src=“http://www.youtube.com/v/o6dARgDJEew?fs=1&amp;hl=en_US” type=“application/x-shockwave-flash” allowscriptaccess=“always” allowfullscreen=“true” width=“640” height=“385”></embed></object> <BR><BR>

<object width=“640” height=“385”><param name=“movie” value=“http://www.youtube.com/v/N5kF-0JO0yI?fs=1&amp;hl=en_US”></param><param name=“allowFullScreen” value=“true”></param><param name=“allowscriptaccess” value=“always”></param><embed src=“http://www.youtube.com/v/N5kF-0JO0yI?fs=1&amp;hl=en_US” type=“application/x-shockwave-flash” allowscriptaccess=“always” allowfullscreen=“true” width=“640” height=“385”></embed></object> <BR><BR>

<object width=“640” height=“385”><param name=“movie” value=“http://www.youtube.com/v/bxtTjYSdcfM?fs=1&amp;hl=en_US”></param><param name=“allowFullScreen” value=“true”></param><param name=“allowscriptaccess” value=“always”></param><embed src=“http://www.youtube.com/v/bxtTjYSdcfM?fs=1&amp;hl=en_US” type=“application/x-shockwave-flash” allowscriptaccess=“always” allowfullscreen=“true” width=“640” height=“385”></embed></object> </html>

 650px

Achievements Unlocked

quadrotor.txt · Last modified: 2014/01/19 00:32 by arko