International Journal of Advanced Robotic Systems a Decentralized Method Using Artificial Moments for Multi-robot Path-planning Regular Paper

For the local path‐planning of multi‐robots, a decentralized method is presented where each robot plans its own path in the following steps for each iteration. Firstly, an optimal way representative point (OWRpoint) is obtained for guiding the robot to move along a shorter path. Then, the robot moves a step under the control of its own motion controller, which is designed based on artificial moments. In the motion controller, attractive and repulsive moments are used to move robots closer to their OWRpoints and away from obstacles, while coordinated moments are used to resolve the conflicts between robots. Two simulations are given to test the method and the results indicate that the method is valuable as it meets the requirements of the real‐time property while optimizing the performance measure of each robot: namely, the path travelled to reach the robot's target.


Introduction
As remarked upon in [1], there has been a growing interest in multi-robot systems in recent years and motion planning is of primary importance in the design of multirobot systems. This paper focuses on a version of the problem that concerns the path-planning of multiple autonomous mobile robots. The environment is populated with various obstacles. No robot has a priori knowledge about the environment or other robots. The objective is to simultaneously bring each robot from an initial position to an independent target. In addition to ensuring collision avoidance, each robot has a performance measure -the path travelled to reach its target -to be optimized.
As no robot has a priori knowledge, the problem is a form of local or online path-planning for multi-robots [2]. As individual performance measures are not combined into a single scalar criterion, the problem differs from that discussed in [3], [4], where the criterion is to minimize the time taken by the last robot to reach its target. As remarked upon in [5], when individual performance measures are combined, certain information about potential solutions and alternatives are lost. For example, the degree of sacrifice that each robot makes in order to avoid other robots is not usually taken into account.
Many approaches have been developed for multi-robot path-planning, which are often categorized as centralized or decentralized [5], [6], [7]. With centralized methods, a central planner designs the motion plan for all of the robots based on full knowledge about the environment. Decentralized approaches require that each robot plans its own path based only on the locally available information -e.g., the positions of neighbouring robotsso that it requires less computational resources and also ensures the scalability of the system.
Obviously, only decentralized approaches can be used for the local path-planning of multi-robots as no robot has full knowledge about the environment or other robots.
In [2], [8], [9], a decentralized method based on evolutionary algorithms (EAs) or differential evolution algorithms is discussed, where n EAs are used for n robots and the i-th EA determines the next position for the i-th robot during each iteration, satisfying the necessary constraints associated with that robot and certain cooperation objectives related with the others. In [10], [11], prioritized planning is discussed, which works as follows. First, priorities are assigned to the robots. Then, in order of decreasing priority, the robots are picked. For each picked robot, a path is planned, avoiding collisions with obstacles as well as with the previously picked robots. The drawback of the two methods is the requirement of a considerable amount of communication.
In recent years, the artificial potential field (APF) method is extended to multi-robot path-planning [12], [13]. Here, a repulsive potential field to force a robot away from obstacles or other robots and an attractive field to drive the robot close to a target are employed to generate a force. The force equals the negative gradient of the total potentials and makes the robot move from a position with higher potentials to one with lower potentials. This method requires only a simple calculation and no preprocessing of the environment, but powerful results and elegance of output are generated in a short time [12], [14]. However, this method suffers from many problems [12], [13], [14], [15], such as the "local minimum" problem. When it is used for multi-robot path-planning, coordination between robots is difficult to obtain through the pure APF method as robots cannot be regarded as simply obstacles，and as such some other techniques, such as priorities, have to be used [12], [13].
The configuration space method [12], [16], [17] and the free space method [16], [18], [19] are the methods directly used not only for multi-robot path-planning but also as the basis of other methods, such as the probabilistic roadmap method [20]. In the configuration space, the original problem of planning the motion of a robot through a space of obstacles is transformed into an equivalent -but simpler -problem of planning the motion of a point through a space of enlarged configuration space obstacles or pseudo-obstacles. The free space method is to search the free space directly without first transforming the problem into a configuration space. A representation of a free space can be obtained using generalized Voronoi diagrams [16], a tangent graph [18] or a visibility graph [19]. The drawback of the two techniques is that in local path-planning the configuration space or the free space is frequently required to be recomputed, considering the safe distance and the sizes of the robots. Again, a great deal of computation is needed.
In fact, and to the best of our knowledge, although many algorithms have been developed for the local pathplanning of multi-robots, very few can not only meet the requirements of a real-time property but also optimize each robot's performance measure well. Activated by the limitation noted above, a decentralized method is proposed for multi-robot path-planning, which is an extension of the artificial moment method for multi-robot formation control [21], [22].
In the proposed method, each robot which has not reached its target or which is required to cooperate with other robots uses a path planner, which works as follows. At each sampling time, an optimal way representative point (OWRpoint), which can guide the robot in moving along a shorter path, is obtained firstly, ignoring the presence of other robots. Then, a motion controller based on artificial moments causes the robot to move a step to the next position. The above process is repeated until the task is fulfilled. The proposed method is valuable as it not only meets the requirements of a real-time property, but it also optimizes the independent performance measure of each robot well.
The rest of this paper is organized as follows. In section 2, the problem under discussion is formulated and some concepts are defined. In section 3, the techniques and algorithms for computing OWRpoints are presented. In section 4, a motion controller based on artificial moments is designed. In section 5, the algorithm for the pathplanning is given. Several simulations are given and analysed in section 6 and certain conclusions are drawn in section 7.

