Real-time obstacle avoidance for multiple mobile

0 downloads 0 Views 480KB Size Report
Apr 11, 2008 - is validated by several computer simulations and hardware .... collision-free path for a free-flying robot in an obstacle filled ..... and downloaded to the robots' controller boards. The .... Network and Radial Basis Functions,”Proceedings of the IEEE ... Generic-Shaped Mobile Robots with MCA,” Lecture Notes.
Robotica (2009) volume 27, pp. 189–198. © 2008 Cambridge University Press doi:10.1017/S0263574708004438 Printed in the United Kingdom

Real-time obstacle avoidance for multiple mobile robots Farbod Fahimi∗†, C. Nataraj‡ and Hashem Ashrafiuon‡ † ‡

Mechanical Engineering Department, University of Alberta, Edmonton, AB T6G 2G8, Canada Center for Nonlinear Dynamics & Control ( CENDAC), Villanova University, Villanova, PA 19085, US

(Received in Final Form: March 4, 2008. First published online: April 11, 2008)

SUMMARY An efficient, simple, and practical real time path planning method for multiple mobile robots in dynamic environments is introduced. Harmonic potential functions are utilized along with the panel method known in fluid mechanics. First, a complement to the traditional panel method is introduced to generate a more effective harmonic potential field for obstacle avoidance in dynamically changing environments. Second, a group of mobile robots working in an environment containing stationary and moving obstacles is considered. Each robot is assigned to move from its current position to a goal position. The group is not forced to maintain a formation during the motion. Every robot considers the other robots of the group as moving obstacles and hence the physical dimensions of the robots are also taken into account. The path of each robot is planned based on the changing position of the other robots and the position of stationary and moving obstacles. Finally, the effectiveness of the scheme is shown by modeling an arbitrary number of mobile robots and the theory is validated by several computer simulations and hardware experiments. KEYWORDS: Trajectory planning; multiple robots; obstacle avoidance; potential field method; harmonic potentials; panel method.

1. Introduction In a quest to create autonomous mobile robots, path planning for single mobile robots has been the essential first step. Various methods and algorithms have been developed for single robots such as roadmap, cell decomposition, and potential field methods.1–3 These methods, in their classic forms, are only suitable for environments containing static obstacles. Scientists have addressed the motion planning for a number of circular4 or rectangular5 bodies bounded by a collection of walls. Researchers have also contributed to geometric motion planning for multiple robots.6,7 They have also shown the successful extension of the geometric methods to the cases with moving obstacles8 and multiple robots.9 Recently, researchers have utilized different control theories to address the multiple mobile robot path planning problem. They have addressed the path planning problem for groups of mobile robots as a part of group formation control problems, where a robot group tends to keep a formation as * Corresponding author. E-mail: [email protected]

close as possible while avoiding static obstacles in a centralized approach.10,11 Some researchers have transformed the dynamic motion-planning problem into a conventional optimal control problem in the robot’s acceleration space.12 Others have introduced a decoupled controller, consisting of a force controller and a torque controller to address the presence of multiple obstacles in a robot’s workspace.13 Researchers have also proposed decentralized control to achieve more robustness and to reduce communication among the robots. In the decentralized control approach, local control laws are defined for each robot based on local information. Several different control laws have been developed for decentralized control including hybrid control algorithms.14–16 Behavior-based approach has also been introduced to simplify the definition of control laws in the decentralized control approach.17,18 Potential field methods have also been extensively utilized for obstacle avoidance for single mobile robots, multiple mobile robots, and moving obstacles. In these methods, an area is considered to be under the influence of a potential field. In this field, the goal is represented by an attractive pole and the obstacles are represented by repulsive surfaces. This force can be analytically calculated and is the negative gradient of the potential function. Some researchers have defined an artificial potential field in the robots’ extended space-time configuration.19 While others have utilized the potential field method to plan paths in configuration spacetime (CST) for multiple robots with priority assignments.20 However, to avoid local minima in complex environments, search methods have been introduced at a high cost to the computational speed.21,22 Some researchers have added multiple auxiliary attraction potentials, whose positions are determined by a genetic algorithm, to allow the robot to avoid large obstacles without missing the global goal position.23 Other researchers have introduced revolutionary potential functions to solve the motion planning of a mobile robot where the robot’s target and obstacles are moving. Their potential functions are functions of relative speeds as well as distances. They have also discussed the problem of local minima and demonstrated the effectiveness of their motion planning by extensive computer simulations and hardware experiments.24 Other scientist have proposed a set of analytical guidelines for designing potential functions to avoid local minima for a number of representative scenarios.25 Harmonic potential functions do not suffer from local minima26,27 and lead to unique solutions. Researchers have exploited this property and defined fields in Euclidean space

Real-time obstacle avoidance for multiple mobile robots

