Showing posts with label Quadrotor. Show all posts
Showing posts with label Quadrotor. Show all posts

Sunday, January 12, 2014

Quadcopter Requirements and Parts Planning - Phase Alpha

Hi!  My name is Jordan!  This will be my first blog entry for our quadcopter project.  I'm very excited to get started on the project, but my Dad is advising me to calm down and run this like a true design project.  He said that "we need to limit our initial goals to the basics, so we don't tie up too much money in the project before we get it to fly properly", so we will be leaving the GPS tracking and GoPro Hero 3 purchases for a later time... dang it!

On a 2-mile walk with the family, my Dad and I got a chance to have a long talk about the quadrotor project.  We talked about the list of requirements for the first version of the project, which we are calling "Quad Alpha".  We also discussed things like Beta and revision numbering for the hardware and firmware.  My Dad insists on calling the programming part "firmware", probably because of his work experience.

List of "Quad Alpha" Requirements
·         Autonomous Flight
·         Autonomous Take-Off
·         Autonomous Landing
·         Maintaining Level Flight
·         Object Avoidance in X/Y/Z Directions
·         Microcontroller control (required for autonomous functions)
·         Data Communication with Controller Board to send basic commands, like
o   begin take-off routine
o   begin landing routine

Starting with the list of requirements above, we discussed the parts that would be needed.  For the basic flight system, we would need four motors, two clockwise and two counter-clockwise rotors (explained here), four Electronic Speed Controllers (ESCs), a controller board, a battery and a frame to hold them all together.  We are going to forego the full remote control at this time, mainly because of the high cost and small number of commands we need to send.  We will try to send commands to the device through some type of simple data communication, like infrared, for the Quad Alpha phase.   

To maintain level, we will need a gyroscope.  To do take-off and landing, we will need a longer-range sensor on the bottom.  Dad suggested some type of sonar sensor.  To do object avoidance, we will need a single long-range sensor and four shorter-range sensors.  I used ultrasonic sensors for proximity sensing with my Lego Mindstorms NXT 2.0 and in First LEGO Robotics League.  I'm very familiar with their usage.  We talked about the placement of each part on the body of the quadcopter, like the sonar sensors on the top and bottom of the quad so that it can determine how high it is flying when indoors.  The ultrasonic sensors would be placed under the four rotors so the program could determine distances between objects and the rotor ends to protect the rotors.  The gyroscope would be mounted in the center of the quadcopter to sense the small changes in level.

We created a "Bill of Materials" in a spreadsheet to keep track of the items for this part of the project.
 

Part Description
Quantity
Motor
4
CCW Rotor
2
CW Rotor
2
ESC
4
Microcontroller Board
1
Quadcopter Frame
1
Gyroscope
1
Sonar Sensor
2
Ultrasonic Sensor
4
Battery Pack
1

For the next blog entry, we will put together a schematic showing how all these parts will be wired together.  This will help us pick the right parts the first time.

Monday, January 6, 2014

The Most Important Part

What is *THE* most important part of a digital design project like this, besides motivation, good planning and research skills, and a little money?  The micro-controller board, of course!  But which board to choose?  If you go with a board that has too few digital I/O pins, too few A/D channels, or not enough PWMs, then you're stuck purchasing another board.  At $50 or higher per board, that could be a big mistake.  Most people would say "The one with the most of everything, then I would be covered!"  That's not always true.  What if that board with everything and a side of chips (pun intended) is really bulky and heavy, but needs to be very lightweight and small because it will eventually be used in a quadcopter or flying drone application?  All those extra pads and the massive board real-estate could be a benefit during development, but would come back to bite you in the end because it literally won't get off the ground.

For the purposes of picking the board, and for that matter, every other piece of hardware involved in the project, we must clearly DEFINE the project.  Granted, in an educational sense, you want to maintain your flexibility so that you can do a multitude of projects with the hardware you purchase.  Even with that in mind, you have to find that "ultimate project" and determine the goals based on that.  If that requires an additional purchase of another micro-controller board later to get that quadcopter off the ground, then plan accordingly.  

Jordan and I will be working towards our ultimate goal of, you guessed it, a QUADCOPTER!  Ever since seeing some of the online videos of wild, acrobatic, nimble, and truly amazing stunts performed by quads several months ago, we were both hooked on doing a closely related project.  Here are some links to a few of those videos, mostly from the GRASP Lab at the University of Pennsylvania:
Any hard-core RC people out there are probably saying "You don't need a micro-controller board to make a quad!"  You're right.  You don't.  Warthox's video above is non-autonomous flight, not controlled by a micro-controller.  You could buy a frame, an RC transmitter and receiver, 4 motors and 4 motor controllers and be flying in no time.  I don't want to offend anyone, but that's more of an exercise in learning to fly the quad than making and learning from an awesome digital design project.  That's where you DO need a micro-controller.  If you want the flexibility and educational benefit of programming, like changing flight characteristics based on changes in sensor readings or programming an autonomous take-off and landing routine, you need a micro-controller.  This DOES NOT remove the possibility of hooking up a nice RC controller and flying it manual.  It just adds an ever expanding dimension.

The next blog entry will cover the selection of our micro-controller board.  I already have an idea, but I want Jordan to go through this exercise.