Monday, September 19, 2011

NASA and Lightstreamer for Project Morpheus

NASA's Undergraduate Student Research Program site recently published an interesting paper by Matthew Noyes and Robert Hirsh: Rendering Flight Telemetry in Platform-Independent Three-Dimensional Touch-Interactive Simulations (PDF download).

The paper describes an innovative project where Lightstreamer is used for pushing spacecraft telemetry data to tablet devices, which render a 3D representation of the vehicle in real time.

The authors describe the rationale for the project:
In NASA's quest to lay the foundation for next-generation space missions, this involves developing new propulsion systems and rocket designs, as well as flight software guidance algorithms to operate these vehicles. Both products require operational verification on live test vehicles. As VTB flight frequency increases, telemetry analysis requires greater dedicated field test time. Due to smartphone portability, a new, intuitive telemetry display for the device provides instant datastream access.
 Then, they introduce the iMorpehus application:
Designated iMorpheus, this application will be the primary education asset for NASA's Project Morpheus. It will allow users to view test flight simulations using live data, browse and play recorded data files, and control the virtual simulation model for self-piloted fights around a virtual JSC.
The UNITY 3D engine is used for rendering the 3D models in real-time, based on live data pushed by Lightstreamer servers.

We should add just a couple of clarifications from Lightstreamer's perspective.

At the end of page 5, the paper says:
The Morpheus vehicle provides updates at 10 Hz; while Lightstreamer's maximum update frequency is 1 Hz; to compensate for this latency, the server delivers telemetry values as JSON strings, containing an Arraylist of 10 states. The iMorpheus application parses this object and updates vehicle state over the course of a second. iMorpheus vehicle state will have a minimum latency of 1 second from data delivery; there will be additional lag derived from linearly interpolating the spacecraft along designated waypoints.
Our clarification regards the fact that Lightstreamer does support 10 Hz updates and greater. The maximum frequency is imposed only by the software edition or by a development choice. In other words, when low-latency and high-frequency telemetry data is needed, Lightstreamer is able to deliver it in real time with no added latency, apart from the Internet link latency.

Still on page 5, the paper says:
Lightstreamer provides clients for many different software environments, including .NET, Java, and HTML/Javascript. Due to clients' reliability on libraries unsupported by UNITY, a custom socket interface was designed for iMorpheus until Lightstreamer releases a proper UNITY client.
I confirm that the Lightstreamer engineering team has been working on a specific client library for UNITY, via a port of the Lightstreamer .NET Client library. It is still in beta stage and we are looking for testers. Anybody who is interested in using UNITY together with Lightstreamer, please email and we will send the library file for testing.

Thanks to the authors of the paper and to Project Morpheus' team for the excellent job.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.