47-year-old Voyager 1 fired up thrusters it hasn't used in decades
cnn.comYou can agree with me or not, but Voyager 1/2 is a top technological achievement of the humankind. A piece of hardware so good that it survived working correctly 47 years in a hostile environment, driven by a computer with the power of modern car key. Amazing.
You can agree with me or not
I agree with you entirely. I can not think of a single piece of tech with the complexity of Voyager that has been battle hardened and resilient to last that long, keep doing what it was designed to do without a major on-site overhaul, upgrade or tech refresh. Certainly not any of our current satellites or anything created since Voyager. I think I know why this will never occur again but that's a much bigger topic.
> I think I know why this will never occur again but that's a much bigger topic.
I'd read that blog post
Agreed, and to me as a electronics/software engineer it serves as a constant reminder that if you want things to be reliable, sometimes less of the right stuff can indeed be more.
It's incredible. The engineers who designed and built those spacecraft were brilliant. I'll raise a glass to their work!
>driven by a computer with the power of modern car key
I appreciate the sentiment, but perhaps it is the car key which is impressive here...
Not necessarily. The car key seems inevitable in retrospect. Both Voyagers have had decades of opportunities for something to go irreparably wrong. Let's see if that car key will still be functional in 50 years, and then pass judgement.
As I'm on my 3rd car key for a car I've had about 8 years. Nevermind I disassemble the key and clean the button and battery terminals.
If one controls an entire space ship, and the other can unlock a few doors, which is more impressive?
It took a rather embarrassing amount of time before I realised you weren't saying "Voyager Half".
bathroom in every house > Voyager
A radio signal takes more than 22 hours to reach Voyager 1. And it would take the same to get a response back. Incredible. And imagine the patience needed to send commands and wait for the outcome on the part of the engineering team. You can't afford to send a wrong command and have the luxury of undo. Also, I wonder how many generations of engineers must have worked on the project by now.
You characterize every single piece of equipment on platform so you can do somewhat accurate simulations. The shuttle flew most of the critical phases of their missions on the ground before ever uploading the code into an actual shuttle computer. The simulation system was continuously updated with real world performance information so it's accuracy continually improves.
You also have a command processor on the spacecraft side. It will have some of these characterizations present as limits on command authority. Commands sent without override that exceed these limits will be ignored, possibly cancelling the entire sequence of dependent commands. You can demand that these limits be ignored but this obviously requires you to specify it redundantly in the message set.
Should anything happen your flight software is generally going to go into a recovery mode. Voyager will try this 4 times after a period of no commands triggers a watchdog. This will switch on different radios while keeping them oriented towards the Earth in a constant effort to reacquire the command signals.
Should this process fail a backup flight software mode will then activate which performs basic mission functions on a continuous loop so whatever continues to operate on the spacecraft will transmit it's data automatically back to the Earth at it's highest power setting.
Voyager was a continuation of some of the Viking hardware and flight systems.
> You characterize every single piece of equipment on platform so you can do somewhat accurate simulations. The shuttle flew most of the critical phases of their missions on the ground before ever uploading the code into an actual shuttle computer. The simulation system was continuously updated with real world performance information so it's accuracy continually improves.
This is not true of the Voyager probes:
> Newer NASA missions have hardware and software simulators on the ground, where engineers can test new procedures to make sure they do no harm when they uplink commands to the real spacecraft. Due to its age, Voyager doesn't have any ground simulators, and much of the mission's original design documentation remains in paper form and hasn't been digitized.
https://www.wired.com/story/nasa-repair-voyager-1-spacecraft...
While it's true they don't have a standing ground segment simulator, you'd be very wrong to think they didn't fly the craft in simulation before launch.
As opposed to many other modern missions this craft is just flying for distance. It doesn't have to land anywhere or perform any complicated maneuvers. So a standing ground test platform wouldn't be particularly useful. The shuttle, our landers, and probes are obviously a different story.
> much of the mission's original design documentation remains in paper form and hasn't been digitized.
The cynic in me says this is why the mission has been so successful. Imagine if important documentation had been on some obsolete tape format.
I suspect most people who've ever been responsible for colo-ed unix-ish servers have learned to do something like:
> ufw reset | at now +5 minutes
When doing "dangerous" things like updating firewall rules.
I wonder if they have a way to send commands saying something like:
Switch to thruster set 1, wriggle the antenna aim away and back to earth, wait 46 hours, if you do not receive "all clear" from earth switch back to thruster set 3 and re aim the antenna at earth.
So obvious! But _no_ I haven't done this even though I have messed up remote servers where this would have helped. A bit embarrassed I didn't think of it myself, but thanks for the tip nonetheless!
I also did not think of it myself, but had it shown to me by a greybeard after complaining about having messed up in exactly that way, and had to pay extortionate prices for "hands on" by someone at our colo facility...
No I just always have a serial console and a power switch which are not affected by anything I can do on that box.
I still fuck them up after 20 years.
Fortunately we have ILO / RAS cards in everything.
> A radio signal takes more than 22 hours to reach Voyager 1
Voyager has a 23 watt radio and a 14 foot parabolic dish antenna, pointed directly at Earth which is presently 15 billion miles away.
The corresponding earth ground station has a 100 foot dish and transmits at thousands of watts.
It's astonishing to me that Voyager knows where Earth is at all. I imagine it uses Sol as a reference? Or maybe the high powered control signal carrier?
Amazing stuff.
> It's astonishing to me that Voyager knows where Earth is at all.
Wikipedia says that the high-gain antenna has a beamwidth of 0.5° for X-band, and 2.3° for S-band.
So it's so far that you could almost point it straight at the sun, and have the entire orbit of the Earth in the beam.You have: tan(0.5deg/2)*2*164astronomicalunit You want: astronomicalunit * 1.431179123 watts, spread out in a cone the size of a planetary orbit.
https://en.wikipedia.org/wiki/Voyager_program#Communications
Which correspondingly means that the received signal strength here on Earth is very low.
Internet says approximately -160.48 dBm, which is one thousandth of the minimum strength that the most sensitive commercial FM radio receivers can discriminate.
Hence the huge receiving dishes, and apparently one 100 foot dish alone does not collect enough energy to reconstruct the signal, so multiple are required at each Deep Space Network receiving station.
And due to the rotation of the Earth, we need three DSN stations to maintain constant communication with Voyager.
> Hence the huge receiving dishes, and apparently one 100 foot dish alone does not collect enough energy to reconstruct the signal
Around 30k photons a second.
…I don't know if that's a lot, or where the noise floor is.You have: ((23W/(pi*astronomicalunit^2)) * (pi(50ft)^2)) / (6.626e-34J/Hz * 10GHz) You want: Definition: 36024.297 / sAs a comparison of unlike but related units:
> For example, the data rate used from Jupiter was about 115,000 bits per second
And I think it affects the calculation slightly that Voyager's downlink transmits at about 8.4 GHz (X-band).
Good stuff here: https://www.allaboutcircuits.com/news/voyager-mission-annive...
I wonder if they could build a very large dish in Earth orbit. Probably cost prohibitive though. Also there's the power and cooling aspect when transporting... Would there be any advantage to a space based station?
You could build a planet-sized interferometric array without having to obtain land in different countries. If the orbit's much bigger than the planet, you can have most of the antennae always be usable instead of half on the wrong side. You can pick up wavelengths blocked by the atmosphere. You can build multi-kilometer single dishes out of mylar or steel cable, without gravity and air currents bending them. You can use it to focus sunlight onto surface locations, but probably shouldn't.
I'm no space expert, but I'm not sure this would be say better. It would certainly be epically more expensive.
Two obvious issues spring to mind;
The orbit would need to be polar to avoid being blocked by the earth (assuming the craft is in the solar plane). Whatever orbit was chosen at least some planes some of the time would be obscured by the earth.
And orientation fuel becomes an issue. Outside of refueling it becomes a hard end-of-life factor.
Contrasted to land-based stations. Which are happily operating 50 years and can be maintained etc.
Frankly I'm not sure there would be any advantage to a space receiver- and it's several orders of magnitude more expensive.
> It would certainly be epically more expensive.
Actually, microgravity means you could have a 50-meter dish unfold neatly from a backpack-sized wad of Mylar.
>It's astonishing to me that Voyager knows where Earth is at all
It's not that astonishing when you realize astral navigation is what sailors hundreds of years ago did to navigate the seas. Just look at the stars with a sextant and with some basic trigonometry you'll know where you are exactly. The Apollo space crew had to do that by hand and eyes using a sextant too when the astral navigation computer failed.
It would be astonishing if Voyager shipped in 1977 with computer vision capabilities that were capable of that level of object detection and discrimination and accuracy. Plus the detailed star maps for correlation. And all designed and built several years before launch!
And in fact I think it's not possible. But orienting on Sol should be achievable. Even at 15 billion miles away, it's still surely the brightest thing in the sky.
Presumably the orientation sensor is precisely in line with the parabolic antenna?
Knowing your longitude is very difficult without a clock... Can't do it with just stars iirc.
You can determine your longitude without a clock, but achieving precision with this method is challenging. First, you need to observe the Moon's position relative to fixed stars, which gives you the UTC time. Then, observe the Sun's position relative to the horizon to determine the local time. By comparing the two, you can calculate your longitude.
How are you going to usefully use this information if you wouldn't have an obvious way to know precisely how long it's been between whenever you lost track of the moon and stars and whenever the sun is clearly visible over the horizon?
This is true and there's a fascinating history for Earth-bound (little v) voyagers!
But Voyager does not have this particular problem. :)
I think you can, with the Moon and where it is in relation to the Sun.
Does voyager have optical sensors that detect planets?
I know trident uses the stars to avoid gps jammers, so presumably voyager can do something similar.
You can't afford to send a wrong command and have the luxury of undo.
Indeed. We used to do this all the time. Cars without OTA updates, games and software shipped on disk or floppy or cd, all very make or break.
An aside but this is why I was blown away by Mario Odyssey on the Switch. While it did get patches to add a few new games modes and bonuses, there was nothing done to fix anything broken with the title because there wasn't anything. If you buy a physical copy from the last few years, there is no additional patch to download.
They had all the issues sorted out before release, very rare nowadays.
Oh it definitely has bugs and glitches - tonnes of them in fact. It's just that Nintendo chooses not to fix them(not that they should, 90% of them are basically people actively trying to break stuff, although some I can see how you could do it accidentally).
https://www.youtube.com/watch?v=gWYmV0bs15w
https://www.mariowiki.com/List_of_Super_Mario_Odyssey_glitch...
And issues have been fixed in patches too, like the first glitch on that list that would lock your camera so you couldn't turn it - that was fixed in a patch.
"If Mario performs a Cap Throw at Talkatoo and talks to him at the same time, the camera will lock into place.[...] As of the February 21, 2018 update, this glitch is fixed"
But there are situations that will literally crash the game to the OS too:
"In the Bowser's Moon Wedding objective, if Mario falls into the lava just as he is about to capture Bowser, the game immediately crashes."
That's for that recap! (Pun intended!).
I should have been more specific by being more vague. The game didn't need to be patched for the vast majority of its common use. I would be surprised if there are any games with a degree of freedom that you couldn't crash if you did just the right thing. But for 99.99% of players, they will never come across these things.
What I should have said is that if left un-patched, most people would never hit a problem.
But I really appreciate the heads up about all the glitches people are using, very cool.
That's when QA and SW testing was still a job, before the age of cargo cults like Agile, Scrum and SV's "move fast and break things" took over.
To be fair OTA updates aren't "low risk" - the trick is that you make your OTA system rock-solid so a failure results in a device you can still OTA too.
> Also, I wonder how many generations of engineers must have worked on the project by now.
Would've expected the generation raised on punch cards to be ideally suited for this kind of stunt, having learnt the hard way about the turnaround time for a bug (Donald Knuth quote about proving programs correct comes to mind), so I'd expect mission control, operators, and coders to be well in their 70s at least? Whereas tiday we hardly can write a single line if code without our AI overloads introducibg typos and not-fo-subtlr bugs.
Not as old as you might think: https://www.jpl.nasa.gov/images/pia26275-voyager-team-celebr...
With respect, most people sitting around the table on that photo sure look like 70+ don't they? Not there's anything wrong with it ...
Also
https://news.ycombinator.com/item?id=41517272 ("NASA Pulls Off Delicate Thruster Swap, Keeping Voyager 1 Mission Alive", 74 comments)
I've often thought that simpler technology tends to be more robust because it has fewer moving parts.
This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.
This is mostly because when you write from scratch you have to understand the whole control flow.
Frameworks encourage learning stuff on "as-needed" basis, and you often don't know what you should know. So you do stuff on layer 3 because you can (and you already worked nearby), when it's already handled by layer 1 and reprocessed in layer 5. So you debug to see why you can't see changes and "fix" it on layer 7. And it seems to work.
Repeat this over 100 changes and you create crazy mess.
I've seen code that gets a list from the framework (already can't be null), checks if it's null, checks if it's empty. Makes it null if it's empty, then passes it through several more layers with null and emptiness checks on some of them, and then fails with NPE because there was no null check at n-th layer :)
The person writting this code was in the proccess of adding another null check at the NPE line to "fix the problem" :) The solution was to remove all the custom code except for the final destination of that list :)
I've written similarly bad code in some more complicated scenarios without realizing.
Simplicity at one layer might mean more complexity on others - I prefer vanilla JS when possible (and modern browsers are quite good at that), but the conceptual simplicity of PHP pushes some complexity into the template rendering, and using database APIs directly do couple you to a certain way of storing data.
Agreed, but I think there's something to be said for allowing light coupling sometimes. Anathema to "proper" design, but not uncommonly the overall complexity of a proper design makes maintenance harder, not less. I'd rather change a hardcoded SQL query than three layers of abstraction, myself; centralisation beats having to follow a trail of classes, and you always need a good test suite anyway.
Multiple puffs of hydrazine every day to keep the craft stable, for more than 50 years? How big are these tanks?
100 kg apparently, supposedly providing fuel until 2034. Those are just very small puffs.
About 680 thousand puffs so far (40 x 365 x 47). Also, "When the team initially switched Voyager over to the trajectory correction thrusters six years ago, the tube opening was 0.01 inches (0.25 millimeters) across".
Each puff would be <150 milligrams if the tanks were empty now, and since they're not... that's some small puffs!$ qalc > 100 kg / 680e3 approx. 147.06 mg(Not sure what the USA weight unit is, stones or something? DDG says that's 0.000024 stones)
Probably ounces ("oz") for something like this, so around 0.005 oz then. The original 100 kg is equivalent to 220.5 lbs (which is pronounced "pounds", of course).
147 mg is about 2.27 grains
Grains. 2.27 grains
I'm so surprised it needs so many puffs per day (40?!) to keep the aircraft oriented at earth in space the vacuum of space where there's so much... vacuum.
When I started the article I figured they'd correct for orientation once every 2 weeks or so.
I guess it's not as much "orienting it in the right direction and then just keeping it that way" as it is a constant to-and-fro - the thrusters are probably not precise enough to keep it oriented towards earth, I imagine the range is extremely narrow by now?
Then the 0.035mm would be a benefit! more puffs!
I clearly have no idea what I'm talking about.
That's a 90 minute cycle time. It's outside the heliosphere now so the Solar winds are no longer a nearly constant force in a single direction. So it experiences more "turbulence."
This is great, I love following the Voyagers.
>When Voyager 1 lifted off to space on September 5, 1977, no one expected that the probe would still be operating today.
This is kind of an odd statement :) When launched, I remember brief news broadcasts and articles in the local newspaper stating the engineers added abilities that were not approved hoping for a much longer life time. It never stated if they got in trouble. But lasting this long is quite an achievement.
Are there examples of modern projects with this level of attention to detail and longevity? The team that worked on this have one hell of a legacy.
Well "modern" and "longevity" are kinda at odds with each other, so it may depend on where you choose your arbitrary cut-off point, but I'd say OpenBSD could be one such example. They do sometimes drop support for architectures (RIP VAX), but that usually happens when the last such box in question physically dies. Otherwise they've maintained their bi-yearly release cycle and kept the system small, clean, robust, and secure for what's now decades.
http://undeadly.org/cgi?action=article&sid=20160309192510
Also, they are the upstream project for OpenSSH, which is among the most ubiquitous pieces of software on the planet. (Consider supporting them: https://openbsd.org/donations.html)
Wow. The thrusters are part of the Attitude and Articulation Control Subsystem(AACS) https://en.wikipedia.org/wiki/Voyager_1 for more great detail.
That was quality engineering!
Does anyone know what the reference points are for the rotation manoeuvres? The text does not provide any information on how the probe knows that it is off. It needs some kind of reference, no?
A star tracker is one of its reference points (of absolute orientation). There's also a sun sensor with a similar function. I don't know if Voyagers have others.
- "In flight, the device found and locked on to the star Canopus, providing a reference for guidance and navigation."
https://airandspace.si.edu/collection-objects/star-tracker-a... ("Star Tracker and Hood Assembly Support Equipment, Voyager Spacecraft")
https://airandspace.si.edu/collection-objects/sun-sensor-and... ("Sun Sensor and Hood Assembly Support Equipment, Voyager Spacecraft")
edit: In more detail,
https://space.stackexchange.com/questions/43803/how-did-the-...
Whenever I throw out to the trash any electronic equipment sitting in my attic, sooner more than later is that I will need that equipment. It's Murphy's law.
Great story. Talk about motivations!
for 1977 I am so curious what security it has stopping a bad country from crippling it.
None whatsoever, other than being obscure and very far away. Not a target of any commercial or military value.
Security through obscurity, then :)
I would be ok with going to war with a country that would do that.
you need a very big dish
There are several (possibly-hostile) countries who have big dishes and big transmitters...
Boeing could take notes /s
More like L3/Harris/Aerojet/Rocketdyne... They built Voyagers' thrusters as well as the Boeing Starliner's.
The German scientists that made the Apollo program and associated technology happen are long gone