190 rather than configuration space.28 They have proposed a recursive algorithm to determine the effective strength for potential functions, based on numerical solution to Laplace’s equation, and have shown the application of their method to path planning for a single mobile robot. Other researchers have presented a three-layer hierarchical path control system consisting of global planning, local navigator, and collision avoidance algorithms.29 Yet others have introduced a twolayered hierarchical path planning for multiple robots, where the second layer uses the potential of a mass-spring-damper system to modify a globally planned path of a robot when it is close to other robots or stationary obstacles.30 Researchers have also investigated the application of harmonic potentials to the case of moving obstacles.31,32 They have constructed the potential field by superposing potential of a sink (goal), a source (standing obstacle), and a dipole (moving obstacle). Other researchers have utilized harmonic potential fields by employing the panel method known in fluid mechanics.33 They have proposed an obstacle avoidance strategy for single mobile robots and planar manipulators with low degrees of redundancy in known environments containing stationary obstacles. This strategy considers arbitrarily shaped obstacles and is quite suitable for real time applications. Their work was also extended to spatial manipulators with high degrees of redundancy.34 Another group of researchers has extended the panel method to the case of unknown environments.35 They have introduced an algorithm that transforms arbitrary shaped obstacles in two-dimensional workspace into simple convex polygons and have extended their work to find a collision-free path for a free-flying robot in an obstacle filled three-dimensional environment.36 They have suggested that by generating a sequence of subpaths, their method can be extended to the cases with moving obstacles. In the present work, we utilize the panel method to address path planning for multiple mobile robots in dynamic environments. First, we introduce a complement to the traditional panel method27 to generate a more effective harmonic potential field for obstacle avoidance. This makes the traditional panel method suitable for dynamically changing environments. Second, we consider a group of mobile robots working in an environment containing stationary and moving obstacles. Each robot is assigned to move from its current position to a goal position. The group is not forced to maintain a formation during the motion. Every robot considers the other robots of the group as moving obstacles and plans its path based on the changing position of the other robots and stationary and moving obstacles. Finally, we have applied the scheme to an arbitrary number of mobile robots and validated the theory through computer simulations and hardware experiments.

Fig. 1. Panel method.

the robot from its current position to the goal, a point sink potential with positive strength g , located at the goal, attracts the robot to the goal, and line source potentials with strengths per unit length λj ’s located on the boundary of the obstacles repulse the robot from the obstacles. The total potential field at point (x, y) can be written as follows: φ(x, y) = φuniform + φgoal +

m 

φj

or φ(x, y) = −U (x cos α + y sin α) +

 m  g λj ln Rg + ln Rj dlj 2π 2π j j =1

2.1. Single mobile robot An artificial potential field is generated using the superposition of a number of harmonic potential functions (Fig. 1). A uniform flow potential with strength U pushes

(2)

where α denotes the direction of the uniform flow, which is directed from the robot’s start position to its goal position. Rg is the distance of point (x, y) to the goal point, Rj is the distance of point (x, y) to a point on the line source j , and m is the number of line sources. In the above equation, the values of U and g will be specified and the line source strengths per unit length λj ’s will be computed ensuring that the contribution of each line source to the potential field is repulsive. In order to generate a repulsive contribution, we specify m potential gradients Vi in a direction perpendicular to the line sources at their midpoints. Using Eq. (2), one can write Vi ’s at the midpoint (xci , yci ) of each line source as

−U

g ∂ ∂ (xci cos α + yci sin α) + ln Rig ∂ni 2π ∂ni ⎛ ⎞  λi +⎝ + λj Iij ⎠ = −Vi 2 j =i i = 1, . . . , m

2. Robust Artificial Harmonic Potential Field

(1)

j =1

(3)

where ni represents the partial derivative in the direction normal to panel i, and 1 Iij = 2π

 j

∂ ln Rij dli ∂ni

(4)

Real-time obstacle avoidance for multiple mobile robots

191

The system of linear Eqs. (3) can be solved for λj and the gradient of the potential field (Eq. (2)) can be integrated to plan the path of the single robot.27 2.2. Condition for convergence to the goal The panel strengths per unit length (λj ) define the contribution of each line on the boundary of the obstacle to the total repulsive potential of the obstacles. Assuming Li ’s are the lengths of the line sources, one can compute the total repulsive (negative) strength of the obstacles o as o =

m 

λ i Li

(5)

i=1

Let’s assume a unit third dimension for our 2D artificial potential, and note the analogy of our potential field to the potential of an irrotational incompressible fluid flow. The total repulsive (negative) strength of the obstacles (o ) can be interpreted as the volumetric flow rate of the fluid emerging from the obstacles, and the attractive (positive) strength of the goal (g ) can be recognized as the volumetric flow rate of the fluid going into the goal sink. One can see that if 0 < −o < g

(6)

