Abstract
This paper proposes a potential-based path planning algorithm of articulated robots with 2-DOF joints. The algorithm is an extension of a previous algorithm developed for 3-DOF joints. While 3-DOF joints result in a more straightforward potential minimization algorithm, 2-DOF joints are obviously more practical for active operations. The proposed approach computes repulsive force and torque between charged objects by using generalized potential model. A collision-free path can be obtained by locally adjusting the robot configuration to search for minimum potential configurations using these force and torque. The optimization of path safeness, through the innovative potential minimization algorithm, makes the proposed approach unique. In order to speedup the computation, a sequential planning strategy is adopted. Simulation results show that the proposed algorithm works well compared with 3-DOF-joint algorithm, in terms of collision avoidance and computation efficiency.
1. Introduction
Path planning of a robot is to determine a collision free trajectory from its original location and orientation (called starting configuration) to goal configuration (Latombe, J. C. (1999)). Some planners adopt the configuration space (c-space) base approach (Lozano-Perez, T. (1983)) (Brooks, R. & Lozano-Preez, T. (1985)) (Kavraki, L.E. & Latombe, J.C. (1994)) (Kavraki, L.E., Svestka, P., Latombe, J.C., & Overmars, M. H. (1996)) (Tsourveloudis, N.C., Valavanis, K.P. & Herbert, T. (2001)) (Geraerts, R., & Overmars, M. H. (2007)) (Leng, C., Cao, Q.X. & Huang, Y.W. (2008)). A point in a c-space indicates a configuration of a robot which is usually encoded by a set of the robot's parameters; e.g., joint angles between the robot links. Thus, path planning of articulated robots is reduced to the problem of planning a path from the start to goal point in free space of the c-space. Unlike c-space based approaches, geometric algorithms directly use spatial occupancy information of the workspace (w-space) to solve path planning problem (Khosla, P. & Volpe, R. (1988)) (Chuang, J.H. & Ahuja N. (1998)) (Chuang, J.H. (1998)) (Valavanis, K.P., Herbert, T. & Tsourveloudis, N.C. (2001)) (Lin C.C. & Chuang, J.H. (2010)) (Tsai, C.H., Lee, J.S. & Chuang, J.H. (2001)) (Lin C.C., Pan, C.C. & Chuang, J.H. (2004)) (Lahouar, S., Zeghloul, S. & Romdhane, L. (2008)) (Dasgupta, B., Gupta, A., & Singla, E. (2009)) (Conkur, E.S. (2009)). Workspace-based algorithms usually extract relevant information about the free space and use them together with the robot geometry to find a path. However, not all approaches try to find path with minimum risk of collision. To minimize such a risk, repulsive potential fields between charged robot links and obstacles are used in (Khosla, P. & Volpe, R. (1988)) (Chuang, J.H. & Ahuja N. (1998)) (Chuang, J.H. (1998)) (Valavanis, K.P., Herbert, T. & Tsourveloudis, N.C. (2001)) (Tsai, C.H., Lee, J.S. & Chuang, J.H. (2001)) and (Lin C.C. & Chuang, J.H. (2010)) to match their shapes in the path planning.
In general, the potential function used to model the environment can be a scalar function of the distances between boundary points of the robot and those of obstacles. The gradient of such a scalar function, i.e., the repulsive force between the robot and obstacles, can be used to move the former away from latter making potential-based methods simple.
The Newtonian potential which is inversely proportional to the distance between two point charges is used in (Chuang, J.H. & Ahuja N. (1998)) for path planning in the 2-D space. The approach computes, similar to that done in electrostatics, repulsive force and torque between robots and obstacles in the workspace. An algorithm is developed to compute a safe and smooth object path by minimizing the potential function locally for obstacle avoidance, while the gross robot movement is subject to the constraints derived from the topology of the path given a priori. Since the potential is minimized for the obstacle avoidance purpose only, its local minima do not cause a problem in the path planning. The approach is generalized to the 3-D space for the path planning of rigid objects in (Tsai, C.H., Lee, J.S. & Chuang, J.H. (2001)) using the generalized potential proposed in (Chuang, J.H. (1998)).
In Reference (Lin C.C., Pan, C.C. & Chuang, J.H. (2004)), a potential-based path planning algorithm was proposed for articulated robots with 3-DOF joints, spherical joints, as shown in Fig. 1(a). Because the joint has three DOFs, the robot can take full advantage of the proposed algorithm in potential minimization. In this paper, an improved algorithm is proposed for a robot with 2-DOF joints. While a robot with active 3-DOF joints is rare in practice, a robot with 2-DOF joints is often seen in many kinds of applications. The Hooke joint, which has two orthogonal rotation axes as shown in Fig. 1(b), is adopted in this paper to establish the connection between two links.
In this paper, the generalized potential field model presented in (Chuang, J.H. (1998)), is reviewed in next section, is adopted to model the workspace for the path planning of articulated robots. The proposed approach uses one or more guide planes (GPs) among obstacles in the free space as final or intermediate goals in the workspace for the articulated robot to reach. These GPs provide the articulated object a general direction to move forward and also help to establish certain motion constraints for adjusting robot configuration for minimum potential during path planning, as discussed in Section 3. An implementation of the proposed approach based on a sequential planning strategy is discussed. In Section 4, simulation results are presented for path planning performed for robots in different 3-D environments. Section 5 gives conclusions of this work.

