Software packages we have developed, or in which group members have significantly participated.


imucam is a library and a set of utilities built on PCL to work with a CHR UM6 IMU mounted on an OpenNI 1.x compatible depth camera like the Microsoft Kinect. Code is included to grab, save, and playback full-frame 30FPS depth data and corresponding 100Hz IMU data. A calibration tool is provided to estimate the rigid rotation of the IMU relative to the camera based on captured depth images of a flat horizontal ground plane.


rxkinfu is a library and application for Moving Volume Kinect Fusion. KinectFusion is an algorithm for real-time dense 3D mapping using a depth camera like the Kinect. The original system is limited to a relatively small volume fixed in the world at start up (typically a ~3m cube). This limits applications for perception and robotics. Moving Volume KinectFusion adds volume remapping features to allow the camera to roam freely.


The Surface Patch Library (SPL) includes models of 10 types of curved surface patches and an algorithm to fit them to potentially noisy range sensor data. Uncertainty is quantified throughout using covariance matrices.

Vona’s Java Utils

Vona’s Java Utils is a collection of general purpose Java code Prof. Vona has written and which we use in various projects.


MSim is is a general-purpose interactive graphical simulator for 3D articulated robots, i.e., systems composed of rigid-body links and joints that connect one body to another. MSim supports research on virtual articulation in robotics: the idea of virtually modifying the kinematic structure of an articulated robot, for example, by adding extra joints and links. We have also developed a version of MSim specifically for NASA/JPL's ATHLETE robot.

Bioloid Remote Brain

The Bioloid Remote Brain firmware and Java host library (BRBrain) replaces the factory-provided graphical programming system for the low-cost Robotis Bioloid robot construction system with a host-based Java environment. With BRBrain, Java code running on a host PC controls the Bioloid. We used BRBrain to implement a humanoid stair-stepping experiment.


Visolate is a Java program that computes machining G-codes to isolation mill printed circuit boards using a novel Voronoi algorithm and GPU computing. Prof. Vona originally developed and released the code to support his 2005 paper Voronoi toolpaths for PCB mechanical etch. The project has now taken on a life of its own, with several other people maintaining the code, adding features, documenting, and packaging it.

Science Activity Planner for MER and Maestro

Prof. Vona was a co-developer at the Jet Propulsion Laboratory of the main science planning tool for NASA’s Mars Exploration Rover mission (Spirit and Opportunity), the Science Activity Planner. One of his main contributions was interactive 3D Visualization used by the mission scientists to view reconstructions of the Martian terrain from stereo vision. The system was selected for NASA’s national software of the year award in 2004, and a public outreach version called Maestro was made available for people to run at home. (Unfortunately, this project is not open-source or Free software.)