all fluid particles in the flow will sink into the goal sink. In other words, Eq. (6) provides the convergence condition for the potential field. This inequality indicates that the total strength of the obstacles o must be less than the goal sink attractive strength g , so that the goal sink becomes the global minimum. This guarantees that the robot does not miss the goal. However, whether or not this condition holds, depends on how Vi , the m potential gradients at the midpoint of each line source, are specified. Note that the effectiveness of this specification depends on the size and location of the obstacles. In the conventional panel method as discussed above, the m outward normal particle velocities Vi at the center of m panels must be heuristically specified by the user to set up a potential field. There is no guarantee that the resulting potential field satisfies the convergence condition (6), in which case the goal position will not be the global minimum of the artificial potential. The user may have to use a trial and error procedure to guess values for Vi ’s (m parameters) such that the convergence condition is satisfied. In situations that only one robot is considered and the obstacles do not move, the potential field has to be set up only once, and a trial and error procedure for selecting Vi ’s may be adequate. However, if multiple robots and moving obstacles have to be considered, the artificial potential field must be updated periodically to reflect the changing positions of the objects. In these situations, applying a trail and error procedure for specifying the correct m outward normal particle velocities Vi that satisfy condition (6) is practically impossible, which renders the conventional panel method inapplicable to cases with multiple robots and moving obstacles. To extend the applicability of the panel method to applications with dynamic obstacles and multiple robots, we

introduce a complement to the panel method that automates the selection of the m outward normal particle velocities Vi while guaranteeing the satisfaction of the convergence condition (6). With this complement, it is possible to update the potential field periodically to address the trajectoryplanning problem for dynamic environments and multiple robots. In the following sections, we discuss the proposed complement to the panel method and the accompanying control strategy and algorithm. 2.3. Multiple mobile robots In the case of path planning for a single robot in an environment with stationary obstacles, the potential field does not change; hence, it is sufficient to specify the potential gradients once by trial and error, such that the convergence condition is satisfied. In the case of group of robots, however, where each robot considers the other robots of the group as moving obstacles, the obstacles’ positions are constantly changing. Therefore, it is necessary to update the potential field, Eq. (2), as the robots move. In other words, the changing potential field has to satisfy the convergence condition (6) at all times. This calls for a procedure to compute the effective m potential gradients Vi at each step automatically such that the convergence condition is satisfied. We rewrite Eq. (3) as m 

Jij λj = −Vi + Wi

i = 1, . . . , m

(7)

j =1

where,  Jij =

Wi = U

1/2 Iij

for i = j for i = j

(8)

g ∂ ∂ (xci cos α + yci sin α) − ln Rig ∂ni 2π ∂ni

i = 1, . . . , m

(9)

One can write λi =

m 

Kij (−Vj + Wj )

i = 1, . . . , m

(10)

j =1

where K = J−1

(11)

Substituting Eq. (10) into Eqs. (5) and (6) results in: m  i=1

Li

m  j =1

Kij Vj < g +

m  i=1

Li

m 

Kij Wj

(12)

j =1

Since larger repulsive potentials are desired for longer panels, we set the magnitude of the gradient at the midpoint of each line source proportional to its length as follows. Vj = aLj

(13)

Real-time obstacle avoidance for multiple mobile robots

192 and rewrite Eq. (12) as: a < amax

(14)

where ⎛ amax = ⎝g +

m  i=1

Li

m 

⎞ ⎛ ⎞ m m   Kij Wj ⎠ ⎝ Li Kij Lj ⎠

j =1

i=1

j =1

(15) Since U and g are specified and the geometry of the obstacle field is given, all the parameters on the right hand side of Eq. (15) can be calculated from Eqs. (8), (9), and (11). Therefore, one only needs to compute amax using Eq. (15) and simply choose a value for a that satisfies the inequality (14). Substituting Eq. (13) into Eq. (10), the line sources strengths can be computed from, λi =

m 

Kij (−aLj + Wj )

i = 1, . . . , m

(16)

j =1

The corresponding velocity field, u, can then be derived from u = −∇φ and using Eq. (2), g ∂ ln Rg 2π ∂x  m  λj ∂ ln Rj dlj − 2π j ∂x j =1

field and plan a trajectory for the robots. In the following section, we discuss these issues and propose methods to use the velocity field information for obstacle avoidance.

3. Control Strategy

ux (x, y) = U cos α −

g ∂ ln Rg 2π ∂y  m  λj ∂ ln Rj dlj − 2π j ∂y j =1

Fig. 2. The effect of ratio a/amax on the robot path.

(17)

uy (x, y) = U sin α −

(18)

