Decoupled  Planning

 

This means to first plan the path of each robot more or less independently of each other, then consider the interactions among the paths. This method reduces the computational complexity of a multi-robot path-planning problem, because:

Centralized Planning is exponential in m = Smi    i=1 to p

Decoupled Planning is exponential in max iÎ[1,p] {mi}

          Demerit: Loss of completeness: The decoupled approach may fail to generate the path even if one exists and can be generated from Centralized Planning.

 

Prioritized  Planning

 

Considering the motions of one robot at a time:

·       The path of A1 is planned in C, not in CT1, ignoring all the other robots.

·       Then the path of Ai is generated in the configuration-time space CTi of Ai, avoiding collision with both: the obstacles Bj (j=1 to q) and the robots A1 to Ai-1.

                   Hence the motion of Ai is planned as if that particular robot is moving among q stationary and i-1 moving obstacles.

·       An arbitrary velocity is assigned to A1, which does not have any bearing upon the final joint-path generated. This velocity merely determines the scale factor along the time axis of the C-spaces of the other robots.

The ordering on the robots requires a priority to be assigned to each robot:

·       Random distribution

·       Higher priority to the robots bigger in size.

·       Assigning priorities by attempting to maximize the number of robots, which can reach their respective goals by moving along a straight line from their respective starting positions.

 

Path  Coordination

 

 

It is based on a scheduling technique for dealing with limited resources (here space is shared). It consists of first generating the free path for each of the two robots (independently of the presence of the other robot), and then coordinating the two paths for avoiding collisions.

The approach works only for a 2-robot system.

Assume,

          t1 : s1 Î [0,1] à t1(s1) Î C1,free

          t2 : s2 Î [0,1] à t2(s2) Î C2,free   are the two free paths generated.

                   C1,free (resp C2,free) denotes the free space in the configuration space of A1( resp A2) obtained by ignoring the other robot. Now we construct what is called the Coordination Diagram:

>> Construct something called s1s2 space [0,1]*[0,1]. Any continuous path in this space connecting (0,0) to (1,1) is called a schedule and determines the simultaneous traversal of the two paths by the respective robots.

eg      (0,0) --> (1,0) --> (1,1)  ==>A1 completely travels t, and then A2 completely travels t2.

>> Now we define the obstacle region in the s1s2 space as the set of pairs (s1,s2) st

A1(t1(s1)) Ç A2(t2(s2)) ¹ f

>> Construct a free schedule in this coordination diagram that does not travel through this obstacle region.

          Thus we have constrained the path of A = {A1,A2} in the composite configuration space of C1*C2 to lie in the intersection of the two subspaces whose projections into C1 and C2 are  t1  and t2 respectively.

<  figure 1 >

Subdivide each path ti (i=1 or 2) into a sequence of wi path segments determined by the intervals di,ki = [si,ki , si,ki+1], with ki = 0, …, (wi –1).

So we have divided the continuous s1s2 space into an array of w1*w2 closed rectangular cells.

Now we denote each cell as:

·       EMPTY: if {A1(t1(s1))/s1Îd1,k1} Ç{A2(t2(s2))/s2Îd2,k2} = f

·       FULL: Otherwise.

A free schedule can easily be generated in this region by searching this network for a path connecting (0,0) to (w1,w2). This is the combined path that the tow robots take to attain the goal configuration without any collision between them.

We have got a very smart technique that avoids the cumbersome graph search algorithm and still generates the free schedule. But the limit is that this technique can generate only those schedules, which are non-decreasing in terms of both s1 and s2. First some necessary terminologies for a pair of points S’ and S’’ in (s1,s2) coordinates:

Incomparable pair of points…

          (s1,s2) and (s1’’,s2’’) are incomparable iff         (s1 - s1’’) (s2s2’’) < 0

SW Conjugate…

          If (s1,s2) and (s1’’,s2’’) are incomparable, and s1 < s1’’ (i.e. s2 > s2’’)

 then their SW Conjugate is                      (s1, s2’’)

SW-Closed…

          A connected region R of s1s2 is SW-Closed iff for any two incomparable points inside R,

the SW Conjugate is also inside R.

SW-Closure…

          SW-Closure of a connected region S is the smallest SW-closed region R that contains S.

          SW-Closure of a non-connected region is the union of the SW-Closures of all its components.

Now onto the smart technique for finding the free-schedule…

The Extended Coordination Diagram

(obtained by adding a fictitious path-segment at the end of each of the two paths t1 and t2)

Along this path, the corresponding robot is motionless.

The SW-Closure of the Extended Obstacle Region

