Autonomous Mobile Robots by editorijettcs


More Info
									   International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
       Web Site: Email:,
Volume 1, Issue 2, July – August 2012                                          ISSN 2278-6856

                              Autonomous Mobile Robots
                                        S.Benaissa1, H.Medromi2 and S.Tallal3
                          1, 2, 3
                             National High School of Electricity and Mechanics, Hassan II University
                         Team Architecture of Systems, ENSEM, BP 8118, Oasis, Casablanca, Morocco

                                                                 management of sensors, an agent for handling the drive
Abstract: Agents are systems acting on some environment,         and a last agent to act as coordinator of the multi-agent
including their minds. In this case, their action consists of    system. Summarizing the SMA is composed of the
taking decisions, manipulating information, etc. More            following agents:
generally, they act on the physical or social environment
                                                                       Node Agent (NA), a set of sensors.
producing transitions from one state to another. In this
contribution, agents are essentially autonomous, operate
                                                                       Task Agent (TA), a set of servo motors.
without the direct intervention of humans or others, and have          Agent System (AS), coordinator of the system.
some kind of control over their actions and internal state.
Agents can be placed on a continuous dimension of
autonomy, as several intermediate cases occur between full
autonomy and full slavery. Indeed, limited autonomy is the
paradigmatic case of humans. Sources of limited autonomy
can be found both in resource scarcity and in agents’ sharing
a common environment. Due to resource scarcity agents may
not possess all of the means needed for achieving their goals.
Robots, unlike many software multi-agents systems, operate
under real-world, real-time constraints where sensors and
effectors with specific physical characteristics need to be
controlled. To facilitate research in autonomous robotics and
help architecture designers in managing the complexity of
embodied agents, in this paper an autonomous robot control
architecture have been developed that support various
aspects of the agent development process, ranging from the
design of an agent architecture, to its implementation on
robot hardware, to executing it on the robot.
Keywords: Robotics, Autonomous Mobile Robots, Multi-             Figure 1 Architecture of the Khep-III complete system.
Agents System.
                                                                 The Node Agent (NA) will be responsible for the sensors
1. INTRODUCTION                                                  used by our robot that are:
                                                                    Ultrasonic Sensor
Globally, any robot is basically designed to replace or to          Light Sensor left
assist the human being in the achievement of a great                Light Sensor right
number of tasks. The complexity of those tasks requires             Camera
from the robot to have the more and more autonomy at
both the decisional and the physical levels [1].                 These sensors are used to interact with the world to
This increasingly requested autonomy is particularly             achieve our goal.
necessary when the robot must evolve/move in an                  The Task Agent (TA) will be used to drive to move
unknown environment, no matter it is structured or not.          forward, rewind, or make some movement like escaping.
We highlighted the various aspects that this autonomy            The System Agent (SA) will be responsible for
aspect should take and thus we precised the functions to         coordinating the other actors, the AN and AT, and will
include in order to ensure autonomy to a robot. We have          also have activities not only the coordination, which will
been thus led to be working on the implementation of two         be to recognize the object that is opposite, calculate the
types of architecture:                                           angle of the object, which will help us to know that will
                                                                 guide the robot [2]. Depending on the recognition that
Structural architecture and the operational architecture of
                                                                 was obtained, whether or not the object, which will tell us
the robot. During the development of our software, we
                                                                 that there is no escape or the object based on this decision
proposed its kinematic characteristics.                          was to trigger the switch which will control the outcome
                                                                 to be used, reactive or path to better performance of the
2. CONTROL ARCHITECTURE                                          controllers.
To realize this work, the creation of a SMA is needed,
which is composed of three agents, an agent for the

Volume 1, Issue 2 July-August 2012                                                                                 Page 22
   International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
       Web Site: Email:,
Volume 1, Issue 2, July – August 2012                                          ISSN 2278-6856

In Figure 1 we show graphically the architecture of the          develop the tool we describe the following concepts of our
complete system. We can describe the proposed method             agent in C++ language.
as follows:
In the operation of the model, we have 2 main blocks,                                                Agent
which are responsible for knowledge and learning                    #include ’’tache1.h’’        Condition C1       Task1.h
(paradigm of intelligent agents), and the vision and                #include ’’tache2.h’’
                                                                    #include ’’tache3.h’’
                                                                                                 Read / Write
                                                                    #include ’’tache4.h’’