where α represents the direction of the uniform flow, which is directed from a robot’s current position to its final goal position. The effect of a/amax on the path of a single robot is shown in Fig. 2. A small a/amax produces a path close to obstacles. Hence in practical situations, a robot with finite dimensions following the path may collide with obstacles. Larger a/amax ratios produce less economical but safer paths that are farther away from the obstacles. When a/amax is equal to (or greater than) 1, the robot will miss the goal and follow the uniform flow potential to infinity since inequalities (6) and (14) are not satisfied. Note that these velocities correspond to the artificial potential field built for obstacle avoidance. Once again, one may use the analogy of this artificial potential to that of an irrotational incompressible fluid flow, and note that these velocities can be thought of as velocity of fluid particles, which are not the real velocity of the robots. In fact, it may not be possible to use these velocities directly to control the velocity of the robots, because they could be too high for the robots to achieve. In this situation, a control strategy is needed to use the velocity information of the potential

3.1. Trajectory planning Consider a single robot. If the robot is in an environment containing only stationary obstacles, there is no need to update the potential as the robot moves. Therefore, it is sufficient to generate a hypothetical potential field by specifying the a/amax ratio and integrate the velocity field, u, to determine the trajectory P (x(t), y(t)). This trajectory contains information about the geometry of the path as well as velocity along the path. But as stated before, a robot may not be able to follow this velocity profile due to limited maximum speed. To solve this problem for a single mobile robot, we can simply ignore the time dependency of the trajectory and use the path P (x, y) as a geometric desired path for the robot motion. Then, any path-tracking controller that considers the robot maximum speed and/or power can drive the robot on the path among the obstacles to the goal. Note that the speed of the robot tracking the path is generated by the path-tracking controller and is different from the speed profile obtained from integrating the velocity field u, which was ignored. Let us now consider the implementation of the potential method for trajectory planning of a group of n mobile robots. We assume that a typical robot in the group considers the other robots of the group as moving obstacles. This means that each robot of the group has a different artificial potential field, which is time-dependent. Let u(i) (t) = −∇φ (i) (t) be the potential gradient that is computed for the ith robot. Also, without loss of generality, assume that all members of the group have a maximum velocity of vmax . Then, the normalized instantaneous velocity of each robot is set as v(i) (t) =

vmax (i) u (t) umax (t)

(19)

Real-time obstacle avoidance for multiple mobile robots

Fig. 3. Hilare robot kinematics.

where umax (t) is the magnitude of the largest potential gradient of those computed for the robots at time t. umax (t) = max(|u(i) (t)|, i = 1, . . . , n)

(20)

and n is the number of robots. Given the initial position vector of the ith robot, P(i) 0 , one can compute the trajectory of each robot by integrating the instantaneous velocity.  P(i) (t) = P(i) 0 +

t

v(i) (τ )dτ

(21)

0

Once the trajectory has been determined, it can be fed to a trajectory tracking controller, which controls the robots such that they follow the planned trajectory. There are many control method proposed by researchers. For our experiments, however, we adopted the nonlinear control method introduced in ref. [37].

4. Algorithm Consider a group of n mobile robots in a field of moving and stationary obstacles and assume that the starting position and geometry of robots and obstacles are known. The goal position of all the robots, the uniform flow strength, U , the goal strength, g , the factor a/amax , and the update time interval t are preselected. Also, the trajectories of the moving obstacles are assumed to be known. A ground station, which plans the trajectories, is in communication with the robots. The ground station and the robots execute the following algorithm. (1) At time t, the robots sequentially communicate their positions to the ground station. The ground station sets up an obstacle field for robot i based on the panels corresponding to the stationary and moving obstacles plus 4(n − 1) panels representing the other robots of the group. The goal sink is defined at the corresponding goal position of the ith robot, and the uniform flow potential is directed from the current position of this robot to its goal position. (2) For robot i, the ground station uses the above artificial potential setup along with Eqs. (8), (9), (11), and (15) and computes the robot i’s corresponding amax . (3) Then, it obtains a by using the specified value for a/amax , and calculates the corresponding panel strengths, λj ’s from Eq (16).

193 (4) For robot i, the ground station determines the potential gradient, u(i) (t), corresponding to the robot i’s current location from Eqs. (17) and (18). The ground station executes steps 2 to 4 for all the robots. (5) The ground station searches for equal magnitudes of the potential gradients among all the robots. If it detects a subgroup of robots that see equal potential gradients, it modifies the potential gradients of that subgroup. The potential gradient of the robot with the lowest number in the subgroup remains unchanged, and the potential gradient for the robot with the highest number in the subgroup is set to zero. Then, the ground station determines the potential gradient of the rest of the robots in the subgroup by linear interpolation between the equal potential gradient and zero. This step is necessary, or members of the subgroup may collide with each other. (6) The ground station searches for the maximum potential gradients that are calculated for the group of robots, Eq. (20), and plans the robots’ instantaneous velocities at current time t using the control strategy defined in Eq. (19). Then, it sequentially sends the calculated instantaneous velocities to all the robots. (7) Robot i computes its desired position at time t + t from Eq. (21), and tracks this trajectory using a trajectory tracking controller. At time t + t the robots have moved to new positions. The algorithm starts from the first step and repeats for the new positions. This procedure continues until all the robots are at their goal positions. Note that although the robots are numbered from 1 to n, the numbers are not priority numbers by any means and are only for reference. In general, the numbering does not affect the result of the algorithm, because the velocity of the robots are determined only based on the potential gradients. The only minor exception is when a subgroup of robots see equal potential gradients. In this case, the robot numbers affect the calculation of the velocity of the robots in the subgroup as explained above.