Problem Formulation
This paper focuses on the path-planning of multi-robots in a bounded planar environment which is populated with static polygonal obstacles.
A robot model is a square, as shown in Fig. 1, which has a principal motion direction line (PMDline) such as that in [21], [22] and two coordinated segments. The PMDline of a robot is a ray starting from the robot's position (the centre) and can indicate the robot's posture or motion direction.
A target model is a static point with a PMDline, as shown in Fig. 1. The PMDline of a target indicates the target's posture. We rotate a directed line (ray, directed segment) around its start-point until its direction is the same as that of the X-axis of the global coordinate system. As such, the angle formed by the rotation is the direction angle of the line if the angle's absolute value is not larger than . Assume that i and j are the direction angles of directed lines li and lj and that n is an integer and function: Then, the angle =agl(i-j) is the angle from li to lj.
For convenience, certain notations which will be used throughout this paper are listed as follows.
DR, SR: the side length and longest step length of a robot; DV: the valid radius of a robot's sensor; DS: a constant which is larger than 2SR+DR and is associated with the robots' safeties; DM: a positive constant less than DS;   2: a constant which is less than /2 but not /4;   1: a positive constant far less than   2; 1, 2: two constants satisfying 0 <1<2<1;   : a constant whose value is /DS; A robot's coordinated segments are two directed segments whose lengths are DS+DR, the start-points are the robot's position while angles to the PMDline are ±, as shown in the model of Ri in Figure 1. The coordinated segments are important in resolving the conflicts between robots.
The robot sensors are omni-directional. For a point F, only when PRiF does not pass through any obstacle (including robots) and |PRiF|≤ DV, can F be detected by Ri. For two robots, only when the segment between their positions does not pass through any obstacle and is shorter than DV can they be detected and their positions and PMDlines be known by each other.
For example, in Figure 1 only Rj and its PMDline, as well as the points within the region with a grey colour or on the boundaries of the region, can be detected by Ri at present. The point A1 can be detected by Ri at Ri's initial position but cannot be detected at Ri's current position.
As it is important to reduce the communication required between robots to the absolute minimum (otherwise realtime dynamic planning will not be possible) there is no explicit communication between robots in this paper. That is to say, a robot has no knowledge about other robots until it detects them and, then, it knows -and only knows -their positions and PMDlines at the present. A robot also has no a priori knowledge about its workspace.

Assumption 2.
For each robot, there is at least one feasible way between its target and its initial position which is not narrower than 2DS (ignoring other robots). Once the models, assumptions, sensing capabilities and communication protocols highlighted above have been detailed, the problem reduces to finding out a motion control algorithm that will enable each robot to avoid potential collisions with the remaining robots and any other obstacles present, reaching its target in a finite time. When a robot Ri reaches Ti, Ri is required to achieve the same posture as that of Ti as much as possible while its travelling path is also required to be as short as possible.