control (fuzzy logic).                                              Main ( )
These modulus are described below, the first module                 If (condition C 1 )
                                                                           Task 1();
                                                                                                 Condition C2       Task2.h
contains 3 agents, NA [Administrative Agent], TA [Task                   }
                                                                                                 Read / Write
                                                                    If (condition C 2
Agent] SA [System Agent] Agent System (AS), and will                     {
                                                                           Task2();                                data2.txt          Knowledge Base
know every time the operation of the other agents.                       }
                                                                    If (condition C 3)             Condition C3     Task3.h
                                                                         {                         Read / Write
                                                                           Task3();                                lecture/écriture
To detect a change in the environment the Agent Node                If (condition C 4 )
[that is in charge of the sensors (ultrasonic, camera and                {
two light sensors)] with the ultrasonic sensor and two              .
                                                                                                  Condition C4    lecture/écriture
light sensors, starts its operation, and we start at the state      }
                                                                                                  Read / Write

called reactive control; this because you have to move and                                                        data4.txt

sense all the time until it finds an obstacle, this can
happen once a photo is taken, which will be sent to the                             Figure 2 Architecture of System Agent.
database of images (BDI), the image will be applied a
pre-processing for recognition in order to know whether            2.2. Analysis and Design of the Multi-Agent System
the object is found, this decision was taken on the angle        (MAS)
(angle to take the decision to bypass the object), able to
escape and move forward, trend data, they are caught in          The first activity was to perform the analysis and design
the trajectory control process, to observe the speed values      of the multi-agent system as mentioned above, and to
[3].                                                             develop the two tools we describe the following concepts.
The Task Agent (which is responsible for the drive), once
all the necessary parameters for the performance of the
                                                                   2.2.1. Use Case Diagrams
robot agent system (AS) who is the coordinator, and
                                                                 The Use Case diagrams show the granularity of the
executes instructions in the robot.
                                                                 system into reusable pieces of functionality, interaction of
For the development of the Multi-Agent System we used
                                                                 players with the functionality of the system, visually
Gaia and UML for the analysis and design of the agents.
                                                                 organize user requirements and allow the contract to
The completion of the Multi-Agent System (MAS) is
                                                                 certify the functionality, and formalize the process map.
based on the FIPA standards for better utilization and
greater possibility of extension.
                                                                 Figure 3 presents the use case of the sense in which the
                                                                 distance is appreciated that other processes must be
  2.1. Agent structure                                           carried out before and after to complete.
Let's first deal with the notion of intelligent agents. These
are generally defined as "software entities", which assist
their users and act on their behalf. Agents make your life
easier, save you time, and simplify the growing
complexity of the world, acting like a personal secretary,
assistant, or personal advisor, who learns what you like
and can anticipate what you want or need. The principle
of such intelligence is practically the same of human
intelligence. Through a relation of collaboration-
interaction with its user, the agent is able to learn from
himself, from the external world and even from other
agents, and consequently act autonomously from the user,
adapt itself to the multiplicity of experiences and change
its behavior according to them. The possibilities offered
                                                                             Figure 3 Use case diagram of the process of
for humans, in a world whose complexity is growing
                                                                                        image recognition.
exponentially, are enormous [42][43][44][45].
                                                                 In Figure 4 shows the use case of the motor A move,
The first activity was to perform the analysis and design
                                                                 which is seen in all other processes that must be carried
of the multi-agent system as mentioned above, and to
                                                                 out before and after to complete [4].

Volume 1, Issue 2 July-August 2012                                                                                                      Page 23
   International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
       Web Site: Email:,
Volume 1, Issue 2, July – August 2012                                          ISSN 2278-6856

                                                                                              If the distance is < di


       Figure 4 Main processes of use cases.

Figure 5 presents the case for use of the remote sensing
                                                                                                    1.    GUltrasonic
process, which shows that other processes must be carried
                                                                   Move Motor A,(TA)
out before and after to complete.

                                                                      Figure 7 Sequence diagram use case to move motor A.

                                                                In Figure 8 presents the sequence diagram of use case to
                                                                capture the image which is carried out by the agent node
                                                                 Take Picture (NA)     3. DeteUltrasonic

      Figure 5 Use case diagram of the remote sense.

Figure 6 shows the use case of the motor A move, which
                                                                                                Take Picture
is seen in all other processes that must be carried out
before and after to complete.

                                                                   Figure 8 Sequence diagram use case capture image.

                                                                In Figure 9 we show the sequence diagram used for the
                                                                case sense of distance which is carried out by the agent
                                                                node (AN) [5], [6].

    Figure 6 Use case diagram of the process Moving
                        motor A.

Sequence diagrams describe the interaction of objects that
require the functionality of the different scenarios of a use
case, objects are represented with their life cycle within a
time series, and each possible scenario of a use case can
be represented as a sequence diagram.

Below in Figure 7 we show the sequence diagram of the
use case for moving motor A.

Volume 1, Issue 2 July-August 2012                                                                                      Page 24
   International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
       Web Site: Email:,
Volume 1, Issue 2, July – August 2012                                          ISSN 2278-6856

                                                                Depends entirely on the agent system to perform its task.
   Figure 9 Sequence diagram use case sense distance.           Activities:
                                                                Sensors for the engine: they measure in degrees is given
  2.3. Implementation of our architecture of mobile             for each engine is 360 degrees for one revolution, a
robot                                                           revolution for the tire of each motor, the motors can rotate
Below we show the diagrams in which we can observe the          independently, can also be used with constant speed
responsibilities, permissions, activities and protocols to be   motors.
followed by each agent in the Multi-Agent System
(MAS).                                                                                                     - Ultrasonic
                                                                                                           - Infrared
                                                                     Node Agent
 Agent node
Sense:                                                                                                        - Camera
Permissions:                                                                                                Motor Movement
Ultrasonic sensor: measures distances from 0 cm to 255                Task Agent
cm, with a delay of one millisecond signal. Camera
Sensor: take pictures in an estimated time of seconds,
saves all images in a folder for processing. It has a degree
of vision approximately of 50 degrees. Light sensors: they                                              Image Processing
measure the intensity with which an object reflects light.               MAS
This makes a light emitting and measuring the portion of
the return is received, the table 3.2 shows the ranges of                                                Coordination Agent
The only activities are sensing and taking pictures of the
Ultrasound: This is responsible for sensing the distance to
get to an obstacle. The initiative for this would be the
agent system, which indicates the time of initiation.
Chamber is responsible for obtaining the images within
the scene, and as for the ultrasonic sensor system depends
for its initiation.
Light sensors: the role of these sensors is to measure the      Figure 10 Shows the diagrams of the Agent Node (AN),
intensity with which an object reflects light (walls,                 Task Agent (TA), and Agent System (AS).
diagrams). This makes a light emitting and measuring the
portion of the return is received and handled the ranges
                                                                    Node                 Agent                     Task
are 0 to 1023 RAW.                                                  Agent               System                    Agent

 Agent system
Responsibilities:                                                Figure 11 Diagram of the relationship model of SMA.
It is responsible for image processing and decision
making, and sends a message to agent communication              Protocols:
process completed?                                              The system is the initiator, resulting in a movement or
Permissions:                                                    departure, which can be any direction, depending on the
This is the one that has full access, sensors,                  decision taken by the agent system.
communication, engine and handling agents and KHEP-             Figure 9 shows the three models that form the multi-
III in general.                                                 agent system (MAS) using Gaia.
Activities:                                                     Figure 10 presents the relationship between the agents of
Making decisions based on the behavior and implements           the multi-agent system (MAS).
what is needed to finish the job.

 Task agent
Motor movement

Volume 1, Issue 2 July-August 2012                                                                                  Page 25
   International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
       Web Site: Email:,
Volume 1, Issue 2, July – August 2012                                          ISSN 2278-6856

                                                                 [7] Tigli, J.Y.; Thomas, M.C., “Use of multi agent
                                                                      systems for mobile robotics control” Systems, Man,
                                                                      and Cybernetics, 1994. 'Humans, Information and
                                                                      Technology', 1994 IEEE International Conference,
                                                                      vol.1, no., pp.588-592 vol.1, 2-5 Oct 1994.
                                                                 [8] R. Liscano, R. E. Fayek, A. Manz, E. R. Stuck and
                                                                      J.-Y. Tigli, “A Blackboard Approach to The
                                                                      Integration of Reactive and Strategic Reasoning for
                                                                      Mobile Robot Control”, publié dans la revue IEEE
                                                                      Expert (special issue on Intelligent Robotics
                                                                      Systems), Volume 10, Issue 2, Pages: 24 - 36,
                                                                      Avril 1995, ISSN: 0885-9000.
                                                                 [9] Shuzhi Sam Ge and Frank L. Lewis, “Autonomous
                                                                      Mobile Robots: Sensing, Control, Decision,
Figure 11 Sample of implementation of agent                           Making and Applications” Published in 2006 by
                                                                      CRC Press
                                                                 [10] V.Matellan, D.Borrajo “ABC2 an Agenda Based
3. CONCLUSION AND FURTHER WORK                                        Multi-Agent Model for Robots Control and
                                                                      Cooperation”, Journal of Intelligent and Robotic
We have presented different uses of Multi Agent Systems
                                                                      Systems 32: 93–114, 2001.
and more particularly in the mobile robot field.
                                                                 [11] A.Drogoul, A.Collinot “Applying an Agent-
                                                                      Oriented Methodology to the Design of Artificial
We have seen that a lot of different approaches can be
                                                                      Organizations: A Case Study in Robotic Soccer”,
undertaken to design a mobile robot as a multi-agent
                                                                      Autonomous Agents and Multi-Agent Systems, 1,
systems and it seems very challenging to find a common
                                                                      113]129 1998.