5. Structural Local Minimum and Stagnation Points May be the most common disadvantage of the potential field methods is the problem of local minima. Fortunately, this problem can be addressed by using harmonic potentials and the panel method. However, attention must be paid to the general limitations of the potential field methods, and the particular issues of the panel method (or harmonic potential fields). Generally, in the potential field methods, the robot is considered as a point without physical dimensions. With this assumption, a planned trajectory among obstacles that is valid for a point robot, may not be valid for a robot with real physical dimensions. This is known as the structural local minimum. To avoid the structural local minimum, we have considered the size of the mobile robot whose path is being planned. This has been done by extending the size of the obstacles and other robots in the workspace by at least half of the size of the mobile robot. When the size of the obstacles are extended as described above, an opening

194

Real-time obstacle avoidance for multiple mobile robots

Fig. 4. Snapshots of the motion of three robots avoiding obstacles.

between two obstacles that has a dimension just equal to the size of the robot, appears to be blocked. Therefore, no path will be planned through that opening, which is impossible to be passed by the robot. Another issue of harmonic potential fields is the existence of stagnation points (local maxima), at which the potential gradient is zero. In the vicinity of these points the planned velocity for a robot becomes very close to zero, and there is a possibility that a robot will be trapped at these points. However, these points are not considered as stable equilibrium points in the potential, because the gradient of the potential in the vicinity of these points (local maxima) is negative. This means that if the robot is disturbed from a stagnation point, it will continue its way toward the global minimum of the potential. A step can be easily incorporated into the path planning algorithm, which will assign a small velocity away from the obstacle to the robot if it detects a stagnation point.

6. Simulation Results We have applied the procedure described in Section 4 to two examples with different number of robots and obstacle fields. In simulations, full communication is assumed. In the presented examples, the values U = 1 m/s and g = 30 m2 /s are used for uniform flow strength and goal attractive strength, respectively, for all robots. Also, a/amax ratio is set to 0.99 for all examples to minimize the possibility

of collision. Robots are assumed to have the same size (0.20 m by 0.15 m) and maximum speed (0.1 m/s) and the robots’ geometry is approximated by a rectangle with dimensions twice as large as their real dimensions. This is required because when the potential field is generated for a typical robot in the group, the robot itself is treated as a point. By assuming larger dimensions for the other robots, it is guaranteed that the robots do not collide. The same argument is valid for dimensions of the obstacles. Therefore, the stationary and moving obstacles are approximated by polygons that are larger than the actual obstacles by half of the largest dimension of the largest robot. Example 1: Three robots 1, 2, and 3 are assumed to be initially located at start positions S1 (0.6, 1.5), S2 (−0.6, 1.5), and S3 (0.0, 1.5) m, respectively. The robots’ goal points are defined at G1 (−0.6, −1.2), G2 (0.6, −1.5), and G3 (0.0, −1.2) m for robots 1, 2, and 3, respectively. Note that, the robots are numbered arbitrarily and the numbering does not affect the simulation results. Figure 4 shows six snapshots of the robot group motion. The start and goal points are marked on the figure. Two stationary obstacles, shown by thick lines, are placed in the environment with a narrow passage. Robots are shown by rectangles with arrows indicating the direction of their movement. The traces of the robots are also shown. Note that due to the width of the narrow passage, the robots cannot pass the opening at the same time and are

Real-time obstacle avoidance for multiple mobile robots

195

Fig. 5. Snapshots of the movement of five robots avoiding obstacles.

