Flying a thrust-vectoring rocket can be a challenge, and even more so if you stack multiple stages and a minimalist flight computer on top of it all. But [Joe Barnard] is not one to shy away from such a challenge, so he built a three stage actively guided rocket named Shreeek.
[Joe] is well known for his thrust-vectoring rockets, some of which have came within a hair’s breadth of making a perfect powered landing. Previous rockets have used larger, more complex flight computers, but for this round, he wanted to go as small and minimalist as possible. Each stage of the rocket has its own tiny 16 x 17 mm flight computer and battery. The main components are a SAM21 microcontroller running Arduino firmware, an IMU for altitude and orientation sensing, and a FET to trigger the rocket motor igniter. It also has servo outputs for thrust vector control (TVC), and motor control output for the reaction wheel on the third stage for roll control. To keep it simple he omitted a way to log flight data, a decision he later regretted. Shreeek did not have a dedicated recovery system on any of the stages, instead relying on its light weight and high drag to land intact
None of the four launch attempts went as planned, with only the first two stages functioning correctly in the test with the best results. Thanks to the lack of recorded flight data, [Joe] had to rely on video footage alone to diagnose the problems after each launch. Even so, his experience diagnosing problems certainly proved its worth, with definitive improvements. However, we suspect that all his future flight computers will have data logging features included.
Thanks for the tip [BaldPower]!
Although awesome, please look up applicable FAA regulations before doing this yourself. At least for Level 3 rockets, possibly 2s, any attitude control devices (including thrust vectoring/gimballed engines, canards, etc.) cannot exceed something like 20° combined (don’t quote me, look it up) during normal operation (failures where it goes sideways unintentionally don’t count). This puts it in the realm of guided missiles and will bring the FAA hammer down on you. Good flying!
I understand the concern for rockets and guidance systems, but how is this significantly different from model drones and airplanes that can be programmed for autonomous flight to a “target“. I would think a reasonable/sensible regulation(s) would take into account the available payload size.
You don’t need a payload to puncture the hull of an airplane, specially the small ones who fly low enough to be hit by an amateur rocket. Anything that goes above a certain threshold needs to be regulated for safety reasons. I hope he’s not doing his experiments anywhere near an airfield!
It makes no difference what some obscure agency like the FAA has about duplicating thrust vectoring. Just do it.
This was just recently posted to the National Association of Rocketry’s September edition of the Electronic Rocketeer. It would appear to address this “issue” from the regulatory standpoint. It is written by Steve Lubliner, NAR Safety Committee Chairman and presented here in full.
————————————————————————————————————–
I recently received a phone call regarding safety concerns associated with rockets utilizing electronic thrust vector control (TVC). First, to clear up a common misconception, there are no prohibitions against electronic trajectory control, e.g. roll control, TVC, GPS recovery guidance, or sun seekers, in the NAR safety or National Fire Protection Association hobby rocketry codes as long as other elements of those codes are followed.
The NAR Safety Committee recommends that separation distances identified in the safety codes be doubled when launching rockets with electronic trajectory control. This recommendation is made to offer additional space in the event of an electronic system failure, e.g. loss of system power or a servo feedback failure.
“Mission planning” becomes a concern with some types of electronic flight controls. If you are using GPS to fly to a recovery location, is that location a safe distance from spectators, participants, and property? Will the rocket try to overfly “keep out” zones while trying to fly to the designated location? Mission planning means placing the endpoint in a permitted area and considering the possible paths the rocket might take to get there. Sun seeker trajectories should be vertical to keep only the sun in the seeker field of view and flying only when the sun is more than 60 degrees above the horizon. Range safety personnel are recommended to review mission planning parameters, when applicable, to avoid possible safety issues.
A failure to plan is a plan for failure (attributed to Benjamin Franklin).
Steve Lubliner
NAR Safety Committee Chairman
I hope ARIA is taking notes on this guy.
American Risk and Insurance Association?
Their eyes are everywhere…
Love the project and presentation video. It’s great when developers show not only their successes but also their failures and thought process.
best PCB design montage I’ve ever seen.
That looks like a lot of (expensive) fun. I didn’t see any reference to calibrating the IMU, now what you used as the IMU. But, being an total noob at this, I would expect the “simplest” way (which may only help with the accelerometer part) is to suspend the rocket assembly with a string to minimize bias error (assuming that it is balanced, but I leave that as another exercise) and then trigger your control computers to calibrate the offset with a lot of averaging to eliminate noise (which hopefully is Gaussian).
Also, I don’t know what the bandwidth of your IMU sensors are, nor their resolution, accuracy, or noise characteristics, but if they aren’t fast enough, they probably won’t help with the flight dynamics, especially if you have to “slow” them down with averaging to get rid of noise. A Kalman filter might help, but you need to characterize the noise since that part of the Bayesian model approach for Kalman filters. And if the noise is not Gaussian, more work there too. Also, Kalman’s are linear filters, so if any of the dynamics are not linear, then more work there (but maybe the characteristics can be treated as linear since you could assume that its only being used in a limited operating range (i.e. not supersonic). Note that each time you extend a Kalman’s operation, you risk wrecking the model. There may be other ways too beyond my knowledge.
And yeah, you really need (high speed) logging on these things to do a post-mortem failure analysis. If you “filter” then always save the raw data too to see if the filtering is reducing the it processor’s response to events.
Probably overly simplistic, but that’s all I have for now. Happy flying.
My nuclear weapon should be placed on top
Gotta give him style points at least. A ton of work, presented well.
But, Shreeek?… Why isn’t it painted green?
Is that legal?
In NZ the moment you put any guidance system on a rocket it becomes a missile and you will be jailed for it. No kidding.
I assumed this would be the case for the entire western world.
Unless you are licensed to operate a missile you might find you are in breach of western laws.
A good subject might be the laws of the western world and how they operate, and how to using the system of law itself get around them, Hacking the Law.
Nooo – It’s out DNA. Look at how we address guns. This is just good fun here in the US!
This would explain some stuff; to wit, worked with a kiwi engineer during 2018. He was, sedate, sober, always in control, and adverse to being in the lab during Type Tests required for regulatory approvals and certifications.
Whereas the Scot, German, and Chinese engineers on the team all gathered around the bench to watch the tests done where the equipment operated at high energy levels. They quite enjoyed the ‘rapid release of energy’.
Data logging could have been done.
Each stage could log data samples to ram.
Even commiting the samples to flash if needed.
Then read out with the USB connection.
He’d have to change of computer system. On arduino you can only store up to 2k in RAM (to which you need to substract RAM used by the rest of your program), and 512 bytes in Flash if I remember well.
The chip he’s using isn’t the usual Arduino — it has 32 kB of RAM, 256 kB of program memory, but no flash (EEPROM) memory available to the running program.
EEPROM is not Flash, especially in the parlance of microcontrollers (in the engineering sense, Flash is a strict subset of EEPROM, but the two are not colloquially interchangeable). Flash is wipe-and-rewrite whole sections at once, EEPROM is byte-by-byte write/erase, so EEPROM is suitable for logging, Flash is not
What program do you use for your PCB and who do you order from?
Thanks!
Circuit diagram looks like KiCAD…
It is against the law (US FARs, etc.) to guide a model or amateur rocket.
Realize that this project was not guided. Guiding is steering toward a target.
(Sun Seeking is allowed since you can’t hit it, probably moon also !)
Navigation (where you are) and Control (maintaining direction and stability) is
completely allowed. Sort of required, hence the fins, stability margins, etc.
The larger safety margin for actively stabilized (navigation and control) are more
concerned if the system fails. Fin and a prayer rarely goes that far off up.
Think about the acronym GNC..
-G.