^{1}

^{2}

^{2}

^{1}

^{2}

The challenge of this work is to implement an algorithm which enables the robot to achieve independent activities in the purpose of achieving a common goal, which consists in autonomous navigation in a partially unknown environment. The use of multiagent system is convenient for such a problem. Hence, we have designed a structure composed of four agents dedicated to perception, navigation, static, and dynamic obstacle avoidance. Those agents interact through a coordination system.

In recent years, multiagent system becomes a very well-known field used in many applications such as E-commerce, E-health applications, network intrusion detection systems, telematic and transport systems [

Indeed, several researchers have used multiagent system in the development of robotic system [

Furthermore, such architecture can be used in the case of a single robot. According to the principle of the multiagent system, which consists in a number of agents coordinated and dedicated to achieve common objectives, each robot activity is considered as an agent. Those agents are interacting with each other through a specific system of coordination.

The interest in the multiagent system has increased, since it has several properties compared to other architectures [

Therefore, the structure of multiagent system may be established as a first step. Then, the activity of each agent is defined. Finally, a coordination system between agents is presented. Those steps are applied to implement the multiagent system on an intelligent wheelchair in [

Among the agents defined in the case of robotic field, we cite navigation agent and obstacle avoidance agent. In the literature, the design of controllers for mobile robot navigation is based on two basic approaches: the reactive and the deliberative approach [

The deliberative method is applied when the situation needs a previous knowledge of the environment [

For an unknown environment, the deliberative approach is not sufficient. Therefore, the reactive method is required, which is based on sensor’s measurements and does not require information about the environment [

In this work, we have treated the problem of an environment containing both static and dynamic obstacles. Our mobile robot should find a safe path to reach the desired target. For that purpose, we have proposed to apply the multiagent system to control the robot. Our suggested structure contains four agents:

Perception agent, which obtains the necessary information measured by the sensors of the robot and affords them to the system

Navigation agent, responsible for guiding the robot to the target

Static obstacle avoidance, which keeps the robot away from static obstacles

Dynamic obstacle avoidance, which keeps the robot away from dynamic obstacles

Those agents are related through a cooperative system which allows them to achieve common goals.

Here, the navigation agent uses a simple fuzzy controller. Indeed, Chia-Feng Juang has tested the efficiency of fuzzy logic system in the field of robot navigation [

For the static obstacle avoidance agents, a deliberative method is applied, since the position of obstacles is known. Sliding mode is chosen to be implemented on this agent thanks to its fast response and its robustness against variations. For the dynamic obstacles, the position of obstacles is unknown and unexpected. The deliberative approach is not sufficient, due to the complicated computation of the following path in the presence of dynamic obstacle. Fuzzy logic system is applied, since it is considered as a reactive method.

However, a large number of inputs are obtained in the case of applying the standard fuzzy logic system, due to the high quantity of information given by all robot’s sensors. To simplify the problem, we have proposed to use the hierarchical fuzzy system which consists in dividing the fuzzy system into subsystems [

This paper is organized as follows. In Section

The platform used in this work is a Khepera II robot. This mobile robot is convenient for our experiments, due to its equipment consisting on two independent wheels and eight sensors attached to its contour which ensure a best detection to the obstacles, as it is shown in Figure

The schematic model of the Khepera II robot.

The linear right and left wheels velocities

The adopted strategy is to control the robot to a final destination in an environment containing both static and dynamic obstacles using the multiagent system.

The basic structure of the multiagent model is presented in Figure

The multiagent system architecture.

It is composed of four agents which interact with each other through a cooperative system. This system of coordination will be detailed in Section

The information provided by the sensor’s measurements is collected in the perception agent. According to those data, one of the three other agents (robot navigation, static obstacle avoidance, and dynamic obstacle avoidance) is chosen to control the robot. If the environment is safe, the robot navigation agent is activated, which is responsible for guiding the robot from an initial position to a final target. If an obstacle is located on the path of the robot, one of the obstacle avoidance agents is activated. Those two agents are in charge of moving away from obstacles, one of them applying a reactive method and the second using a deliberative approach [

The role of the navigation agent, based on fuzzy logic control, is to bring the robot to a final target when the environment is supposed to be free from obstacles [

Representation of the parameters

The distance

Fuzzy logic system is a well-known technique recommended for robust controller’s conception [

Figures

Membership functions for

Membership functions for

An example of a fuzzy rule which represents a link between fuzzy inputs variables (

If

Therefore, the expressions of the output variables are

Now, we study the case of the existence of a static obstacle in the path of the robot. To avoid it, a deliberative approach is applied, which consists in defining a trajectory that the robot should follow [

First of all, we define a convergence circle around each static obstacle. According to previous works [

The convergence circle.

Now we consider the following differential equation, which defines the limit cycle trajectory of the robot [

The shape of the limit cycles, (a) clockwise and (b) counterclockwise.

In the purpose of determining the appropriate direction, a new reference frame is defined

The new reference frame

Applying this reference, the new coordinates of the robot are obtained

Once the reference trajectory has been determined, the approach proposed for tracking this path is the sliding mode control. This method ensures fast response, robustness, and good results in tracking the desired trajectory [

This method is based on choosing the appropriate sliding surface denoted by

To illustrate the principle of the sliding mode control, we consider Figure

Tracking error.

By deriving this system of equations, we obtain

The error portion

The design of the switching function is a hard task due to the robot model which is a multiple-input nonlinear system [

By deriving

If we force

To reduce the problem of chattering [

By substituting

In the following section, we consider that the robot faces on his path dynamic obstacles. For its safety, the robot must know at every instance the position of the obstacle to avoid it [

We have chosen to work with the hierarchical fuzzy system rather than the standard fuzzy system due to the huge number of rules obtained if we apply one fuzzy controller [

Block diagram of the hierarchical fuzzy system.

According to this block diagram, each controller from the first layer is related to a sensor of the Khepera II robot. This sensor is required to send the distance

The expressions of

where

Now the controllers are regrouped into three groups as the eight sensors of the Khepera II robot (see Figure

Position of the eight sensors of the robot.

The controllers related to each group of sensors are associated with a fuzzy controller. Therefore, we obtain three controllers which give the indexes

Finally,

The inference tables of all the indexes mentioned previously are given in [

At least, the velocities expressions are written as

On this section, the cooperative control system is detailed. In fact, the coordination between the agents is necessary to avoid contradictory actions [

For this purpose, the utility function is proposed [

We begin by introducing the navigation utility function

The utility function of the navigation agent.

This function is drawn according to the system defined as below:

The numerical values of this system are chosen so that the robot adopts the navigation agent when the distance from the target is less than 100 mm (

The utility function related to the static and dynamic obstacle avoidance agents, respectively,

The same principle of the navigation agent is adopted here. For the dynamic obstacle, the robot enters to the dangerous zone when the distance from the obstacle is less than 50 mm. While for the static obstacle, the dangerous zone is defined as the convergence circle, which means that the robot should move far away when the distance from the obstacle is less than

The utility function related to the distance of the static obstacle avoidance agent.

The utility function related to the distance of dynamic obstacle avoidance agent.

On the other hand,

This utility function is illustrated in Figure

The utility function related to the angle of the dynamic obstacle avoidance agent.

Once the values of the utility functions are obtained, a negotiation is made to choose which agent the robot selects. Actually several ways of action selection exist [

This section is dedicated to test the efficiency of the proposed method. So different configurations were tested. We begin with the simple one. We consider an environment containing a static obstacle, and we must prove that the robot must go around the obstacle in the case of clockwise or counterclockwise motion direction. For that purpose, we have proposed two configurations (see Figures

Simulation results with one static obstacle

Simulation results with one static obstacle

Now, we treat the case of environments containing both static and dynamic obstacles.

In Figure

Simulation results for one dynamic obstacle and one static obstacle.

Figures

Simulation results in a cluttered environment.

Simulation results in a cluttered environment.

Figure

According to Figures

Coordinates of the robot and the dynamic obstacle according to time in the case of a horizontal mobile obstacle trajectory.

Coordinates of the robot and the dynamic obstacle according to time in the case of a vertical mobile obstacle trajectory.

Coordinates of the robot and the dynamic obstacles according to time in the case of two different mobile obstacles trajectories.

The simulations presented in this section illustrate the efficiency of the proposed method and the ability of the robot to transit properly from an agent to another using the suggested utility functions and to reach the final destination safely.

On this work, a multiagent system is implemented for autonomous navigation of mobile robot in an environment containing static and dynamic obstacles. According to the data sent to the perception agent, a coordination system based on utility function is applied. Therefore, the suitable agent is chosen: navigation agent based on simple fuzzy system and dedicated to bring the robot to the target, static obstacle avoidance responsible for leading the robot away from static obstacles tracking an orbital trajectory with the sliding mode control, and dynamic obstacle avoidance which has a role in avoiding dynamic obstacles applying hierarchical fuzzy system. Some tests are made and presented to test the validity of the proposed method.

The authors declare that there are no conflicts of interest regarding the publication of this paper.