on a collision course. The only way is to go through the opening one at a time. Also, note that robots 1 and 2 are symmetrical with respect to obstacles, which means that they are at points with equal potentials. The symmetry detecting algorithm, described in Section 4, slows down robot 1 to avoid collision. As seen in Fig. 4, robot 1 and 2 slow down while robot 3 is passing the opening, after which robot 2 speeds up and robot 1 follows. The robots manage to arrive at their corresponding goal points without colliding with each other and the obstacles. Robots 1, 2, and 3 are at their goals after 58, 50, and 27 s, respectively. Example 2: In this example, five robots 1, 2, 3, 4, and 5 are assumed to be located at start positions S1 (0.0, 1.5), S2 (0.5, −1.0), S3 (0.5, 0.5), S4 (1.0, 1.0), and S5 (1.0, −0.5) m, respectively. The robots’ goal points are at G1 (5.0, −1.0), G2 (5.0, 1.0), G3 (5.0, 0.0), G4 (6.0, −0.5), and G5 (6.0, 0.5) m for robots 1, 2, 3, 4, and 5, respectively. Two stationary obstacles and one moving obstacle are present. The moving obstacle (20 by 20 cm) starts its movement at (5.0, −1.5) m and moves with velocity components of −0.045 and 0.030 m/s along the x and y axis, respectively. Figure 5 shows six snapshots of the robot group movement. The start and goal points, and the trace of the robots and the moving obstacle are also shown in the figure. As seen from the figure, the robots start moving toward their goal positions. After 23 s, robot 5 encounters the

Fig. 6. Two Hilare type robots.

moving obstacle. It maneuvers to avoid colliding with the obstacle. At 50 s, the moving obstacle approaches robot 3, while robot 4 is passing by one of the stationary obstacles. Robot 3 successfully avoids the moving obstacle. In the mean time, robot 5 arrives at its goal position. After 85 s, robot 1 senses the presence of the moving obstacle and maneuvers to avoid it, while robot 4 finds robot 5 in its way. At 100 s, both robots 1 and 4 have escaped from collision, while robot 3 arrives at its destination. Robots 4, 2, and 1 continue on their paths and reach their goals after 132, 150, and 173 s, respectively.

Real-time obstacle avoidance for multiple mobile robots

196

Fig. 7. Snapshots of the motion of two actual robots avoiding obstacles..

7. Hardware Experiments Two Hilare type robots were designed and assembled at our micro-robotics laboratory (Fig. 6). The robots are 20 cm long and 12 cm wide. Two miniature DC motors drive the two wheels of the robot independently. The driving DC motors are controlled by EyeBot MK4 controller board. It is equipped with a 25 MHz 32-bit CPU (Motorola 68332), 1 MB RAM, and 512 KB ROM (for system software and mounted hardware definition tables), and an LCD display. The board may be programmed from a PC or UNIX workstation and programs are downloaded via serial line (RS-232) into RAM or Flash-ROM. Programs may be coded in C or

assembly language. The micro-controller board also supports a wireless communication module, which allows data transfer between EyeBot boards and/or a UNIX workstation. Each robot is powered by a 9.6-volt Ni-MH racing car rechargeable battery with 1600 mAh, which provides enough power to run the robot for two h. A trajectory tracking control algorithm based on chainform of the robots’ kinematic model37 was coded in C and downloaded to the robots’ controller boards. The panel method and the trajectory planning algorithm were programmed on a UNIX ground station with a Pentium 4 CPU running at 3.2 GHz. The robots and the moving obstacle (which was a tracked robot itself) communicated their positions and orientations via their on-board wireless modules at a baud rate of 56K bits per s. The ground station planned the instantaneous velocity of the two robots in realtime by considering four panels per robot and four panels per static obstacle. The PC sent the velocity components to the robots, which calculated and tracked the trajectory. The

Fig. 8. Tracking error of the robots vs. time.

Fig. 9. Path error of the robots vs. time.

Fig. 10. Planned and actual speed of robot 1 vs. time.

Real-time obstacle avoidance for multiple mobile robots wireless communication and the calculations in each cycle took about 22 and 2 ms, respectively. This would allow for a potential field update rate of about 40 Hz. However, a constant rate of 10 Hz for updating the potential field was set. Since the limit for the planned velocity was set as 0.1 m/s, the robots could move 0.01 m at most between the updates. The positions and orientations of the robots were measured via odometry. The robots logged their positions at a rate of 1 Hz. A test course was setup with a narrow passage for the robots. The start and the goal positions of each robot were specified at S1 (−1.5, 0.6), S2 (−1.5, −0.6), G1 (1.2, −0.6), G2 (1.2, 0.6) m, respectively. A 20 cm by 15 cm moving obstacle (a dummy robot) at (−1.5, 0) m starts to move with the speed of 0.1 m/s simultaneously with the robots and stops after 27 s. Figure 7 shows six snapshots of the motion of the two robots. The dashed curves show the path planned and the trace of the moving obstacle. The solid curves show the logged position of the robots based on the odometer reading. The robots are represented by rectangles with arrows showing the direction of the movement. The robots follow the planned trajectory closely. Although some small errors are caused by the path tracking controller, the robots avoid the obstacles and each other successfully. The tracking error for each robot vs. time are plotted in Fig. 8. This error shows the distance of the location of each robot with its planned location at the same time. In Fig. 8, the dashed and the solid curve show the tracking error for robots 1 and 2, respectively. The maximum tracking error is 0.11 m and occurs at t = 46 s for robot 1. This error is smaller than the robots’ smallest dimension. Figure 9 shows the path error for each robot vs. time. This error represents the shortest distance between the location of each robot and the path geometry at a given time instance. The maximum path error is 0.07 m and occurs at t = 46 s for robot 1. The maximum path error is 36% less than the maximum tracking error. The planned and actual speed of robot 1 vs. time are plotted in Fig. 10. One can see that the higher tracking and path errors correspond to higher fluctuations in the actual speed due to an abrupt change in the planned speed, which occurs at t = 46 s. Note that these fluctuations can be reduced by fine tuning the tracking controller gains.

