Guided Rocket

Update:  Check out the post on Hack A Day!!

Update for 2012:  Trying to get funds for a 5ft guided rocket project so please donate if you can!  Thanks.

With the goal of an active self guidance system, we decided to test it in a model rocket.  A simple Estes D-Region Tomahawk rocket kit we picked up from a local hobby store had a 'payload bay' that we could modify to carry the electronics.  We went with the E9-6 motor which gave us thrust for 2.9 seconds and a 6 second delay before the ejection charge blew.  Due to the fact that the guidance system alters the center of gravity drastically, the 2.8 seconds of active guidance must be at a horizontal attitude much like a missile, which is great for testing purposes.

K.o.D is the mechanical master, so he got to work cutting out the fine fitted holes for the servos.  The 4 micro servos wouldn't fit inside the payload bay so we had to offset 2 of them and make adjustments to the fins.  The fins themselves were balsa wood, designed, cut and sanded to perfection by K.o.D and later attached to the servos.  For the electronics section, an Arduino Pro Mini was used for it's small size and high functionality.  A small breadboard power bar was used for the main power bus and a Venom high capacity 9V powered the entire system.  For sensing, a Memsic2125 2-axis accelerometer was carefully glued into the nose cone by K.o.D and that completed the active guidance package.  Navic got to work on the code, carefully processing the input from the accelerometers into servo position outputs to generate an exacting reaction by correcting the flight profile to 'stable' for the entire flight.  Since we were working with just under 3 seconds of powered flight at relatively high speed, the processing had to be fast enough to make a difference.

A rocket needs to have it's center of gravity (cg) located above it's center of pressure (cp) along the roll axis to create a straight direction of flight.  Weight affects the cg location, and area affects the cp location.  The weight of the electronics and the increase in area of the front fins changed the rockets cg and cp from it's initial 'off the shelf kit' locations.  When a rocket is 'nose heavy' that means the cg isn't located above the cp, hence the rocket takes off, translates in an arc pattern to nose down and hits the ground pretty fast.  We wanted that setup for our rocket, sounds dumb, right?  The electronics move fins to control the rockets flight path.  If we installed the system and made sure to maintain the original cg and cp points so the flight direction was straight up, vertical, how would you know the system worked?  Offsetting the cg and cp so an arcing-flight-path-of-crash-failure was going to happen as long as the rocket launched with only gravity and atmospheric pressure controlling it gave us a method of knowing if the onboard electronics in fact changed the flight path of failure into a steady horizontal flight path to prove the electronic system a success.  Unfortunately this is tough with a 2.9 second motor burn.  Because the rockets cg and cp were modified in a way to create a natural failure, thrust is extremely important.  It takes some time for the rocket to translate from vertical to horizontal, which is where the electronics work to keep a stable horizontal flight.  After the motor cuts off, the rocket will not glide because the cg and cp are incorrect.  The system can be seen to work, it kept the rocket horizontal rather than arcing over for the 2 seconds or so the motor had left.

How the 'guidance' or 'controlled' system works is as follows:  Initial accelerometer reading are taken on power (on the pad) and the servos are centered.  At launch as explained above, the rocket pitches over to horizontal.  The Arduino knows this from the accelerometer data.  The Arduino starts moving the appropriate servos to maintain that horizontal flight path.  The system does not pitch the rocket over from vertical to horizontal.  As you can see from the test video, for a couple seconds the system keeps the rocket horizontal using the fins on the servos to direct airflow and maintain stable translation.

The forces during this flight are pretty low.  The balsa wood fins being located inefficiently on the servo horns did not cause them to rip off.  The servos created enough torque to move the fins with the air resistance encountered.  The breadboard connections were not jarred lose at all.  This is a low power Estes E9-6 rocket motor pushing a heavier rocket than it was designed for.  As you can see in the video, it doesn't fly fast or high and it doesn't suffer large amounts or stress or strain on the 'low quality' parts or build.

Why use an Arduino and breadboards?  Well, first off we like to spend less time making these projects and that's what Arduino and breadboards are made for.  Our second reason is the fact of re-usability.  Once this project was complete, we took all the parts and used them in other projects.  That would be difficult if everything was custom made and soldered together.

Although the documentation of the project was done months after completion, there isn't much, but if anyone is interested in a build like this and wants more info please feel free to email:  vectrasoft [at] gmail [dot] com.  The Arduino sketch is located at the bottom of this page under the Attachments section.

Here are a few images of the build:
You can see the Arduino Pro Mini, the power bus and a servo sticking out in front of the finger to the right.  The nose cone with the accelerometer is to the left in the image, and the payload bay with the servos is to the right.

This image is looking up from the bottom of the rocket into the payload bay.  You can see two servos mounted on the left and right, the other two servos are barely seen going from top to bottom.  The fins are seen in the background to the left.

All videos are on Navic209's YouTube channel.  There's a bunch of rocket/robotic/electronic videos on there, but here are the embedded videos if you're only interested in the guided rocket:

This video just shows the first start up, you can see the rest of the white rocket in the background.

Here's the entire rocket put together and powered on.  This demo shows the system in action.

Here's the flight video!

And the analysis after the flight:

Robert Svec,
Aug 4, 2010, 9:05 AM