In Spring 2011, I developed a streaming camera system for the University of Utah Robotics Club (RoboUtes) as part of the 2011 RASC-AL ROBO-OPS competition. This competition, funded by NASA, had over a dozen teams creating “Mars rovers” that would traverse a desert landscape in Texas, picking up specially-colored rocks, while being remotely controlled by team members located at the home campus (in our case, in Utah).
As part of the software team for this project, I was responsible for developing a camera system that would run on a low-powered “BeagleBoard” single-board computer, taking raw image data from a series of Logitech cameras and wirelessly streaming the data to a client application running at our “mission control” on campus. It also included pan/tilt controls that a user could use to remotely manipulate the camera.
Finally, I did some image processing with OpenCV to analyze the image data as it came in to highlight rocks of a particular color, to help the team more quickly seek out targets for collection.
Our rover came in second place in the competition.