Its been a while

Its been a while

Other than the title of a crappy Staind song… it has been a while indeed. My WP install has been pretty horked for the last few months so I haven’t bothered updating. I’ll take this opportunity (now that I’ve reinstalled WP completely and restored from backup) to fill anybody reading in on what I’ve been doing over the last ~6 months.

To sum it up… I have been working my rocks off. Incase you haven’t read my LinkedIn profile, I’m working as a serious game software developer at a research company that primarily focuses on US Army dismounted infantry simulators. We have a demo coming up in September so we’re all pretty strapped for time while trying to make this demo as clean and bug-free as possible.

One of the more interesting aspects of my work lately has been using motion capture equipment to retrieve realtime data about the anatomical positions of bones and joins throughout the body in order to get a computer (NPC, non-player character) to recognize what the user is actually doing with their body. In essence this is gesture recognition. Much like speech recognition, it is the process of looking for patterns inside of a set of input data. This input data however is not a sound-wave. It is a huge sequence of 3D vectors and Quaternions (for the bone positions and orientations) and a long sequence of values between 0 and 1 for the fingers.

The finger data is captured using a glove that has potentiometers (variable resistors for the layperson) that react to the closing and opening of each finger along with the abduction between each digit on the hand (thats the webbing between your fingers). The rest of the body is measured using accelerometers, g-force sensors, and compasses placed in key locations on the human body. As the body moves it creates various changes in this data which is translated into 3-dimensional vectors for position and 4-dimensional vectors (Quaternions) for orientation.

This data is then sent through a processor (the software I’m working on) which looks for patterns in the data and attempts to match these patterns with pre-recorded “template” gestures. The match with the highest confidence level wins out and ultimately becomes what is deemed recognized by the NPC.

This recognition is then tied to key events in the training software such as directing your squad of NPCs to clear a building, freeze, follow (in various formations), or commence firing among many others. The other purpose for recognizing when a gesture has been made by the user is for locomotion through the virtual world. This means the user of the system can walk around in the virtual world, fully immersed in the equipment, and not move outside of a 6ftx6ft square on the floor. Its pretty remarkable what we’ve been able to accomplish with this.

It still has some distance to go before it is production ready, but these early tests look very promising. It has been quite a task to figure out this problem. In the process we have all learned how complex the human body really is and what we as humans take for granted in terms of how we move and act. The human body and brain is a very remarkable feat of biological engineering.


Leave a reply