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.
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.
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 t1, 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’’)
(s2’ – s2’’) < 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(w1w2(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+1’ being 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 FAi 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 A1. 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).