Remark 1.
When Ri reaches Ti, the requirement for Ri to achieve the same posture as that of Ti is the requirement for |Ri-Ti| to be as small as possible, which is beneficial for certain applications, such as formation control [21], [22].

Basic Definitions
Definition 1. Assume  is a polyline on the boundary of an obstacle. If all of the points on  have been detected by Ri at the current time or at previous times, and * has at least one point which has never been detected by Ri when * is a continous curve on the same obstacle as  and *, then  is a knowledge obstacle wall of Ri.
For example, in Figure 1, A1A2A3A4 is a knowledge obstacle wall of Ri and A1, A2, A3, A4 are its vertices; A1A2A3A4A5 is not so because some points on it, such as A5, have never been detected by Ri.
Each robot will memorize and update all of its knowledge obstacle walls.

Definition 2.
Assume that two points F1 and F2 are the ends of a continuous curve W and that S is a set such that its members are all continuous curves with ends F1 and F2, and that all points on its members are on or very close to W.  is a knowledge obstacle wall of Ri. 1) If for any curve W* in S, (W*, -F1, -F2) shares at least one point with , then W is blocked by . 2) If  blocks PRiTi, then  is a block wall of Ri. 3) If a continuous curve from Ri to Ti cannot be blocked by Ri's block walls, it is a free block-wall way of Ri.
For example, in Figure 1, A1A2A3A4 is a block wall of Ri; PRiA4Ti and PRiA2A1A3Ti are free block-wall ways of Ri, but PRiA2A3Ti is not because it is blocked by A1A2A3A4.
The shortest free block-wall way is important as a shorter, feasible way can be easily obtained through it. Furthermore, compared with the shortest feasible way obtained by such methods as the tangent graph method and the configuration space method, the shortest free block-wall way is easier to obtain as there is no requirement to consider the safe distance of robots and no requirement to pre-process the environment.
As obstacles are all polygons, the shortest free block-wall way of Ri must be a polyline. Assume it is PRiA1A2,…,AnTi; then, the first vertex A1 but not the full way is needed to be obtained for guiding Ri to move. The reasons for this are that, as the shortest free block-wall way of Ri at present is often significantly different from that at the next in local path-planning, it is effective only at the present.
Moreover, at the current time, A1 has the same effect as the full way for optimizing Ri's path but is easier to obtain and requires less memory. Definition 3. The first vertex A1 of the shortest free blockwall way of Ri is the optimal way representative point of Ri (OWRpointi) at present.
For example, when PRiTi is not blocked by any knowledge obstacle wall of Ri, Ti is the OWRpointi. Obviously, a dangerous wall representative point of Ri is the point that is the shortest distance from PRi in a local region of a dangerous knowledge obstacle wall. Accordingly, for Ri, several such points may exist on the same knowledge obstacle wall, which can prevent Ri from colliding with one side while avoiding another side of the wall.

Definition 6.
Assume that F is a point on a free block-wall way of Ri and that A1 is a point on a knowledge obstacle wall When (RL(F, A1), -FA1)∩ is not null, assume that A2 is the point that is the shortest distant from A1 in the set. If FA2 is not blocked by  and if a closed curve by which Ti and F are separated can be formed by A1A2 and a part of , then RL(F, A1) is a close tangent of Ri from F to  and A1 and A2 are the tangent and close point respectively.
For example, in Figure 2, RL(PRi, A4) is a single-direction tangent from PRi to 1 and A4 is the tangent point. RL(PRi, A1) is a close tangent from PRi to 1 (2 and 1 are merged into one wall by an artificial obstacle segment V3V4) and A1 and F1 are the tangent and the close point respectively. RL(A1, A2), RL(A2, A3) are close tangents of Ri.

Method for OWRpoints
In this section, a method is presented to determine a series of OWRpoints which guide each robot to move along a shorter path. The first step of this method is to set artificial obstacle segments according to the rules given as follows until no such segments can be set. Since such segments can block these ways onto which the OWRpoints are not suitably placed, the computation of the OWRpoints is decreased by setting such segments.

