April 15, 2010
You know that saying, "It's not rocket science?" Well, sometimes it is.
Such was the case when ECE alum Boris Lipchin returned to campus this semester to give an IEEE Tech Talk on "Building America's Next Space Program."
Lipchin, a 2009 ECE graduate who minored in robotics, works as a flight software engineer for Space Exploration Technologies (SpaceX), a Los Angeles-based company that aims to develop a family of launch vehicles that will ultimately reduce the cost and increase the reliability of space access. Through these efforts, and coupled with the newly emerging market for private and commercial space transport, the company hopes to reignite humanity's drive to explore and develop space.
Lipchin's role at SpaceX is to develop flight computer software, including guidance, navigation and control algorithms implementation for SpaceX's Dragon, a free-flying, reusable spacecraft being developed by SpaceX under NASA's Commercial Orbital Transportation Services (COTS) program. The rocket, which the company hopes to launch in May, comprises a pressurized capsule and unpressurized trunk used for Earth to low Earth orbit transport of pressurized cargo, unpressurized cargo, and/or crew members.
During the Tech Talk, Lipchin let a standing-room-only crowd in on the nitty-gritty details of his job. It takes hundreds of thousands of lines of code to launch a rocket, and all 12 on-board computers run Linux, allowing software engineers to run simulation after simulation without leaving their desks. A flight computer is connected to a network switch via TCP/IP, which is then connected the same way to multiple RIOS that control instrumentation and actuation. And the engineer needs to program all of this while designing a system that won't fail if two components stop working.
But how do you get everything right before taking the rocket to the launch pad? Lipchin says the key is SpaceX's focus on simplicity and testing. New ideas are welcome, but the creator needs to be able to answer the question, "How will this further the mission?" And everything must be testable - there must be proof that that code works before the rocket even leaves the ground.
"The more simulation you do - the more you run your code over and over - the more robust the system you create," Lipchin said. Nothing is fancy, because SpaceX believes that reliable systems are simple.
And that's not rocket science.
(Even though it really is.)