VIPALC - Controlling A Mobile Robot With Visual Prolog
VIPALC - Controlling A Mobile Robot With Visual Prolog
Tatyana Volkova
Russian State University for the Humanities, Intelligent Systems Department, and
Robotics and Artificial Intelligence Laboratory of the State Polytechnic Museum,
Moscow
Abstract. This work describes one simple model of mobile robot behavior. It
demonstrates one of possible ways of using a communication RS-232 program
written by Ben Hooijenga. This robot was created at the Robotics and Artificial
Intelligence Laboratory of the State Polytechnic Museum.
Introduction
randomly,
only
reacting
to
the
environmental exposure with his reflexes.
When the computer takes control, robot
becomes passive and obeys the computer.
The advantage of such system is that even
in the case of a mistake or a controversial
command from computer, robot can still
evade dangerous situations because of
unconditional reflexes.
Combination of simple low-level reflexes
and
complex
high-level
command
sequences gives us the model of a living
organism. The idea of hierarchy in control
systems is quite old, but not widely spread
in
robotics.
Among
the
latest
implementations, [Karpov, 2007] must be
noted.
The structure of the robot
class facts
command: (unsigned8, string).
clauses
command(0x10, "STOP ").
command(0x20,
"TELL_ME_YOUR_STATE ").
command(0x30, "GO_FORWARD ").
The base of rules
The base contains rules such as:
predicates
rule: (string Command)
nondeterm (o).
clauses
% If you are frightened and see an
obstacle, turn the LED on to frighten a
possible enemy
rule("SWITCH_LED_ON_TEMP "):state("Frightened"),
obstacle_sensor_active("FarIRSensor").
% If you are at home, turn your LED on
(rejoice) and wait one second (have a rest)
rule("SWITCH_LED_ON_TEMP "):state("AtHome").
rule("WAIT_ONE_SECOND"):state("AtHome").
%
If you are still at home - go and look for lin
e
rule("LOOK_FOR_LINE "):state("AtHome").
An example of interaction between robot
and computer (see Fig. 5)
After being turned on, robot is moving
around for some time to adjust his sensors.
In the initial state robot moves randomly,
until the computer tells him to look for the
line. Having found the line, robot starts to
follow it.
If a bright flash of light frightens robot, he
cries and panics, moving around
randomly, till the computer orders him to
turn LED on and follow towards the
lighthouse (the lighthouse stands in the
middle of home).
Robot looks for the lighthouse and goes
towards it, checking if he is already at
home. If robot reaches home, a command
from computer tells him to return to the
line.
Figure 5. The model of robots behavior. Red transitions can only be made after a
computers command and they do not contain in robots memory.
Plans
Now we are working on next projects.
Among our projects are continuation of
work on museum robot-excursion guide and
building more complicated robots. My
second robot will be a robot-navigator.
References
[Gaaze-Rapoport, 1987] Gaaze-Rapoport M.G., Pospelov D.A. From ameba to robot: models of
behavior. M.: Nauka, 1987 [In Russian]
[Karpov, 2007] Karpov V.E.. Imprinting and central motoric programs in robotics //IV
International theoretical and practical conference "Integrated models and soft computing in
artificial intelligence (28-30 may 2007). Conference proceedings. M.: Fizmatlit, 2007, 1, p.322332 [In Russian]
Dobrynin D.A., Karpov V.E. Modeling some adaptive behavior forms of intellectual robots.
//Information technologies and computing systems 2, 2006, p.45-56 [In Russian]