Since 2012, I've been working in the USC Interaction Lab, a lab in USC's Center for Robotics and Embedded Systems that specializes in human-robot interaction. They use Willow Garage's ROS software, so I can draw upon my experience with PR Lite. (They even have a PR2, so I'm not even restricted to having "lite" capabilities!)

My summer 2012 and fall 2013 milestones and updates are posted online. (Fall 2014 updates will be posted below soon.) I also worked for the Interaction Lab in the spring and winter break of 2012, but did not post updates online.

multi_calibrate:
The ROS package normally used to calculate poses between cameras requires that all of the cameras see the checkerboard at the same time to be able to calibrate to each other. Since the Interaction Lab is working on a project to make many Kinects track people as they move around in the lab, I made a modified version of this package that does not have this requirement. My package also saves the calibrations to a yaml file instead of a bag file to allow manual editing of calibrations, and includes an openni_launch-specific "hack" to allow tf transforms between Kinect depth frames after their RGB cameras are calibrated to each other. (Cameras other than Kinects can still be calibrated to each other normally.) We plan to put the code in a public repository at some point, and when we do I will add download directions to this page. Below is an rviz screenshot showing the point clouds of 3 Kinects calibrated to each other 2 at a time using my package. (A person is visible near the center of the image.)

rviz screenshot

multi_calibrate_dynamic:
This is a ROS package I made in the 2012-2013 winter break to provide a dynamic_reconfigure GUI for the multi_calibrate ROS package described above. Below is a screenshot of the client portion of the package. A link will be provided on this page after the package is publicly available.

multi_calibrate_dynamic client screenshot

multitrack_model:
This is a ROS package I am working on in 2013-2014 which builds and applies a statistical model of skeletons tracked by different sensors. The output of the model is a real-time list of the top N ways to group the tracked skeletons from different cameras together, indicating which skeletons in different cameras are likely to correspond to the same people. A link will be provided on this page after the package is publicly available.

Fall 2014 milestones:

  1. Incorporate distance from Kinects in the multitrack_model package.
  2. Formally evaluate the accuracy of multitrack_model.
  3. Complete documentation of my ROS packages.
  4. Work with Ross on a paper about the multi-Kinect skeleton tracking system.

TODO: post updates since beginning of semester, and mention multitrack_evaluate