Space Shuttle Displays Go Glass
cloudscout writes: "NASA has finally decided to bring the space shuttle up to date with a 'glass cockpit.' Until now, the space shuttle cockpit has used a system of gauges and dials designed in the early 70's.
They now have full-color computer displays and controls. Pictures and details are available in this article at WESH Channel 2000. So how long until someone ports MAME to this thing?" Can anyone shed light on what sort of operating system will drive all those screens?
NASA Administrator: "Sure, we want a calendar and a phone list in Atlantis -- but what about videos and MP3s??"
NASA Worker: "Uhh, I'll get right on that."
NASA Administrator: "Can you put in that paperclip thing too?"
- Cam MacLeod
First of all, the shuttles are supposed to be replaced within a few years (hopefully). Secondly, I can think of a lot of other things that should be updated first. Anyone know how the computer system onboard works?
There are five computers- with tape drives! The tapes aren't big enough to hold everything, so there are seperate tapes for take-off, landing, orbit, etc. The tapes need to be changed by hand on the first four machines. The fifth machine is permanently running the emergency landing routine. If one of the first four computers disagrees with the others, it is shut down. If the shuttle is ever down to two computers, the fifth machine kicks in and takes the next available landing window- with or without anyone onboard. It's never happened.
I always assumed the reason that the system never got updated was because they were planning on replacing the shuttles soon. Makes you wonder how confident NASA is about the X-33.
(This information is a few years old. Anyone know if NASA has upgraded the computers yet?)
"I believe that a scientist looking at nonscientific problems is just as dumb as the next guy." -Richard Feynman
I think all the shuttle displays are done by a company in Albany; they use a Photon drawstream without QNX's rendering libraries. I don't think that most of the companies producing these technologies are allowed to be named due to their contract with government.
:)
The shuttle requirements are high; they need a mission critical OS with real time performance for *many* of the systems. Good for QNX, bad for M$.
It's a case of both security through obscurity and the government not wanting to be known for publically endorsing one vendor over another. (What would be the impact if we heard that the government started using linux or microsoft over QNX?)
NASA refused to comment on the OS question, however one source has told me that they got a $7,600 savings thanks to a $400 per unit rebate from MSN.....
Think outside the... Hey, where'd the friggin' box go?
Hmm. If NASA installed a Win32 OS in the Atlantis shuttle, chances are, the astronauts on this upcoming mission will be the first to see the Blue Screen of Death (TM) from space. Though, they also might die in the process. HeH!
I think it's unlikely that Windows would be used. Stability issues aside, for a spaceship, you want the maximum ability for customization. I'm no Linux expert, but it sounds like it would be a good OS to use. And hey, we had that story earlier about building your own distro. That would be neat: NASA writing its own Linux distribution for the space shuttle
I'm just speculating, mind you. They could use Windows or DOS or something like that...and get all sorts of fun errors.
Life Support has caused an illegal operation and will be shut down.
c:\>Close bay doors
Bad command or file name.
c:\>Close "bay doors"
Too many parameters.
c:\>Close (bay doors)
Error reading bay doors.
Abort, Retry, Ignore?
[astronaut clicks on "Extend Landing Gear"]
Not enough memory to complete this operation. Close some programs and try again.
Oh dear....
Karma: T-rexcellent.
As to what software it's running... it's software version OI-27. (According to the specs)
Now, I don't know exactly what it means.. but oh well. Maybe they just loaded one of the crays on there.. hehe.
They Write the Right Stuff
There have been 17 bugs total in the last 11 OS revisions of the Shuttle code, approximately 420,000 lines delivered each time.
The Z80 was and still is a workhorse for embedded space systems. The primary reason for this is that it was one of the few cpus that are available in a radiation hardened version. As of the early 90s, the rad6000(used in the mars rover, int space station, many others) from ibm has pretty much taken over that market. This is a first generation rs6000 that is radiation hardened. You can get this puppy at up to a whopping 35mghz. Lockheed Martix produces the development and flight boards for these for the resonable price of $30k and $300k a piece and it generally runs vxworks for the os. In the mid 90s intel introduced an i386 that was hardened and just recently a i486 (think hubble upgrade not so recently). The rad6000 is due for a much needed upgrade to a full blown power pc. It'll be nice to get some documentation for your $300k (i'm sure that'll go up with the upgrade ;) board that has a date that doesnt read 1990 on it ;) The main reason that they antiquated beasts are still in use is primary because compared to newer chips they drawing alot less power, and in the embedded world you can get away with it because you are generally doing 1 specific duty and will never have to compete for the cpu.
I work on military aircraft avionics, which are (theoretically speaking) not really a lot different than space navigation systems. Right now most of our aircraft are still using 60's and 70's technology in the avionics systems.
Anyway, in a system with a glass cockpit, they will usually have a separate computer for every main function (navigation, guidance, heading, etc), and each computer will run on its own custom hardware. Software usually comes from dozens of banks of ROM chips. Although, if this system is still being designed from scratch, or was recently, then I don't see why they wouldn't use some sort of small RAID arrangement. If it even runs an OS (at least, how *we* define OS), chances are it will be very low level, and custom-coded by either NASA or a high-profile aviation company like Lockheed. Remember, custom (and very expensive) hardwear.
If they *were* to run a PC-type OS in this glass cockpit, I forsee them choosing either MS-DOS, (hey, it's been proven stable) or some Unix variant or clone known to be very stable (BSD?).
I'm almost certain they aren't going with Linux because don't you think they would have announced it by now? I mean, Open Source == Publicity these days.
And to you guys worring about Wince... 1) NASA is not really that stupid and I doubt it could handle shuttle avionics anyway 2) There are always two or three backup systems for every major system.
NOTE: This is all pure speculation which therefore means that it will probably be moderated down as flamebait.
This page has all kinds of crazy info on the original stuff that the Shuttle ran on. It gives a good idea of what it takes to run a shuttle- something like 6 processing units, each with about 400 KB of memory. Lots of stuff in there- details on the custom OS and language which they use, and on the extreme levels of redundancy (software written in two separate locations, 4 copies running in parallel, and an emergency landing program constantly loaded on a separate processor just in case.) Cool stuff...
~luge
IAAL,BIANLY
I don't work on the shuttle, I work in the Avionic biz, which shares many similarities to the shuttle project.
The avionics biz is very conservative when it comes to items that relate to safety. The primary and secondary displays have to be so safe, bug free, and have such a small memory space that they don't use an operating system such as windows, *nix, or DOS. It is strictly bare metal programming. In the boxes that I work on, having 500k of ram to work with is a luxury item.
The graphics are usually handled by seperate chip with a dedicated graphics engine embedded into it. The main processor and graphics chip usually communicate via shared memory locations and the commands don't get any more complicated than "draw blue circle at location x,y with radius r" and many of the items come predrawn.
The GPCs (General Purpose Computer) in the Shuttle use two software packages. Four of the computers run PASS (Primary Avionic Software System), which was originally written by the IBM Federal Systems Division. The fifth computer runs BFS (Backup Flight System), which was originally written by North American-Rockwell. The "operating system" is unique to the Shuttle, it isn't a port of a commercial product. PASS is the primary system, BFS is there as a backup in case of a common mode software failure during ascent or entry. The Shuttle is a fly-by-wire spacecraft. All of the control surfaces, and many other critical functions, are controlled by the computers. Without an operational computer, you crash and burn. Shuttle software is written in a language called HAL/S (High-Order Aerospace Language Shuttle), which was developed by Intermetrics. The Shuttle's operating system is a hard real-time operating system based on cyclic scheduling. A task is guaranteed to get N cycles of CPU time every X milliseconds. The tasks are managed by three executives, the HFE (High Frequency Executive), MFE (Medium Frequency Executive) and LFE (Low Frequency Executive). A task that issues commands to control surfaces is going to run at a high frequency. A task that checks tire pressure (really!) can run at a low frequency.
Mea navis aericumbens anguillis abundat
This page has links to many of the systems, most of which are computer controlled, aboard the aircraft.
The part I found amazing was that, in this conversion, the shuttle cockpit lost 25 pounds of weight. Now, CRT's aren't the lightest thing in the world, so those old dials and guages must have been pretty heavy
======
Webmasters: get a Free Palm Pilot for referring 25 signups (Web-based games).
========
<sig>Guvf vf abg n frperg zrffntr
Do you think it would be possible for open source code to be implemented in this way: or are these software writing processes already used in OSS? Somehow I doublt that GNU/Linux community could be utilized for such serious work.
Go ahead, prove me wrong...
You can't handle the truth.
DOS is stable, and well known. You design these displays with either IR touch or resistive touch.
The reason for IR or resistive is it can handle gloved hands and the calibration is not effected by temperature or vibartions as much as accoustic or capacitance.
The reason for DOS, is it may have bugs, but everyone knows the bugs and all the tools for it is well developed and stable.
Using touch screens allow you to reduce the area needed for controls.
Fight Spammers!
Why would NASA want a shuttle named 'Enterprise' when they already *have* one?
NASA's first Shuttle was the Enterprise (OV-101). It was an experimental orbiter, and was used in various atmospheric flight tests in the 1970's. Unfortunately, it was retired before it ever flew in space but it did provide valuable information during it's lifetime. (The first shuttle that made it into space was Columbia, in 1981. Enterprise last flew on October 26, 1977.)
You can find a really nice picture of the Enterprise here.
-- Give him Head? Be a Beacon?
-- Give him Head? Be a Beacon? :P)
(If you can't figure out how to E-Mail me, Don't.
The reason for installing this new 'glass cockpit' is not merely so that shuttles can look all high-tech and cool. There have been constant complaints from shuttle pilots that the old control systems tended towards information overload. There was too much irrelevant data, and readings that were relevant were not prominent enough on the control panel. The new system will presumably have been designed to address this issue: the most relevant data to a given situation should be presented to the pilots on the display panels (presumably 'relevance' of data will be something which is decided by computer after a lot of simulations and consultations with shuttle pilots), while at the same time if they do need other data it should also be relatively quick and easy for them to access from the panels. Remember, by definition when they built the first shuttle nobody had flown it before. Now they have 20 years worth of shuttle pilots to consult in building a system that suits their needs precisely. Control systems can evolve, and should, just like everything else.
This isn't exactly a huge suprise to me. I had a TA in university that had previously worked on the shuttle code, and showed us the design documents and the coding procedures for some of the shuttle control code. The attention to detail was almost unreal. Even the requirements doc was triple-intense, not to mention the coding procedures themselves. The shuttle folks are coding-for-keeps, and well they should; peoples lives are *directly* on the line.
Too bad the industry-at-large refuses to be as thorough as NASA.
Something, just SOMETHING tells me that no publicly-available OS is going to be used for an extremely specialized, critical application such as the space shuttle. Do you have ANY idea how complex the systems on that thing are? I sure as hell don't, but I remember reading somewhere that they are very, very complex. Very.
Nothing short of a custum, proprietary OS is going to run all that equipment. Proprietary, embedded, real-time OS. AtlantOS or something, or maybe DOScovery.
Gee, if they WERE using Linux, they'd have to release their code modifications, for the rest of us to install on our space shuttles.
Keep in mind that the new control systems have probably been in design for at least 5 years. What I'm getting at is that they're not going to design a bunch of custom hardware, then apply the latest kernel patch from kernel.org and then launch it. The OS was likely designed the same time as the hardware (only FOR that hardware, strangely enough) and probably has been rigorously tested and debugged for several years without any major changes. Just guessing, but it sounds similar to logic.
-CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
Also see CACM Volume 27, Issue 9 (September 1984) for an interesting article on Shuttle software.
Mea navis aericumbens anguillis abundat
I'm not sure if this is what you're looking for but it's pretty similar. It's from Wired News; they were watching NTV too and listened to this conversation where one of the astronauts had a problem with, guess what?, Microsoft Outlook. =) and called Houston for help. I suppose it was running on one of the Thinkpads that they now carry with them on the shuttle.
"All the things one has forgotten scream for help in dreams". Elias Canetti
If it were that simple, I'd agree. However, software maintainance costs a significant amount of cash. The only real advantage, as far as I can tell, in being lax with requirements/design/coding is being first to market. Unfortunately you wind up paying for it in maintenance and bug fixes later. If you got it right the first time, you might be a bit behind the competitors, but you'd look good in the eyes of perspective clients because your software didnt suck. And you wouldnt have to pay your coders to fix things. You could pay them to add interesting and useful features.
So, yes, in the end, it's all about cash. I'm just convinced that in the general case cash is being spent improperly.
Spacecraft navigation is the descendant of aircraft navigation which descended from the navigation of wooden ships. That is why they still use knots, feet and nautical miles.
I've wondered how we could switch to metric units for the operation and navigation of aircraft without killing thousands of people in the process. Everyone is used to "500 knots at 35,000 feet", and the air traffic control system is built around those units. How do we seamlessly change that to metric units? Plus the pilots have the old units deeply embedded in their brains. They know that the stall speed of their plane is 100 knots, the fuel consumption of the engine is 10 gallons/hour and many other important facts in the old units.
Mea navis aericumbens anguillis abundat
Then there's the electrical system that's needed to drive such as system. What if the electrical system for the gauges were to lose power? No gauges? There should at least be backup analog gauges for some vital system gauges.
What they should also try to develop that would be better than CRTs though not as good as analogs would be some kind of flexible durable flat panel display. Something like the surface of those plastic mouse pads. You could bend it, press on it, and it would not cause significant damage. Even better still, make it so that the display is not a general purpose display, but pre-configured display that changes depending on electrical current/voltage like the analog gauges. But it would have advantage over the analog gauges because it would not have any moving parts. To get an idea of what I'm talking about, imagine those Duracell battery testers used as gauges. I mean, wouldn't that fairly resistant to all kinds of adverse conditions and abuse? And if you make them like "skins" that you could just snap in place, then you could easily carry redundant gauges because they would be very light!
Come on, they could do better than that! Or am I just completely wrong on this?!
This is actually true, the Shuttle cannot deploy its landing gear in the computer. The previous users post shouldn't have been moderated down, he's absolutely correct and it is on-topic.
The astronauts objected to the computer being able to deploy the gear automatically, and this was given to them by the software people as a meaningless victory in their fight against the full automation of the shuttle.
The concern the astronauts claimed was that if a computer glitch caused the gear to deploy while in orbit, the result would be a loss-of-vehicle scenario.
The software is capable of handling every aspect of a shuttle landing except for the landing gear itself.
An interesting side note, if the gear aren't deploying within a half a second or so of the deploy switch being pressed, there are pyrotechnic charges that deploy the gear by force. As far as I know, they haven't been needed yet, but I imagine it'd be quite a sensation...
Don't know about the shuttle, but the glass mission control center in Houston uses Alphas running Digital Unix. The old dial-and-gauge mission control center used during the Apollo missions is now preserved as a histroical monument.
----
Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
Well, I've seen a few 'comical' posts about this story, so I just have to weigh in. I'm an Aerospace Engineer, and I have friends who are 'Aviation Computer Scientists'. That means that they program the computers that run airplanes.
Observation 1. The 'glass cockpit' displays in airplanes (and, presumably the Space Shuttle) do not run off the shelf operating systems. They are custom, proprietary operating systems written specifically for what they do. They have no need to use a general purpose OS, when what they need above all else is rock solid stability for just a few functions. One of my old college buddies is even working on the code for the 'operating system' of the new space station.
Myth: Glass displays are fragile. This is simply not true. The space shuttle has had glass displays since the first one, but there just weren't as many, and as prevalent as they are after this refurbishing. Glass displays can handle the 4 G's experienced by the shuttle just fine, as well as the vibration. For one, jet fighters have glass displays in them, and regularly handle worse G forces than the shuttle ever does.
Hopefully this clears it up a little more. Any questions, just post.
Another non-functioning site was "uncertainty.microsoft.com."
The purpose of that site was not known.
The year that SIGCHI was held in Austin (88? 89?) one of the keynote speakers was a shuttle astronaut. He said that since three systems in the cockpit had been desinged by three different companies with no overall design spec, the shuttle "programmers" had to learn three different obscure languages simly to "fly the bird:" a rudimentary BASIC-like command language, octal, and hex! One of the earliest missions nearly landed in the ocean because of a hex-octal mistake. It was this guy's opinion that the shuttle was as much an ergonomic lab as a zero=gravity, low=space lab. Also, the designers had bolted shut one of the access panels because they were sure nobody would ever need to get into it. One mission was saved only because one of the astronauts had smuggled up a Vise-grip, which was verboten.
Ultimate Geek NanoNovel: Acts of the Apostles at www.wetmachine.com Fear the Future! Defrock the Infodruids!
But there are a lot of other reasons why GPS isn't very good for aviation use:
GPS does not handle altitude very accurately.
GPS does not handle very high speeds all that well.
I imagine the GPS system would break down entirely when you reach a good percentage of the altitude of the GPS satellites themselves. Not so good for the shuttle. (Seeing as this is what the article is about...)
Here's a great URL for lots of info on how GPS works: http://www.trimble.com/gps/index.htm (It uses Shockwave, but you can still view it without.) Here's another with lots of information about GPS units: http://joe.mehaffey.com/
-=-=-=-=-
-=-=-=-=-
My mom's going to kick you in the face!
Airbus has taken the position that the computer, rather than the pilots, can fly the airplane better. In fact, the pilots cannot override the computer.
As a pilot and software engineer, I find the Airbus philosophy fundamentally flawed. I can think of a few incidents on Boeing aircraft that would have turned into an "everyone dead" senario on a fly-by-wire Airbus (A320/330/340). You won't catch me dead flying on or acting as Pilot In Command of an aircraft exhibiting the Airbus philosophy.
OK, French Persons, flame away. :-)
It's Linux, damnit! Pay no attention to renaming attempts by self-aggrandizing blowhards.