JSC Co-op Home
Program FAQ Biography News Photos Links


[ James Jolly ]

 

Greetings!

I'm an undergraduate studying Computer Engineering and Computer Science at the University of Missouri-Rolla (UMR). UMR is a small school (~ 6,000 students) that specializes in engineering, science, and mathematics. We're well known for our student design teams (especially the UMR Solar Car Team), a handful of novel research projects (like these indispensable glass microspheres), and a St. Pat's celebration that's out of this world.

 

What Makes Me Tick

Admittedly, I'm obsessed with computing. It's mind-boggling how some elegant logic and a computer can solve seemingly impossible problems or describe astonishingly complex systems. Seldom does a day pass where I don't take a step back and marvel at how computing has revolutionized everyday life for millions of people in such a short period of time. Most often for the better (see Moore's Law), with an occasional flub here and there (see Murphy's Law). There's little a few good electrons can't do; the trouble lies in pushing them the right direction.

This passion has led to me NASA's Johnson Space Center, where a background in computing allows one to tackle some of the most difficult software/hardware challenges in world (and possibly recognize new ones). A big imagination and a few movies directed by George Lucas have helped out along the way. You may laugh, but many pretentious ideas science fiction regularly dabbles in are being investigated and converted to science fact here in Houston. Take VASIMR for example.


 

First Tour (Fall '04)

I was initially assigned to the Operations Research and Strategic Development Branch, part of the Advanced Operations & Development Division. There I was responsible for designing and implementing a web-based software package that generates interactive graphical representations of log data. I developed prototype code to provide flight controllers with the ability to quickly generate overviews of a requested time period, allowing them to systemically analyze log data. This software is also applicable to logging tasks outside of the Mission Control Center, such as computer forensics.

The tool I created is presently being integrated into WebLogger, a web-based application designed to record notes of flight controllers taken during actual operations. It will be used by WebLogger to generate timelines that improve flight controllers' ability to identify trends and patterns in the chain of events that make up a mission. These timelines can then be saved in a database so they can be referred to later and incorporated into summaries of controller shifts.

This tour proved to be great experience: (1) I learned a great deal about JavaScript, PHP, SQL, PL/SQL, and Oracle Database; (2) I got to bring many ideas to life and my software close to production; (3) Most importantly, I was part of a team of developers with a common goal and some funny and interesting experiences.



Second Tour (Summer '05)

For my second tour, I defected to the Automation, Simulation, and Robotics Division (AS&RD), joining the Intelligent Systems Branch. There I was tasked with devising a fault-tolerant logging system for SCOUT (a rover with autonomous capabilities), as well as an interface to view this data in an organized fashion. This is not an easy task: the CPU's onboard SCOUT are pressed hard, so any new logging software had to be efficient and not interfere with the robot's normal operations.

Here I was exposed to multi-threaded programming and network programming in C++ for the first time. I also became intimate with the MySQL database and its C API. To gauge the performance of the logging software, I had to accurately time procedure calls (as well as write testing scripts to kick off the comparisons). I also learned a lot about PHP and JavaScript in order build an AJAX interface to stored log data.

The robots in my group leveraged Gentoo Linux as their operating system, which I worked in daily. I was ecstatic when I managed to strip down a version of Gentoo and get it to boot of a keydrive, carrying an entire working environment around in my pocket. It grew on me so much that I soon had a couple machines at home running Linux, and helped a friend adopt it shortly thereafter.

 

Third Tour (Summer '06)

I wanted to get some hardware design my second round in AS&RD. Having written software for robots, learning how to build them seemed like the next logical step!

Robot design is an integration task requiring knowledge of mechanical, electrical, and computer systems. The mechanically-inclined determine the physical properties of the robot: how its joints articulate, how much weight its legs can bear, where its center of gravity is, etc. Electrical and computer engineers then develop electronics that enable the robot to move by providing motors with power and the appropriate control signals required to spin them. Armed with this capability and some sensors, mechanical engineers can then develop control schemes that move their creation. Finally, computer scientists can write software to carry out high-level tasks (like assisting an astronaut).

My third tour I was exposed to this design process, in the Robotics Development Branch of AS&RD. I worked on a reconfigurable robotics testbed geared toward debugging motor controller, I/O,
commutation, and encoder problems frequently encountered when building complicated robotic systems. I was lucky enough to operate one of these systems, a teleoperated inspection tool (affectionately called Tendril) and learn about simple approaches to controlling it.

 

Fourth Tour (Fall '06)

With an interest in control systems and the Constellation program picking up speed, I switched into the Guidance, Navigation, and Control (GN&C) Design and Analysis branch to work on prototype GN&C software for Orion, the next generation crew exploration vehicle (a replacement for the space shuttle).

There I assisted the development of a guidance algorithm to accomplish a "skip reentry" for Orion. The objective of this maneuver is to achieve greater entry range by lofting Orion into, out of, and back into the atmosphere ("skipping" downrange toward a landing target)! This increased range will grant more flexibility to lunar mission planning as it presents more opportunities to depart the moon within the lunar month and yet still land at the same point on Earth's surface. In turn, it also simplifies logistics (as you no longer have to sail around in the Pacific to pick up astronauts).

My task was to document and refactor the algorithm, making it easier to understand for those unfamiliar with it. In doing so, I had my nose rubbed in proper software engineering techniques: unit testing, regression testing, etc. I also learned how to create binaries that contained routines written in both C and FORTRAN!

The world of GN&C also exposed me to powerful engineering software tools such as TRICK (a flexible framework used to implement high fidelity simulations) and ClearCase (a powerful command-line versioning tool). These tools make it possible for a nation-wide network of NASA engineers and scientists to coordinate their efforts in modeling something as complicated as an entire spacecraft.


Craziness

Back at school I spend most of my precious spare time reading, programming, and playing guitar, with an occasional LAN party to break up the monotony. Needless to say, co-oping at JSC proved to be a big break for me: enough time to have some sophisticated fun traveling around Texas.

Fortunately, there are also many opportunities to get involved at JSC that keep one off the streets. You might even get a chance to show off those leadership skills. For example, there are several student committees you can become part of, such as the tours and lectures committee or the housing committee (both of which significantly improve the lifestyle of Joe Co-op).

 

Best of luck!

If you enjoy learning and don't mind delaying your graduation some, co-oping at JSC is both an excellent opportunity to get a break from school and a chance to apply your knowledge and creativity to solve real world problems. I highly recommend it, and would be more than willing to get in touch with you if you're interested in NASA's Houston experience.

Responsible NASA Official: Anne Roemer
Curator: JSC Co-op Web Development Committee
Program FAQ Biography News Photo Links Notices: NASA-JSC Web Policies