phugoid
Joined 17 years ago
Joined 17 years ago
He has a knack for being critical and optimistic at the same time. Funny too!
You have a layer that translates the desired accelerations from a physics model (say at 60 Hz) into filtered motion jack length commands (say 400 Hz or more). You don't need massive compute, just keep the latency down and ensure a steady stream of commands to the jacks.
The experience you get from the simulator comes from multiple systems hitting your senses at the same time. You yank a joystick and expect to feel a motion cue and see something in the visual system. For flight sims used in pilot training, you need a response within 150 msec and you want the motion and visual to be in sync to avoid motion sickness.
A car simulator would be a lot more twitchy than passenger aircraft, 150 msec may be too slow.
Simulating the passenger cabin is important for crew evacuation trainers. Those are large, lifelike fuselage sections that you put on a hydraulic motion platform and run flight/crash/evac training scenarios.
To get a realistic out-the-window view, the trainers I worked on had a PC monitor behind each window opening. We used FlightGear in a master-slave setup: the master node simulates physics and feeds accelerations to the hydraulic platform, and the slave nodes generate out-the-window visuals for each window.
I learned about open source and Linux; in time that went from a new hobby to a change of direction in my career.
I learned about startups, and figured I should try since I'm also a genius who can build a great product. It took quite a bit of money and time lost to convince me otherwise.
I found out about the online CS Masters program at Georgia Tech and did that a few years ago, this led to moving countries and getting a job doing AI.
Also, imagine you're an airline with thousands of pilots and dozens of instructors: you're running an airline and a school at the same time. You need to build a curriculum of training and testing that will standardize your pilots. There's room for thinking outside the box but not too much.
If you're looking at the highest fidelity level D simulators, the instruments and controls in the cockpit are either the same parts as the aircraft, or functionally identical (but cheaper).
> If you simulated a broken AoA sensor, would the simulated plane behave similar to the real plane? Would the MCAS system have the same bugs in the simulator as in the one in the real aircraft?
One of the big costs in building a simulator is buying the data package from the aircraft manufacturer, with the aero model and details of system internals, things like electrical and hydraulic schematics. Sim makers build a software model of these internals at a pretty low level. For the most part, if you introduce a fault in some part of the system it will behave the right way as an emerging property, not because you're forcing the system to have the right outputs.
Some software components from the aircraft get installed on the simulator with the same hardware platform from the aircraft, others get run as executables on the simulator's computers, and others get re-implemented from scratch (lots of FORTRAN and C).
That kind of detail comes into play when the instructors introduce multiple failures at the same time - pilots have to take corrective actions to make the faults go away or manage them - if you don't model the systems at a pretty low level you'll never high fidelity.
> Can you try new scenarios in a simulator, or can you just try scenarios that the simulator was designed to run?
There is a list of malfunctions available to the instructor, who runs the session from the back of the "cockpit" on touch panels. For the most part, these malfunctions cover failures that are anticipated by the aircraft manufacturers, and the corrective actions / system behavior are well understood. Each fault is tested to make sure it works properly. You don't go and fail some random component in the system.
When an important failure happens in the real aircraft, it might get added as a training scenario to simulators already in operation.
For example, I ran across this gem recently:
"In the same way as people who've been to a concert carry about with them the melody and haunting quality of pieces they've just heard, interfering with their thinking and preventing them from concentrating on anything serious, so the talk of snobs and parasites sticks in our ears long after we've heard it. And it's far from easy to eradicate these haunting notes from the memory; they stay with us, lasting on and on, coming back to us every so often."
I would never connect those two ideas. It's beautiful. The writer is Seneca, a Roman who was born around the time of Christ. He was idealistic yet street-smart, lofty though sometimes petty, and very opinionated. I enjoyed walking a mile in his sandals.
"You’ve got a lot of learning to do - minimum nine months - before you even get to working with me."
Such an unpleasant disposition. People who demand humility of others could use a bit of more of it.
Getting in to their OMSCS program is far from guaranteed - they have lots of older applicants and they evaluate each on its own merits.
The best thing they've done is structure the entire course around building a web database app. They provide a real-world description of what's needed, and break it down into big chunks that are synchronized to the content of the course's three exams. This gives a clear over-arching goal to the class. For people who have never build web db apps, they will really feel like they've accomplished something by the end.
You may find that successful parents who balance two or more kids with full-time jobs and some measure of sanity will not have the interest or energy to put into such a project. The more enlightened among them may also hold their tongues, having realized that what works for their kids is not universal.
Of course I forget all the details, that's what books are for. It does seems more effective than just trying to map what I know from other languages into the new one.
daniel.romaniuk _at_ gmail.com