Two types of robot joint. (a) An example of 3-DOF joints, a spherical joint, and its axes. (b) An example of 2-DOF joints, a Hooke joint, and its axes
2. Generalized Potential Fields in the 3-D Space
In this paper, the generalized potential field proposed in (Chuang J.H. (1998)) is used to modal the 3-D environment by representing object/manipulators by charged sample points, and obstacles by charged polygons, respectively. The main advantages of using such a free space model include: (i) the repulsion among object, manipulators, and obstacles, in forms of force and torque, can be derived in closed form, (ii) the planned object/manipulator paths are spatially smooth and (iii) the collision avoidance of these paths are guaranteed if the above charged points are adequate.
In (Chuang, J.H. (1998)), the potential function is assumed to be inversely proportional to the distance between two point charges to the power of an integer (m). Thus, the potential field at point
Where R = |r' - r|, r' ∈ S, and integer m is the order of the potential function. In particular, it is shown that the repulsive force exerted on a point charge due to a 3-D polygon can be obtained analytically by evaluating the gradient of the potential function (for m=3)
with (subscript i is omitted(see Appendix))
where the x i -y i -z coordinate system is determined by the right-hand rule for each edge i of the polygon such that z is measured along the normal direction of S, and x i is measured along edge i of the polygon, respectively, and α is a constant. Hence, if a robot is represented by charged points and obstacles are represented by charged polygons. The repulsive force exerted on the robot due to obstacles can be denoted as
where m is the number of charged points, n is the number of obstacle polygons, and
The discussion for repulsive torque is similar and is omitted for brevity.
3. Path Planning Algorithm
In this section, the application of the potential model reviewed in the previous section to path planning of articulated robots with 2-D joints will be discussed. For a rough description of the path of an articulated robot, the proposed approach identifies one or more guide planes (GPs) as its final or intermediate goals in the 3-D workspace (see Fig. 2). The generation and selection of initial GPs will be discussed next. The GPs are polygons among obstacles in the free space, providing the articulated robot a general direction to move forward. As for a description of the configuration of the articulated robot, an n-link articulated robot is represented by its leading tip and the n-1 joints, as shown in Fig. 2. A sequential and collision free traversal of a given sequence of GPs by these control points (and the links) is regarded as a global solution of the path planning problem of the articulated robot. In the planning procedure discussed next, intermediate GPs will also be added along the path each time when a given GP is not directly reachable.

