Motions of a short-linked robot arm in a square

Discrete & Computational Geometry, Sep 2005

The main result of this paper is anO(n)-time algorithm to determine whether a given configuration of ann-link short-linked robot arm confined in a square can be reached from another given configuration. The arm is constructed fromn links, which are straight line segments of real lengths, each no greater than half the side length of the confining square. This result represents a continuation of previous work published by Hopcroftet al. and by Kantabutra and Kosaraju.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://link.springer.com/content/pdf/10.1007%2FBF02187825.pdf

Motions of a short-linked robot arm in a square

Discrete Comput Geom 0 Department of Mathematics and Computer Science,Drexel University , Philadelphia, PA 19104 , USA The main result of this paper is an O(n)-time algorithm to determine whether a given configuration of an n-link short-linked robot arm confined in a square can be reached from another given configuration. The arm is constructed from n links, which are straight line segments of real lengths, each no greater than half the side length of the confining square. This result represents a continuation of previous work published by Hopcroft et al. and by Kantabutra and Kosaraju. 1. Introduction A problem related to the movements of multilink robot arms in two dimensions is considered. A r o b o t a r m is constructed from n links, which are straight line segments of arbitrary real lengths. These links are joined together end-to-end by freely rotating joints so that the links are allowed to cross each other. One end of the arm, called the shoulder, is pinned down positionwise. Free rotation a b o u t the pin is allowed. The a r m is confined within a square each of whose sides is at least twice as long as the longest link of the arm. The main result of this paper is an O(n)-time algorithm to determine whether a given configuration of the a r m 1 can be reached from another given configuration. A key result that m a k e s the algorithm work is that a configuration is reachable from another if, in these configurations, the same links are " s t u c k " to a corner of the constraining square. This paper represents a step toward understanding the computational complexity of motion-planning problems. One of the first groups of researchers to study the c o m p u t a t i o n a l complexity of m o t i o n planning was Hopcroft et al., who had a considerable a m o u n t of success on the study of arms of the type described above 1The configuration of an arm (at any instant) is specifiedby the positions of all the joints. [ 1 ], [ 2 ]. In [ 2 ] they showed that reachability decision problems are NP-hard if the arm is constrained by arbitrary polygonal walls. However, when the boundary is a circle, then they were able to give an algorithm that determines the reachability of any arm configuration from any other configuration in O(n) time. They also gave an algorithm of O(n3)-time complexity that moves the arm to any specific reachable configuration in O(n a) arm moves. 2 In [ 3 ] Kantabutra and Kosaraju presented a more efficient solution, involving only O(n) time and O(n) arm moves. In [ 1 ] Hopcroft et al. developed a polynomial-time algorithm for computing the regions reachable by the joints of a robot arm in a circle. This polynomial is at least quadratic in the input size. Kantabutra and Kosaraju presented in [ 3 ] a linear-time solution to this problem. It was also established there that linear-time computation of a reachable configuration of an arm in a circle is possible, when the final positions of the members of an arbitrary subset of the set of joints are specified. A robot arm (Fig. 1) is a sequence of n straight line segments or links of arbitrary finite lengths moving in the Euclidean plane. These links are joined together endto-end by freely rotating joints. One end of the arm, the shoulder, is fixed positionwise, but can rotate freely. The other end is called the hand. The joints (including the shoulder and the hand) are denoted by Ao, A1 . . . . . An..The link between A~_ ~ and A~, i > 0, is called L~, and L{s length is called l~. The joint angle at A~, i > 0, is the angle between the links L~ and L~+1, and the joint angle at Ao is the angle that L~ makes with horizontal. A configuration of an arm is specified by the positions of all the j o i n t s ) The tail (of an arm) beginning from A~ is the part of the arm from A~to An. So an entire robot arm is the same as the tail beginning from jointangles A L ) I An_ I L d) F~o I. A robot arm. 2Theydefinedan armmoveto be anyann motionin which at mostfourjoint angles(ajoint angleis an anglebetweentwo links)movesimultaneously, and each joint angle moves only in one direction. 3 Formally, the configuration is the 2(n + 1)-tuple (xo, Yo, xl, Yl, x2, Y2..... xn, Yn),where x~, y~are, respectively, the X and the Y coordinates of A~. In the movements of the arm we allow all joint angles to change simultaneously, such that the rate of change of each angle may be an arbitrary function of time. The constraining square, denoted by S, has sides of length s parallel to the X and Y coordinate axes. The square constrains the arm in the sense that, at any instant, each joint's position must be within the dosed region delimited by S. A link L i is said to be oriented toward a corner (vertex) A o r s (Fig. 2) if in case we erect orthogonal axes through Ai_ 1 and parallel to the sides of S, A~ and A are in the same orthant. Note that, in Fig. 2, L i is oriented toward A, and Lj is oriented toward both A and B. Any link Li isfree if it is oriented toward a corner of S that is farthest from A i_ 1 (farthest when compared with the other corners of S). An arm or a tail isfree if all its links are free. A link is locked if the arm cannot be moved into a configuration in which that particular link is free. Main Result N o w we address the reachability problem. Let the initial and the final configurations be denoted by Finit and Ff, respectively. We will establish that F r is reachable from I"init if and only if the highest-indexed locked link is the same link in both these configurations. 4 It turns out, however, that an arm configuration can have at most one locked link. Our reachability problem thus becomes a problem of deciding whether the two input configurations have the same locked link or not. (Hence we can consider the set of all possible arm configurations to be classified into equivalence classes of mutually reachable configurations based on which link (if any) the locked link is.) Much of the work in this paper involves showing that if the two input configurations have the same locked link, or if neither configuration has a locked link, then each configuration is reachable from the other. This reaching is by way of normal form configurations, defined as follows. 4 Note that reachabilityis symmetric. A $ 0~, A A 2 As A 7 13 L e m m a 1. Consider an isolated tail f r o m A i in any free configuration. The joint A i can be guided through any path within S (and its boundary) in such a manner that the tail is kept free all the time. Proof. The p r o o f is by induction on the joint indices. Erect axes, as in Fig. 4, parallel to the sides of S, such that the origin lies at the center of the region enclosed by S. We now show that the l e m m a holds for index n - 1. Consider the tail from A,_ (which is Ln) as a free, isolated link. As An_ 1 traces any p a t h without crossing an axis, we do not allow Ln to rotate. The link Ln, being no longer than s/2, is always free. N o w assume that An- ~lies on an axis and is a b o u t to enter a new quadrant. As an illustration assume that A,_ ~ now lies in the first quadrant, and is just a b o u t to cross the positive X-axis into the fourth quadrant. Observe that L, is free whenever it (the An_ l to An line) makes an angle between 90 ° and 270 ° with the X-axis. 5 Consequently Ln can be swung within that range and be kept free at all times. T h u s we let An- ~ pause on the positive X-axis and swing Ln a b o u t An- ~ until L, m a k e s a s If A._ 1 were strictly inside the first quadrant, then L. would be free when this angle was between 180° and 270 °. On the other hand, if A._ 1 were strictly inside the fourth quadrant, then L. would be free when this angle was between 90 ° and 180°. A A-I III I 1 n 180° angle with the X-axis. Now A,_ 1 can continue on its path so that L, remains free upon A,_ l's entry into the fourth quadrant. N o w assume that the lemma holds for index i + 1. When Ai follows any path, move Li+ 1 through the same positions we would have moved it if it had been the only link, guaranteeing that L~+1 is always free. By the induction hypothesis, we can move the tail from Ai+l in such a way that it is kept free all the time. Hence A~ can follow any path in such a manner that the tail from Af is always free. We have thus proven the lemma by induction. [] Algorithm 1. (Moving an arm to normal form.) Erect axes dividing the region enclosed by S into quadrants as before. Suppose Lj is the highest-indexed locked link. (Let j = 0 if there is no locked link.) A subalgorithm will be described that frees all the links indexed higher than j, one by one in descending order of their indices. After applying this procedure to such links, we apply it to L k The effect of this last application is not to free Lj (which is locked), but to bring the arm into normal form, as desired. N o previous knowledge o f j is required for the usage of this subalgorithm. Subalgorithm. Assume that, at the present stage, all the links indexed greater than m, for some m > j , are free. Suppose m is the minimum index for which this assumption holds, and thus Lm needs to be freed, if possible. Let ~ and fl respectively be the vertical and the horizontal sides of S adjacent to a quadrant in which A m_ 1 ties, and let Q denote the corner of S at which ~ and fl intersect. See Fig. 5. N o t e that the tail from Am, being free, can be ignored while freeing Lm. We may assume that L , , is oriented toward Q. (If it is not, then Lm can be freed simply by swinging Am about Am- 1, away from Q.) Swing Amabout An,- t toward Q until L mbecomes collinear with the line joining Am_ 1 and Q. F r o m now on keep Lm collinear with the line from Am-1 to Q. (This line moves as An,-1 moves.) Let us now assume that Am- 1 never hits S, since if Am_ 1 hits S, then (supposing that Lm is not already free) Lm can be freed simply by swinging Am about Am_ 1 0 . . . . . . . . . . . 1'. . . . . . . . . . . . D~ A i × A2 : > , At this stage we straighten out the joints indexed lower than m - 1. To this end, let us introduce a variable k, whose value is m - 1 initially. Swing A k about Ak_ 1 away from Q, always keeping L k + 1, Lk +2 . . . . . L m collinear with the line through Q and Am-1. (We may assume that Ak never hits S, because otherwise Am-1 would also hit S, contradicting our assumption of the contrary.) Now decrement k by 1 and repeat the swing. Stop after swinging A1 about A0. The situation now is that L1, L2 . . . . . L , _ 1 and L m are all collinear with the line joining Q and A m_ 1, and all of these links except L~ point away from Q. The link L , points toward Q. There are two possibilities: either l m - ~ i < m l i < max{s/2 - I x o l , s/2 - l y o l } , or not. In the former case, it is easy to free Lm by pivoting Ao, keeping A I . . . . , Am-1 fixed and keeping the tail of the arm from Am free. In the latter case, the algorithm stops altogether, because the arm has come to normal form. The link Lm cannot be freed, i.e., m = j . To see this, simply notice that Am- 1 cannot be moved so far as l,~from ~ or ft. Observe that the quantity l m - ~,i<m It can be computed in constant time if we have stored the corresponding quantity from the previous iteration. Figure 6 illustrates a possible snapshot from the execution of our subprogram. L c m m a 2. I f a locked link exists, then it is unique. Proof. If L~ is the highest-indexed locked link, then Algorithm 1, just given, brings the arm into a normal-form configuration, in which all links except Li are free. [] Now we show that if two configurations have the same locked link, then each of the configurations is reachable from the other. Algorithm 2. (This algorithm moves the arm from Finit to F f if these two configurations both have the same locked link, Lj, or both have no locked link, in which case we let j = 0.) Am+2 Aoi Y Move the arm from Ff to normal form, recording all the moves made. Call this normal-form configuration F~°'m. Now move the arm from Finit to normal form, calling the resulting configuration Fi",°'~t. It only remains to be seen how to move the arm from l"inn°im] tO F~°r=. Since in both normal-form configurations every one of the joints indexed up to and including j is placed at the same position, it suffices to bring the joints indexed j + 1 and higher, one at a time in the order of their indices, to the positions they will assume in F~*r'~. Assume that all the joints indexed no greater than k have been brought to their destinations, leaving the tail from Ak free. Since the tail from Ak+ 1 is also free, we can ignore that tail and swing Ak+ 1 about Ak until Ak+ ~ reaches its destination, keeping the tail free at all times. The joint As+ ~ never becomes obstructed by S because Lk + 1 only moves through free positions. Thus we have demonstrated how successively higher-indexed joints can be brought to their destinations. Finally the main result of the paper can be presented, as follows: Theorem 1. Given two configurations Finit and Fj, it can be determined in linear time whether Ff can be reached from Finit. Proof We will show that determining whether Ff can be reached from I"init is equivalent to determining whether the two configurations have the same locked link. Then the p r o o f will be finished when we show that the latter activity can be performed in linear time. If the two configurations have the same locked link, then Algorithm 2, just given above, can be used to move the arm from Finit to Ff. However, if the two configurations have different locked links (or if one of the two configurations has a locked link and the other one does not), then it is easy to see that the arm cannot be moved from Finit to Ff, as follows: If the locked links are different, then let the higher-indexed one be Lj. Assume without loss of generality that Finit is the configuration with Lj locked. There must be a configuration Fi,~.~, in which Lj is free, such that F j,_ is reachable from Ff. Because the reachability relation among configurations is transitive, it follows that if Ff were to be reachable from Flair, then Fj,_ would have also been reachable from Finit. However, this is impossible, since L~ is locked in Finit. Acknowledgments References The a u t h o r would like to thank the referee, w h o gave very useful and explicit advice o n h o w to reorganize this paper. 1. L E. Hopcroft , D. A. Joseph , and S. H. Whitesides , Determining points of a circular region reachable by joints of a robot arm , Technical Report TR82-516 , Computer Science Department, Cornell University, 1982 . 2. J. E. Hopcroft , D. A. Joseph , and S. H. Whitesides , On the movement of robot arms in twodimensional regions , SlAM J. Comput . Vol. 14 , No. 2 , 1985 , pp. 315 - 333 . 3. V. Kantabutra and S. R. Kosaraju , New algorithms for multilink robot arms , J. Comput. System Sci. , Vol. 32 , No. 1, February 1986 , pp. 136 - 153 .


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2FBF02187825.pdf

Vitit Kantabutra. Motions of a short-linked robot arm in a square, Discrete & Computational Geometry, 2005, 69-76, DOI: 10.1007/BF02187825