Rules for Setting Artificial Obstacle Segments
There are two types of artificial obstacle segments, namely narrow-types (N-type) and back-types (B-type).
The rule for N-type artificial obstacle segments is as follows. For two points A1 and A2 on knowledge obstacle walls of Ri, if |A1A2| is less than 2DS and a free block-wall way of Ri passes through A1A2 once and once only, then A1A2 can be set as an N-type artificial obstacle segment. For example, in Figure 2, V3V4 is an N-type artificial obstacle segment of Ri.
N-type artificial obstacle segments are used to prevent a robot from walking along ways narrower than 2DS, as if two robots encounter each other in a way that is narrower than 2DS, they may be blocked by each other such that their convergence is lost. As remarked upon in [6], the loss of convergence in this case is not a matter of a good or a bad algorithm -it is due to the decentralized control model.
The rules for B-type artificial obstacle segments are as follows. For Ri, assume 1 and 2 are two different knowledge obstacle walls and that 1 blocks PRiTi. 1) If 2 also blocks PRiTi, then A1A2 can be set as such a segment, where A1 and A2 are the intersections of PRiTi with 1 and 2 respectively. 2) Assume that A1 is the tangent point of a close or single-direction tangent from PRi to 1. If 2 blocks PRiA1 and A2 is an intersection of PRiA1 with 2, then A1A2 can be set as such a segment.  Figure 2 is a B-type artificial obstacle segment of Ri. Obviously, for Ri, if A1A2 can be set as a Btype artificial obstacle segment at present, then no point (except for A1 and A2) on A1A2 can be detected at present; however, A1A2 may have been detected at some previous time because A1 and A2 are all on knowledge obstacle walls. That is to say, Ri has moved from a position with a shorter distance from A1A2 to the current one with a longer distance. Thus, walking towards A1A2 will result in walking backwards, which is the reason for calling such segments B-type artificial obstacle segments.
Setting B-type artificial obstacle segments has two main benefits. One is to guarantee the global convergence to a certain extent by preventing a robot from walking backwards. The second is to decrease the total number of knowledge obstacle walls of a robot by merging two different walls into one wall.

Conclusion 1. If no artificial obstacle segment can be set by
Ri at present, then: 1) PRiTi is blocked by at most one knowledge obstacle wall; 2) assume that  is a block wall of Ri and that A1 is the tangent point of a close or singledirection tangent of Ri from PRi to . Then, PRiA1 will not be blocked by any knowledge obstacle wall.
Artificial obstacle segments are dealt with as a part of knowledge obstacle walls in general. However, if a closed curve by which Ri and Ti are separated is formed by a knowledge obstacle wall of Ri, then all B-type artificial obstacle segments on the wall will be removed.

Algorithm to Determine OWRpoints
For Ri, after setting artificial obstacle segments, an OWRpoint will be obtained, which is based on the following conclusions.

Conclusion 2.
If  is a block wall of Ri, no close tangent from PRi to  exists, and if A1 is the tangent point of a single-direction tangent from PRi to , then a polyline PRiA1A2…AnTi represented with FBWA1 can be obtained by algorithm 1. otherwise Q1 is.

Remark 2.
In step 6 of algorithm 2, the method to determine OWRpointi is to compare |FBWA1*| with |FBWQ1*| but not |FBWA1| with |FBWQ1|. The reasons for this are that if the OWRpointi is determined by comparing |FBWA1| with |FBWQ1|, the OWRpointi at present may be significantly different from that in the last time even if the difference between |FBWA1| and |FBWQ1| is very small. As such, a great change in Ri's PMDline direction is frequently needed in some cases. To avoid the above problem, |FBWA1*| and |FBWQ1*| are used.
For algorithm 2, the necessary computation in the worst case is to compute |FBWA1| and |FBWQ1| using algorithm 1. Assume that m is the vertex number of the knowledge obstacle wall of Ri with most vertices; then, the computational complexity of algorithm 2 is O(2m) as the number of vertices on FBWA1/FBWQ1 cannot be more than m.

