So on and so forth (it gets a lot more complicated than that but you get the idea).
Then, you ask the mechanical guys what the operating environment will be (vibration, temperature, pH, etc.) and you source a chip from an approved manufacturer that can handle your system dynamics and the environment. Then you hit the autocode button in MATLAB, flash the generated code to the chip, and run the programmed chip through bench tests.
This is fascinating. So underneath it it's a big decision tree with a few defaults thrown in. Is that an accurate description?
I.e. hydraulics, fuel transfers, ECS etc.
> for car engines it’s typically a set of tables with something like air pressure
> on the y axis and engine rpm on the x axis where each cell has a fuel value
You can see those values being edited here while tuning a Viper:Not in the sense that it's yes/no decisions all the way down. Most of the inputs are continuous functions, and your output will be a function that combines the inputs in some particular way specific to the application.
You might do something like:
if (mach > 0.5 && mach <= 0.85) {
...
}
And so on and so forth > if (mach > 0.5 && mach <= 0.85)
But surely there's some else clause at the end with a default value, no? Or at the minimum log.error("No matching flight conditions configured", pressureAir, pressureFuel, airspeedMach, engineRPM) or such?E.g. Mach is derived from multiple sensors so you have a first layer of redundancy there, then if all fails (and you can detect it ofc..) you'd probably start some kind of dead-reckoning and issue WARNINGS accordingly to the pilot and/or connected systems that change its behavior to a more conservative one.
There is almost always some kind of "safe state" that wouldn't depend on the input signals at all. It would obviously negatively affect the performance of the aircraft and most likely reduce its operational envelope.
Pilot action would be required, i.e. reduce altitude, reduce AoA, reduce air speed etc. LAND ASAP etc. :)
I think the easiest way to go about this, is to learn how to fly a plane. Then once you've learnt that you can kinda learn it piece by piece. IE: it's easier to teach someone how to drive a car first before teaching them how to mod it and write a self-driving program for it.
But, then again, some mechanical engineers learn how to build planes, before knowing how to fly a plane.
It really helps if you can reach out to someone in that industry and they can show you the ropes
I went back to my desk, stewed for a while, and panicked.
So I go back to Erwin, shamefaced, and said I had no idea how to size the jackscrew. He chuckled, and said "did they teach you column buckling in school?" I said sure. He said it's a column buckling problem. You know how to do it.
And sure enough, I did.
That's communication 101.
201 is divesting yourself of the assumption you always know exactly what everyone else is talking about, and remembering that it never hurts to play the fool and learn something, as in the process of being taught, sometimes new knowledge will become apparent.
People who master both pieces tend to be the most amazingly competent people I've ever had the privilege to work with.
A couple months into my first job, the chief engineer, who was an ME in an EE company, told me to figure out how a certain filter worked. I sat down at my desk with the diagram for hours struggling with it. Then I got up to go to the bathroom or something and came back in through a different door and saw the schematic upside down and that from that perspective it looked totally different. It was just a 2-port network; I know all about 2-port networks!
A few minutes later I was done :-)
20 GOSUB TAKEOFF;