Rocket Inertial Navigation System using Atmega32
Was that a … projectile? a rocket? an [XXXXX] missile? That was a dynamically controlled parachute guidance system looking for its target.
The purpose of this project was to design a dynamically controlled parachute guidance system using an Atmel ATmega32 microcontroller. A set of avionic hardware was built and software programmed in addition to the medium-sized model rocket launch vehicle. For this project, we tried to demonstrate an affordable guidance control system that carried and landed a scientific payload at a targeted site. To achieve this task we built a rocket and attached the microcontroller to a series of sensors to obtain flight data. The sensor data determined where the rocket is at all times (and was responsible for setting off the ejection charge for the parachute at apogee). After the custom-made steerable parachute is opened, two stepper motors were used to guide the rocket to its destination (where it started).
For the past couple decades, an investment have been placed into researching and developing various parachuting control systems to improve the accuracy for cargo drops. Cargo parachutes often used by the military and humanitarian organizations to deliver payloads such as food, ammunition, and equipment are essentially un-steerable. Once the cargo is released from the aircraft, there is no way to control its flight path, which is highly dependent on various atmospheric conditions. The defense agencies and space programs have been trying to construct unmanned cargo parachutes control systems that are both affordable and highly accurate for its scientific payloads. These systems often use GPS receivers, magnetic compasses, navigational sensors, IMUs, and RF tracking systems along with parachutes, pryos, inflatable airbags, and/or aerodynamic gliding designs.
Through the use of accelerometers and gyroscopes, we were able to determine the delivery system’s acceleration, velocity, positioning, and angular velocity, which were calculated in live-time by the microcontroller. We used three 1-axis 8-g high-precision accelerometers (sampled from Freescale) and a 150 degree/s rate gyro (sampled from Analog Devices). The accelerometers was used determine to the xyz accelerations relative to the current position of the rocket. The rate gyro provided us the angular velocity. With these four sensors, we were able to determine our true location and heading. The rotation with respect to pitch and roll were considered insignificant, which added little value, but great complexity to implement. The steering is done by two stepper motors, which controls the canopies of the custom-made steerable parachute. The steering is similar to a sky-divers controlling a ram-air parafoil parachute by togging the left and right canopies to spin and turn, in order to get to the desired landing site. The stepper motors will use the feedback from the navigation control system to control the direction of the payload. Upon landing the data was extracted from the EEPROM of the microcontroller and analyzed using MATLAB.
From the physics aspect, the dynamics of parachutes that affect the guidance and control is a two body system connected by suspension lines. Although the parachute weight may be small in terms of physical material and payload weight, it actually acts like it had a much bigger mass by virtue of the unsteady aerodynamic “apparent-mass and inertia terms.” (AIAA document, PV1995-1537).
A simplified ram-air chute was used for this project. Complicated ram-air parachutes are used for parachuting by sky divers. The rectangular shape with flipping canopies gives it great horizontal control. There is no vertical control (solely depended on gravity and wind). All ram-air chutes are designed to flare by “stalling” at large toggle inputs. If these input levels are held, pitching oscillations will often build up. Figure 1 shows a typical ram-air steerable parachute with the model axes and forces defined. There are various off the shelf commercial software that can calculate the six degree-of-freedom right body-axis model.
Computing the formula for this dynamic feedback control system was way too hard to do. There are simply too many variables (coefficient of drag, center of gravity, center of pressure, the servo response as a function of torque, the current velocity, the current tilt in the parachute, etc.). However, since we have the live data and the memory capability to track the system from launch off, we can constantly update our present position and headings. The data that we have are acceleration in the x, y, and z axis along with the angular velocity around the z-axis. The relative velocity and position can be obtained through integration. The true acceleration, velocity, and position are obtained through a rotation translation using matrix algebra.
For a typical launch, the initial values while sitting on the launch pad will be 0g for the x and y axis, -1g for the z-axis, and 0 angular velocity. Prior to every launch, all sensors were re-calibrated. Once the rocket was launched, the z-axis acceleration was updated along with it’s integration dependent z-velocity and z-positioning. Minimal changes in the x, y, and angular velocity were expected during the launch process. When the z-velocity transitioned from positive to negative, the ejection charge was fired (assuming all the safety inhibit conditions were met). Once the parachute popped out, the z-axis acceleration, velocity, and positioning becomes neglected, since there are minimal controls over the descent rate. The true x and y values are obtained after a rotation translation using the rate gyro. (see Software section for calculation algorithms – see verelet section)
Two stepper motors were used for controlling the descent phase. Each motor controlled one of the canopies. Using the stepper control algorithm (see Software section), the stepper motor will yank on one of the canopies by tightening and releasing the motor. The yanked motor will act as the pivot for the spin motion. Therefore by yanking, the heading was consistently adjusted, steering towards the targeted landing site.
The rocket to be built met the FAA and NAR regulation. The rocket for this project did not weigh more than 1,500 grams (53 ounces) at liftoff and will not contain more than 125 grams (4.4 ounces) of propellant or 320 N-sec (71.9 pound-seconds) of total impulse. Table 1 show the required field dimensions for each class of motor engine used.
For more detail: Rocket Inertial Navigation System
This free embedded project also found using:
- inertia navigation avr
- attiny rocket control
- avr inertial navigation
About The Author
Leave a Comment
You must be logged in to post a comment.