An articulated robot with a leading tip, joints, links and a moving base is to move toward the goal by sequentially traversing a sequence of GPs.
3.1 Generation and Selection of initial GPs
In the proposed algorithm, the GPs provide the articulated robot a general direction to move forward. The selection of the initial GPs may base on (i) their density along the passage, (ii) the visibility between two adjacent GPs, or (iii) the angular variation of two adjacent GPs. For the examples considered in this paper, the initial GPs are selected arbitrarily and the algorithm seems to work reasonably well in terms of the sensitivity of the planned path to the selection of initial GPs. In general, these initial GPs can also be obtained from the Generalized Cylinder (GC) (Nevatia, R. & Binford, T. O. (1977)) representation as cross-sections perpendicular to the GC axis (see Figs. 3(a) and (b)). Fig. 3(a) shows a passage which has an approximate rectangle cross-section, and an axis of its GC representation. Often, there is no limit on the number of cross-sections while their shapes are not specified in advance explicitly GC representation (see Fig. 3(b)).

The generalized cylinder presentation of a passage

Basic path planning procedure for a given GP (see text)
On the other hand, the shape of the GPs is usually not critical in the proposed approach as long as the GPs are confined in the free space. Thus, mainly the normal vectors of the GPs, e.g., obtained from the direction of the GC axis are important. Such an axial representation can also be derived from (i) the global navigation function as in (Connolly, C. I. & Grupen, R. A. (1990)) (Barraquand, J. & Latombe, J.C. (1991)) (Koditschek, D.E. (1987)), as well as (ii) the tree structure representation of free space obtained from the wavefront expansion presented in (Brock, Oliver & Kavraki, L. E. (2001)). While the gradient of (i) leads a point object to the goal, global connectively of free space is available in (ii) and is used in (Brock, Oliver & Kavraki, L. E. (2001)) to solve a planning problem in low dimensions.
While the idea of initial GPs can be regarded as a simplified version of global navigation functions which lead the robot to its final goal, the intermediate GPs added in Step 1 of Articulate_ Robot_to_GP is derived from a “local” navigation (potential) function in the proposed approach. Instead of leading the robot to the final goal (point), the potential field attracts the robot to an intermediate goal (plane), i.e., one of initial GPs. Thus, depending on its current location, the robot is allowed to reach an intermediate goal plane at various locations via various paths. Such flexibility in generating a global forward movement, compared to the traversal of the single path derived from a global navigation function, will hopefully reduce the number of collisions needed to be corrected, and thus the intermediate robot configuration, during the path planning.
3.2 Basic Procedure of Path Planning
In this paper, the proposed path planning approach derives a series of minimum potential configurations along the path of an articulated robot by locally adjusting its configuration for minimum potential using the results reviewed in Sec. 2. Assuming that a guide plane GP1 is given as an intermediate goal, the basic path planning procedure for moving the leading tip, p', of an articulated robot onto GP1 include (see Fig. 4):
Translate links of the articulated robot to move p' toward the GP1. If p' can not reach GP1 directly, e.g., due to collision, an intermediate plane GP'1 is inserted. (Fig. 4(a))
Search for the minimum potential configuration of the articulated robot for p ∈ GP'1 by repeatedly executing:
(i) Search for the minimum potential configuration of the articulated robot with lnk1 fixed in orientation
by sliding p on GP'1 (see Fig. 4(b)). (ii) Search for the minimum potential configuration of the articulated robot with p fixed in position (see Fig. 4(c)).
(iii) Repeat (i) and (ii) until p reaches GP1.
In general, there are different ways to change the configuration of the articulated robot to move p' toward GP1. A simple translation of all links is adopted in (i) as a preliminary implementation of our algorithm, as shown in Fig. 4(a). The direction of the translation is determined such that
As for the search for the minimum potential configuration of the articulated robot in (ii), since lnk1 has five DOFs, i.e., two for its location for p ∈ GP'1 and three for its orientation, the associated constrained optimization problem is divided into two iterative univariant optimization procedures, as in (ii-a) and (ii-b). In (ii-a), lnk1 is fixed in its orientation (see Fig. 4(b)) as p slides on GP'1 to search for the minimal potential configuration and other links are sequentially adjusted in orientation, staring from lnk2. In (ii-b), lnk1 is adjusted in orientation while fixed in position (see Fig. 4(c)) and the procedure for adjusting the rest links is similar to that in (ii-a), except only two DOFs for orientation. For a particular GP, say GP'1 in Fig. 4, (ii-a) and (ii-b) are repeatedly performed until negligible change in the configuration of the articulated robot is obtained. Then, another intermediate GP which is closer to GP1 is obtained with (i) and the process repeats. The path planning algorithm, as summarized below, ends as the leading tip reaches the given GP1 or exits abnormally for an infeasible problem. Detailed implementation of the algorithm is presented in the next subsection.
For path planning involving multiple GPs, the above algorithm will be executed for each of them sequentially. It is assumed that the planning for a GP starts as the planning of the previous GP is accomplished. The path planning ends as the leading tip of the articulated robot reaches the goal, which is usually a (goal) GP in the path planning problems considered in this paper.
3.3 Implementation Details
3.3.1 Initialization and Step 1 of Algorithm
In the initialization of
In Step 1 of algorithm, there are different ways to move p' toward GP1. For example, p' can be moved toward GP1 in the normal direction of GP1. In our simulation, the articulated robot is translated, as a rigid object, to move the leading tip from p' to p by an distance δ along the direction of attraction,
While no configuration improvement to reduce the repulsive potential is considered in the above translation procedure, Steps 2 and 3 minimize the potential through constrained optimization procedures. To that end, an intermediate GP, GP'
1
, is added along the path to serve as a geometric constraint for successive adjustments of the configuration of lnk1. Again, as long as p ∈ GP'1, the choice of the orientation of GP'1 is not unique. For example, GP'1 can be oriented such that it is parallel with GP
1
. A more reasonable approach is adopted in our simulation wherein GP'1 is chosen to be perpendicular to
3.3.2 Adjusting the leading tip position in Step 2
After the leading tip reaches p, as shown in Fig. 4(b), one of the univariant procedures to minimize the repulsive potential, which allows lnk
n
to adjust its location but not its orientation, is performed in Step 2 of

