Robotic vision is nowadays one of the most challenging branches of robotics. In the case of a humanoid robot, a robust
vision system has to provide an accurate representation of the surrounding world and to cope with all the constraints
imposed by the hardware architecture and the locomotion of the robot. Usually humanoid robots have low computational
capabilities that limit the complexity of the developed algorithms. Moreover, their vision system should perform in real
time, therefore a compromise between complexity and processing times has to be found. This paper presents a reliable
implementation of a modular vision system for a humanoid robot to be used in color-coded environments. From image
acquisition, to camera calibration and object detection, the system that we propose integrates all the functionalities needed
for a humanoid robot to accurately perform given tasks in color-coded environments. The main contributions of this paper
are the implementation details that allow the use of the vision system in real-time, even with low processing capabilities,
the innovative self-calibration algorithm for the most important parameters of the camera and its modularity that allows its
use with different robotic platforms. Experimental results have been obtained with a NAO robot produced by Aldebaran,
which is currently the robotic platform used in the RoboCup Standard Platform League, as well as with a humanoid build
using the Bioloid Expert Kit from Robotis. As practical examples, our vision system can be efficiently used in real time
for the detection of the objects of interest for a soccer playing robot (ball, field lines and goals) as well as for navigating
through a maze with the help of color-coded clues. In the worst case scenario, all the objects of interest in a soccer game,
using a NAO robot, with a single core 500Mhz processor, are detected in less than 30ms. Our vision system also includes
an algorithm for self-calibration of the camera parameters as well as two support applications that can run on an external
computer for color calibration and debugging purposes. These applications are built based on a typical client-server model,
in which the main vision pipe runs as a server, allowing clients to connect and distantly monitor its performance, without
interfering with its efficiency. The experimental results that we acquire prove the efficiency of our approach both in terms
of accuracy and processing time. Despite having been developed for the NAO robot, the modular design of the proposed
vision system allows it to be easily integrated into other humanoid robots with a minimum number of changes, mostly in
the acquisition module.
|