It is based on the fact that if there is a non-decreasing free schedule,

then it lies entirely in those cells that are not in the SW-Closure of the extended obstacle region.

This SW-Closure can be computed in O(1w2(logw1 + logw2)) time.

         

          After generating the SW-Closure, we can find a non-decreasing path inside free region (if such a path exists), using the following algorithm:

i ß 0; jß 0;

while i< w1 or j<w2 do

          begin

                   if ki,jÏR then

          if i<w1 and j<w2 then

                                i ß i+1; j ß j+1; move to (i,j);

                        else

                                if i<w1 then

                                        i ß i+1; move to (i,j);

                                else

                                        j ß j+1; move to (i,j);

                else

                        if i<w1 and ki,j-1ÏR then

                                i ß i+1; move to (i,j);

                        else

                                j ß j+1; move to (i,j);

        end;

A free schedule generated by this algorithm is shown in the Coordination Space above.

 

Remarks:

·       Prioritized Approach is not complete and can fail at times.

·       Path Planning Approach fails even more frequently that the Prioritized Approach.

·       Centralized Planning if fail-proof, i.e. it finds out the solution if it exists.

 

 

 

 

Articulated  Robots

 

A robot made up of several movable rigid objects connected by mechanical joints that constrain their relative motion.

 

A robot A made up of p rigid objects: A1 to Ap.

Any two objects Ai and Aj are connected by a joint:

·                   Revolute Joint: (A hinge) constrains the relative motion to rotation about an axis, which is fixed wrt both the objects.

·                   Prismatic Joint: (Sliding Connection) constrains the relative motion to be translation along an axis fixed wrt both the objects.

 

World Frame: FW.

Frame attached to each of the Ai: FAi               iÎ[1,p]

          The  Configuration  Space:

Configuration of A: Position and Orientation of each frame FAi iÎ[1,p] wrt FW. If all the objects were free-flying robots in W = RN, then the configuration space of A would be:

C’ = (RN * SO(N)) * … * (RN * SO(N)).

---The multiplication term goes on p times.

However, the various joints impose constraints on the possible Configurations in C’. Thus we get C as the actual Configuration space of A, which has dimension lower that C’.

 

Example:

The planar two-joint manipulator arm (Figure 1):

                         P1                                                         A2

 

 


     A1

 

 

 


                     R1

                                       < figure  1 >

 

This robot has got two control linkages:

A1: connected to the w/s by a revolute joint.

A2: connected to A1 by a prismatic joint.

          The w/s is W = R2 ==> C’ = (R2 * SO(2))2     dim(C’) = 6

R1 => 2 constraints: fixes the point of rotation of A1.

P1 => 2 constraints: fixes the position and orientation  of A2 wrt A1.

These 4 constraints are mutually independent. ==> dim(C) = 2

       

Assumptions:

·       There are no kinematic loops: A kinematic loop is a situation where the linkages of a robot form a closed loop.  That is, in the robot A, there exists no closed sequence A1’, …, Ar’, Ar+1’, st Ar+1’ = A1 and Ai+1being connected to  Ai by a joint.

This means that the total number of joints in A is exactly p.

·       ground” is considered to be a fictitious object A0.

·       This means that A can be represented by a tree structure:

·         Nodes are the objects A0 through Ap.

·         Arcs are the joints.

·         Root is A0.

If Aj is a child of Ai in the tree, the configuration of Aj relative to Ai can be defined as a specification of the position and orientation of FAj wrt FAi.

          Let Cj(i) denote the configuration space of Aj relative to Ai:

                   If the two are connected by a revolute joint, Cj(i) = S1

                   If the two are connected by a prismatic joint, Cj(i) = R.

          Consider A with the following characteristic:

1.    Has p rigid objects.

2.    They are connected by p1 revolute and p2 prismatic joints st        p1 + p2 = p.

3.    Has no loop.

          Then the C-space of A, C = (S1*…*S1) * (R*…*R)

                                                              p1 times            p2 times

 

Example:

< figure 2 >

The C-space for the 2-joint manipulator arm (Figure 1) is S1*R. that of the 1-joint robot shown above in (Figure 2) is (S1)7*R3. The C-space of an articulated robot with total p (revolute + prismatic) joints with no kinematic loop is a smooth manifold of dimension p.

 

          The definitions and notions of C-obstacle, free path and free space as defined for multiple objects are extended to articulated robots without any modifications. There are two types of C-obstacles:

·        Between Ai and Bi.

·        Between Ai and Aj.

