eral works discuss robotics vision applications as a
mean to provide localization and cognition to robots,
mainly in the context of landmark selection (Milanese
et al., 1995). We used in previous work as a basis
for controling multi-user agents in a mixed reality en-
vironment, mainly given as a feedbak for the robots
controllers and also for determining their positioning
in the environment(Tavares et al., ). Several tools or
behaviors work in a bidirecional channel linking the
real platform and the virtual side of the application.
Control can be alternated betwenn real and virtual en-
tities, that is, the virtual can follow the real one, based
on its position and orientation given by the vision sys-
tem, and vice-versa, depending on a requested user
behavior. In the current work, we adopted a simi-
lar philosophy, but with the camera field of view in
horizontal positioning, that is, with camera gaze par-
allel, approximately, to the ground plane (see Figure
1). The environment is composed by different types
of objects as obstacles and robots. The robots are
autonomous vehicles implemented by using LEGO
hardware prototyping technology. However, we have
developed/upgraded our own software tools for con-
trol based on the BricOS operating system, once the
software provided by the fabricant of LEGO kits is
very limited. Obstacles are colored cubes or cylin-
ders. The environment can have more than one robot
so a robot could be considered as a dynamic obstacle
for another one. With this hardware setup, we can per-
form many kind of multi-robot tasks as: (1) Moving
around and avoiding obstacles; (2) Looking for spe-
cial objects (as colored cubes or cylinders); (3) Iden-
tifying and catching special objects; (4) manipulating
objects.
Figure 1: Hardware setup.
3 THE PROPOSED SYSTEM
Basically, the system has three low-level working
modules and a high-level control module as seen in
Figure 2. The first low-level module (image acquisi-
tion) is responsible for taking pictures from the cam-
era posted on the master robot and passing them to
the computer. This module runs on the host computer
and its coding depends on the hardware used for im-
age acquisition. Its output must be an array of chars
(bytes) encoding the image. This is transparent to the
vision processing, the second low-level module. This
module takes an image as input and returns position
and orientation of each robot inside the field of view.
The third low-level module (robot control) is respon-
sible for packing commands and sending them to all
robots, that is, it provides communication between the
computer and the robots.
High−level
control
Image
Acquisition
Vision
processing
Robot
control
Figure 2: System architecture.
The vision module acquires images through a digi-
tal camera posted on the top of the master robot. This
camera is capable of capturing color images up to 352
× 264 pixels in size at a rate of 30 frames per second.
It is connected to the host computer through the USB
port. The vision software developed runs under Linux
Operating System. Images are captured on the RGB
format and stored in the computer memory as an uni-
dimensional array of bytes. Each pixel is simply rep-
resented by three consecutive bytes, corresponding to
its R, G, and B component values. Vision processing
provides in real time position and orientation for each
robot inside the field of view of the robot containing
the camera. This information is determined by using
some image processing techniques to segmentate the
image followed by an algorithm for determining the
position and orientation of each detected robot.
We use a visual mark to identify each slave robot,
a sphere painted with two colors on the top of each
robot as seen in Figure 3. By finding this sphere,
we can get position and orientation of a robot. The
ball has 5 cm of diameter and is positioned approxi-
mately in the same height, in relation to the ground, as
the projection center of the camera. We consider that
the ground is a plane with same height level along it.
With that, the projection of the sphere in the image
lays, approximately, in a horizontal line passing near
the image center. This line is tracked from image to
image so its current position can be easily recovered.
The above key restrictions substantially reduce com-
putational costs.
We apply band-pass filters in the image, enhanc-
ICINCO 2004 - ROBOTICS AND AUTOMATION
340