Motion controller based on artificial moments
A motion controller based on artificial moments is designed in this section, which is an extension of the artificial moment method for multi-robot formation control [21], [22]. Its basic idea is that at each sampling time Ri may be influenced by three types of artificial moments -that is, the attractive moment by the OWRpointi, the repulsive moments by obstacles and the coordinated moments by other robots. The gradient of each artificial moment generates an expected vector for Ri to change position and the PMDline so that the moment can increase as quickly as possible. Additionally, Ri has a motion vector along its PMDline which is not in general determined by artificial moments. The total vector determines the next position and the PMDline direction of Ri and, afterwards, the above process is repeated until the task is fulfilled.
Obviously, the artificial moment method is similar to the APF method in some aspects. Therefore, they have shared advantages. However, there are certain important differences between them.
One of these is that in the artificial moment method each robot has a motion vector along its PMDline which is nearly uninfluenced by artificial moments. Let (Sxi(k+1), Syi(k+1)) T represent the expected vector of Ri along its PMDline in (tk, tk+1]. If the OWRpointi at the current time tk is Ti and the distance from PRi to Ti is not larger than DS, then (Sxi(k+1), Syi(k+1)) T =(0, 0) T ; otherwise: ( 1) cos( ( 1)) The motion vector (Sxi(k+1), Syi(k+1)) T causes Ri to have a high moving speed even if the total moment's gradient is zero and, as such, it is difficult for Ri to be trapped even in complicated environments.
A second difference is that a unique robot model is used in the artificial moment method, where each robot has a PMDline and two coordinated segments. According to the robot model, a coordinated moment -which can resolve the conflicts between robots (almost) optimally -is designed as follows.

Coordinated Moments
Each coordinated companion of Ri will -and only such robots can -impose a coordinated moment on Ri so that the conflict between them can be solved.
Assume that Rj is a coordinated companion of Ri and that CM(k) is the coordinated moment generated by Rj at the current time tk. The function cmt(x) is defined as (3) and its derivative dcmt(x) as (4): cmt(x)= cos( ) | | / 2 / 2 1 | | cos( ( / 2)sign( )) | | / 2 dcmt(x)= sin( ) | | / 2 sign( ) sin( ( / 2)sign( )) | | / 2 When |agl(Ri-(PRi, PRj))|<  2 and |agl(Rj-(PRj, PRi))|<  2 (the case where Ri and Rj have a marked trend to move towards each other), CM(k) is required to cause Ri to move to a side of Rj so that Ri can bypass Rj and so that no collision occurs between them. Furthermore, according to the PMDlines of Ri and Rj at present, it can be concluded that the two robots are moving towards PMi and PMj respectively. Accordingly, CM(k) is required to make Ri move towards a position that is away from PMj but close to PMi so that their influence upon the motion of each other can be minimized.
Let M represent the end-point of the directed segment whose start-point is PRj; the direction angle is the same as that of DS(PMj , PMi) and the length is DS+ DR (as shown in Figure 1); (xM, yM) T represents the coordinates of M. As such, M is an ideal point towards which Ri moves as M satisfies all of the requirements mentioned above. Thus, CM(k) is designed as (5) in this case: CM (k)= r1cmt(agl(Ri-(PRi,Crj)))+ +l2cmt(agl(Ri-(PRi, Clj))) + +(cmt(  (xRi-xM))+cmt(  (yRi-yM))) /(  ) 2 (5) where Clj and Crj are the end-points of the left and right coordinated segment of Rj respectively; r =DS/(|PRiCrj|+ DS) and l= DS/(|PRiClj|+ DS).

