The Birth of a Robot Infrastructure

Posted on March, 06 2015

This week was a different one. My friend and I took our first steps in designing the utilities for a class project. The project requires a group of robots, individually controlled by each students code, to interact in a 'play' sequence. Each robot has a different routine for all of our robots in the play. This project requires a system to identify robots based on image capture, along with getting the robots unique identity. This is obviously a pretty large task to a group that doesn't particularly know their way around programming, so the obvious course of action was to make a reusable library for each student to use and interact with to get the 'hard' stuff out of the way.

'R3CI'

So it begins. The name for the library that handles all the tricky parts of the project consolidated in the blood, sweat and tears of my friend and I. The abbreviation stands for "Robot Coordination, Collision, Communication and Identification". The library will handle how the robots coordinate between each-other, detecting and avoiding collisions, handling communication between robots, and how robots identify each-other. The most interesting part to implement will be identifying different robots based solely on a crappy camera embedded into the IPRE cards in the robots. My friend, ryan, suggests using OpenCV on an outside server to processes images against a database of every robot. This is a task unto itself, as it requires taking an array of photos of each robot at every angle possible, and running a training program that builds up OpenCV-compatible data for image recognition that takes some time to complete. Over all, this is a very big project that will take some time to complete.