of uncertainty and ambiguity. This is why it has
been used in artificial intelligent systems as tool to
transfer them common knowledge and experience.
It would be oppressive to mention the numerous
works that demonstrate that the techniques of fuzzy
control turn out to be very effective for handling
reactive mobile robots, because translating values of
sensors in control actions is immediate with rules of
inference in the way IF - THEN, characteristic of
Logic. Let us take as an example the inference
IF (x is A) AND (y is B) THEN (z is C)
that it could be translated in an elementary
behaviour such as “If there is an obstacle in front
and there is free space to the right then, turn to the
right”. On the other hand, if the environment in
which a mobile robot performs is non-structured, the
control system should be able to deal with the
uncertainty and the ambiguity, space where the
fuzzy logic, find their largest action field.
2.3.2 Learning
Learning eliminates the programming of specific
algorithms, building intelligence through experience
in a very similar way to that of biological methods.
As for the methodology of machine learning strictly
speaking, it can be summarized that the base of
knowledge can be modified basically in two ways:
with structural modifications (algorithmic
reconfiguration) or with parametric modifications
(adjusting the parameters of the system). When the
systems are very complex or a model of the system
cannot directly be obtained, the modification of the
base of knowledge is far from the classic techniques
of control. In consequence, countless proposals in
the topic of learning have been presented.
Some systems based on knowledge, as the Fuzzy
Systems and the Expert Systems, find application in
automating characteristics of perception, knowledge
and decision taking characteristic of human
operators. Artificial Neural Nets (ANN) slightly
emulate Natural Neural Nets (NNN). They have
been used, for example, to learn the form of
controlling a system “observing” the actions taken
by an operator. Genetic Algorithms (GA) are used in
computer aided design “to evolve” controllers under
the survival principle for those which better adjust to
a certain objective.
3 ROBOTS SIMULATION
Thanks to simulators, it is possible to design and
prove control strategies in a quick way, observing
and correcting actions or inadequate behaviours
without putting the robot or the environment at risk.
However, it is very desirable that what is developed
in a simulator can be moved immediately way and
without any effort to the real environment.
A great availability of programs exists for the
simulation of robots; some are commercial ones and
others of free distribution. Here we will refer
especially to two programs that we have used
together: the KMatLab, created by the K-Team (K-
Team, 1999) and KIKS, developed by Theodor
Nilsson (Nilsson T., 2001).
3.1 KMatLab
KMatLab was created to operate the Khepera from
MatLab through a series port of the computer. It is a
group of libraries .dll for Windows designed to
configure double communication between the robot
Khepera and MatLab. It also incorporates a set of
libraries under MatLab to execute the instructions of
low level belonging to the Khepera. The set of
instructions of KMatLab possesses mnemonics for
the instructions that make them easier to learn and
follow in the program listing. For example, an
instruction of KMatLab has the form
KSetSpeed(ref, left, right)
where ref is the variable in MatLab that represents
the address from the port series to which the robot
and other parameters of the communication are
connected. Additionally, left and right represent the
values of speed with which the respective controllers
of the robot's motors should be loaded. In fact, the
instruction of the example is completely equivalent
to instruction D of the Khepera (K-Team, 1999).
3.2 KIKS
KIKS (Kiks Is a Khepera Simulator) it is a program
that allows interacting with a simulated Khepera
robot. KIKS is in fact a KMatLab simulator,
although it also allows communication with a real
robot. For this it uses instructions that call to those
equivalent ones in KMatLab with the possibility of
defining it a virtual port for the simulation. As
example of the instructions of KIKS we take
ref = kiks_Kopen([port, baud, 1])
that indicates the system the port that will be enabled
for the robot, the communication speed and the time
out for the communication. This instruction is
exactly equivalent to
ICINCO 2005 - ROBOTICS AND AUTOMATION
64