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.
1. Introduction
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 [1], and robotic system [2, 3], which is the topic of this paper.
Indeed, several researchers have used multiagent system in the development of robotic system [4]. Multiagent system is very useful in the case of multirobots which execute different tasks, which should be coordinated with each other [5].
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 [6]. Among those properties, we mention decentralized control, which permits the continuity of the system even when some parts fail, coordinability, predictability, and adaptability [2, 3].
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 [7]. Five agents were designed by Busquets et al. for robot navigation [8]. Innocenti et al. have proposed in [2] a multiagent structure containing four agents, combined with each other in order to obtain the desired goal. Boujelben et al. have simplified this architecture and reduced the number of agents to three, dedicated to perception, navigation, and obstacle avoidance [3].
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 [9].
The deliberative method is applied when the situation needs a previous knowledge of the environment [10]. Path planning is the principle of this approach. Researchers have developed methods of control based on deliberative approach such as PID control [11] and sliding mode [12].
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 [9]. In the literature, neural network [13], potential field [14], and fuzzy logic system [15] are the most popular developed methods.
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 [16], comparing the performance of this method, while introducing some optimization approaches. In this work, fuzzy logic system was implemented in the navigation agent for its high robustness and good performances, without applying optimization methods.
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 [15].
This paper is organized as follows. In Section 2, the model of the used robot is presented. Section 3 introduces the adopted multiagent architecture, detailing the role of each agent. Coordination between agents is mentioned in Section 4. Finally, Section 5 presents the simulation results to test the validity of this work.
2. Modeling of the Mobile Robot
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 1 [17].
The schematic model of the Khepera II robot.
The linear right and left wheels velocities VR and VL as well as the angle α between the robot direction and the x-axis are responsible for guiding the robot, using the following kinematic model:(1)x˙=VR+VL2cosα,y˙=VR+VL2sinα,α˙=VR-VLL,where L is the distance between the right and the left wheels.
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.
3. Multiagent Architecture Model
The basic structure of the multiagent model is presented in Figure 2.
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 5.
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 [18]. The choice between those two agents depends on type of obstacle faced (static, dynamic).
3.1. Navigation Agent
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 [3]. This task is achieved by calculating the distance d separating the robot center from the goal and the angle φ which separates the distance to the target and the robot orientation (see Figure 3), then giving them as inputs to a fuzzy logic controller [19]. This controller is responsible for the function of navigation.
Representation of the parameters d and φ.
The distance d and the angle φ are calculated using those following expressions:(2)d=xT-x2+yT-y2,(3)φ=θT-αRwith(4)θT=arctanyT-yxT-x.
Fuzzy logic system is a well-known technique recommended for robust controller’s conception [20]. Its advantage consists in considering the variation field of input variables, unlike Boolean logic in which the values of the variables are 0 or 1 [3, 21].
Figures 4 and 5 show the fuzzy partition of the input variables d and φ. The distance d varies in the range [0,700] mm, whereas the interval of the angle φ is defined between -π/2 and π/2. Five membership functions are used for the distance, and seven memberships functions are considered for the angle. Therefore, 35 rules are obtained. More details and inference tables are provided in [15, 21].
Membership functions for d (in mm).
Membership functions for φ (in rad).
An example of a fuzzy rule which represents a link between fuzzy inputs variables (d and φ) and fuzzy outputs variables (VL and VR) is expressed as follows.
If d is Ai and φ is Bi, then VR=yi and VL=zi, where αi and βi are the level activation of the rule i.
Therefore, the expressions of the output variables are(5)VR=∑i=1rαiyi∑j=1rαj,VL=∑i=1rβizi∑j=1rβj.
3.2. Static Obstacle Avoiding Agent
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 [22, 23]. The proposed approach is based on following a specific trajectory generated by limit cycle equations applying the sliding mode control [22]. Some details about the limit cycle trajectory and the sliding mode control are presented in the following subsections.
3.2.1. Limit Cycle Trajectory
First of all, we define a convergence circle around each static obstacle. According to previous works [22, 24], this circle corresponds to a dangerous zone. Its radius is defined as Rc=Rr+Ros+δ (see Figure 6), where
The convergence circle.
d is the distance between the robot center and the target,
dos is the distance between the robot center and the static obstacle,
Rris robot’s radius,
Rosis static obstacle’s radius,
δ is a safety margin for collision avoidance.
Now we consider the following differential equation, which defines the limit cycle trajectory of the robot [25]. This system of equation permits us to obtain the position (xr,yr) of the robot enabling it to track the convergence cycle defined previously [22]:(6)xr˙=ayr+xrRc2-xr2-yr2,yr˙=-axr+yrRc2-xr2-yr2,where a is a scalar which specifies the orbital path direction (clockwise or counterclockwise), according to the position of the robot with respect to the obstacle. If a=1, the rotational direction is clockwise. If a=-1, this direction is counterclockwise. Figure 7 shows both cases with different initial conditions.
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 S=(C,Xo,Yo) centered on the obstacle, as it is presented in Figure 8.
The new reference frame S=(C,Xo,Yo).
Applying this reference, the new coordinates of the robot are obtained (xor,yor) [24]. Then the sign of yor determines the motion direction (clockwise if yor>0 and counterclockwise otherwise).
3.2.2. Sliding Mode Control
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 [26].
This method is based on choosing the appropriate sliding surface denoted by s along which the sliding motion occurs [12, 26].
To illustrate the principle of the sliding mode control, we consider Figure 9, where the tracking error pe=(xe,ye,αe)T between the reference portion pr=(xr,yr,αr)T and the current position p=(x,y,α)T of the robot is represented and expressed by(7)xeyeαe=cosαsinα0-sinαcosα0001×xr-xyr-yαr-α.
Tracking error.
By deriving this system of equations, we obtain(8)xe˙ye˙αe˙=yew-v+vrcosαe-xew+vrsinαewr-w.
The error portion pe must converge to 0, which means that p converges to pr. To achieve this purpose, the adequate linear and angular velocities v and w should be found.
The design of the switching function is a hard task due to the robot model which is a multiple-input nonlinear system [22]. Lee et al. have proposed in [12] to consider xe=0. As a consequence, the Lyapunov equation is chosen as(9)V=12ye2.
By deriving V, we obtain(10)V˙=yeye˙=ye-xew+vrsinαe=-xeyew-vryesinarctanvrye,where αe=-arctan(vrye) is the switching function condition.
αe is always positive. Therefore, the global reaching condition given as V˙≤0 is always satisfied [22]. Then we define the vector of sliding surfaces as(11)s=s1s2=xeαe+arctanvrye.
If we force s to converge to 0, consequently xe→0 and αe→-arctan(vrye), which leads to ye→0.
To reduce the problem of chattering [12], we replace the switching function by a saturation function defined as [27](12)s˙=-ksats.
By substituting arctan(vtye) with γ, we obtain(13)s˙=s1˙s2˙=-k1sats1-k2sats2xe˙αe˙+∂γ∂vrvr˙+∂γ∂yeye˙=yew-v+vrcosαewr-w+∂γ∂vrvr˙+∂γ∂ye-xew+vrsinαe. The obtained control law is(14)vw=yew+vrcosαe+k1sats1wr+∂γ∂vrvr˙+∂γ∂yevrsinαe+k2sats2with ∂γ/∂vr=ye/1+(vrye)2 and ∂γ/∂ye=vr/1+(vrye)2.
3.3. Dynamic Obstacle Avoiding Agent
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 [15]. The idea is to calculate at each moment the distance d expressed in (2). If this distance is lower than 50 mm, we apply the hierarchical fuzzy system as a reactive approach for obstacle avoidance.
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 [17, 21]. The principle of this method consists in decomposing the fuzzy system into subsystems having lower size and related to each other in a hierarchical way. This structure is presented in Figure 10.
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 di and the angle φi(i=1,…,8) to an ith controller, which gives as inputs the left and right wheels velocities VLi and VRi, and an index denoted by I0i. This index indicates the degree of collision between the obstacle and the robot [21, 28]. This degree is expressed as follows:(15)I0i=∑j=135μjdi,φiIj∑j=k35μkdi,φi.
The expressions of VLi and VRi are given as(16)VRi=∑j=1rμjdi,φiyj∑k=1rμkdi,φi,VLi=∑j=1rμjdi,φizj∑k=1rμkdi,φi,
where Ij is the consequence of the jth rule and μj is the activation level of the jth rule.
Now the controllers are regrouped into three groups as the eight sensors of the Khepera II robot (see Figure 11). This decomposition is made in order to detect the obstacles existing on the right, left, and back sides.
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 Ileft, Iright, and Iback. Those new indexes indicate the collision degree between the robot and the obstacle existing on the left, the right, and back sides, respectively.
Finally, Ileft, Iright, and Iback are associated with a last fuzzy controller. The outputs of this controller are ItR and ItL. Unlike the previous indexes, those two last indicators give information about the absence of obstacle around the robot. ItR and ItL are expressed as follows:(17)ItR=∑j=13∑i=13μijIijR∑l=13∑k=13μkl,ItL=∑j=13∑i=13μijIijL∑l=13∑k=13μkl.
The inference tables of all the indexes mentioned previously are given in [3, 28].
At least, the velocities expressions are written as(18)VR=ItRVtR+∑i=1nI0iVLi,VL=ItLVtL+∑i=1nI0iVRiwith(19)VRi=∑j=1rμjdi,φiyj∑k=1rμkdi,φi,VLi=∑j=1rμjdi,φizj∑k=1rμkdi,φi,VtR=∑j=1rμjd,φyj∑k=1rμkd,φ,VtL=∑j=1rμjd,φzj∑k=1rμkd,φ.
4. Cooperative System between Agents: Utility Function
On this section, the cooperative control system is detailed. In fact, the coordination between the agents is necessary to avoid contradictory actions [2].
For this purpose, the utility function is proposed [2, 3]. The idea consists in giving each agent an utility function. According to the value obtained from this function, which varies between 0 and 1, the choice of the agent which controls the robot is made.
We begin by introducing the navigation utility function Un presented in Figure 12.
The utility function of the navigation agent.
This function is drawn according to the system defined as below:(20)Un=1if d≤100α∗d+βif 100<d<5000.2if d≥500,where α is the line slope and β is the ordinate at the origin.
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 (Un is maximal). When the distance varies between 100 and 50 mm, the utility function decreases linearly with d. When the distance becomes more than 500 mm, the value of Un is minimal, which means that the navigation agent becomes disabled.
The utility function related to the static and dynamic obstacle avoidance agents, respectively, Usoa and Udoa is combination between the distances which separate the robot from the static and dynamic obstacles, respectively, dso and ddo and the orientation of the robot with respect to the static and dynamic obstacles, respectively, φso and φdo. They are defined as(21)Usoa=Udso×Uφso,Udoa=Uddo×Uφdobeing(22)Udso=1if dso≤Rcα1∗dso+β1if Rc<dso<1000.2if dso≥100,Uddo=1if ddo≤50α2∗ddo+β2if 50<ddo<1000.2if ddo≥100.
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 Rc, which is the radius of the convergence circle calculated previously (see Figures 13 and 14).
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, φso and φdo are represented by the same function Uφo:(23)Uφo=α3∗φo+β3if -π2≤φo≤-π61if -π6≤φo≤π6-α4∗φo+β4if π6≤φo≤π2.
This utility function is illustrated in Figure 15.
The utility function related to the angle of the dynamic obstacle avoidance agent.
αi(i=1,…,4) is the line slope, and βi is the ordinate at the origin.
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 [29]. Here, the actual agent sends its value to the agent in conflict. The one having the higher value is the one who controls the robot.
5. Simulation Results
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 16 and 17). In both configurations, the robot starts from the initial position (X,Y)=(0,0) with two different initial directions (α=π/2 and α=0) and reaches the goal (Xt,Yt)=(300,300). The robot is able to avoid the static obstacle applying the sliding mode approach to track the cycle limit trajectory regardless of the robot motion direction (clockwise or counterclockwise).
Simulation results with one static obstacle (α=π/2).
Simulation results with one static obstacle (α=0).
Now, we treat the case of environments containing both static and dynamic obstacles.
In Figure 18, the coordination between the agents is verified in en environment containing a static obstacle and a dynamic obstacle which moves horizontally from an initial position (Xdo,Ydo)=(200,100) to the left.
Simulation results for one dynamic obstacle and one static obstacle.
Figures 19 and 20 deal with the problem of cluttered environment. In Figure 19, the dynamic obstacle moves vertically from the point (Xdo,Ydo)=(75,225) to the down. The configuration shows that the system can be adaptable to any change of the obstacle’s position or number.
Simulation results in a cluttered environment.
Simulation results in a cluttered environment.
Figure 20 presents the case of highly complicated environments with several static and dynamic obstacles with different trajectories. The first dynamic obstacle starts from the position (Xdo1,Ydo1)=(300,50), and the second obstacle moves from the point (Xdo1,Ydo1)=(50,500). The robot detects any static obstacle that comes on its way and avoids it by tracking its convergence circle. For the dynamic obstacles, the robot is able to avoid them and reach the target, generating a smooth trajectory.
According to Figures 21, 22, and 23, there is no collision between the robot and the dynamic obstacle in the three previous simulations. The coordinates of the robot and the dynamic obstacles are not equal at the same time collision t, which means that the robot can move away perfectly from the dynamic obstacles.
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.
6. Conclusion
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.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
BaigZ. A.Multi-agent systems for protecting critical infrastructures: a survey20123531151116110.1016/j.jnca.2012.01.0062-s2.0-84858074412InnocentiB.LópezB.SalviJ.A multi-agent architecture with cooperative fuzzy control for a mobile robot200755128818912-s2.0-3564900677110.1016/j.robot.2007.07.007BoujelbenM.RekikC.DerbelN.A multi-agent architecture with hierarchical fuzzy controller for a mobile robot20153032892982-s2.0-8493780739610.2316/Journal.206.2015.3.206-4247CenaC. G.CardenasP. F.PazminoR. S.PuglisiL.SantonjaR. A.A cooperative multi-agent robotics system:Design and modelling20134012473747482-s2.0-8488507484510.1016/j.eswa.2013.01.048HentoutA.BouzouiaB.ToukalZ.Multi-agent architecture model for driving mobile manipulator robots2008532572682-s2.0-51349129038KolpM.GiorginiP.MylopoulosJ.Multi-agent architectures as organizational structures20061313252-s2.0-3364598128310.1007/s10458-006-5717-6OnoY.UchiyamaH.PotterW.A mobile robot for corridor navigation: A multi-agent approachProceedings of the 42nd Annual Southeast Regional Conference, ACM-SE 42April 2004USA3793842-s2.0-7795309599210.1145/986537.986629BusquetsD.SierraC.López de MàntarasR.A multiagent approach to qualitative landmark-based navigation20031521291542-s2.0-014200855210.1023/A:1025536924463BenzerroukA.AdouaneL.MartinetP.Stable navigation in formation for a multi-robot system based on a constrained virtual structure20146212180618152-s2.0-8490850438410.1016/j.robot.2014.07.004HaceneN.MendilB.Toward safety navigation in cluttered dynamic environment: A robot neural-based hybrid autonomous navigation and obstacle avoidance with moving target trackingProceedings of the 3rd International Conference on Control, Engineering and Information Technology, CEIT 2015May 2015dza2-s2.0-8496015680010.1109/CEIT.2015.7233023RojasR.FörsterA. G.Holonomic control of a robot with an omnidirectional drive20062021217LeeJ. H.LinC.LimH.LeeJ. M.Sliding mode control for trajectory tracking of mobile robot in the RFID sensor space2009734294352-s2.0-6794912483410.1007/s12555-009-0312-7EngedyI.HorváthG.Artificial neural network based mobile robot navigationProceedings of the WISP 2009 - 6th IEEE International Symposium on Intelligent Signal ProcessingAugust 2009Hungary2412462-s2.0-7124908894010.1109/WISP.2009.5286557KhatibO.Real-time obstacle avoida nce for manipulators and mobile robots19865190982-s2.0-0022674420BoujelbenM.RekikC.DerbelN.Hierarchical fuzzy controller to avoid mobile obstacle for a mobile robotProceedings of the 2013 10th International Multi-Conference on Systems, Signals and Devices, SSD 2013March 2013tun2-s2.0-8488307732810.1109/SSD.2013.6564094JuangC.-F.ChangY.-C.Evolutionary-group-based particle-swarm-optimized fuzzy controller with application to mobile-robot navigation in unknown environments201119237939210.1109/tfuzz.2011.21043642-s2.0-79953667359AyediD.BoujelbenM.RekikC.nterval type-2 tsk fuzzy approach for autonomous mobile robot control in presence of uncertaintiesProceedings of the Systems, Signals & Devices (SSD), 2017 14th International Multi-Conference2017280287NakhaeiniaD.TangS. H.Mohd NoorS. B.MotlaghO.A review of control architectures for autonomous navigation of mobile robots2011621691742-s2.0-79956361151ChenC.-W.Interconnected TS fuzzy technique for nonlinear time-delay structural systems201476113222-s2.0-8489905247210.1007/s11071-013-0841-8Zbl1319.34129RekikC.DjemelM.DerbelN.A discussion on the optimal control of a robot manipulator by a hybrid genetic-fuzzy controller20082331501592-s2.0-57049134779BoujelbenM.RekikC.DerbelN.Hierarchical fuzzy controller for a nonholonomic mobile robotProceedings of the 2012 20th Mediterranean Conference on Control and Automation, MED 2012July 2012esp3413472-s2.0-8486693908610.1109/MED.2012.6265661BoujelbenM.RekikC.DerbelN.A hybrid fuzzy-sliding mode controller for a mobile robot20162531551642-s2.0-8496474301510.1504/IJMIC.2016.075816AntonelliG.ChiaveriniS.Experiments of fuzzy lane following for mobile robotsProceedings of the 2004 American Control Conference (AAC)July 2004usa107910842-s2.0-874430068310.1109/ACC.2004.182922AdouaneL.Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigationProceedings of the in 9th Conference on Autonomous Robot Systems and Competitions2009KimD.-H.KimJ.-H.A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer200342117302-s2.0-003747386810.1016/S0921-8890(02)00311-1Zbl1005.68732SoleaR.FilipescuA.NunesU.Sliding-mode control for trajectory-tracking of a wheeled mobile robot in presence of uncertaintiesProceedings of the 7th Asian Control Conference (ASCC '09)August 2009Hong Kong170117062-s2.0-71449092569GonzálezI.SalazarS.LozanoR.Chattering-free sliding mode altitude control for a quad-rotor aircraft: Real-time application2014731-41371552-s2.0-8489944071210.1007/s10846-013-9913-8BoujelbenM.RekikC.DerbelN.Hierarchical neural network control for a mobile robotProceedings of the 2nd International Conference on Automation,Control, Engineering and Computer Science (ASECS)2015PirjanianP.Behavior coordination mechanisms-state-of-the-art1999University of Southern California, Institute for Robotics and Intelligent Systems