Attractive Moments
A third difference between the artificial moment method and the APF method is the difference between artificial moment functions and artificial potential functions. Artificial potential functions are always designed in terms of the positions, velocities and accelerations of robots, targets and obstacles (or relative ones between them). Artificial moment functions, however, are always designed in terms of the angles from robots' PMDlines to OWRpoints and obstacles and, in most cases, artificial moments influence only robots' PMDlines but not their positions and velocities. As a result, many problems encountered in the APF -such as there being no passage between closely-spaced obstacles or goals being non-reachable with obstacles nearby -are solved by the proposed motion controller.
Assume the function amt(x) is (9); then, its derivative is (10): Let AM(k) denote the attractive moment imposed by the OWRpointi at the current time tk; then, AM(k) is designed as follows.
If the OWRpointi is not Ti or else if its distance from PRi is larger than DS, then AM(k) is only required to make Ri's PMDline face the OWRpointi. As with when Ri's PMDline is facing the OWRpointi, the objective for Ri in moving closely to the OWRpointi can be fulfilled by the motion vector (Sxi(k+1), Syi(k+1)) T . Thus, AM(k) is designed as (11) in this case:. AM(k)=-(1/2) (agl(Ri-(PRi, OWRpointi))) 2 (11) If the OWRpointi is Ti and its distance from PRi is not larger than DS, AM(k) is required to influence both Ri's PMDline and position so that Ri can reach Ti exactly while having as similar a posture to Ti as is possible. Thus, AM(k) is designed as (12) in this case: (agl(Ri-Ti))+ +(amt(  (xRi-xTi))+ amt(  (yRi-yTi)))/(  ) 2 (12) Let (2Ri(k), 2xRi(k), 2yRi(k)) T denote the expected vector to increase AM(k); then, it is the gradient of AM(k). When the OWRpointi is not Ti or its distance from PRi is larger than DS: When the OWRpointi is Ti and its distance from PRi is not larger than DS:

Ri Ti
Ri Ti

Repulsive Moments and Motion Controller
Suppose that G is a dangerous wall representative point of Ri at the current time tk and that PM(k) is the repulsive moment generated by G at tk.
When Ri has no coordinated companion at present, PM(k) is only required to cause Ri's PMDline to move away from G. As with when Ri's PMDline is away from G, the objective for Ri in moving away from G can be fulfilled by the motion vector (Sxi(k+1), Syi(k+1)) T . Thus, PM(k) is designed as (15) in this case: where p=(DS-|PRiG|)/DS, which increases with any decrease of |PRiG| for the reason that the lower that |PRiG| is, the larger that the repulsive moment is required to be, so that Ri's PMDline can move away from G quickly.
When Ri has coordinated companions, PM(k) is required to influence Ri's position but not the PMDline so that the influence of the coordinated moments on Ri's position can be weakened and so that Ri will not move too closely to G. Accordingly, PM(k) is designed as (16) in this case: PM(k)= (cmt(  (xRi-xD))+cmt(  (yRi-yD)))/(  ) 2 (16) where (xD, yD) T is the coordinates of the end-point of the directed segment with a start-point G, a direction angle (G, PRi) and a length DS.
The motion controller of Ri using artificial moments for multi-robot path-planning is designed as (19), (21), (22): Otherwise: From (2)-(22), we can conclude that the proposed motion controller can make a robot enter and pass through narrow passages. Although the effects of attractive and repulsive moments may be cancelled out by each other when Ri is close to a narrow passage, Ri can still enter the passage through the motion vector (Sxi(k+1), Syi(k+1)) T .
The controller can also make Ri reach a target with obstacles nearby. As with when Ri is close to Ti, (Sxi(k+1), Syi(k+1)) T is zero, which means that repulsive moments cannot influence Ri's motion. As a result, Ri can reach Ti under the influence of the attractive moment generated by Ti.
When Ri has no coordinated companion, the controller will make Ri move under the guidance of its OWRpoints at its full speed for almost of the time. As such, no problem similar to the "local minimum" problem exists in the controller as it is impossible for Ri to stay at a "local minimum" point or in a small region.