The moving direction of articulated robots and intermediate GPs (see text).
Consider the forces exerted on lnk
1
, as shown in more detail in Fig. 6, since the minimization is constrained by p ∈ GP only the projection of the resultant force experienced by lnk1 on GP is taken into account. Let f1 be the repulsive force exerted on lnk1 due to the repulsion between lnk1 and the obstacles. For a univariant minimization approach, only one variable is adjusted at a time. To determine the direction in which lnk1 should translate to slide p on GP to reduce the repulsive potential, the projection of the resultant force exerted on lnk
1
along an arbitrary
Consider joint J i which connects two links, lnk i and lnk i-1 , as shown in Fig. 1(b). Assume R i-1 represents the rotation axis of lnk i-1 after a potential minimization procedure while R A i is the rotation axis of lnk i (which is to be connected to lnk i-1 such that a potential minimization for lnk i can take place), as shown in Fig. 7. Because of the constraint of the 2-DOF joint (R i ⊥ R i-1 ), lnk i can not be connected directly to lnki-1 through pure translation if the orientation of lnk i-1 has been changed due to potential minimization. Let S i be the skeleton axis of lnk i . It is obviously that two rotation axes are not always orthogonal if two links are connected arbitrarily. Such a configuration of these two links is illegal for a robot with 2-DOF joints. Therefore, R i should be moved from R A i to R B i and then orthogonal to R i-1 . R A i can be determined as following. Assume all possible positions of R i are lying on Plant P if lnk i rotates about the axis S i . R⊥i-1 is the projection of Ri-1 on P. If a vector R B i of P is orthogonal to R⊥i-1, it will be orthogonal to Ri-1 too. Thus, lnk i should rotate about S i by θ to let R i moves to R i B . After the previous adjusting lnk i orientation, the two links are connected legally with a 2 DOF joint. And, then, the further potential minimization can take place.

Translating lnk 1 to slide p on GP1 to reduce the repulsive potential