Again, in general the relative motion between two connected objects is constrained between certain limits. There are mechanical stops to affect this, and they can be modeled as invisible obstacles.

 

Path  Planning

 

The general methods still hold:

·       Silhouette methods:  exponential time in dim(C).

·       Collins Decomposition method:  doubly exponential.

 

Approximate  Cell  Decomposition

 

The main issue:  the generation of the free space and the C-obstacle region.

The main problem:  Explicit equations for the boundaries of the C-obstacles are very difficult to get.

The solution: 

·       Discretize the motion of each joint into small intervals,

·       Use this approx. decomp. to construct the connectivity graph,

·       Search for a channel connecting the initial and the goal configurations.

Assumptions:

1.    Each qi varies in a bounded interval Ii­ = (qi-, qi+).

2.    There can be no collision between two linkages Ai and Aj, so we need to check only for the collision between the linkages Ai (iÎ[1,p]) and the obstacles Bj. (jÎ[1,q]).

The position and orientation of Ai wrt FW is completely determined by the parameters q1 through qi, Ai(q1, …, qi) denotes the region of W occupied by the object Ai.

Now, each interval Ii (i = 1 to p) is partitioned into non-overlapping smaller intervals di.k, ki = 1,2,…, at some pre-specified resolution. If the region swept out by A in the w/s, when (q1, …, qp) varies over the rectangloid cell d1.k1* … *dp.kp , does not intersect with any obstacle, then this cell d1.k1* … *dp.kp is a part of the free space Cfree, otherwise it is a part of the C-obstacle region. By considering each cell one by one, we can construct the approx. Cfree for the w/s.

A Planar 2-R-Joint Robot among obstacles.

The end configurations are marked 1 and 2.

We have assumed that there are no mechanical stop in the joints.

The C-obstacle is approximated by a set of slices parallel to the q2 axis.

 

Potential  Field  Approach

 

Potential Fields can be adapted to articulated robots with minor adaptations. The various potential fields approaches have given best practical results for robots with many joints (not possible through Approx. Cell Decomp. method), especially the Randomized approach.

Consider a collection of Control Points aj Î A, j=1, …, Q, which are distributed over the various linkages  A. Each point is subjected to a potential field Vj(x) defined in the w/s. This potential can be:

·       Attractive: depending upon the goal configuration of aj in W.

·       Repulsive: depending upon the obstacles in the w/s.

·       Mixed: depending upon both of the above things.

The Potential Function U(q) is the sum of these individual potentials:

It induces an attractive force given by:

          … the components of F(q) in the basis of Tq(C), i.e. the tangent space of C in q are the forces/torques applied at each prismatic/revolute joint of the robot. In a 3-D w/s, let

Xj(q1, …, qp), Yj(q1, …, qp), Zj(q1, …, qp) be the coordinates of aj(q) in FW.

Then the ith components of F(q) is:

Thus we have:

Where JjT is the transpose of the Jacobian matrix Ji of the map:

(q1, …, qp) Î Rp à (Xj(q1, …, qp), Yj(q1, …, qp), Zi(q1, …, qp)) Î R3

If the motion of the linkages is limited by mechanical stops, these stops too can be taken into account using potential fields approach. If a configuration qi is constrained to be inside the interval (qi-, qi+) by mechanical stops, these end points can be treated as obstacles generating repulsive potential fields W-(qi) and W+(qi) given by:

h is a positive scaling factor

r0­ is the “distance of influence” of the mechanical stops. These various functions Wi-(qi) and Wi+(qi) are added to the original potential function U(q1, …, qp) to get the final potential function that takes into account the mechanical stops also. Please note that all the components of the forces induced by Wi-(qi) and Wi+(qi) except for the ith ones are zero. Those ith components of the forces are:

… these are the forces/torques applying to the ith joint of the robot.

Examples:

8-R joint robot (Randomized Potential Fields Method).

10 joint robot (Randomized Potential Fields Method).

          In each of the above cases, the collision of the various links was explicitly checked in the same manner as the collision between the robot and the obstacles. Mechanical stops were imposed at each joints and the collision with each stop were also checked.

 

Bibliography

·       Robot Motion Planning (Jean Claude Latombe) Kluwer Academic Press.

·       Robot Analysis and Control (H. Asada, J. J. Slotine) John Wily and Sons.

·       Manipulation Robots: Dynamics, Control and Optimization (Felix L. Chernousko, Nikolai N. Bolotnik, Valery G. Gradetsky) CRC Press.

·       Mechanical Hands Illustrated (Ichiro Kato, Kuni Sadamoto) Survey Japan (1982).