Algorithm for multi-robot path-planning
Although the proposed motion controller has many advantages, it still has certain problems.
One is that where the OWRpointi is not Ti or else its distance from PRi is larger than DS, the controller may cause Ri to move away from the OWRpointi if Ri has a dangerous wall representative point G satisfying (23), as shown in Figure 3  The reasons for this are that if (23) is satisfied, Ri's PMDline direction may not be changed by the controller since the sign of agl(Ri-(PRi, OWRpointi)) will be opposite to that of agl(Ri-(G, PRi)), as shown in Figure  3(a); as such, the effects of the attractive and repulsive moments may cancel each other out. Accordingly, Ri will move away from the OWRpointi if |agl(Ri-(PRi, OWRpointi)|≥/2. In this situation, the method for avoiding the problem set out above is to let Ri(k) be agl((PRi, OWRpointi)+  1) if the OWRpointi is Ti or else after letting Ri(k)=agl((PRi, OWRpointi)+  1), Ri's PMDline has no intersection with the knowledge obstacle wall on which the OWRpointi lies; otherwise, let Ri(k) be agl((PRi, A second problem is that in the case where the OWRpointi is Ti and its distance from PRi is not larger than DS, the controller may not cause Ri to achieve the same posture as that of Ti as much as possible, if Ri has a dangerous wall representative point G satisfying (24), as shown in Figure  3(b).
|agl(Ti-Ri)+agl(Ri-(G, PRi))|≥ (24) The reasons are similar to that of the first. In this case, the method for avoiding the problem is to let Ri(k) be Ti(k).
A third problem is that where the OWRpointi is Ti and the distance between PRi and Ti is not larger than DS, if Rj is a coordinated companion of Ri and |agl(Ti-Rj)|<  2, as shown in Figure 3(c), then the controller may not resolve the conflicts between Ri and Rj. The reasons for this are that as the direction of Ri's PMDline may be the same as that of Ti's PMDline under the influence of the attractive moment generated by Ti, it is concluded that there is no marked trend for them to move towards each other. As a result, the coordinated moment generated by Ri will only allow Rj to maintain a certain safe distance from Ri but it will not guide Rj in bypassing Ri. In this situation, the method for avoiding the problem is to let Ti(k)=agl(Ti(k)+).
After the above-mentioned pre-processes, the proposed controller performs well in various situations. The algorithm for the local path-planning of multi-robots is then given as follows: simulation will terminate automatically if the distance from the boundary of a robot to that of another one (or an obstacle) is less than 0.05. The path-planning of two robots in a complicated environment is shown in Figure 4 where (including Figure 5) short segments on obstacles are N-type artificial obstacle segments. From Figure 4, we can see that the two robots encounter each other in a narrow passage whose width is only 2DS =2, but the conflict between them is solved quickly. The simulation verifies that the method is effective in solving the conflicts between robots in narrow passages and that robots will not be trapped in complicated environments.
The path-planning of three robots in a complicated environment is shown in Figure 5, where T3 is in the middle of a narrow passage whose width is also 2DS=2, and R3 is at T3 at the initial time. Figure 5 (a) and (b) present the situations in solving the conflicts between the robots at the entrance of a narrow passage and in the middle of the passage, respectively. The simulation verifies, again, that the method is effective for the path-planning of multi-robots in complicated environments.
From Figures 4 and 5, we can see that although the path travelled by each robot may not be the optimal one, it is sure to be a sub-optimal one. As such, the method can optimize the path travelled by each robot. From the discussion and simulations given in this paper, we can arrive at the following conclusions.
1. The proposed method meets the requirements of the real-time property for the following reasons. Firstly, all of the computations involved in the method are spatially distributed and their complexity is bounded regardless of the number of robots. Secondly, it needs almost no pre-processing of the environment, no consideration of the safe distance of robots and no explicit communication. Thirdly, the computational complexity of OWRpoints is low. 2. Compared with the traditional APF method, the proposed motion controller has certain advantages as follows. Firstly, under its control, a robot will not be trapped in a complicated environment, can enter and pass through narrow passages, can reach a target with obstacles nearby, and can achieve the same posture as that of its target as much as possible when it reaches its target. Secondly, it can resolve the conflicts between robots while no other techniquessuch as priorities and negotiation -are needed and it can minimize other robots' influences on a given robot's motion. 3. The proposed method can optimize the path travelled by each robot as each robot's motion is under the guidance of its OWRpoints and other robots' influences are minimized by coordinated moments.
A disadvantage is that the proposed method may find it difficult to solve the conflicts between robots in passages narrower than 2DS or in a dynamical environment. In the future, we will try our best to overcome these disadvantages.