Since T i-1 is perpendicular with T i , the lnk i should rotate with respect to S i to let T' i moves to T i
3.3.2 Adjusting joint angle in Step 3
Once the minimum potential position of lnk n is determined with Step 2 of Articulated_Robot_to_GP, another univariant procedure, which allows lnk 1 to adjust it sorientation with leading tip p fixed in position is performed to reduce the potential further, as shown in Fig. 4(c). Under such a constraint, lnk 1 can rotate with respect to p to reduce the repulsive potential. The direction in which lnk 1 should rotate is determined by the repulsive torque experienced by lnk 1 with respect to p.
Let τ1 be the repulsive torque experienced by lnk 1 with respect to p due to the repulsion between lnk 1 and obstacles. To find the minimum potential orientation of lnk 1 for p fixed in position, gradient-based binary searches are performed repeatedly using the projection of τ1 along three orthogonal axes of rotation, e.g., τ1,u, τ1,v and τ1,w, respectively. For each binary search, the initial rotating angle is arbitrarily chosen as 5°, while the accuracy in identifying the 1-D potential minimum is chosen as 0.5°. Step 3 ends if a binary search results in a negligible change in the orientation of lnk 1 , i.e., less than 0.5°. In this step, the rest links (lnk i ∀i > 1), should be connected to lnki-1 legally, when the orientation of the lnki-1 is determined. The connection procedure is the same one in Step 2. Then, since there are only two rotation axes of a joint, rest links from lnk2 to lnk n adjust their orientation along the two axes, R i and Ri-1, of J i .

A path planning example for a 3-link articulated robot in a 1-GP workspace. (a) The initial configuration. (b) The trajectory
4. Simulation Results
In this section, simulation results are presented for path planning performed on Pentium III (800MHz) personal computer for articulated robots in 3-D environments. Fig. 8(a) shows the initial configuration of the path obtained for a 3-link articulated robot in a 1-GP workspace wherein the GPs are shown as black polygons. Fig. 8(b) shows the complete trajectory of the articulated robot which reaches the final GP safely. Since collisions occur frequently near the 90 degrees turn of the passage for the δ 0 chosen, more configurations of the articulated robot are planned near the turn than those near start and goal. Due to the repulsive potential model, the trajectory of the articulated robot is smooth and lies near the middle of the workspace. The simulation takes a total of 42.466 seconds to plan the 14-configuration collision-free path.
Figs.9(a)(b) show the initial configuration and the trajectory, respectively, of the path obtained for another 3-link articulated robot in a 6-GP workspace. The simulation takes 91.34 seconds to planning the 23-configuration path. Since the twisted passage shown in Fig. 9 is a more narrow case than the case shown in Fig. 8, a longer time is needed to plan more robot configurations for the path. The planned path is also smoother spatially.

A path planning example for a 3-link articulated robot in a 6-GP workspace. (a) The initial configuration. (b) The final trajectory

A path planning example for a 4-link articulated robot in a 5-GP workspace. The initial configuration and the final trajectory.
Fig. 10 shows the initial conguration and final trajectory of the path obtained for a 4-link articulated robot moving in a turnaround passage. It can be seen clearly from Fig. 10 that the articulated robot traverses the five GPs safely and smoothly. The simulation takes a total of 155.19 seconds to plan the 17-configuration collision-free path. Since the passage of this example is more crooked, more intermediate GPs are added into the path, which in turn increases the computation time. However, the computation time of the same case for the 3D-joint robot is 151.52 seconds. The computation time of the 2D-joint robot does not increase significantly.
Fig. 11 shows the final trajectory of the path obtained for a 3-link articulated robot moving into a round-bottomed flask. The simulation takes 18.22 seconds to planning the 11-configuration path. It is easy to see that the robot move in the center of the flask.

