This page is dedicated to present software for the relative localization system based on Gumstix Caspa Camera Module presented in [1]. Additional information about the roundel's detection and localization algorithm and its deployment in various scenarios can be found at http://purl.org/robotics/thales. Note that:
The software support can be divided into four parts:
[1] Jan Faigl, Tomáš Krajník, Jan Chudoba, Libor Přeučil, Martin Saska: Low-Cost Embedded System for Relative Localization in Robotic Swarms, ICRA 2013, pp. 985-990. bibtex
The tracker software is split into two parts. The server, which is intended to run on-board the Gumstix Overo board, capture images from the attached Gumstix Caspa camera module, performs the detection of pattern and estimate the relative position of the detected pattern to the camera. The server is accompanied by the second part that acts as a client, which connects to the server. Two client programs are part of the provided software packages. A relatively complex application to interact with the camera model is located in cam_tracker_client directory. This application allows to set various parameters and capture and visualize the image by the camera, which can be useful for calibrating the camera.
In tracker_client_example directory, a simple client is provided, which just connected to the server and print the received information on screen. A used communication protocol is a simple custom message oriented protocol. Particular marshaling and unmarshaling functions (based on XDR) are provided, see serialization.cc file for a further details.
The communication between the server and client is established using TCP messages, which are also used to control the tracker servers. However, for transmitting information about the tracked object short UDP messages are used to avoid transport delays. So, the cam_tracker_client uses TCP while the tracker_client_example uses UDP.
An initial version of the tracker software has been developed under research project COLOS. Although the herein presented software represents a newer version, the main ideas and configuration of the tracker server is same. Therefore, an additional useful information can be found in technical report.
Probably the most important part to use or test the pattern localization algorithm is a setup of working environment on the Gumstix Overo board. An image file for a micro SD card is available at caspa512m-usd.dmp.xz. The image can be replicated using dd command. Notice the image file needs a micro SD card with at least 512 MB size.
An additional way is to create a bootable micro SD card, e.g., according to create a bootable microsd card. If you are using FreeBSD, you can use fdisk-linux in a similar way to create two partitions. Create the first small FAT partition to store the boot loader. To initialize the boot loader properly it is necessary to copy the files in the correct order, e.g.