The missile knows where it is at all times. He knows it because he knows where it isn't. By subtracting where it is from where it is not, or where it is not from where it is (whichever is greater), you get a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to guide the missile from a position it is in to a position it is not, and upon arriving at a position it was not in, it now is. Consequently, the position he is now in is the position he was not, and it follows that the position he was now in is the position he is not.
Great multi-discipline engineering and a high quality video to showcase it, bravo to you! Thanks for the time you've put into sharing your work with others.
For someone who doesn't have an engineering masters, I believe this guy's project is amazing. I hope we can support him to make that project an open source.
Totally agree! But even if the didn't want to release it as open-source nothing prevent us from developing something from scratch based on his ideas. He shared many details already, it is more than enough to start a new project. And you can even improve this idea using CAN instead of RS422, etc.
@@Jazz3006 from an admittedly quick Google search, I couldn't confirm what you're saying. Could you provide more details on what he can't open source this project?
@@Tyrone-Ward you should look up ITAR restrictions and think about what he is effectively developing and why the knowledge of how it all works would be bad in the hands of an enemy.
You should put a small radar in the front (like an automotive radar). You could use it for guidance or perhaps to trigger the pyro... I mean parachute when it gets to a certain distance... I mean a certain portion of the flight.
radar is good but maybe you want your rocket to give a high five to a heat emitting object (whatever that maybe ;) ) I would be really interested in seeing what a hobby grade IR seeker would look like
@@abdullahahmed7781 Maybe put up a camera in the front so that the missi... sorry, model rocket can identify peoples and places it does not like and go to them to express its......displeasure.
+1. Also I don't fully under how the controls are covered by export restrictions. Does that mean the electronic components used for control are covered by ITAR? If he developed the control algorithms independently I presume they wouldn't be covered by export restrictions.
This is a multidisciplinary masterpiece! As a student studying mechanical engineering right now, this type of thing is incredibly inspiring. Please keep the content coming! Love your work :)
As well as the work, comments and the community feedback is also super showing the importance of the challenge tackled! I'd note that, this is a world-class work employing many advanced interfaces from diverse fields. I'd only take notes and enjoy this documentary! Thanks for sharing as many have said. I hope it'll be used for good. Congratulations sir, once again. Wish you the best!
I've always wanted to build my own rocket with guidance system, but you actually did it ! With creative use of commercial sensor components and MCU, and your boards look great. I can totally see that the control system overall must have been challenging, especially on 3 axes and all within 10 msec. Great piece of work, and I enjoyed watching your presentation. Thanks ! P.S. I noticed you have a lot of UART communication channels, which take up a lot of hardware, and maybe that could be simplified with a single high speed CAN bus or so. But I admit I don't know the specifics of all your internal com needs.
This is awesome. I am relatively new to electronics, and definitely not ready for a system as complex as this one, but this is nonetheless very inspiring to see. Thank you so much for sharing this. this will help many people (including myself) to learn. Keep up the amazing work.
I've seen one where they had small tabs with a small servo controlling roll. I suspect that can be extended to pitch with say three fins. What would be interesting is to have those with top fins, not fins at the rear. The reason is if you have a two stage rocket, you only need the one control system. When the booster is dropped, they are now rear fins for the upper stage.
This is super impressive, way cooler than any hobby projects I have done :) I have a few suggestions I think will greatly help you out in the long run, however, it might be more hassle short term. One is to use a RTOS, like you probably know since you briefly talked about timing. I think a RTOS will probably make it easier to use the board for different applications in the future too. Another is to use better ecad tool like KiCAD or Altium over Fusion's built in tool. You may also want to use a smaller pitch stacking/mezzanine connector instead of a flatflex cable.
With intensive vibrations the flexing of the cable is almost a required feature. Means the connector doesn't shake loose or break (whichever comes first).
@@someonespotatohmm9513 Without going to much into detail I think you will find that stacking mezzanine connector are way more common and reliable than flex ribbon cables in high vibration and shock applications such as aerospace, space, military and high-end industrial systems. A flex cable just flapping around would quickly break in the vibration fixture...
As a programmer myself I always wonder how things work in code, and if im correct thats the first time for me ive seen rocket flight code :D Although you didnt fully explain how everything works it was still very much interesting, especially the mass calculation! Such an obvious requirement for the calculations but never thought that this needs to be calculated/used You earned a sub from me, looking forward to more videos
Oh yes a video about telemetry ! Tt's a subject very often put aside and then forget. What is the components you use, what data you filter and at what frequency you read them ? On ground, what chip again and what sofware, why did you chose this presentation and what command can you actually send to the vehicle ? A looooot of interresting subject to talk about !
Fantastic. Really nice code structure and division of work. Look into Clifford Algebra and Geometric Calculus as used in graphics. I think you can eliminate some matrix math. I would like to see more about the navigation and how/when initial conditions are set. How is gravity worked in? Like how does it tell g relative to accelerations from the motor?
Can you please talk more about matlab and HITL modeling, you barely mentioned them but I think for a lot of people it's a sort of dark magic art that would be really interesting to know about.
Love your project! Have you considered something like freeRTOS? I code my flight computer with it, it's neat because you don't really have fixed frames, different tasks can run at different rates.
Dude, I did control system design, implementation HW, SW as a master thesis but this is a completely different level. Watched your video with an amusement. Wonderful job. How long did it take you from the beginning to get here?
It took me about four years to get here. I had some early experiments with active control that worked… ok. Learning all of the aero, guidance and control and PCB design took a while but I’m happy to have made it as far as I have!
Would you be able to do a software release excluding GNC? That’s obviously the most interesting part, but I’m also really interested in your tooling stack and use of HIL for verifying software components before flight. If you have any resources on what you’re using I’d really appreciate it. Thanks!
nice layout. i see your not releasing any docs. i would like to see how you wired your pyro channels. perhaps a teeny part of the schematic? is there feedback to show if the igniters are connected?
What’s about with the Export Restrictions? There are also Open Source projects available for Rocket Guidance, are those different in terms of which Law they need to comply with? So it wouldn’t be possible to Open Source this project later?
Export control restrictions are intentionally vague and vary country to country. This project probably doesn't fall into the spirit of USML restricted material, but parts of it fit into the letter, so it's better to be safe than sorry. Beyond that, there's a lot of safety procedures that go into active control flights even at this scale, and I'd hate for someone to just download some files, do some 3D printing and get themselves hurt.
@@LafayetteSystems Yeah that I can understand. I also Plan to do this as a Project in the future, so I don't need the plain code. But Publishing some recourses via you Learned all this stuff would be a great help. Im exited for future Videos!!!
Good question! Vibrations are very common in rocket launches, and I was nervous about mezzanine connectors disconnecting, even momentarily during launch. The FFC let’s the two boards move/flex in relation to one another and still be connected. That being said, the 6-pin power connector is rigid anyways so maybe a mezzanine connector would have worked all along.
The missile knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the missile from a position where it is to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't. In the event that the position that it is in is not the position that it wasn't, the system has acquired a variation, the variation being the difference between where the missile is, and where it wasn't. If variation is considered to be a significant factor, it too may be corrected by the GEA. However, the missile must also know where it was. The missile guidance computer scenario works as follows. Because a variation has modified some of the information the missile has obtained, it is not sure just where it is. However, it is sure where it isn't, within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice-versa, and by differentiating this from the algebraic sum of where it shouldn't be, and where it was, it is able to obtain the deviation and its variation, which is called error.
hi, do you make content exclusively on missiles? if not, can you make a video on how to make a radar? your channel looks serious and it's impossible to find someone making a radar (every "radar" videos contain a tutorial on how to make a sonar)
Very cool project! Are you using the readSensors serial.prints during flight? If not, you could make a flag to skip the serial prints, to free up some cpu resources during flight 😊
Why are multiple IO expanders used? I am not familiar with the MCU in question, but with that many pins I would assume that it would have plenty of peripherals (UARTS and GPIOs mainly for this application). Was it a limitation of the amount of the wires in the flex cable?
Good question! I could do without any IO expanders, but it would require a 36-pin FFC which is just comically large and it would eat up every last GPIO pin and UART on the MCU (let alone routing all of them to the cable connector). The I/O expanders help cut that down tremendously. All of the really important connections are directly to the flight computer (Servo PWM outputs, pyro arming and fire signals), whereas the non-critical stuff (booster/pad detection, LEDs, pyro continuity) is handled by I/O expanders and polled via I2C. That way, if an I/O expander fails for some reason, it doesn't accidentally fire pyro channels or something bad.
@@LafayetteSystems That makes a lot of sense. Using dedicated pins for critical functions is a good idea as well. I don't think there are any better solutions to be honest, without spending tons of money on higher-density connectors. Thanks for your reply. On the topic of flight critical hardware, had you considered implementing a 'watchdog' (not the correct term) MCU to monitor the flight state? As in, if there was an issue with your flight firmware, say it got spammed with interrupts or otherwise held up unexpectedly, a backup mcu could force an abort state, or override control to the pyros for example. Obviously, this would also be a failure point, and you would need at least 3 MCUs to have a proper voting system. And I assume that bottom board is already 70-90% full. So I guess its not really practical but I typed it up so I might as well send it :P What I mean, I guess, is in terms of redundancy, what choices did you make? Was there anything that would've been beneficial which you had to leave out of the final design? You did also mention a video on telemetry, that sounds like a great idea.
The missile knows where it is at all times. He knows it because he knows where it isn't. By subtracting where it is from where it is not, or where it is not from where it is (whichever is greater), you get a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to guide the missile from a position it is in to a position it is not, and upon arriving at a position it was not in, it now is. Consequently, the position he is now in is the position he was not, and it follows that the position he was now in is the position he is not.
We did it Resdit
I opened the comment section to write this
thank you, i only opened this video for this comment. I will now close it before the missile finds out where i am
I only came for this comment.
He was asking for this.
So cool - great work dude!
Wow
This guy is driving a mini space program all by himself. Thats fking cool dude
A private arms race
I know, I wish he'd offer up the files for sale.
@@ryanreedgibson ask him. Pretty sure it's illegal, but nobody needs to know
This is very, very cool - great job! Thanks also for the shout-out :)
Great multi-discipline engineering and a high quality video to showcase it, bravo to you! Thanks for the time you've put into sharing your work with others.
For someone who doesn't have an engineering masters, I believe this guy's project is amazing. I hope we can support him to make that project an open source.
Totally agree! But even if the didn't want to release it as open-source nothing prevent us from developing something from scratch based on his ideas. He shared many details already, it is more than enough to start a new project. And you can even improve this idea using CAN instead of RS422, etc.
I can't be open-source because of ITAR limitations.
@@AnotherByteData I can participate on that
@@Jazz3006 from an admittedly quick Google search, I couldn't confirm what you're saying. Could you provide more details on what he can't open source this project?
@@Tyrone-Ward you should look up ITAR restrictions and think about what he is effectively developing and why the knowledge of how it all works would be bad in the hands of an enemy.
Thank you for this walk through on your rocket technology! Really cool and inspiring. You and BPS are doing a great progress for amateur rocketry!
Love the engineering on this channel.
What a world we live in where I can learn about building guided rockets on the internet.
for real🙏🦅🚬🇺🇸🇺🇸🇺🇸
This series has been so cool to watch. This is the kind of inspiring content the people NEED! You're THE PEOPLES' HERO!!
All the technology you've incorporated into this rocket is truly inspiring! I absolutely love it!
You should put a small radar in the front (like an automotive radar). You could use it for guidance or perhaps to trigger the pyro... I mean parachute when it gets to a certain distance... I mean a certain portion of the flight.
Yeah...
Go to jail.
Do not pass GO.
Forfeit *ALL* 'human rights' and go straight to Guantanamo Bay.
radar is good but maybe you want your rocket to give a high five to a heat emitting object (whatever that maybe ;) ) I would be really interested in seeing what a hobby grade IR seeker would look like
@@abdullahahmed7781 also a good idea.
@@abdullahahmed7781 Maybe put up a camera in the front so that the missi... sorry, model rocket can identify peoples and places it does not like and go to them to express its......displeasure.
I would love a video on the telemetry system! I am doing something similar and would love to see your approach.
+1.
Also I don't fully under how the controls are covered by export restrictions. Does that mean the electronic components used for control are covered by ITAR? If he developed the control algorithms independently I presume they wouldn't be covered by export restrictions.
This is one of the coolest channels on UA-cam.
You decided to self teach yourself and then you go ahead to make THAT!
Great work dude🔥🔥
Avionics is such a cool field! Thanks for sharing all the technical details!
This is a multidisciplinary masterpiece! As a student studying mechanical engineering right now, this type of thing is incredibly inspiring. Please keep the content coming! Love your work :)
This man deserves way more views
As well as the work, comments and the community feedback is also super showing the importance of the challenge tackled!
I'd note that, this is a world-class work employing many advanced interfaces from diverse fields. I'd only take notes and enjoy this documentary! Thanks for sharing as many have said. I hope it'll be used for good.
Congratulations sir, once again.
Wish you the best!
Great work! Kudos for calling out the part numbers
I've always wanted to build my own rocket with guidance system, but you actually did it ! With creative use of commercial sensor components and MCU, and your boards look great. I can totally see that the control system overall must have been challenging, especially on 3 axes and all within 10 msec. Great piece of work, and I enjoyed watching your presentation. Thanks !
P.S. I noticed you have a lot of UART communication channels, which take up a lot of hardware, and maybe that could be simplified with a single high speed CAN bus or so. But I admit I don't know the specifics of all your internal com needs.
Would love to see more about your ground station!
This is awesome. I am relatively new to electronics, and definitely not ready for a system as complex as this one, but this is nonetheless very inspiring to see. Thank you so much for sharing this. this will help many people (including myself) to learn. Keep up the amazing work.
Incredible work, I am very impressed by this rocket brain
mirco usb, still holdin on in 2024. Great breakdown!
I've seen one where they had small tabs with a small servo controlling roll. I suspect that can be extended to pitch with say three fins.
What would be interesting is to have those with top fins, not fins at the rear. The reason is if you have a two stage rocket, you only need the one control system. When the booster is dropped, they are now rear fins for the upper stage.
Amazing video! Love the deep dive into code.
Would love to hear some of the learnings from PCB designing and manufacturing.
alwase incredible, your a source of inspiration for me
This is super impressive, way cooler than any hobby projects I have done :)
I have a few suggestions I think will greatly help you out in the long run, however, it might be more hassle short term.
One is to use a RTOS, like you probably know since you briefly talked about timing.
I think a RTOS will probably make it easier to use the board for different applications in the future too.
Another is to use better ecad tool like KiCAD or Altium over Fusion's built in tool.
You may also want to use a smaller pitch stacking/mezzanine connector instead of a flatflex cable.
With intensive vibrations the flexing of the cable is almost a required feature. Means the connector doesn't shake loose or break (whichever comes first).
@@someonespotatohmm9513 Without going to much into detail I think you will find that stacking mezzanine connector are way more common and reliable than flex ribbon cables in high vibration and shock applications such as aerospace, space, military and high-end industrial systems. A flex cable just flapping around would quickly break in the vibration fixture...
Cool explanation, your requirements are very interesting!
Love you're videos. Any suggestions for a noob to electronics on how to select the components and getting started and building guidance systems?
holy f, that is seriously impressive man
thank you for the inspiring content! keep it up!
As a programmer myself I always wonder how things work in code, and if im correct thats the first time for me ive seen rocket flight code :D
Although you didnt fully explain how everything works it was still very much interesting, especially the mass calculation! Such an obvious requirement for the calculations but never thought that this needs to be calculated/used
You earned a sub from me, looking forward to more videos
Well done! I particularly like the hardware👍
Thanks for sharing, very nice project
Really amazing! do next one about telemetry!
yo man any chance on sharing the files, datasheets and general documents on the flight computer PCB's ?
Oh yes a video about telemetry ! Tt's a subject very often put aside and then forget. What is the components you use, what data you filter and at what frequency you read them ? On ground, what chip again and what sofware, why did you chose this presentation and what command can you actually send to the vehicle ? A looooot of interresting subject to talk about !
Amazing work thanks for sharing!
Awesome!
Fantastic. Really nice code structure and division of work. Look into Clifford Algebra and Geometric Calculus as used in graphics. I think you can eliminate some matrix math.
I would like to see more about the navigation and how/when initial conditions are set. How is gravity worked in? Like how does it tell g relative to accelerations from the motor?
AMAZING JOB !
Wow, well done
Is there any coming videos for the Matlab Simulation???
That should be the next video in the build series, all of the ground testing and simulations done before flight!
@@LafayetteSystemshaven’t watched the rest of your older vids but did you use rocket candy for fuel
13:44 lol I almost missed the joke you flashed there 😅
Very impressive! I would love to see a telemetry follow up video. What RF module are you using for the full duplex (or half duplex?) communication?
Can you please talk more about matlab and HITL modeling, you barely mentioned them but I think for a lot of people it's a sort of dark magic art that would be really interesting to know about.
Do you have a git repo where we can see the flight code?
Please video only about communication between rocket and ground station
Just Awesome dude 👌
How did you learn all of this? Did you go to college? Or did you read a bunch of books and figured the rest out on your own?
good job, keep it
The missile knows where it is at all times. It knows this because it knows where it isn't.
I couldn't help myself.
Nice project! I love it.
May I ask why two accelerometer used?
I would definitely like a video on telemetry system
Would love to see one about Matlab / Simulink part
If I had to guess, I'd think it knows where it is because it knows where it isn't.
Wow. That is a serious project for a well sized team of PhD and seasoned professionals.
The 8 times rotation matrix = ∞ joke is a good one :D
It's interesting how similarly you code is structured to rudimentary game engines
Dude 😎 can become CEO on his own.
Love your project! Have you considered something like freeRTOS? I code my flight computer with it, it's neat because you don't really have fixed frames, different tasks can run at different rates.
wow.
In short -Excelent project, 1000x super
super cool
Cool stuff
can you exspand on the Complinary filters that you use? i'm gessing you avrage the values or what else do you do to clean up the data?
you can reprogram guidance software to hit any aircraft nearby promoting rocket into missile
really cool, do you sell the board and other pats? Or the whole design?
Dude, I did control system design, implementation HW, SW as a master thesis but this is a completely different level. Watched your video with an amusement. Wonderful job. How long did it take you from the beginning to get here?
It took me about four years to get here. I had some early experiments with active control that worked… ok. Learning all of the aero, guidance and control and PCB design took a while but I’m happy to have made it as far as I have!
Would you be able to do a software release excluding GNC? That’s obviously the most interesting part, but I’m also really interested in your tooling stack and use of HIL for verifying software components before flight. If you have any resources on what you’re using I’d really appreciate it. Thanks!
Very cool! 😮 What Technology stack do you use for the Ground Telemetry Station / Application?
Shoutout to all the launch towers out there that got absolutely wrecked when launching their rocket babies.
didn,t know you could load teensy bootloader on new chip MK66FN2M0VLQ, that nice to know
nice layout. i see your not releasing any docs. i would like to see how you wired your pyro channels. perhaps a teeny part of the schematic? is there feedback to show if the igniters are connected?
What’s about with the Export Restrictions? There are also Open Source projects available for Rocket Guidance, are those different in terms of which Law they need to comply with?
So it wouldn’t be possible to Open Source this project later?
Export control restrictions are intentionally vague and vary country to country. This project probably doesn't fall into the spirit of USML restricted material, but parts of it fit into the letter, so it's better to be safe than sorry. Beyond that, there's a lot of safety procedures that go into active control flights even at this scale, and I'd hate for someone to just download some files, do some 3D printing and get themselves hurt.
@@LafayetteSystems Yeah that I can understand. I also Plan to do this as a Project in the future, so I don't need the plain code. But Publishing some recourses via you Learned all this stuff would be a great help. Im exited for future Videos!!!
Very cool project! Is there a reason you used the FFC & Pinheader connection, instead of a mezzanine connector?
Good question! Vibrations are very common in rocket launches, and I was nervous about mezzanine connectors disconnecting, even momentarily during launch. The FFC let’s the two boards move/flex in relation to one another and still be connected. That being said, the 6-pin power connector is rigid anyways so maybe a mezzanine connector would have worked all along.
The missile knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the missile from a position where it is to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't.
In the event that the position that it is in is not the position that it wasn't, the system has acquired a variation, the variation being the difference between where the missile is, and where it wasn't. If variation is considered to be a significant factor, it too may be corrected by the GEA. However, the missile must also know where it was.
The missile guidance computer scenario works as follows. Because a variation has modified some of the information the missile has obtained, it is not sure just where it is. However, it is sure where it isn't, within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice-versa, and by differentiating this from the algebraic sum of where it shouldn't be, and where it was, it is able to obtain the deviation and its variation, which is called error.
Very interesting, why didn't you use a scheduler like FreeRTOS to manage the functions?
awesome
I was sure i would find a "missle knows where it is by knowing where it isn't" comment 😂
Cool stuff! What type of connectors do you use? You say MOLEX, but which one?
in the time domain well positioned. thats click worthy
hi, do you make content exclusively on missiles? if not, can you make a video on how to make a radar? your channel looks serious and it's impossible to find someone making a radar (every "radar" videos contain a tutorial on how to make a sonar)
Hi ! very nice project. What class of engine are you using? What is the propulsion duration?
Beeing Nicolaus Copernicus is extremly hard nowadys. Nicolaus Copernicus. A lot of thinks to learn in each area.
Very cool project!
Are you using the readSensors serial.prints during flight? If not, you could make a flag to skip the serial prints, to free up some cpu resources during flight 😊
What CAD do you use for the PCB design?
Why are multiple IO expanders used? I am not familiar with the MCU in question, but with that many pins I would assume that it would have plenty of peripherals (UARTS and GPIOs mainly for this application). Was it a limitation of the amount of the wires in the flex cable?
Good question! I could do without any IO expanders, but it would require a 36-pin FFC which is just comically large and it would eat up every last GPIO pin and UART on the MCU (let alone routing all of them to the cable connector). The I/O expanders help cut that down tremendously. All of the really important connections are directly to the flight computer (Servo PWM outputs, pyro arming and fire signals), whereas the non-critical stuff (booster/pad detection, LEDs, pyro continuity) is handled by I/O expanders and polled via I2C. That way, if an I/O expander fails for some reason, it doesn't accidentally fire pyro channels or something bad.
@@LafayetteSystems That makes a lot of sense. Using dedicated pins for critical functions is a good idea as well. I don't think there are any better solutions to be honest, without spending tons of money on higher-density connectors. Thanks for your reply.
On the topic of flight critical hardware, had you considered implementing a 'watchdog' (not the correct term) MCU to monitor the flight state? As in, if there was an issue with your flight firmware, say it got spammed with interrupts or otherwise held up unexpectedly, a backup mcu could force an abort state, or override control to the pyros for example. Obviously, this would also be a failure point, and you would need at least 3 MCUs to have a proper voting system. And I assume that bottom board is already 70-90% full. So I guess its not really practical but I typed it up so I might as well send it :P
What I mean, I guess, is in terms of redundancy, what choices did you make? Was there anything that would've been beneficial which you had to leave out of the final design?
You did also mention a video on telemetry, that sounds like a great idea.
Dark magic
homie just did a homebrew raytheon knife missile
16:18 We report the error code 1202 or 1201 (see apollo landing) 😉
What type of onboard camera's do you use?
I have a whole bunch dji phantom 3 advanced parts you may be interested in 😊
Is your pc board assembly done outside...or do you do it?
So fcking cooooool!!! So fascinating stuff main, I wish I could do such cool stuff
what is the reason to use memory flash and SD card? when should use one and when should use another? thanks
What controller is used in rocket technology?
it knows it by substracting it from where it isn't
I know it might seem like a dumb question but, what coding language are you using? I'm new to this field and want to learn more
Hi, i wanna knwo how you did to learn pcb design ?