Not that I know exactly what happened; the folks at the Indian Space Research Organization (Isro) will work it out. But the news reports we’ve seen reminded me, of all things, of a piece of software some of us built many years ago.
Admittedly, it wasn’t anything close to what drove the Chandrayaan-2 mission. But it wasn’t easy either. We had developed our version of a new kind of computer, a Lisp Machine. It took that name because its operating system—software that runs the computer, like Windows or Android—was built from the ground up in a computer language called Lisp. Artificial Intelligence (AI) researchers of the time found Lisp eminently appropriate for their needs, and people thought there was an AI wave on the way, so Lisp Machines sought to feed and fuel those expectations. While they have since gone the way of the dinosaur, there’s plenty to be said for the virtues of Lisp. But I’ll leave that for another day.
These were complex computers that were well ahead of their time, but saying so wasn’t going to persuade people to buy them. So a small team of us Lisp hackers was given the task of writing something substantial to show off the Machine’s capabilities at a few upcoming scientific conferences. It took a while, but we finally produced a package that our management liked. When fired up, it would walk through various aspects of the Lisp Machine’s features, delving deeper and deeper into its software innards. It ended by displaying on screen an unexpected image that served two purposes. It brought a smile to people’s faces, but if they had been following closely, it underlined the power of the Machine, in a sense confirming that it had performed everything correctly.
We tested the package thoroughly in our office. It worked flawlessly. So when the first of those conferences rolled around, we dispatched two Lisp Machines there with the sales team. We were nervous about the reception they’d get, and yet somehow confident. What could go wrong? We had checked it against every possible obstacle, after all.
So we thought, anyway. The call came from a young woman called Sara. “Dilip!" she said, trying hard to control her panic. “Dilip, the picture showed up upside-down!" Yes: she had gathered a gaggle of conference attendees, spoken to them about the virtues of the Lisp Machine, and then started up our package—only for it to end with the picture inverted and chuckles from her audience. Not the persuasive moment we had hoped for. I no longer remember just what the problem was, but it had to do with how she started her run-through. Some software circumstance that had escaped our testing and now produced this mess-up. Naturally, that was the circumstance Sara stumbled on when in front of several potential customers, several hundred miles from anyone who could have fixed it.
Luckily, the audience was largely computer scientists, who know plenty about inadvertent software mess-ups. So they were sympathetic to Sara’s plight and willing to overlook the mistake. Besides, embarrassing as it was, in the end this glitch couldn’t negate all our work, let alone paint the Lisp Machine as a failure.
Now imagine a far more significant effort than our Lisp Machine. This other machine has rocketed up from Earth, travelled a few million kilometres through space and now orbits the Moon. Every move it has made on the way has worked flawlessly. It orbited the Earth just as planned, it made the transition to a Moon orbit just as planned. Now it will release a lander to descend to the Moon. To slow its descent after it leaves the mother ship, the lander will fire its engine at a precise power, at precise times. Similarly, small directional engines will fire to turn the lander so that it is upright and can land on outstretched legs. As it nears the surface, software will “keep watch" on surface formations that will make it difficult to land, ready to make small course corrections to find a more suitable spot if necessary. Once the lander is upright on the surface of the Moon, a lunar rover will emerge from it and wander about, transmitting data about its lunar encounters to Isro scientists on Earth.
You hardly need me to tell you that I’m describing Chandrayaan-2, its lander Vikram and its rover Pragyan. Much like our Lisp Machine team did, Isro’s scientists programmed Chandrayaan-2’s journey through space in every detail. As a once-software geek myself, and proud as I was of that Lisp Machine, I have an idea of the need to test software thoroughly. Even so, I find it hard to comprehend the meticulous consideration of all kinds of circumstances, the painstaking testing that Isro must have gone through before Chandrayaan-2 took flight.
Besides, Isro had infinitely more at stake than we did and, thus, far less margin for error. To give you some sense of that margin, think of Chandrayaan-2 flying directly to the Moon (which it didn’t, but bear with me). Let’s say its flight path deviated from the planned one by no more than one-thousandth of a degree. What you might dismiss as a mere rounding error would cause Chandrayaan-2 to miss its rendezvous with the Moon by over 5km. We Lisp Machine hackers carried on our shoulders nothing like the pressure to be precise to that degree.
So, having built Chandrayaan-2 and checked it against every conceivable circumstance, Isro dispatched it Moon-ward on 22 July. I have no doubt about this one parallel to us with the Lisp Machine: Isro’s scientists must also have been nervous, yet somehow confident. In the weeks since the launch, every manoeuvre Chandrayaan-2 successfully executed must have brought the team immense satisfaction and an ever-increasing belief in the overall success of the mission.
Yet there remained that final leap, Vikram’s departure from Chandrayaan-2 and descent to the Moon. Confidence is one thing, but this remained unknown territory.
Landing on a rock 300,000km away is not a trivial exercise. If the main engine fires too powerfully or too long, Vikram might float upward instead of simply slowing its descent. If the directional engines are similarly off, Vikram would not be positioned vertically, its legs ready for a safe landing. If the slowing process starts too late, Vikram would be moving too fast at touchdown and might break something, much like parachutists who break their legs because they hit the ground at speed. If the surface is uneven, perhaps strewn with boulders, Vikram might topple over on landing.
In short, especially during that descent, there are any number of things to go wrong. Not just that: any correction is really not possible from Isro here on Earth. The time lag itself rules that out—a signal from Vikram to Chandrayaan-2 to Earth will take at least a second to arrive, the response takes another second to return, and there’s the time needed in between to find the correction. In those precious seconds, Vikram might have swayed too far from the vertical, or hit a boulder on the Moon, or gone irretrievably off course. Or something else. No: Isro had to trust in whatever software and hardware systems Vikram had on board. Trust that they would keep the descent on course, making any changes and corrections required.
And indeed, something did go wrong. One report I saw suggested that Vikram had swayed so far past being upright that it was nearly upside-down. (Now you know why I was reminded of our Lisp Machine). If this is true, then firing the main engine—as was planned, to slow the descent—would only send Vikram hurtling even faster towards the Moon. You can imagine the result.
So was Chandrayaan-2 a failure? Well, think of bringing up a child and teaching her all she needs to know about the world outside. One day, you send her off as you eventually must, as she eventually must do. You’re naturally nervous, but you trust that everything you’ve taught her will keep her safe.
As she walks down the street, she steps on a nest of the rare and deadly blue Gooty tarantula. One of the creatures bites her. Within minutes, she is dead.
Such a horrific tragedy, of course. But for not warning your little girl about the blue Gooty tarantula, are you a failure as a parent?
Your answer applies to Isro and Chandrayaan-2.
Once a computer scientist, Dilip D’Souza now lives in Mumbai and writes for his dinners. His Twitter handle is @DeathEndsFun