8. Conclusions The real time path planning problem for multiple mobile robots in the presence of static and dynamic obstacles was addressed. Harmonic potential functions and the panel method were adapted to the obstacle avoidance problem. This paper introduced a complement to the traditional panel method to generate a more effective harmonic potential field for obstacle avoidance, which rendered the traditional harmonic potential method more suitable for dynamically changing environments. An algorithm for a group of mobile robots working in an environment with stationary and moving obstacles was developed. In this algorithm, robots move from one position to another without maintaining a formation during the motion. Every robot considered the other robots of the group as moving obstacles. Hence, the physical

197 dimensions of the robots were considered in path planning. The path of each robot was planned based on the changing position of the other robots and moving obstacles, and the position of stationary obstacles. Finally, the effectiveness of the scheme was shown through computer simulations and hardware experiments. The method proposed in this research is simple, efficient, accurate, and scalable, and is suited for practical situations as shown by the numerical simulations and hardware experiments.

Acknowledgments The authors would like to thank the Center for Nonlinear Dynamics & Control (CENDAC) at Villanova University for providing space and hardware for experiments. References 1. J. Canny, The Complexity of Robot Motion Planning (The MIT Press, Cambridge, MA, 1987). 2. L. Zexiang and J. F. Canny, Nonholonomic Motion Planning (Kluwer Academic Publishers, Norwell, MA, 1993). 3. J. Latombe, Robot Motion Planning (Kluwer Academic Publishers, Boston, MA, 1991). 4. J. T. Schwartz and M. Sharir, “On the piano movers’ problem: III. Coordinating the motion of several independent bodies amidst polygon barriers,” Int. J. Robot. Res. 2(3), 46–75 (1983). 5. J. E. Hopcrof, J. T. Schwartz and M. Sharir, “On the complexity of motion planning for multiple independent objects; pspacehardness of the warehouseman’s problem,” Int. J. Robot. Res. 3(4), 76–88 (1984). 6. S. M. LaValle and S. A. Hutchinson, “Optimal motion planning for multiple robots having independent goals,” IEEE Trans. Robot. Autom. 14(6), 912–925 (1998). 7. N. Gulec and M. Unel, “A Novel Algorithm for the Coordination of Multiple Mobile Robots,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 3733 NCS, (2005) pp. 422–431. 8. J. P. van den Berg and M. H. Overmars, “Roadmap-based motion planning in dynamic environments,” IEEE Trans. Robot. 21(5), 885–897 (2005). 9. S. Lee and T. M. Adams, “Spatial model for path planning of multiple mobile construction robots,” Comput.-Aided Civ. Infrastruct. Eng. 19(4), 231–245 (2004). 10. J. P. Desai, P. J. Ostrowski and V. Kumar, “Modeling and control of formations of nonholonomic mobile robots,” IEEE Trans. Robot. Autom. 6, 905–908 (2001). 11. K. Hirota, T. Kuwabara, I. Kenichi, A. Miyanohara, H. Ohdachi, T. Ohsawa, W. Takeuchi, N. Yubazaki and M. Ohtani, “Robots Moving in Formation by Using Neural Network and Radial Basis Functions,” Proceedings of the IEEE International Conference on Fuzzy Systems, vol. 1, Yokohama, Japan (1995) pp. 91–94. 12. X.-J. Jing and Y.-C. Wang, “Control of Behavior Dynamics for Motion Planning of Mobile Robots in Uncertain Environments,” Proceedings of the 2005 IEEE International Conference on Mechatronics, ICM ’05, vol. 2005, Taipei, Taiwan (2005) pp. 364–369. 13. Y. Liang and H.-H. Lee, “Avoidance of Multiple Obstacles for a Mobile Robot with Nonholonomic Constraints,” American Society of Mechanical Engineers, Dynamic Systems and Control Division (Publication) DSC, vol. 74 DSC, no. 2 PART B, Orlando, FL, United States (2005) pp. 1657–1663. 14. R. J. Lawton, B. J. Young and R. W. Beard, “A Decentralized Approach to Elementary Formation Maneuvers,” Proceedings of the IEEE International Conference on Robotics and

Real-time obstacle avoidance for multiple mobile robots

198

15. 16.