A path planning example for a 3-link articulated robot in a 4-GP workspace.
4.1 A Comparison Between 2-DOF Joints and 3-DOF Joints
In this section, the simulation results of the 2-DOF-joint algorithm are compared with the ones of 3-DOF-joints algorithm. In order to show the difference of paths derived by the two algorithms clearly, the third configurations of robots with 2-DOF joints and 3-DOF joints of Fig. 2 are shown in Figs. 13(a)(b), respectively. In Fig. 13(b), the second link is twisted to minimize the configuration potential due to the additional DOF, rotating with respect to the skeleton. In general, the algorithm with 2-DOF joints takes more time than a 3-DOF one to plan a collision-free path because the 2-DOF robot has less DOFs to minimize the potential. Figs. 14(a)(b) show trajectories of the example in Fig. 9 of the algorithms with 2-DOF joints and 3-DOF joints, respectively. While Fig. 14(a) takes 91.34 seconds to planning a 24-configuration path, Fig. 14(b) takes 88.16 seconds to planning an 18-configuration path. Since there are more motion constrain for the 2-DOF-joint robot, its algorithm plans more intermediate configurations to archive collision free. Since the 3-DOF-joint robot has additional DOFs to minimize potential than the 2-DOF one, the planned trajectory is more smoothly. As shown in Figs. 14, the difference between two trajectories of two algorithms is not significant.

Two planned paths for a 3-link articulated robots with 2-DOF and 3-DOF Joints. (a) The third configuration of the robot with 2-DOF joints. (b) The third configuration of the robot with 3-DOF joints

Two planned paths for a 3-link articulated robots with 2-DOF and 3-DOF Joints in the same environment.(a) A 24-configuration path of the robot with 2-DOF joints. (b) A 24-configuration path of the robot with 3-DOF joints
5. Conclusion
In this paper, a potential-based path planning of articulated robots with 2-DOF joints is proposed. Since a robot with 2-DOF joints is more trivial than 3-DOF joint robots in practice, the proposed algorithm is more adoptable than the 3-DOF-joint algorithm. In the proposed algorithm, a set of initial GPs are used to guide the robot moving toward. It is assumed that such a sequence of GPs to be traversed by an articulated robot is given in advance in the workspace providing the general direction of the path. According to the motion constraints established by the GPs, the proposed approach derives the path for the articulated robot by adjusting its configurations at different locations along the path to minimize the potential using the force and torque between links and obstacles. Simulation results show that the planned path is similar to the planned path derived by the 3-DOF-joint algorithm and the computation time does not increase significantly.
6. Appendix
In this section, the generalized potential model (Chuang, J.H. (1998)) is reviewed. Consider a planar surface S in the 3-D space, the direction of its boundary, ΔS, is determined with respect to its surface normal, n̂, by the right-hand rule, û x l̂ = n̂, where û and l̂ are along the (outward) normal and tangential directions of ΔS, respectively. For the generalized potential function, the potential value at r is defined as (1). The Newtonian potential (m=1) is harmonic in the 3-D space and can not prevent the robot from colliding the obstacles, and thus can not be used for collision avoidance. The basic procedure to evaluate the potential at r can be summarized as follows:
Write the integrand of the potential integral over S as surface divergence of some vector function.
Transform the integral into the one over ΔS based on the surface divergence theorem.
Evaluate the integral as the sum of line integrals over edges of ΔS.
Without the loss of generality, it is assumed that
which is equal to the distance from r to Q. For (i), we have
where P is the position vector of r' with respect to the projection of r on Q, rQ, and
Note that if rQ is inside S, f m (R) will becomes singular for some r” = rQ, (and R = d). Let Sɛ denote the intersection of S and a small circular region on Q of radius ɛ and centered at rQ, the potential due to S can be evaluated as
where
Pi0 is the distance between rQ and Ci, li is measured from the projection of r on Ci along the direction of l̂ i , and α is the angular extent of the circumference of Sɛ lying inside S as ɛ -> 0. For m=3, we have
with R− and R+ equal to the distances from r to the two end points of Ci, respectively. Thus, the repulsive force exerted on a point charge due to S can be found analytically by evaluating the gradient of the following function
at some (x, y, z)'s.
7. Acknowledgments
This work is supported by National Science Council of Taiwan under grant no. NSC 98-2220-E-224-009 and NSC 98-2220-E-224-007.