representation to describe and benchmark these different
                                                                 [12] O. Michel “Webots: Professional mobile robot
                                                                      simulation”. J Adv Robotics Systems 1(1):39–42.
In this paper we explored the possibility to describe a
robot mobile such as Multi Agent Systems by decoupling
a mobile robot into separately either virtual or physical
autonomous entities. Following this stage of our research,                     1
                                                                               Said Benaissa received his Degree in High
the next step will be to focus separately on each of the                      Education Deepened in Telecommunication
above agents to provide more in-depth outline and                             Networks in 2008, from the National
examine more closely these features.                                          Institute of Science and Technology,
                                                                              Marrakech. In 2009 he joined the System
                                                             Architecture Team of the ENSEM School, Casablanca,
                                                             Morocco. His current main research interests embedded
References                                                   Systems Based on Multi-agents Systems.
  [1] S.Degallier, L.Righetti, S.Gay “Toward simple
      control for complex, autonomous robotic                                   2
                                                                                  Hicham Medromi received his PhD in
      applications: combining discrete and rhythmic                              engineering science from the Sophia
      motor primitives”, 4 May 2011.                                             Antipolis University in 1996, Nice, France.
  [2] V. Vigneron, R.Kallel, H.Maaref, “Un algorithme                            He is responsible of the system architecture
      pour la planification de trajectoire basé sur le                           team of the ENSEM Hassan II University,
      calcul ensembliste”, Jan 2008, IBISC CNRS FRE,                             Casablanca, Morocco. His current main
      France.                                                research interests concern Control Architecture of Mobile
  [3] Rafael H. Bordini, M.Dastani, Amal El Fallah           Systems Based on Multi Agents Systems. Since 2003 he is a
      Seghrouchni,       Multi-Agent      Programming:       full professor for automatic productic and computer sciences at
                                                             the ENSEM School, Hassan II University, Casablanca.
      Languages, Tools and Applications’’, United
      Kingdom, 2009.                                         3
  [4] E.E.Parker and F.E.Schneider, “Multi-Robot              Saidia Tallal:    she is a full professor for computer
      Systems. From Swarms to Intelligent Automata’’,        sciences at the ENSEM School, Hassan II University, and
      Volume III, Knoxville, TN, U.S.A, 2005.                Casablanca. Her actual main research interests concern
  [5] A.J.Ijspeert,    A.Martinoli,      A.     Billard,     Intrusion Detection System Based on Multi agents
      M.Gambardella                                          Systems.
  [6] “Collaboration Through the Exploitation of Local
      Interactions in Autonomous Collective Robotics:
      The Stick Pulling Experiment ’’ Autonomous
      Robots 11, 149–171, 2001.
Volume 1, Issue 2 July-August 2012                                                                                 Page 26

To top