17. 18.

19.

20.

21.

22.

23. 24.

Automation, vol. 1, San Francisco, CA, USA (2000) pp. 2728– 2743. H. Yamaguchi, “Cooperative hunting behavior by mobile robot troops,” Int. J. Robot. Res. 9, 931–940 (1999). J. Shao, G. Xie, J. Yu and L. Wang, “Leader-Following Formation Control of Multiple Mobile Robots,” Proceedings of the 20th IEEE International Symposium on Intelligent Control, ISIC ’05 and the 13th Mediterranean Conference on Control and Automation, MED ’05, vol. 2005 (Limassol, Cyprus), pp. 808–813, 2005. T. Balch and R. C. Arkin, “Behavior-based formation control for multi-robot teams,” IEEE Trans. Robot. Autom. 6, 926–939 (1998). Z. Cao, L. Xie, B. Zhang, S. Wang and M. Tan, “Formation Constrained Multi-robot System in Unknown Environments,” Proceedings of IEEE International Conference on Robotics and Automation, vol. 1, Taipei, Taiwan (2003) pp. 735– 740. F. M. Marchese and M. D. Negro, “Path-Planning for Multiple Generic-Shaped Mobile Robots with MCA,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 3993 NCS–III (2006) pp. 264–271. C. Warren, “Multiple Robot Path Coordination Using Artificial Potential Fields,” Proceedings of the IEEE International Conference on Robotics and Automation, vol. 1, Cincinnati, OH, USA (1990) pp. 500–505. C. Sheu and K. Young, “Heuristic approach to robot path planning based on task requirements using a genetic algorithm,” J. Intell. Robot. Syst.: Theory and Appl. 1, 65–88 (1996). X. Yun and K. Tan, “Wall-Following Method for Escaping Local Minima in Potential Field Based Motion Planning,” Proceeding of the 8th International Conference on Advanced Robotics, ICAR’97, Monterey, CA, USA (1997) pp. 421– 426. F. A. Cosio and M. P. Castaneda, “Autonomous robot navigation using adaptive potential fields,” Math. Comput. Modelling 40(9–10), 1141–1156 (2004). S. S. Ge and Y. J. Cui, “Dynamic motion planning for mobile robot using potential field method,” Auton. Robot. 1, 207–222 (2002).

25. D. H. Kim, H. O. Wang, G. Ye and S. Shin, “Decentralized Control of Autonomous Swarm Systems Using Artificial Potential Functions: Analytical Design Guidelines,” Proceedings of the IEEE Conference on Decision and Control, vol. 1, Nassau, Bahamas (2004) pp. 159–164. 26. C. R. Chester, Techniques in Partial Differential Equations (McGraw-Hill, New York, 1971). 27. J. Kim and P. K. Khosla, “Real-time obstacle avoidance using harmonic potential functions,” IEEE Trans. Robot. Autom. 3, 338–349 (1992). 28. C. I. Connolly, J. B. Burnd and R. Weiss, “Path Planning Using Laplace’s Equation,” Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA (1990) pp. 2102–2106. 29. J. Guldner, V. I. Utkin and R. Bauer, “A three-layered hierarchical path control system for mobile robots: Algorithms and experiments,” Robot. Autom. Syst. 14, 133–147 (1995). 30. T. Arai and J. Ota, “Motion planning of multiple mobile robots using virtual impedance,” J. Robot. Mechatronics 8(1), 67–74 (1996). 31. S. Akishita, S. Kawamura, and T. Hisanobu, “Velocity potential approach to path planning for avoiding moving obstacles,” Adv. Robot. 7(5), 463–478 (1996). 32. S. Sugiyama and S. Akishita, “Path Planning for Mobile Robot at Crossroads by Using Hydrodynamic Potential,” Proceedings of 1998 Japan–USA Symposium on Flexible Automation, Ohstu, Japan (1998) pp. 595–602. 33. A. M. Kuethe and C. Y. Chow, Foundation of Aerodynamics: Bases of Aerodynamic Design, 4th ed. (Wiley, New York, 1986). 34. F. Fahimi, H. Ashrafiuon and C. Nataraj, “Obstacle avoidance for spatial hyper-redundant manipulators using harmonic potential functions and the mode shape technique,” J. Robot. Syst. 20(1), 23–33 (2003). 35. Y. Zhang and K. P. Valavanis, “Sensor-based 2-D potential panel method for robot motion planning,” Robotica 1, 81–89 (1996). 36. Y. Zhang and K. P. Valavanis, “A 3-D panel method for robot motion planning,” Robotica 1, 421–434 (1997). 37. A. D. Luca, G. Oriolo and C. Samson, Feedback Control of a Nonholonomic Car-Like Robot, Robot Motion Planning and Control (Springer-Verlag, Berlin, Germany, 1998).

Suggest Documents