Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
00001.tif
(USC Thesis Other)
00001.tif
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
ALGORITHM IC PLANS FO R ROBOTIC M ANIPULATION by Anil Sathyanarayana Rao A Dissertation Presented to the FACULTY OF TH E GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (Com puter Engineering) May 1993 Copyright 1993 Anil Sathyanarayana Rao UMI Number: DP22873 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. Dissertation Publishing UMI DP22873 Published by ProQuest LLC (2014). Copyright in the Dissertation held by the Author. Microform Edition © ProQuest LLC. All rights reserved. This work is protected against unauthorized copying under Title 17, United States Code ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106- 1346 UNIVERSITY OF SOUTHERN CALIFORNIA THE GRADUATE SCHOOL UNIVERSITY PARK LOS ANGELES, CALIFORNIA 90007 This dissertation, written by Anil Sathyanarayana Rao under the direction of h. i s Dissertation Committee, and approved by all its members, has been presented to and accepted by The Graduate School, in partial fulfillment of re quirements for the degree of p v^ IX Cj=> s 1 S 3 R X i5 ?7 DOCTOR OF PHILOSOPHY Dean of G raduate Studies Date DISSERTATION COMMITTEE To m y parents i » l i The more you know, the more you know that you don’ t. - J. Krishnamurthy A ck n ow led gm en ts The first and sometimes the only portion of a thesis or dissertation I read are the acknowledgments. It never ceases to amaze me how differently each graduate thanks his parents, family, friends, teachers, com m ittee members and advisors; how much it really is a team effort th at enables the chosen one from the team to occasionally suffix a certain abbreviated Latin phrase to his or her name (and in the United States 1990s, comes with it is the privilege to struggle for decent employment!). All th at the rest of the team gets is a mention in the acknowledgments. Let me introduce my team beginning with my advisors, Professors Kenneth Goldberg and Viktor Prasanna. Professor Prasanna is responsible for my com ing to USC after I completed my M.S. at Ohio-State. He afforded me plenty of latitude in choosing a research topic and encouraged me throughout this ar duous journey. To date, I have never seen him angry or even mildly irritated; his amazing tolerance and soothing composure was often contagious. Under his direction, I also got first hand experience at writing research proposals and exposure to what it takes - the careful planning, hard work, politics - in orga nizing a successful technical symposium. My first acquaintance with Professor Goldberg was in early Spring of 1991 by a laser printer in SAL 319. There was this interesting paper he had just output th at I was about to steal. He caught me in the act, introduced himself, and invited me to his office for a discussion on part-orienting mechanisms - the subject of the paper. It was as much his willingness to talk and listen and treat a student as a true equal as were the interesting problems he presented me th a t resulted in a very enjoyable two years of association. I’ll always be proud to be K en’s “first born” Ph.D. I thank the other members of my dissertation com m ittee, Professors Doug Ierardi and Ari Requicha for their valuable feedback and assistance. Professor IV Ierardi was always Teady~to_take a question or offer a suggestion - even- in the weights room! I thank Professor Raghavendra for agreeing to serve on my qualifying exam committee. I deeply appreciate the help at so many occasions, dissertation related or 1 otherwise, from my colleagues, Yang Chen, Kalluri Eswar, Ju-Wook Jang, Duk Kang, Ashfaq Khokhar, Anant Kum ar, Kichul Kim, Wei-Ming Lin, Heonchul ! Park, M anavendra Misra, H arry Sun, M uhammed Shaaban, Subash Sundare- san, Olivier Tardieu, Hirendu Vaishnav, Jeff Wiegley and Kyeonah Yu. Com- 1 m ents, questions, and criticisms from Pankaj Agarwal, Doug Ierardi, Babu N arayanan, Govindan Rajeev, G unter Rote, Diane Souvaine, Randy Wilson, and Chee Yap were most helpful. I am very grateful to Professor Mark Over- i ! mars for inviting me to the University of U trecht as a post-doctoral associate. I thank my teachers at Kendriya Vidyalaya, A. S. C., Bangalore: Balkis Begum, E. Lakshmi Devi, V. Ekanandan, Abdul Gaffar, Joan Lamb, Alice Lobo, E. G. Krishna Pillai, N. M anjula, K. P. Ravindran, N. Ravindran, B. N. Ram achandra, to name a few; at IIT, Madras: K. Kalyanakrishnan, C. Pandurangan, C. R. M uthukrishnan, and B. Yegnanarayana; at OSU: D. N. Jayasim ha, Tim Long, and Yaacov Yesha; and here at USC: Len Adleman, Melvin Breuer, Ken Goldberg, Doug Ierardi, Ram Nevatia, C. Raghavendra j and Ari Requicha; for their genuine desire to do more than ju st im part knowl edge. I thank Eleanor Quinlan, Gandhi Puvvada, and Ken Goldberg for toler ating me as their teaching assistant. I can never thank enough the numerous friends throughout my life th at have ! supported, humored, intensely argued, studied, played (hide and seek, marbles, I monopoly, cricket, hockey, chess or squash), emailed, and grew up with me, so I won’t try. Here are the names of some of them: R udrapatna Anand, Dinesh j B ettadpur, Deepak Bhagra, Satish Chandra, Chandan Chatterjee, Madabusi Govindarajan, Andrew Isaac, Rajesh Jha, Rohan Joshi, Ram Krishnan, Harish Kum ar, Ravi Kum ar, M anavendra Misra, Bulusu Mohan, Babu Narayanan, ! Sridhar Narayanan, M anvendra Negi, Hari Prasad, Belur Raghuram , Govindan Rajeev, Sanjeev Sikka, Jasjeet Singh, G uruprasad Sitaram , Chandrashekhara | Sudham a, Harinarayanan Venkatesh, and Girish Welling. I I I V 1 | Bill Bates, Delsa Castelo, Diane Demetras, Jane Flynn, Hilda M arti, Regina M orton, Janine Nghiem, Irene Olotoa, Dorothy Steele, Lucille Stivers, Lea Vasquez, and Mary Zittercob made life so much easier by always being there to assist w ith paycheck problems, academic requirem ents, sending out papers, TA assignments, cookies, candies and generous smiles. My deep gratitude is due to Basavaraj, Sudha Rajagopal, Pranesh Rao, Vi- jaya Rao, and Debora Sue-O’Brien for their patient efforts and understanding. I thank my sister, Nalini, and brother, Vasant, for being such great intel lectual role models. Both completed their Ph.Ds about seven years ago and gave me a good idea of what it takes. Finally, my creators. My parents Indira and Sathyanarayana were my first teachers, teachers of life, of virtues, of the im portance of education, humility, selflessness, compassion and charity. Above all, they taught me freedom, free dom to think, to speak, or not to; and to afford others the same. I hope I shall never stop learning from them. Anil Rao Los Angeles, December, 1992. C o n ten ts D ed ica tio n ii A ck n ow led gm en ts iv L ist o f F igu res x A b stra ct x v ii 1 In tro d u ctio n 1 1.1 Geometric u n c e r ta in ty ............................................................................ 1 1.2 Problem sta te m e n ts................................................................................... 2 1.2.1 Assumptions on problem instances ...................................... 2 1.3 C o n trib u tio n s ............................................................................................. 3 1.4 The M an ip u latio n ...................................................................................... 5 1.4.1 Mechanics of m anipulation with the parallel jaw gripper 9 1.4.2 A classification of planar part orientations based on grasp s ta b i l i t y .......................................................................................... 13 1.4.3 M etric for grasp quality ............................................ 14 1.4.4 Projection sets ............................................................................ 16 1.5 Related W o r k ............................................................................................. 17 2 T h e S H A P E p rob lem — R ecogn izin g P arts 24 2.1 Negative Results: Indistinguishable P o ly g o n s.................................. 25 2.1.1 Characterization of valid diam eter f u n c tio n s .................... 26 2.1.2 Condition on two polygons for having the same diam eter f u n c tio n .......................................................................................... 31 2.1.3 Solution to \X (d )\........................................................................ 34 2.1.4 Minimal p o ly g o n s........................................................................ 37 2.2 Positive Results: Recognition S trateg ies............................................ 49 2.2.1 The sensor function and pseudo-tw ins.................................. 50 2.2.2 Problem s ta te m e n t..................................................................... 51 2.2.3 G raph of Stable D iam eters....................................................... 53 2.2.4 Suboptim al grasp p l a n .............................................................. 56 vii 27275 Optimal" grasp p l a n ....................... : ....................: . . . . . . 61— | 2.2.6 Disambiguating pseudo-twins at witnessing orientations . 69 j I 3 T h e P O S E p rob lem — O rien tin g P arts 76 3.1 Orienting polygonal parts: A parallel a lg o r ith m 79 i 3.1.1 The serial a l g o r ith m 81 j 3.1.2 Parallel model of c o m p u ta tio n .................................................. 83 | 3.1.3 The parallel a lg o r ith m ................................................................ 83 i 3.2 Orienting planar parts given their transfer fu n c tio n s.........................94 3.2.1 C o m p le x ity .................................................................................... 95 3.2.2 Completeness and c o rre c tn e s s .................................................... 104 ; 3.3 Com puting transfer functions of a class of planar p a r t s 113 J 3.3.1 Algorithm d e ta ils ............................................................................ 120 3.3.2 Complexity and c o rre c tn e s s 125 ■ 3.3.3 O ther planar p a r t s 129 \ 3.4 Push-grasp a c t i o n s 129 | 3.5 F r i c t i o n 134 ! 3.5.1 Models of Coulomb friction 135 j 3.5.2 Determ inistic fric tio n ..................................................................... 137 ! 3.5.3 Non-determ inistic f r i c t i o n 141 ' 3.6 The registration m ark p ro b lem 146 ' 3.6.1 Case of a r o d ................................................ ............................149 j 3.6.2 Case of a p o ly g o n ......................................... ............................151 | 3.6.3 O ther planar p a r t s ...................................... ................................156 : 3.6.4 Design for recognizability............................ ............................157 ! 3.6.5 3-D polyhedral p a r t s ................................... ............................158 , 3.6.6 E x p erim en ts.................................................... ............................158 : 3.6.7 Some concluding remarks ........................ ............................163 4 C on clu sion s and Future W ork 169 1 B ib liograp h y 175 A p p en d ices 187 j I i A P roofs o m itte d in th e m ain te x t 187 j A .l Left-closed right-open steps and r a m p s 187 ! A.2 Proof of Lemma 3 188 i A.3 Unique solution to 3Z e q u a tio n s.............................................................196 A.4 Proof of the parallel graph construction le m m a .................................198 B O rien tin g parts w ith m u lti-a x is grippers 202 C D a v en p o rt-S ch in zel seq u en ces 205 L ist o f F igu res 1.1 Schematic of parallel jaw gripper above a p a rt................................... 7 1.2 Configurations of the part P with respect to the gripper J during the grasping process. In the non-contact state (top), the jaws L,H are not touching P. In the contact state (middle), both jaws just touch P but do not effect its orientation 6. Between the contact and grasped state (bottom ), the orientation of P changes to r($), T being the p a rt’s transfer f u n c tio n .................. 8 1.3 (top) The diam eter function for the pie-shaped part (shown at right in zero orientation). During a squeeze action, the part ro tates so as to reduce the diam eter, term inating when the diam eter reaches a local minimum, (bottom ) The transfer function is shown for the portion [ 0 , tt)................................................................. 1 0 1.4 A classification of planar part orientations........................................... 15 1.5 A classification of polygonal part orientations.................................... 18 2.1 Constructing polygon P consistent w ith gpsf / .................................. 29 2.2 Triangles and hexagons having the same diam eter function. . . . 36 2.3 Infinitely m any hexagons/octagons having same diam eter func tion as given triangle/quadrilateral........................................................ 38 2.4 Infinitely m any polygons having the same diam eter function as a given polygon............................................................................................ 39 2.5 Two m inim al polygons th at have the same diam eter function. . 40 2.6 Various stages in the proof of the AT*-completeness of MPFS. . 47 2.7 An example grasp plan for distinguishing the three parts shown at the to p ....................................................................................................... 52 x 2.8 Storing good partitions for a graph in tabular form. The columns are the vertices of the graph and the rows are the good p arti tions. In considering good partitions for a particular clique of vertices C , look only at the columns under vertices in C . P ar titions are specified by attaching labels to vertices. In a par ticular partition, for a particular set of vertices, two vertices belong to the same partition if and only if they have the same label associated w ith them in th at partition (the actual label itself is not im portant). { rq ,^ } W {^3 } is a good partition for {rq, U 25 ^3 } generated by aq. x\ also generates the good partition W {^3 } W {^4 } for {*h>- • •, v5}. x\ does not generate a good partition for {tq,tq}. (Why? Because aq ^ R{(vi,u 2))-) The num ber of good partitions (number of rows), t, is 0 ( n 3). . 2.9 The graph of stable diam eters for the three parts P i, P 2 , P 3 . 2.10 Grasp plan to resolve cliques in the graph of stable diam eters for the parts P1, P2, P 3 shown in the last figure.............................. 2.11 Disambiguating between pseudo-twins at their witnessing orien tations. At the top are different transfer functions with three steps each. Only the portion between [0,7r) (the period of sym m etry) is shown. The transfer function on the left, Ti has fixed points {0,90,130} degrees in and for T2 they are {0,60,120}. The diam eter value to which each step collapses to is shown in parenthesized italics just above the step. Let the parts th a t cor respond to these transfer function be P i,P 2 , respectively. The graph of stable diam eters for these two parts, P2) is shown below. A vertex is shown as a (part, stable orientation) tuple. For example, u is the vertex (P i,0 ) and v is (P 2 , 0 ). R ((u,v)) can be verified to be empty. Therefore, P i, P 2 are pseudo-twins w ith witnesses 0 , 0 . {«,w} is one maximal clique in G (P i,P 2). The other m axim al clique consists of four vertices and all the six edges e in th at clique have non-em pty R (e)............................. 3.1 Four traces, running from top to bottom , of a two-stage plan for orienting the rectangular part. Each gripper action is indicated w ith a pair of bold parallel lines. Regardless of the p a rt’s initial orientation, its final orientation is constrained to be in one of two sym m etric orientations................................................................... 3.2 A real-tim e parts feeder......................................................................... 3.3 Row-major (a) and snake-like (b) orderings of a 4 x 4 MCC. . 3.4 Com puting transfer function: Phase 1 .............................................. 3.5 M easure space representation of intervals and envelopes. The little solid circles represent objects. There are 16 of them shown arising from a transfer function having four steps in transfer function between [0,7r). Objects correspond to intervals of width at most T = 7T . The four objects at the arrowheads are the objects forming the envelope. The first of these is on the cc-axis (corresponds to a single step) and the last one has y-coordinate equal to T. The second quadrant of the second object forming the envelope is shown as the shaded region........................................ 90 3.6 Sequence of intervals output by Algorithm A 1 for a thin (in (a)) and thick (in (b)) pie-shaped part. For the thin slice (half angle = 2 0 degrees < tt / 6 ), both steps are “grabbed” before the ram p while for the thick slice the steps are too far apart to be grabbed one im m ediately after the other. Instead, in this case, the ram p has to be grabbed between the steps. The diam eter function of the thin slice is shown (in dotted lines) along with its transfer function........................................................................................................... 98 3.7 M easure space im plem entation for step-ram p functions, (a) shows a typical step-ram p function with three steps, [0 , u ), [«, v), and [iw , 7r), and one ram p [u,to). z is an arbitrary ram p point. (b) shows th e partial measure space objects for the intervals corresponding to the transfer function in (a). Only the four in tervals, three fixed and one variable, beginning at the first step are represented. The objects corresponding to the fixed inter vals are shown as little solid circles while the slope-l-segment corresponding to the variable interval is the solid line segment. The envelope of these four objects is the sequence of arrowed line segm ents....................................................................................................1 0 0 3.8 Merging E (F ),E (S ) into E (L ) ................................................................102 3.9 Top view of a three-stage plan for grasping a pie-shaped part w ith half angle 20°. Four traces of the plan (running from top to bottom ) are shown. Note th a t the p a rt’s initial orientation is different in each trace (top of each column). The gripper orientation at each stage, indicated by two parallel-lines, is the same for each trace; yet the same desired grasp configuration is achieved in all cases.......................................................................................103 3.10 M etric upper bound on num ber of iterations of Algorithm A'. . 105 3.11 Completeness of Algorithm A '...........................................................108 3.12 Construction of a polygon com patible w ith a step function. . . . 1 1 0 3.13 Modifying T into T2 via T i.................................................................112 3.14 Situation A. R'h, R i are currently in contact w ith the jaws H , L. Upon a small clockwise, the points of contact w ith the jaws would change to U,S on arcs S ',-, Sj-, respectively. 5;, Sj are portions of circles centered at c/,rig ht, C h,ieft of radii right, left, respectively. All of R t, c^ght, c^ieft, R!h are collinear. Lines l2- joining QU and l\ joining R'hR i intersect in point R ......................... 115 3.15 Situation B. A generalization of Situation A, r ^ f t , r/)rjg ht could be infinity.......................................................................................................... 118 3.16 Situation C : orientations th at are not unilaterally unstable but w ith one or both of li?^, |J?j| being infinity........................................... 119 3.17 Transfer function com putation : STEPS la and l b .......................122 3.18 Lemma 21. Given Ts{i — 1), computing Ts{i) in |T„(i)| tim e. . . 127 3.19 A pie shaped p art of radius 5 with half-angle 20° shown in zero orientation. The center of mass is assumed to lie at the point (0,2.5) as shown.............................................................................................. 131 3.20 Push-grasp analysis for the pie-shaped part shown in the pre vious figure. In particular, notice th at while the squeeze-grasp function has period 7r as before, the push-grasp function has a period 27r. These figures were generated using the system Math- ematica...............................................................................................................132 3.21 Four traces of 3-step push-grasp plan. The push angles are 0 ,- 5 6 ,- 1 2 8 degrees. Line w ith arrow indicates pushing jaw. The initial orientations for the four traces are same as those in Fig. 3.9. Notice the final orientations in both figures. Initial orientations th at are 180° apart, end up 180° apart in Fig. 3.9 (squeeze-grasp actions, see the first and last columns). How ever, in this figure, they end up in the identical orientation. Push-grasping resolves the am biguity...................................................... 133 3.22 Three different parts w ith the same grasp characteristics. P art 2 operating under zero friction behaves identically to P art 1 w ith ^ = 0.1; P art 3 operating under zero friction behaves identically to P art 1 w ith // = 0.5.................................................................................. 134 3.23 Three different friction models for parallel-jaw grasping. The Initial orientation of the part is the same but in (1) there is zero friction, and th e part rotates into a stable configuration; in (2 ) there is determ inistic friction as indicated by the friction cones, and the part wedges; and in (3) there is non-determ inistic friction, the p a rt’s final orientation is indeterm inate: it could become wedged at any of a range of orientations or it could rotate into a stable orientation.................................................................. 136 3.24 Construction of a GP-part polygon com patible with a given step- ram p function. At the top is shown a step-ram p function w ith three steps and one ram p, all left-closed and right-open, a is the fixed point of a step formed by rotating the ramp. The bot tom shows a portions of a polygon com patible with the transfer function obtained by rotating every ram p into a step about some point in its interior (resulting in a step function). By choosing to rotate every ram p into a step about its center, the polygon so obtained can be easily transform ed into a GP-part consistent w ith the given step-ram p transfer function. See the proof of Lemm a 23......................................................................................................... 140 3.25 An example of the constructing in Lemma 1 transform ing a polygonal part A, operating under friction, into a G P-part D operating under zero friction and having the same mechanical behavior. The transfer function of A is same as th at of octogan B which is sym m etrical (that is, given the transfer function T of A, the procedure in the 2nd paragraph of Lemma 1 will produce part B as one consistent w ith T). C is the 16-gon formed by the procedure in the proof of Lemma 1. The new edges, intro duced due to extra steps in transfer function formed by rotating friction ram ps into steps, are shown shaded. Finally, D is the G P-part formed by changing these new edges (assuming th a t the ram ps were rotated into steps about their center) into circular arc segments (also shown shaded).......................... 142 3.26 Change in transfer function under non-zero friction. Figure (a) shows the transfer function of a polygonal part and (b) shows the transfer function under non-determ inistic friction given by fi = 0.24 (a = 13°). The “shaded” portions of S 1 are shown in thick lines below the < j ) axis in (b). Notice th a t no fixed point of a step in T is disturbed by friction and hence (by Theorem 8 ) there exists a plan to orient this p a rt...................................................... 143 3.27 A set of poses for a rod-shaped part. On the left, the poses are all rotations about the center. Thus, the best place to place the m ark to allow for m axim al separation between the m arks is one of the ends of the rod. On the other hand, the poses on the right call for the m ark to be placed somewhere on the interior of the rod. Given k transform s on a part, where exactly to place the m ark to get the m axim um separation between transform ed m arks is the registration m ark problem .................................................. 147 3.28 Consider some process th at leaves a key-shaped part in one of four poses shown above. We are allowed to pre-place a registra tion m ark, identifiable by a vision camera, on the surface of the part. The solid circles indicate a poor placem ent for the m ark since the two middle poses could be confused due to noise in the vision system. The hollow circles indicate the optim al location for the m ark as they are maximally separated........................... 147 3.29 The three curves (circles) d i) 2 ,i,3 = 0 ,d i i 2 i 2 ,3 = 0, and d ii3 j2 i3 = 0. m utually intersecting at the two points (4.789,5.126) and (-1 0 .2 9 8 ,-8 .1 9 7 ) (The circles are shown incompletely). These two points are local m axim a in the lower envelope of d ii2, e?i)3, d2 j3 and can therefore be considered good registration m ark points. See next two figures. This is an example m inim ization diagram. Any connected region of this m inim ization diagram is bounded by circular arcs. There are three regions in this m inim ization diagram. Each connected region is shown associated w ith ex actly one of th e distance functions / th a t achieves the lower envelope M over the complete region. For example, the region shaded vertically is associated with the distance function Throughout points in this region, dl i 3 < m in{dii2, d2]3}, equality being achieved only at the boundary of the region..............................160 3.30 The lower envelope of d i)2, d ii3, d2 )3 over the square x ,y € [— 20, 20]. However, the local m axim a at (4.789,5.126) and (— 10.298, — 8.197) are not quite discernible. See the next figure for a zoom in ..........................................................................................................................161 3.31 To observe the local m axim um at (4.789,5.126), we zoom in and observe the lower envelope of < A i2, o?ii3, d2 )3 over the smaller square x ,y E [3,6]. Thus, for the set of three transform s we began w ith, (4.789, 5.126) is a good registration m ark point. So is the other local m axim um (— 10.298, — 8.197) which isn’t shown here......................................................................................................................162 3.32 The k = 4 transform s case: The lower envelope M for the 4 x 3/2 = 6 distance functions over the square x ,y € [— 20,20]. Compare the complexity of this lower envelope versus the one given in Fig. 4 for the case of three transform s....................................164 3.33 Zooming into the lower envelope M of the previous figure to observe portion over the square x, y € [0,10]. Notice th a t (0,0) is clearly a bad choice for placing the m ark (because the regis tration m ark distance corresponding to (0 , 0 ), Af(0 , 0 ), is small) while (6.15,6.83) is good (M (6.15,6.83) is high)................................. 165 3.34 Image A: W indowed image of the four keys w ith bad registration m arks..................................................................................................................166 xv 3.35 Image B: W indowed image of the four keys with good registra tion m arks......................................................................................................... 166 3.36 Image C: After image processing on the bad registration m ark image. Notice only 3 distinct “blurs” with two registration m arks th a t were close to each other being coalesced into one. . . 167 3.37 Image D: After image processing on the good registration image. Notice 4 distinct “blurs.” ........................................................................167 A .l Modifying the transfer function after the three grasps. At the top is a typical diam eter function shown w ith a classification of its equilibrium orientations. Steps and ram ps are shown side- by-side for convenience, (a) shows the single grasp transfer func tion. Notice th a t steps are open w ith fixed points at ends and ram ps are closed, (b) shows the desired transfer function with all steps and ram ps being left-closed and right-open, (c) shows the modified grasp transfer function which has left-closed and right-open steps and ram ps but differs from th e one in (b) by am ount 6 at (0 ,+ ) orientations. However, 6 is a param eter of the modified grasp and m aybe chosen arbitrarily sm all.....................189 A .2 The case of (maxima, m inim a, m axim a).................................................191 A .3 The case of (maxima, kink/m inim a, kink/m inim a)........................... 193 A.4 O rientation 0 is a kink................................................................................. 194 A .5 O rientation 0 is a m inim um ....................................................................... 195 B .l (a): A two-axis gripper poised over a trapezoidal part P. There are two pairs of jaws, one formed by H\, L\ and the other II2, L 2. Both pairs of jaws close in towards a central point, C. The pair H i, L\ closes in as far as possibly (w ithout deforming the part) before H 2, L 2 does. (b): Possible final poses for P after a single com plete grasp.................................................................................................203 A b stract Geom etric uncertainty in the position/orientation (pose) and shape of an industrial part is inherent in any robotic application handling such objects. Elim inating these uncertainties is often vital for autom ating future stages of m anufacturing such as assembly. In this dissertation are presented serial and parallel algorithm s to plan the motions of simple (low Degree of Freedom), inexpensive, and reliable robotic mechanisms th at elim inate pose and shape uncertainty for certain classes of industrial parts. C h a p ter 1 In tro d u ctio n 1.1 G eom etric u n certain ty Geom etric uncertainty in the position, orientation, and shape of an industrial p art is inherent in any robotic application handling such objects. Elim inating, or at least reducing, these uncertainties is often essential for future p art han dling stages such as assembly. In this proposal we propose efficient algorithm s | to solve this basic problem of reducing or elim inating uncertainty in position j and orientation (pose), and shape of industrial parts using simple robot mech- j anisms. The central them e of my thesis is expressed in th e italicized words | of the previous sentence: efficiency and simplicity. More precisely, software 1 (running tim e) efficiency and hardw are (robot) simplicity. • Softw are efficiency: We subject our algorithms, th a t produce plans, se quences of robot m anipulator actions th at drive the robot during execution, to ! careful analysis of running times and all of them are either optim al or w ithin i small factors of the lower bounds. However, there are lim its to speedups ob tainable from sequential algorithm s and often still faster running tim es are j dem anded from robotic applications, especially if real-tim e performance is de- i sired. Therefore, we also develop efficient parallel algorithms for our problems im plem entable on practical parallel architectures, and show th a t they achieve considerable speedup over their sequential counterparts. H ardw are sim p licity: In the past decade, one trend in academic research has been to design robotic end-effectors of increasing complexity. However, in a recent study, Canny and Goldberg [CG93] find several shortcomings with this approach from the industrial standpoint, the chief among them being th a t planning algorithm s required for robust autonomous m anipulation w ith these complex hands have proven elusive. We therefore propose taking the opposite j approach, i.e. reducing the complexity of the robot end-effector so th at they ! are faster, cheaper, less error-prone, and more robust. Perhaps the least com plex hand is the parallel jaw gripper having one degree of freedom. All our I algorithm s are designed assuming the grasping and m anipulation is done by | th e parallel jaw gripper or its simple variants. Often, to reduce associated cost I and error, sensors are not used. W hen we use sensors, we restrict ourselves only to some prim itive ones such as a linear position sensor or an unsophisticated uncalibrated vision sensor. 1.2 P ro b lem sta tem en ts We formalize our task of reducing uncertainty in pose and shape into the following two specific problems. j P O S E Given th e finite description of the shape of a part P, determ ine its I position and orientation, or alternatively, bring it into a known position i and orientation. We call this the orienting problem or the POSE problem. S H A P E D eterm ine the shape of a part P. We refer to this as the shape recovery or the SH APE problem. 1.2.1 A ssu m p tio n s on p rob lem in sta n ces The above problems are stated in their most general form. The following assum ptions are m ade to restrict their instances, j T he part is presented in isolation. Thus, we do not address the associated problem of isolating parts from among a bin - commonly called singulating. The isolated p a rt’s location is approxim ately known. Specifically, the part is j known to be lying flat on a horizontal table somewhere between the jaws of a j m anipulator. Throughout part m anipulation, the part exhibits planar motion I only, i.e. the part has one stable flat face in contact w ith the table at all j tim es and never topples off this face. This is related to considering quasi-static j motions (see Section 1.4). We call such parts planar parts. Further, for the SH A PE problem, we restrict the parts to be polygonal (polygonal parts) in cross-section while for the PO SE problem, they could be curved. The simplest curved parts, which we consider in more detail, are those m ade up of circular arcs in addition to linear segments. Following Laumond [Lau87], we call such parts generalized polygonal. 1.3 C on trib u tion s The prim ary contribution of this dissertation is a system atic and algorithm ic study of fundam ental robotic m anipulation problems. The emphasis, as m en tioned previously, is towards investigating the lim its of what one can do w ith simple, off-the-shelf, and inexpensive robotic hardware such as the parallel jaw gripper equipped, if at all, w ith simple sensors. • We analyze the mechanics of parallel jaw grasp of a planar part. In particular, we show th at the transfer function of a planar part is a step- ram p function (and conversely) while those for polygonal parts are step- functions (and conversely). We also characterize the diam eter functions of polygonal parts. • For the SHAPE problem, we first present negative results th a t show th at there exist an infinite num ber of polygons all having the same diam e te r function. So, complete shape recovery of even a polygonal p a rt’s shape from a sequence of diam eter m easurem ents on the part w ith an instrum ented parallel jaw gripper is impossible. We show th at even for a restricted class of polygons, which we term minimal polygons1, complete 1 polygons that do not have any parallel pair of edges shape recovery is impossible and th at deciding whether there exists a m inim al polygon having a given diam eter function is NP-complete. • This makes us seek positive results for shape recovery which we get when we consider the scenario th at the given part is constrained to be one of a known set of polygonal shapes having N edges in total. Now shape recovery is simplified into shape recognition. We build a d ata structure called the “graph of stable diam eters” having n < N vertices. We give two algorithm s w ith a tradeoff between com putation tim e and quality of outp u t desired: one generates an optim al-length plan for shape recog nition in 0 ( n 42n) tim e, while the other generates a sub-optim al plan in 0 { n 2 log n) tim e. N either plan demands more than n m easurem ents and is often far less than n. • For the PO SE problem, we first give a parallel algorithm th a t gener ates a plan for orienting n-sided polygonal parts in 0 (n ) tim e using n 2 processors connected in mesh-like fashion. The tim e complexity is a fac tor of n faster than the sequential complexity. The algorithm is based on a novel reduction of the sequential algorithm to fam iliar geometric problems which are then parallelized. • We then present a complete algorithm th at, given the step-ram p transfer function, having n steps and ram ps, of any planar part, generates an optim al plan in 0 ( n 2 log n + N ) tim e, where N is the length of the plan produced. For polygonal parts, it is known th at N < 2n [Gol92, CI92]. We show th a t for non-polygonal parts N could be unbounded w ith respect to n. However, we give a bound on N in term s of the m etrics of the transfer function. • We give an 0 ( n ) optim al algorithm to com pute the transfer function of a generalized polygonal part from its convex boundary description. For parts bounded by algebraic curves of bounded degree, there exist algo rithm s based on quantifier elim ination theory th a t com pute the transfer function [Ier91]. However, they are beyond the scope of this dissertation. 4 • We then begin generalizing these results. First we consider push-grasp actions which generalize squeeze grasp actions in th a t both jaws do not need to make sim ultaneous contact. We show th a t our algorithm s all apply to push-grasp actions as well. We also consider the effect of non zero friction between part and gripper. Now the part can get wedged in certain orientations. We consider two different models of friction and show changes in transfer function due to each. In each model, we give algorithm s th a t generate plans th a t orient the part in spite of the friction present. • We next consider a discretized version of the PO SE problem. We assume th a t a p art can exist only in one among a finite set of k poses. The specific question we ask is, where can we place a registration m ark on the p a rt’s surface, visible to a vision sensor, th at can m axim ally disam biguate between the given poses. This is a one step pose recognition strategy but w ith help of a (simple) sensor. For a part whose boundary geom etry is bounded by n, we give an 0 (n log2 k k4 log k log* k ) solution using a re sult from Schwartz and Sharir’s paper [SS90] th at deals w ith m aintaining the lower envelope of a set of bivariate functions. We dem onstrate the result using the Image-Calc vision system. Our results extend to other planar parts and also to lim ited cases of polyhedra. We also consider redesign of parts to facilitate registration m ark disam biguation. • We identify a bunch of interesting open problems for future work beyond the scope of this dissertation. 1.4 T h e M a n ip u la tio n The SHA PE and PO SE problems are solved by presenting algorithm s th at generate a sequence of actions th at, in turn, drive the m anipulator over the p art. T he following are our assum ptions w ith respect to p art m anipulation. 1. All m anipulation is done w ith a parallel jaw gripper, J. See Fig. 1.1. The two jaws are referred to as L, H and are sufficiently tall and wide so th a t th e part always stays w ithin the two jaws. 2. The p art is rigid, i.e. it never changes its shape during the m anipulation. An im m ediate consequence of these first two assum ptions is th a t we can, w ithout loss of generality, assume th at all parts are convex since only points on the convex hull of th e part ever come in contact w ith the gripper. 3. For the PO SE problem we prim arily seek open-loop plans, i.e. no sen sors are used in the m anipulation process. Later we consider a different version of the problem assuming a simple and uncalibrated vision sensor. We consider tradeoffs between length of plans and utilization of sensor inform ation. For the SHAPE problem, we assume th at the gripper is equipped w ith a sensor th a t can m easure the distance between th e two jaws at re st. 2 W hen the gripper is equipped with this sensor, we call it an instrumented parallel jaw gripper. 4. T he m otion of th e gripper J is orthogonal to the jaws L, H. 5. All m otion occurs in th e plane and is slow enough th at inertial forces are negligible. The scope of this quasi-static model is discussed in [Mas8 6 b, Pes8 6 ]. 6 . During the m anipulation, J is assumed to be in only one of these three states w ith respect to P (see Fig. 1.2). n o n -co n ta ct sta te : A, H wide apart so th a t J is not touching P. c o n ta ct s ta te : L ,H sim ultaneously “just touching” P (w ithout chang ing the orientation of P). gra sp ed s ta te : After contact with P , L and H close towards each other (changing the orientation of P w ith respect to J ) as far as possible w ithout deforming P . 2i.e. at a stable equilibrium configuration. See Section 2.2 6 7. There is zero friction between the part and the gripper. This assum ption implies th a t the probability of part wedging is zero and is partly justified by the design of th e low-friction parallel-jaw gripper by Goldberg and Furst [Gol90, Gol91, GF92]. See Fig. 1.1. However, for the PO SE problem we do consider the effect of friction on the existence of plans to orient the given part. 8 . B oth jaws make contact simultaneously (pure squeezing). We later re lax this assum ption by considering pushing actions in com bination w ith squeezing. M any of these assum ptions have been previously m ade in the literature [Gol90, Gol92, GM90, GME91]. As m entioned above, several of these assum p tions are m ade initially but will be relaxed later (Assumptions 6 , 8 and 7). Figure 1 .1 : Schematic of parallel jaw gripper above a part. e /'i Orientation 0 Non-contact state. L,H wide apart so as not to be touching P Orientation 6 diameter d(0) Contact state. L,H simultaneously just touching P Orientation r(6) Grasped state. L,H closed as far as possible without deforming P Figure 1.2: Configurations of th e p art P with respect to the gripper J during the grasping process. In the non-contact state (top), the jaws L ,H are not touching P. In th e contact state (middle), both jaws just touch P but do not effect its orientation 6. Between the contact and grasped state (bottom ), the orientation of P changes to T(0), F being the p a rt’s transfer function. 8 1.4.1 M ech a n ics o f m a n ip u la tio n w ith th e p arallel jaw grip p er The m echanics of grasping a planar p art w ith a parallel jaw gripper under the assum ptions detailed above can be captured by considering the transfer function of the part th a t m aps pre-grasp orientations of the part into post grasp orientations w ith respect to the gripper. The transfer function is derived from th e diam eter function of the part which we now define. Let P denote the part to be oriented and S 1, the set of planar orientations. 6 £ S 1 is an arbitrary orientation of P with respect to the gripper J. Let 9£+ denote the set of th e positive reals. D ia m e te r F u n ction The diameter function d : S 1 —> of a planar part P is defined as follows. Let P be in an orientation 6 w ith respect to J such th at P and J are in the contact state (see Fig. 1.2). The diameter of P at orientation 6, d{6), is defined to be the distance between L yH in this contact state. See Fig. 1.3(top). The diam eter function is continuous: A d — » 0 as A 0 — * 0. It is single valued and positive w ith domain S 1. Also, the first derivative of d at any local m axim um is well defined and zero. The diam eter function for a planar part P is equal to the diam eter function for the convex hull of P. The diam eter function has period 7T . Further, for polygonal parts, d is piecewise sinusoidal. D iam eter functions of n-gons have at m ost n local m axim a and at most n local m inim a. A p art P is said to be consistent with diam eter function d if P ’s diam eter function is d. T ransfer F u n ction The transfer function T : S 1 — > ■ S 1 maps the pre-grasp orientation of a part w ith respect to the gripper to the post-grasp orientation. T can be derived from d because Fact 1 (Squeeze) Grasping minimizes diameter. 9 2 t e e Figure 1.3: (top) The diam eter function for the pie-shaped part (shown at right in zero orientation). During a squeeze action, the part rotates so as to reduce th e diam eter, term inating when the diam eter reaches a local m inimum, (bottom ) The transfer function is shown for the portion [ 0 , 7r). 10 This can be intuitively verified using a simple continuity argum ent on th e grasping process as follows. Let the grasp be said to begin at the contact state at tim e 0 and end at the grasped state at tim e 1. At any instant of tim e t,0 < t < 1, let $t be the instantaneous orientation of the part with respect to the gripper. Notice th at the two jaws are continuously in contact w ith the p art between tim es 0 and 1 and so the distance between the two jaws at tim e £, call it D(t), is the diam eter of th e p art at orientation 0t, i.e. D (t ) = d(0t). Let A t denote an infinitesimal (positive) tim e duration. Since the jaws are continuously moving towards each other during grasping, D{t) > D(t + 8 t ) for all 0 < t < 1. Therefore, it follows th a t d(0t) > d(9t+st). Since the orientation 9t is continuously varying while the jaws are squeezing down on the p art, d(9t+st) m ay be approxim ated by d( 0t + 8 ), where 8 is an infinitesim al orientation. At the end of the grasping process, therefore, d($i) < d{9 ± < 5 ) because the grasping process ends when further squeezing would violate rigidity of th e p art which proves the claim. See Fig. 1.3. T he transfer function is said to have period T if for all 9 £ S 1, T(0 + T) = (T(9) + T) mod 2tt. (1.1) This definition for transfer functions makes the period of sym m etry in diam eter and transfer functions identical. A fixed point in a function / : S 1 — > S 1 is a point a £ S 1, for which f(a) = a. A step in / is a left-closed, right-open subset [b, c) of S 1 such th a t Vx £ [b,c),f(x ) = a, for some b < a < c. In other words, every step has a fixed point strictly in the interior. / is a step function if its domain, S 1, can be partitioned into a finite set of (disjoint) steps. A ramp in / is a left-closed, right-open subset [6, c) of S 1 such th at Vx € [6, c ),/(x ) = x. T hat is, every point in a ram p is a fixed-point. / is a step-ramp function if its dom ain, S'1, can be partitioned into a finite set of (disjoint) steps and ram ps. The proof of Theorem 1 follows from th a t of Theorem 2 and Fact 1 because from Theorem 3, it follows th a t polygonal parts have no regions of constant diam eter in their diam eter function. 11 T h eo rem 1 [Gol92] The transfer function of a n-sided polygonal part is a step function consisting of no more than 2n steps. It can be computed in 0{n) time given the edges of the polygon in order. □ T h eo re m 2 1. The transfer function of a planar part is a step-ramp func tion. 2. The transfer function of a GP-part of n linear and circular arcs consists of no more than 2n steps and ramps. It can be computed in linear time given the arcs in order. P roof: 1. Let th e diam eter function of a planar p art P be d and let its transfer function be F. The proof lies in essentially applying Fact 1 to d. Consider intervals of constant diam eter first. Let ( 6 , c) be a m axim al open interval of constant diam eter in S 1. From Fact 1, V0 € (b,c) T( 6 ) = 8 . Furtherm ore, T(b) = b and T(c) = c. Now consider regions outside the intervals of constant diam eter. Let b, c be two consecutive local m axim a in d. Let the unique local m inim um between them be a. Then from Fact 1, W G (6, c) r($) = a. Furtherm ore, r(6) = b and r(c) = c. Now we have a transfer function T whose domain consists of open steps whose end points are fixed points and closed ram ps. Let us call this the single grasp transfer function. Achieving left-closed and right-open steps and ram ps is through a modification of the grasping process and is described in the A ppendix (Section A .l). The new transfer function may be term ed the modified grasp transfer function to distinguish it from the single grasp trans fer function . 3 However, in isolation, “transfer function” refers to the modified grasp transfer function w ith its left-closed and right-open steps and ram ps. 2. This will be shown im plicitly in Section 3.3 in which is presented a linear tim e algorithm to com pute the transfer function. □ 3Notice that the two are identical except possibly at end-points of steps and ramps 12 These theorem s have their converses. Given an n-step step function, there is a 2 n-gon having it as its transfer function (Lemma 16 in Section 3.2); and given a step-ram p function m ade up of n steps and ram ps, there is a G P-part w ith 2n linear and circular arcs having it as its transfer function (Lemma 23 in Section 3.5.2). 1.4.2 A cla ssifica tio n o f p lanar part o rien ta tio n s b ased on grasp sta b ility We present a classification of orientations of the part P w ith respect to the gripper J into several categories (see Fig. 1.4) on basis of the behavior of T around 9, i.e. on how stable an orientation is to the grasping process. T in this section refers to the single grasp transfer function (see the proof of Theorem 2) This classification will be useful in the com putation of th e diam eter and transfer functions which in tu rn is a first step in the planning strategies given in Sections 3.1,3.2. Let 8 denote an infinitesim ally small positive orientation. • Equilibrium orientations: O rientations 6 of P with respect to J th at are such th a t T(0 ) = 9, i.e. such orientations are not changed by the grasping. These are further subdivided into the following. 1. Stable equilibrium: T(9 ± 8) = 9. 2. Neutral equilibrium: T(9 it 8) = 9 8. 3. Unstable equilibrium: T(# ± 8) ^ {9,9 -f 8,9 — < 5 } . 4. Semistable equilibrium: T(0 + 5) = 9 + 8 and T(0 — 8) — 9 (or vice versa, i.e. interchanging + , — ). Such orientations are neutral for infinitesim al rotations in a particular direction while stable in the other direction. 5. Semiunstable equilibrium: These are orientations 9 th a t are neutral w ith respect to (infinitesimal) rotations in one direction while un stable w ith respect to th e other direction. T hat is, T(0 + 8) = 9 + 8 and T(9 — 8) g {9,9 — (or vice versa by interchanging + , —). 13 • Unstable orientations4: Orientations 0 such th a t T(0) 7 ^ 9. Let df refer to the first derivative of diam eter function d w ith respect to 6 . T h at the above is an exhaustive set of orientations is m ade clear by considering the signs ( + , — ,0) of th e pair of num bers (d!{9 — S),d'(9 -f <S )): 5 U nstable orientations are (+ , + ) or ( —, — ) orientations; neutral equilibrium orientations are (0,0); stable equilibrium (— ,+ ); unstable equilibrium ( + , — ); semistable (“ , 0) or (0 ,+ ); and finally sem iunstable orientations axe (+ ,0 ) or (0 ,— ). For exam ples, see Fig.s 1.4 and A .I. D iam eter functions of polygonal parts are piecewise sinusoidal (Theorem 3 and so from Fact 1, we get th a t ram ps cannot exist. Therefore, neutral, sem istable and sem iunstable orientations are impossible. See Fig. 1.5. 1.4.3 M e tric for grasp q u a lity We assume th a t the transfer function P of planar part P has at least one step. Otherwise, the p art is of constant diam eter (the simplest examples of such parts are the circle and Reuleaux triangle) and is always in an optim al grasp when grasped w ith a parallel jaw gripper (in other words, T = 0 and the part is already oriented up to sym m etry). Every step has a fixed point and so the diam eter function d of P has at least one stable equilibrium orientation. Let the num ber of stable equilibrium orientations be k. The PO SE problem could be alternatively posed 6 as to achieve an optim al grasp subject to the ranking of these k stable equilibrium orientations based on a m etric proposed in [WVW85]. Their quantitative m etric is the am ount of ro tation th a t can be tolerated before the part switches to a different orientation. This translates to the shortest distance of a stable equilibrium orientation to a different equilibrium orientation (unstable, neutral, semistable, or semiun stable). The set of stable equilibrium orientations th a t maximize this m etric could be term ed the optim al grasp orientations subject to this grasp metric. It 4Not to be confused with unstable equilibrium orientations. 5 6 , small enough may be chosen so that (d' ( 8 — 6 ), d' ( 6 + 6 )) are both defined, d! is defined except at a finite number of orientations in S 1. 6pun not intended! 14 (a) Unstable equilibrium. (b) Stable equilibrium. (c) Unstable Orientation. / ri r / ■ 2 / : D (d) Neutral Equilibrium, rj + r2 = D (© ) Unilaterally unstable Orientations. (f) Semistable orientation if rj + r2 <D. Otherwise semiuntsable orientation. Figure 1.4: A classification of planar part orientations. 15 is easy to com pute these orientations in 0 ( n ) tim e given the n steps and ram ps th a t m ake up T. In general, however, the desired optim al configuration will depend on the criterion or m etric used. We can achieve any grasp configuration for parallel jaw -grippers, i.e. one th a t depends only on the p a rt’s convex hull, in which case there are always 27x/T such grasp orientations equally spaced over S l achieving this optim al grasp configuration. 1.4.4 P r o je c tio n se ts Definitions of Rh,Ri,Rhi as functions of orientation, and their cardinalities (assum ing convex parts) For future analysis we need to define a special subclass of unstable ori entations which we call unilaterally unstable defined below in term s of the projections sets of Section 1.4.4. We say Rh < Ri if x € R f G Ri = > x < y. Replacing < by < gives us a definition for Rh < Ri- Now an orientation 9 is unilaterally unstable if at 9, (i) at least one of \Rh\, |-Rj| is oo; (ii) \Rhi\ — 1; and (iii) Rh < Ri or Ri < Rh- See Fig. 1.5(d) for examples. T he following lem m a, Lemma 1, holds for any planar convex p art P, not necessarily polygonal. L em m a 1 Given any planar rigid convex part P , P is in an equilibrium ori entation 9 if and only if 1. 9 is not an unilaterally unstable orientation, and S. R u(9) f 0. P roof: "Only if" : Let P be in equilibrium and further, if possible, let Rhi{9) = 0. W ithout loss of generality, let Rh < Ri (see Fig. 1.5(c)). Let x — min(J?;) and y = m ax(i?/l). Note th a t x > y. If the forces applied at the upper and lower jaws is F, then there is an unbalanced torque of m agnitude at least 16 •|P | • (x — y) > 0 which will cause P to rotate counter-clockwise. Thus, the system is not in equilibrium. "If": Let the system be in an orientation th a t is not unilaterally unstable and Rhi(0) ^ 0. Case 1 : |i?w(<9)| = 1- Let x = Rhi{0). Case 1 .1 : Both |i?^| and \Ri\ are one. In this case, the net torque on P is zero because the directions of the forces from the jaws are opposite to each other and equal m agnitude. Therefore, th e system is in (unstable) equilibrium . Case 1 .2 : At least one of \Rh\, |jR/|, wlog is infinity. Then, since the system is not in a unilaterally unstable orientation, it is not the case th a t Rh < x or i < Rh. So, there exist vertices p,q € R'h such th a t p < x' < q. Since D(p,x) > D(x',x ) = d( 6 ) < D(q,x ), 0 corresponds to a equilibrium orientation. See Fig. 1.5(b). Case 2. \Rhi(0)\ > 1. This implies th at both \Rh\ and |R/| are infinite. Let x,y be the m inim um and m axim um , respectively, points in Rh fl Ri. Any possible rotation from this orientation $ will result in a diam eter at least (y — x ) 2 + d(0). Thus, by Fact 1, th e ’system is in stable equilibrium . □ 1.5 R ela ted W ork A theory of m anipulation planning in the presence of geom etric uncertainty was first presented in 1984 by Lozano-Perez, Mason, and Taylor [LPMT84] and later extended in a series of papers. Examples of high com plexity end-effectors are the S tan fo rd /JP L hand (9 degrees of freedom) [Ker84] and the U tah/M IT hand (16 degrees of freedom) [Sal82], In a recently held NSF-sponsored workshop on geom etric uncertainty [GMR92], drawing inspiration from W hitney [Whi82, W hi8 6 ], Mason [Mas91], Erdm ann et al. [EM 8 6 ] and others, Canny and Goldberg formalized a new philosophy in robotics - Reduced Intricacy in Sensing and Control, or RISC robotics - which advocates th a t structured environm ents such as in a factory dem and simple and cost-effective robotic mechanisms. This translates into 17 p x q H / L R y . ................. / j j * j (d)U nilaterally unstable Orientations. Figure 1.5: A classification of polygonal part orientations. using low D O F and low cost m anipulators such as the parallel-jaw gripper, and avoiding th e use of sensors. More details m ay be found in [CG93]. We m ay safely claim th a t the robotic mechanisms and algorithm s described in this dissertation conform w ith the RISC paradigm . Specific related literature are now briefly described. T h e P O S E p ro b lem Research on the PO SE problem draws from work in grasping and in parts orienting mechanisms. The quality of a grasp configura tion has been defined in m any ways depending on hand geom etry and th e class of parts being grasped. Grasp configurations are often classified on th e basis of m echanical stability. There is large body of research on grasping and grasp quality [BFG85, HA77, Ngu89, FP91, Sal82, AHM85, MSS87, Cut85, M P89, FC92]. For parallel-jaw grippers w ith polygonal parts, Jam eson [Jam85] de fined a stability condition sim ilar to th a t of [HA77]. Building on th e work of M ason [Mas82], Brost [Bro8 8 ] distinguished between stable and wedged config urations for polygonal parts and gave an algorithm for achieving a stable grasp w ith a parallel-jaw gripper when the p a rt’s initial orientation can be described by a tolerance interval. 18 All of these papers, w ith the exception of [Bro8 8 ], focus on th e final grasp configuration rath er than p art m otions during grasping: i.e. they im plicitly assum e th at the p a rt’s initial orientation is known and will not be substantially disturbed during the act of grasping. In this dissertation we assume th at the p a rt’s initial orientation is unknown and th e part is free to rotate during grasping. We consider the case of grasping curved planar parts w ith a parallel jaw gripper. The sequence of grasp actions found by our planning algorithm will achieve an optim al grasp based on any m etric th at depends only on the p a rt’s convex hull. To achieve a desired grasp configuration, we m ust control interactions be tween the p art and the gripper. Sensors can be used to control part state by actively servoing gripper m otion in response to sensor data. This approach is known as active compliance or closed-loop control. Examples may be found in [Ino74, Hog84, Mas78, Sal82]. A nother way to control part state is to use passive compliance or open- loop control, where part m otion is constrained m echanically w ithout the use of sensors. For exam ple, [PPB74] dem onstrated th a t pushing can be used to elim inate uncertainty while grasping. Mason [Mas82] formalized the role of pushing in robot m anipulation. The use of passive compliance for grasping is also studied in [Chi85, Fea83, T P 8 8 ]. This is our approach to orienting parts. An introduction to mechanical parts feeders can be found in [BPM82]. Traditional parts feeders (such as vibratory bowl feeders) are inflexible, tim e consuming, and need physical modification whenever a new part needs orient ing. Thus, the need for a programmable parts feeder arises. The idea of using a sequence of pushing or grasping m otions to reduce uncertainty in p art orien tation was addressed by [MW85, M G T 8 8 , PS 8 8 , TMG87]. A lthough each of these planning algorithm s use realistic models of mechanics, each used heuris tics to search for plan strategy, none of which are guaranteed to find a plan in polynom ial tim e. N atarajan [Nat89] ignored the mechanics of parts feed ers and focused on th e com putational problem of planning w ith a given set of transfer functions. The complexities of his algorithm s were improved by Epp- stein [Epp90]. These results cannot be applied to curved parts because their 19 com plexities depend on the num ber of "stable orientations of "the part. OUF m ulti-step plans for parts feeding also has some relation to compliant motion planning [Buc8 6 , Bro 8 8 , Don 8 8 , N at 8 6 ] in th a t the part m echanically complies w ith the jaws in a squeeze grasp m otion, and in particular to the technique of preimage backchaining [Lat89, LPMT84] since we begin from the goal orienta tion and work backwards, one step at a tim e, to envelope the com plete space of initial orientations. Goldberg designed the low-friction parallel jaw gripper used throughout this dissertation [Gol90, GF92] and presented an 0(n2) algorithm to generate a plan to orient a polygonal p art [Gol92] using a result from Ierardi and Chen [CI92]. Mason [Mas8 6 a] investigated the mechanics of pushing and gave a rule for determ ining which direction the part will ro tate th a t holds in presence of Coulomb friction. Peshkin [Pes8 6 ] extended M ason’s result using a m inim um - work principle to bound the set of all possible rotations of a pushed part. Brost [Bro8 8 ] also considered Coulomb friction gives an algorithm for autom atic planning of robot grasping motions w ith a parallel jaw gripper in the presence of bounded uncertainties of a planar object. [BM89, Erd84, RBS87] develop graphical m ethods for determ ining the set of all possible forces th a t can arise due to Coulomb friction. Goyal et al. [GRP91] present two geom etric descriptions of the net frictional force and m om ent between a rigid body and a planar surface on which it slides. T he m om ent function description applies only to ordinary isotropic Coulomb friction, while the lim it surface description applies a wider class of friction laws. B oth can be used to deduce results concerning the m otion of sliding rigid bodies. In contrast, the questions addressed by our work on planning under friction are: w hat is the the am ount of Coulomb friction th at can be tolerated in a plan (squeeze-grasp or push-grasp) th a t is guaranteed to orient a planar part (with total uncertainty in initial orientation); and how much friction causes the non existence of such a guaranteed plan. In the first case, we also give algorithm s for generating the guaranteed plan. We consider two models - determ inistic 20 wedging and non-determ inistic Coulomb friction - given by a coefficient of friction fx. In classical geom etry the diam eter function is term ed as the width func tion [YB51]. Jam eson [Jam85] defined the same function and used it to show th a t any two-dimensional convex body m ust have at least two stable equilibria where it can be grasped between parallel jaws. We also borrow several tech niques from C om putational Geometry; for example, m axim a of a set of planar points, num ber of antipodal pairs on a polygon [Ede87, PS85], convex hulls of generalized polygons [DS90], constant diam eter curves (orbiforms) [CV91], The discretized pose problem requiring one step pose recognition w ith a simple vision sensor, which we term the registration m ark problem, is related to general pose recognition problems fundam ental in m achine vision [Hor8 6 , Nev82]. G rossm an and Blasgen [GB75] consider orienting 3-D parts by placing them in an “orienting box” attached to a vibrating m echanism until the part settles into one among a finite set of poses. They then detect the current pose of th e object by probing. Our approach involves representing a the lower envelope of a set of bivariate functions which has been studied by Schwartz and Sharir [SS90] who relate th e com binatorial complexity of the representation to upper-bounds on lengths of Davenport-Schinzel sequences [DS65]. P a ra llel A lg o r ith m s in R o b o tic s Problem s in robotics such as m otion and task planning appear to be sequential nature; it is indeed quite challenging to seek and discover parallelism in them . However, parallel algorithm s are essential to robotics if robots are to deliver real-tim e performance. A part from vision problem s, only little is reported on the application of parallel techniques to problem s in robotics. In [PR92a], we present a survey and problems th a t we feel should be of future emphasis. O ur parallel algorithm for generating a plan to orient polygonal parts uses a n x n m esh connected array of processors which is a widely studied architecture [AH8 6 , AK84, MS85, NS81, TK77] suitable for VLSI im plem entation owing to its sim plicity of interconnection, constant degree links for each processor, and m odularity (ease of building a bigger sized architecture from smaller ones). 21 Exam ples of real machines whose underlying architecture is the mesh are the SCAP architecture built by Hughes Research Labs [PN87, LPP91], the recent Intel D elta m achine, and the M asPar MP-1 system [Cor91]. T here is a lot of work in parallel com putational geometry, both on the P-RA M model (which is a parallel extension to the fam iliar RAM model of com putation) [ACO+ 8 8 , Cho80, AZ89] and on specific architectures such as th e m esh [MS8 8 , MS89, AH 8 6 , Deh 8 6 ]. We make use of some of these results in our parallel algorithm for orienting polygonal parts. T h e S H A P E p ro b lem Our work on the SHAPE problem has some rela tion to geom etric probing which was introduced by Cole and Yap [CY87] and inspired by work in robotics and tactile sensing [GLP87, GLP84]. Specifically, Cole and Yap considered a probe to be a directed ray aimed at a polygon which returns th e point of contact w ith the polygon and showed th at 3ra — 1 probes are necessary and 3n sufficient to determ ine the shape of a convex n-gon. A com plete description of these and other geometric probing results appear in [Ski8 8 ]. Skiena [Ski89] provides a sum m ary of the basic results and open problems in this area. However, some of the basic assum ptions common in geometric prob ing are quite unrealistic in practice. Some examples of such assum ptions are th a t th e p art is not disturbed by the probes, the probes are accurate (travel in straight lines and return error-free inform ation), and probes are powerful (can recover inform ation like normals from the contact face, etc.). In contrast, we use simple sensors and allow for sensor error and the fact th a t th e probing process disturbs the part. W allack and Canny consider shape and pose recognition by scanning light beam projections th a t are orthogonal to the plane of the part [WC91]. Only a few high resolution scan lines are used and the pose algorithm runs in O(n) tim e (on th e average) for an ra-sided polygonal part. In [WC92b] they consider light beam s th a t are in th e plane of the p art which can be used to m easure diam eter w ithout affecting part orientation. In contrast, grasping actions w ith a parallel jaw gripper can be used to m easure diam eter after rotating the part into a 22 stable orientation prior to th e m easurem ent. 7 [WC92a] considers th e problem of determ ining a given p a rt’s orientation by planning an sequence of diam eter m easurem ents. O ur problem is the more general problem of recognizing a p art from a known set (in some situations, as a by-product, the part will be in a known orientation as well). Also, we explore the com putational com plexity of planning an optim al sequence. The problem of identifying polygons from a known set has been considered by Lyons and R appaport [LR89]. However, their probing model is the same as th e one used by Cole and Yap which is stronger than ours. O ur work on recognizing p art shape also has some relation w ith robotic inspection [SR90] and th e work of Ellis [E1187] concerned w ith tactile d ata for recognition. Chen and Ierardi [CI91] consider the problem of recognizing a set of polygonal parts from diam eter m easurem ents. However, they do not consider optim al plans. In fact, their plans are oblivious in the sense th a t they do not allow interm ediate diam eter m easurem ents to influence the plan. Thus, as can be expected, the length of plans will be longer than ours, in general. Kang and Goldberg [KG92] consider a sim ilar problem where the diam eter m easurem ents are corrupted by Gaussian noise. They show th a t d ata from a sequence of random grasps can be processed using a Bayesian estim ator. However random grasping has low average-case perform ance when p art shapes are similar. The relation between planning m anipulation strategies and searches through trees was observed in [EM 8 6 , M G T 8 8 , TMG87]. The notion of active vision, servoing sensors so as to obtain inform ation efficiently is popular in vision recognition strategies [Rav91]. Ours is also an active sensing strategy in th at we seek a best next grasp for the p art based on the previous ones. I < 7We use such measurements in Section 2.2 C h a p ter 2 T h e S H A P E p ro b lem — R e c o g n iz in g P a rts This chapter deals w ith the SHAPE problem restricted to polygonal parts. Throughout this chapter th e term s “polygons” and “polygonal p arts” will be used interchangeably keeping in m ind the assum ption on planar m otion of the p art (Section 1.2.1). Recalling the assum ption m ade on the jaws (Assum p tion 1 ) in Section 1.4, nam ely th a t the jaws are tall and wide com pared w ith the p art, a polygonal part can be taken to refer to any part exhibiting planar m otion and w ith polygonal projection on the plane of rotation. This clearly includes parts of constant height and polygonal in cross-section. We may as sume, w ithout loss of generality, th a t this polygon of projection is convex (see A ssum ption 2 in Section 1.4). We begin in Section 2 . 1 am bitiously investigating w hether shape of a poly gon can be obtained by m aking diam eter m easurem ents on it. W hile we show th a t th e shape of a polygon is impossible to recover from diam eter m easure m ents m ade on it since there are infinitely m any polygons consistent w ith a polygonal diam eter function, we show th a t the orientations of edges of a poly gon along w ith partial perim eters along every orientation can be obtained. We next restrict ourselves to th e class of minimal polygons: polygons th a t have no pairs of parallel faces; and show th at shape recovery is still im possible and 24 th a t deciding the consistency question: “IsThere a m inim al polygon consistent" w ith a given diam eter function;” is /VP-complete. These negative results force us to settle for th e task of identifying a given polygonal p art from among a known set by making a dynam ic sequence of diam eter m easurem ents on it. This relates to a problem in autom ated m anu facturing where it is often useful to sort parts according to shape. A common approach is to use machine vision, which can be sensitive to lighting condi tions and requires coordination w ith a program m able m anipulator. However, in Section 2.2, we explore an alternative approach th a t uses th e instrum ented parallel-jaw gripper as the sensor and m anipulator. The only sensing is m ea suring the distance between the two jaws. We describe the d ata stru ctu re used and give two planning algorithms: one constructs a suboptim al sequence in 0 (n 2 log n) tim e and the other constructs the optim al plan in 0 (n 4 2 ") tim e; where n is the num ber of stable equilibrium orientations over all the parts in the known set. N either plan requires m ore than n grasp action m easurem ents. T he results described in this chapter have been previously reported in [RG92b, RG92f], 2.1 N e g a tiv e R esu lts: In d istin g u ish a b le P o ly g o n s A function f : S 1 —> 5 1 is said to be a valid diameter function if it is the diam eter function of some polygonal part. The specific problem we are interested in this section is: Given a valid diam eter function d, com pute the class X'(d) of all polygonal parts consistent w ith d. T he prim ary m otivation for this specific problem stem s from our approach to com puting shapes of polygonal objects: the diam eter at a particular orien tation can be m easured by grasping the p art at th a t orientation w ith a parallel jaw gripper and sensing the distance between the two jaws. Can such diam eter m easurem ents give us the polygonal shape of object uniquely? The problem 25 can be posed as a question in geometric probing, where a probe at some ori entation w ith respect to the part returns the diam eter at th a t orientation. Li [Li88] studied obtaining part shape of polygons using a similar but stronger probing model. His “projection probes” return the projection of a polygon onto a given line, while our “diam eter probes” return only the length of this projection. The extrem e situation is when we are given all possible diam eter m easurem ents, nam ely the diam eter function itself. This gives the problem as stated above. Our hope, anticipating complete shape recovery, is th a t X (d ) be a easily com putable singleton set. For curved planar parts, the existence of curves of constant w idth (or “orbiforms” [CV91]) has been known since Euler. This precludes any general shape from diam eter results for curved parts. The result was open for polygonal parts. Recall in Section 1.4.1 we saw th a t th e diam eter function of a polygon is the diam eter function of its convex hull. Thus, we only consider convex polygons throughout. 2.1.1 C h a ra cteriza tio n o f valid d ia m eter fu n ctio n s Given the problem as stated above, it is n atural to ask for the characterization of valid diam eter functions: w hat is the m athem atical form of a valid diam eter function and how do we test w hether a given function is a valid diam eter function. We answer these questions in this section. We first define “good” piecewise sinusoidal functions as follows. A continuous function f : S 1 9£+ is said to be a good piecewise sinusoidal function (gpsf) if there exists a finite integer Z ( f ) > 2, and a cyclic ordering of orientations < t > o < < t > i < ■ ■ ■ < < j> z - i < < j> z = < f> o such th a t Vj £ { 0 ,1 ,..., Z — 1}, and \/< f> £ [ < f> j, (f> j+ 1 ], f((f> ) = lj cos(f + aj), for some lj £ 3ft+, and otj £ S 1. lj,ctj are term ed the parameters of the sinusoid lj cos(<f>+aj). It follows from this definition th a t a gpsf is single valued, has a finite num ber of local m axim a and local m inim a and is differentiable at all but a finite num ber (at m ost Z) 26 of orientations in S 1. For a gpsf / , let M A X (/),M IN (/) denote the cyclic ordering of its local m axim a, local m inim a orientations, respectively. Also, for a gpsf / , let $ ( / ) , the set of transition orientations of / , denote the ordered set { < ^ > 0 ,..., <j>z-1 } from the definition of the gpsf / . If l^l refers to the num ber of elem ents in a cyclic ordering S, then it is clear th at |M A X (/)| = |M IN (/)| and |4>(/)| = Z(f). A note about the orderings $ ( / ) , M A X ( f ), and MIN(f) used above. They are cyclic in the sense th a t they are invariant under any cyclic perm utation of th e elem ents. They are also invariant under any fixed additive offset to each of their elem ents. This is because their elements are taken from S l which has these invariant properties. T he characterization theorem now is: T h eo re m 3 A function f is a valid diameter function if and only if 1. f is a gpsf, 2. f has period 7 t , and 3. M IN (/) C $ ( / ) , M A X (/)D $ (/) = 0 (that is, parameters of the sinusoid change at every local minima and never change at any local maxima). P roof: “Only if” : Let d be the diam eter function of polygon P. Goldberg [Gol90] states conditions 1 and 2 as properties of valid diam eter functions. F urther more, it is clear th a t at local m inim a orientations of d, an entire face of P is flush w ith one of the jaws L, H of the gripper, and at local m axim a orienta tions only one vertex of P is in contact w ith L and another w ith H . We prove condition 3 is tru e below. Param eters of the sinusoid change at every local m inim a by the following argum ent. Let 8 be an infinitesim al positive orientation. Let x be some arbi trary local m inim um orientation in d. This implies th at at orientation x, an face ViVi+i of P m ust be flush w ith one of the jaws L, H , say L. At orientation x — 8 , only one of vt, vj, say Vi, is in contact w ith L. Then, at orientation x + 8 only vj is in contact w ith L. Let lk,&k (resp. lk+i,cek+i) be the param eters of 27 th e sinusoid in th e region including x — 8 (resp. x + 8 ). T he diam eter of P at x, d(x) = Ik cos(a; + a.k) = h+i cos(x + Ofc+i). a; is a local m inim um orientation of d d(x + 8 ),d(x — 8 ) > d(x). Towards a contradiction, assume th at the param eters of th e sinusoid do not change at 9 = x. Therefore, 4 = 4+ i > 0 and ak = ctk+i • It follows th a t a; is a local m inim um of the sinusoidal function g defined by V# € S l ,g(9) = h cos (o^ + 9). Since 4 > 0 5 all local m inim a of g occur when g is negative. Since orientation a; is a local m inim um of g , g(x) < 0. However, this is a contradiction since g(x) = d{x) and d(x) > 0. Therefore, at least one of th e param eters /, a. have to change at every local m inim um x. Param eters never change at local m axim a since a local m axim a orientation x implies th a t only two vertices of P are in contact w ith L , II, one w ith L and another w ith H. These same vertices rem ain in contact at orientations x ± 8 . Therefore, th e same sinusoid “continues through” x. “If” : Given a gpsf / satisfying 1., 2., 3. We show th a t the function / is a valid diam eter function by constructing a polygon P th a t has / as its diam eter function. Wlog let 0 be a local m axim um orientation in / , and let < j > * be the first positive local m axim um . It is clear th a t 4 > * < w since w is a local m axim um due to condition 2. Wlog let there be 3 orientations, < f >3 from $ ( / ) , the set of transition orientations of / , in th e open interval (0, The same proof as given below can be easily extended w hatever be the num ber of orientations 1 from $ ( / ) in (0,<^*). Exactly one of (f> i, $ 2, < f > 3 is a local m inim a, again Wlog 4 > 2- Because of condition 2., Z ( f) is even. The polygon P th a t we construct will have Z ( f )/2 pairs of parallel faces, Z ( f ) faces in all. Let P have centroid 0. See Fig. 2.1. Let A, B be the vertices in contact w ith L ,H , respectively, at orientation 0, assum ed to be a local m axim a. Since param eters do not change at local m axim a (condition 3) th e entire polygon we construct should lie between perpendiculars to A B at A , B , i.e. wholly between L, H at orientation 0, and none of the 4 faces incident on A, B m ust be flush w ith L , H . 1 there has to be at least one such orientation because between any two consecutive local m axim a in a gpsf lies a local minim a 2 8 / ( 0) /(<?) eV B Portion of polygon P (in thicker lines) that has /a s its diameter function between orientations [ 0 , < t > *], both local maxima. The rest of P is similarly constructed. All angles and length of sides shown are obtained from the gpsf/. Figure 2.1: C onstructing polygon P consistent w ith gpsf / . 29 Now |AO| = |OA| = / ( 0)/2. Since we have assumed th a t there are three orientations, < f> i, 0 2, 0 3 from $ , there will be three vertices iq, v2, v3 encountered by th e jaw H betw een orientations (0, 0*]. Face Avy w ith orientation 0 1 , vyv2 w ith orientation < f > 2 (a local m inim a), and v 2v3 w ith orientation 0 3 . Since H is in contact w ith v3 for the local m axim a at 0*, v3 can be specified as th e point such th a t Lv3OA = < f> * and |v3 0 | = / ( 0 * ) / 2. Specifying Vi and v2 is done by specifying the lengths of faces Av 1 and V\V2. These two lengths , P A R T IA L S p f^ j) PA R TIA LS p (4>2) l are, respectively, -------- ^ : / , --------- 2 — y !, where PARTIALSP(0i) = sm(02 - 0 i) and P A R T IA L S p (« = sm (0 3 - 0 2) /, a being the param eters of the sinusoid in / for [0 1 , 0 2]. It can be verified for now (this will be later explained in Lemma 3) th a t if vi ,v 2,v3 are specified in this way, and uj, v'2, v'3 being their respective images through O, then th e polygon P ( 0, 0*) =f A, vy, v2, v3, B , v[, v2, v 3 , A has diam eter function equal to / between orientations [0,0*]. Similarly we construct P ( 0 * , 0 2 *), where 0 2* is the first local m axim a greater th an 0 *, and so on until P ( 0 £*, 7r), is constructed, where 0 ^* is the largest local m axim a less than 7r . The polygon form ed by taking the convex hull of all these polygons is the desired polygon consistent w ith diam eter function / throughout S 1. □ Given a representation of a continuous positive function / : S l — ► 3£+ as a set of sinusoids, it is therefore com putationally easy to check the three conditions for it to be a valid diam eter function. To represent a sinusoid, one needs the two param eters or two orientations 0y, 02 along w ith the sinusoid values, / ( 0 i ) ,/ ( 0 2) at those orientations. Therefore, the Z sinusoids m aking up a diam eter function d can be represented by the cyclic ordering of 30 transition orientations, 4>(d) and. the diam eter values at each of these transition orientations. From Theorem 3 (condition 2), it follows th a t Z(d) = |$ (d )| is even for a valid diam eter function d. If Z(d) is two, then th e only possible p art consistent w ith d is a unique one-dimensional rod (negligible w idth, finite length). W ith this understanding, we ignore this special case in future discussion and assume Z{d) > 4. 2 .1 .2 C o n d itio n on tw o p o ly g o n s for h avin g th e sa m e d ia m e te r fu n ctio n Let P be a n-gon w ith faces e0, ei,..., en-\- Let d be its diam eter func tion. The orientation of a face e ,- is the angle m ade by th a t face w ith some fixed axis modulo tc. Thus, (at most) two edges can have the same orien tation. Let A N G LES(P) be a cyclic ordering of orientations of all edges of P (not including duplicates ) . 2 As w ith sorted sets previously defined, A N G LES(P) is invariant to any fixed additive offset to each of its elements. The partial perimeter of P at orientation < / > , w ritten as PARTIALSp(<^), is zero if < f> A N G LES(P) and is equal to the sum of the lengths of at m ost two edges having orientation < f> , otherwise. Let PA RTIA LS(P) be an ordering of all non-zero partial perim eters of the polygon P sorted in the order given by ANGLES (P ). The m ain theorem of this section is stated below. T h e o re m 4 Two polygons P,Q have the same diameter function if and only if A N G L ES(P) = ANGLES(Q) and PA RTIA LS(P) = PARTIA LS(Q ). From Cauchy’s surface form ula (See [Ben6 6 ]), it follows th a t th e integral of th e diam eter function of any planar p art equals its perim eter. Thus, two parts having th e same diam eter function m ust have th e same perim eter (but not necessarily vice versa). Our theorem above states som ething stronger for the class of polygonal parts - nam ely th a t the two parts m ust have th e same set of partial perim eters. 2As can be guessed, A N G LES(P) has a relation with 4>(d). In fact, it is 4> (d) restricted to the range [0, t t ). 31 Before we prove Theorem 4, we need to show a few lemmas. From now on, let m axim a, m inim a stand for local m axim a, local m inim a (in a diam eter function), respectively. O rientations in k(d) = $(d) — M IN(d ) are called kink orientations, or more sim ply kinks. T h at is, kinks are the non-m inim a orientations at which the param eters of th e sinusoid describing d change. Kinks and m inim a combined, i.e. orientations in $(d) = MIN(d) U k(d), are all and the only orientations at which an face of th e polygon P is flush w ith (at least) one of L, H. For exam ple, an obtuse angled triangle has only one m inim a between [0,7r)) when the largest side is in contact w ith one of L , H . W hen one of the other two sides is flush w ith th e lines L, H, a kink orientation results. The following can be proved by a simple counting argum ent. L e m m a 2 Let d be the diameter function of an n-gon P with p pairs of parallel faces. Let m , k, denote the number of minima and kinks, respectively, in d restricted to the range [0,7r). Then, n — p = m + k. □ Notice th e LHS involves the polygon’s P ’s param eters, n,p, while th e RHS is a property of the diam eter function d. Let us refer to an convex n-gon having p pairs of parallel sides as an (n,p)-gon. Similarly a diam eter function having m m inim a and k kinks is an to, k-diameter function. From this lem m a, a necessary condition for two polygons, an (ni,p i)-g o n , and a (n 2,pz)-gon, to have th e same diam eter function is th a t n i — pi = n 2 — pi- Also, it is n — p, rath er th an n alone, th a t decides how complex the diam eter function of an (n,p)-polygon is. Parallelogram s ((4,2)-polygons)), give the simplest diam eter functions: diam eter functions w ith two m inim a/kinks in th e range [0,7r). D iam eter functions of triangles, (3,0)-gons; trapezium s, (4,l)-gons; (5,2)-pentagons; and (6,3)-hexagons are the next simplest having exactly three m inim a/kinks. D iam eter functions of all other polygons have to + k > 3 m inim a/kinks.3 3with the exception of ideal rods: one dimensional segments. These are (2,l)-gon s and have diameter functions with exactly one minim a (no kinks) in the range [0, ir). We ignore ideal one dim ensional rods in future discussion. I 32 A polygon P is said to be consistent w ith a valid diam eter function d between orientations [ < j)a, < f> b \ if the diam eter function of P m atches d between orientations [ < f> a,< /> b ]. This is w ritten as P ~ d [< f> a,< f> b ]- We begin investigating conditions for a polygon to be consistent w ith a valid diam eter function be tween certain ranges of orientations. The proof of Lemm a 3 m ay be found in A ppendix A .2. L e m m a 3 Let P be a polygon and d some valid diameter function. Let 0 < < f > \ < 4>2 be an adjacent triplet of orientations in $ (d ) and in A N G L ES(P). Furthermore, let P be consistent with d at orientations 0, < / > 2 - Then, P ~ d[0, < fo] & PARTIALSF ( ^ ) = + sm{4>2 - < t > i ) where I, a are the parameters of the sinusoid between [0,<^i], i.e. /co s(a) = d(0), I cos(o! + <fi) — d{f>i). □ Now we are ready to prove Theorem 4. P r o o f o f T h e o re m 4: “Only if” : Let P, Q both have diam eter function d. Then A N G LES(P) = A N GLES(Q ) since each is equal to 4>(d) restricted to the range [0,7r). Let < t> i 5 4> 2i < j> 3 be an adjacent triplet of orientations in 4>(d). Assume wlog th a t ( j > 2 is in the range [0,7r). Then Lemm a 3 gives a form ula for PA RTIA LSp(fa ) th a t m ust be satisfied by Q as well. A generalization of this shows th a t PARTIALSp = PARTIALSq. ' “If”: Let the two polygons have (valid) diam eter functions dp, dq, re spectively. We prove below th a t dp is uniquely reconstructable from the two orderings A N G L ES(P), PA RTIA LS(P). Similarly for dQ from ANGLES(Q), PARTIALS(<5). Since th e two ANGLES and the two PARTIALS orderings are equivalent, th e theorem follows. Let the given A N G LES(P) have Z = m + k orientations: A N G LES(P) = {< ^o < . . . < (f>z~i}- Assume subscripts j ± 1 are m odulo Z. Let the diam eter function betw een [< f> j,< f> j+ 1 ] be the sinusoid lj cos(< f> -f- otj). Thus we have the equations j 33 j Ij cos(< f}j + otj) = dp(<j>j), (2 .1) h cos(^j+i + af) = dp((f>j+1. (2.2) The unknowns are dp((f>j),aj,lj. If these are recovered, it is obvious th a t dp is. This gives us 2Z equations in 3Z unknowns. The rem aining Z equations are obtained from PARTIALS inform ation using Lemma 3: P A R T IA L S p (^) = 7 COs(^ + 1 + a^ l ) . (2.3) sin(r*j+l rj) We solve these 3Z equations for the 3Z unknowns (ay, /,, dp((f>j)). We know th a t at least one solution for the 3Z equations exists since dp is valid. However, there could exist m ore than one solution giving different dp,dg. Standard m athem atics is used in A ppendix A .3 to show th at there exists at m ost one solution for these 3Z equations. Thus, the diam eter function of a polygon P , dp, is uniquely reconstructed from the A N G LES(P) and PARTIALS(iD ) orderings. □ 2 .1 .3 S o lu tio n to \X(d)\ T he last theorem (Theorem 4) solved th e problem as it was stated at the beginning of Section 2.1, i.e. it characterized the class of polygons, X(d), consistent w ith a valid diam eter function. However, it does not say anything about the num ber of such polygons. For purposes of shape recovery, we are m ore interested in how large can the set X(d) be. The theorem below states our m ain result in this section, (m , fc)-diameter functions w ith m + k > 2 are term ed non-trivial diameter functions . 4 T h e o re m 5 For every non-trivial valid diameter function d there exist (un- countably) infinitely many polygons having diameter function d. 4that is, all valid diameter functions except those of parallelograms ((4,2)-gons) and rods ((2,l)-gcm s). 34 T he approach to proving th e above is to change the shape of the polygon while keeping its ANGLES and PARTIALS sets intact (See Theorem 4). See Fig. 2.2 for an example. It is intuitively clear why parallelograms and rods are an exception. No m atter how you try and change their shape, the constraints th a t ANGLES and PARTIALS sets be intact gives you back the same shape. P r o o f o f T h eo rem 5: Fig. 2.3 proves the theorem for diam eter functions of triangles and quadri laterals. Towards th e generalization assume th a t P is a polygon having diam e ter function d. P exists since d is valid. Let A, C be two vertices of P touching /, h at a m axim a orientation. Let this m axim a orientation be the zero orienta tion, wlog. Let D ,B be the vertices adjacent to C in P {i.e. D C ,B C are two faces of P). Likewise, let D*, B* be the vertices adjacent to A. D* and D are on th e same side of A C (as are B* and B). D* {resp. B *) could be coincident w ith D {resp. B). For exam ple, in Fig. 2.3: th e quadrilateral case, D = D*, B = B*. Let < f> i,7r — < f> 2 ,(f>3 jTr — < f >4 be the orientations of faces C B ,A B * ,A D * ,C D , re spectively. W ithout loss of generality assume ( j ) 2 < < ^ 4 , < j > i < $ 3. The other cases (including equality) are treated similarly. See Fig. 2.4. F', E ' are can be arbitrarily chosen on C B ,A B *, respectively. G' is such th a t CG' is parallel and equal to B*E'. Thus we have PARTIALSp (< £ 2) = \AB*\ = \AE'\ + |CG"|. H' is determ ined similarly. It is defined so th a t A H ' is parallel and equal to B E ’. Now, PARTIALSP{4> 1) = \CB\ = \CF'\ + \AH'\. A line is draw n parallel to AD* {resp. {DC)) through H' {resp. G'). Points D*',D' are chosen on these two lines so th a t the distance between D',D*' is equal to th a t betw een D *, D. Now the portion of the polygon P between D*, D can be moved over to between D*',D'. B*', B ' are defined in a sim ilar m anner. First a line is drawn parallel to AD* {resp. DC) through F' {resp. E'). B*f, B' are chosen on these lines so th a t the distance betw een them equals th a t between B*, B. The portion of P between B , B* can be moved over to between B B * ' . If this causes any problem s of convexity, then take th e faces F 'B ', E'B*', and those originally between B, B *, sort them by orientation, and arrange them between F' and E '. 35 Polygons with Identical Diameter Function Figure 2.2: Triangles and hexagons having th e same diam eter function. Simple geom etry can be applied to show th a t \H'D*'\+\BfF'\ = \AD*\ = P A R T IA L S f(03) and \G'D'\ + \EfB*r\= \DC\ = P A R T IA L S ^ ). For exam ple to show th a t \HrD*'\+ \B'F'\ = |AZ)*|, draw a line through H 1 parallel to D*'D' intersecting AD* at Z. Now note th a t triangle F 'B ’B is congruent to triangle H 'Z A and so = \AZ\. Also note th a t H'ZD*D*' is a parallelogram , and so \H'D*'\= \ZD*\. Thus, th e two polygons P =f [A ,D * ,...,D ,C ,B ,...,B * ,A ] and P' =f [A, H' , D*',..., D ', G', C, F ', B ', ..., B*', E '} A] have the same diam eter func tion from Theorem 4 since PA RTIA LS(P) = PA RTIA LS(P') and A N G LES(P) = A N G L E S (P '). Finally note th a t there are infinitely m any P ‘ since th e choices of jF', E' (along a line segment) were arbitrary. □ 2 .1 .4 M in im a l p o ly g o n s Theorem 5 is a negative result for shape recovery from diam eter: there exist infinitely m any polygons consistent w ith a given m easured diam eter function. However, th e proof of th e theorem basically involved showing th a t a particular length PA RTIA LSp(^) could be split, in infinitely m any ways, into two parallel faces, both of orientation < f> and whose lengths sum up to PA RTIA LSp(^). This gives rise to (uncountably) infinite polygons. Thus, m ost of these polygons would have parallel edges of varying lengths. This suggests th a t we m ight define a representative polygon for a diam eter function as one w ithout any parallel edges satisfying th e given diam eter function. Two obvious questions arise: does there always exist a representative polygon for a given diam eter function; and if a representative polygon exists, is it always unique? We try and answer these questions in this section. The latter question is answered in the negative in Theorem 6 by constructing a counter-exam ple, and deciding the form er question is shown NP-com plete in Theorem 7. A m ajor lem m a in proving our NP-completeness result is showing th at deciding w hether a set of line segm ents, no two of which are parallel, can be arranged as convex polygon is A P-com plete. This bears some resem blance to the result of [Rap87] which j shows th a t the problem of drawing (additional) line segments to connect a j ____________________________________________________________________________________ 37 I B A \ y \ / \ E H / (D J \ 1 / G '' \ y . d > - A : V 2 4 ,\ A C ABC is the given triangle. Let x be any number such that 0<x<l. Pick points D,E on ABAC , respectively, such that IDEI = x IBCt and DE IIBC. Flip the triangle about BC so that A falls on H. CH IIAB and BH I I AC. Pick points F,G on BH,CH, respectively, such that IFGI = (1 -x) IBCI and FG I I BC. Now hexagon BDECGF has same diameter function as triangle ABC, since IFGI + IDEI = IBCI IIB FI + IECI = IACI IIBD I + IGCI = IBAI (without loss of generality) ABCD is the given quadrilateral. Pick two numbers x,y such that 0 < x,y < 1. Pick points E (on AB) and F (on CD) so that IAEI = x IABI, CF = y ICBI. K is a point such that AKCB is a parallelogram. Pick points G, H, on CK, AK, respectively, so B that EG I I BC and FH I I BA. Finally draw linesthrough G,H parallel to CD, AD respectively intersecting at J. Do the same for points EF and let the intersecting point be I. Note that 1. IC FI + IAHI = CB = *($i) 2. IAEI + CGI = IA BI = f(4>2) 3. IF II + IH JI = I ADI = f(<M 4. IEII + GJI = ICDI = f ( $ 4) Hence, quadrilateral ABCD and octagon AHJGCF1E have the same diameter function. Figure 2.3: Infinitely m any hexagons/octagons having same diam eter function as given triangle/quadrilateral. 38 A * B* B* D*/ I C A, B*, B, C, D, D* are vertices of the original polygon P. Portions of P between B,B* and D,D* are not shown. In the new polygon P \ D , D * , B J 3 * do not exist and are replaced by the 8 primed vertices shown. The method of construction of these eight points is shown in the proof of the theorem. Both polygons P,P’ have same perimeter along every orientation and therefore have the same diameter function. The only parallel lines in the figure are : l\\h AD* I I H’D*’ I I F’B’ DC I I D’G ’ I I E’B*’ AB* I I CG’ CB I I AH’ AB I I F’H’ CB* I I G ’E’ Figure 2.4: Infinitely m any polygons having the same diam eter function as a given polygon. 39 collection of given fixed line segments (by their end-points) into a simple circuit is iVjP-complete. In our case, we allow the given segments to tran slate and we do not allow additional line connecting segments. A minimal polygon is a convex polygon w ithout any parallel edges, i.e. an (n,0)-gon. T h e o re m 6 Minimal polygons satisfying a given diameter function are not necessarily unique. P ro o f: See Fig. 2.5. □ (0 .10) (-4.9) (-3.8) (7,7) (3.2), (4.1) (0 .0) The two polygons, one with the shaded edges and the other with the bold edges have the following properties: 1. Both have the same set of orientations of edges. 2. Both have same total perimeter along every orientation. 3. Both have no parallel edges. From 1,2, and Theorem 2, Both have the same diameter function. Thus, minimal polygons conistent with a given diameter function are not unique. Figure 2.5: Two m inim al polygons th a t have the same diam eter function. T he im plication of this theorem is th a t even for m inim al polygons, it is im possible to com pletely recover its shape from the diam eter function. Given an (m , A:)-diameter function d, if there exists a m inim al polygon P w ith n 40 faces having d as its diam eter function, then by Lemm a 2, n = m + k. Recall th a t from Theorem 4, PA R TIA LS(P), A N G L ES(P) are com putable from th e diam eter function d. In Theorem 6 above, we have seen above th at there could be m ore th an one m inim al P consistent w ith a given d. However, there can be at m ost a finite num ber (2n_1) of possible m inim al P consistent w ith a given d since P is constrained to be convex. Now we tackle th e question w hether there always exists such a m inim al P. We show th a t deciding this question is NP-com plete in Theorem 7. MINIMAL-POLYGON-FROMJDIAMETERJFUNCTION (MPFD): Given an valid diam eter function d, is there a m inim al polygon P consistent w ith d? T h e o re m 7 MPFD is NP-Complete. Notice th a t if P is not required to be m inim al, the problem reduces to testing the validity of d which was investigated in the proof of Theorem 3 and can be clearly accom plished in polynom ial tim e. Before we prove Theorem 7, we have to show some other problems AP-complete. By arranging a set of n planar line segments Sq,..., Sn-i, we m ean tran s lating them in the plane so th a t if two segments intersect, they do so only at th eir end-points. PO LYG O N .FR O M SE G M E N TS (PFS): Given a set of n planar line segments, So,. •., Sn- i , each w ith a fixed length and orientation, can they be arranged to form a polygon (n- gon)? N ote th a t “form ing a polygon” is equivalent to forming a simple polygon since th e only intersections we allow between segments are at their end-points. Also note th a t we do not have any restriction on the orientations of the edges (any num ber of them could be parallel). T h at is, th e polygon so form ed need not be m inim al or even convex. The next problem requires convexity of the form ed polygon, and th e one after th a t requires m inim ality in addition. We j _________________________________________________________________________ 41____| will show each of them to be iVP-complete in turn. The last one is shown reducible to MPFD showing the AP-completeness of MPFD. C ON VEX- P OL YGON..FR O M SE G M E N TS (CPFS): Given a set of n planar line segments, So ,, 5 « _ i: each w ith a fixed length and orientation, can they be arranged so as to form a convex n-gon? MINIMAL-POLYGON-.FROMSEGMENTS (MPFS): Given n planar line segments, no two of which are parallel, can they be arranged to form convex (m inim al) polygon? L e m m a 4 PFS is NP-complete. P ro o f: PFS is clearly in NP since each p ath in th e non-determ inistic Turing m a chine can select a different perm utation p of the n segments and can check (in O (n) tim e) w hether th e perm utation results in a polygon if edges in the perm utation are arranged in clockwise order. So it is sufficient to show th a t PFS is iVP-hard. We do this by polynom ial reduction to PARTITION. PARTITIO N is th e following problem and is well-known to be /VP-complete [GJ79]. Given a multiset ofn numbers «o5 • • •, 1 , is there a set S C {0,... yn — 1} such that iE.S ie { 0 ,...,n —1} —S We m ay assum e th a t all th e a 2 - are positive, wlog (since otherwise we could add a fixed am ount to each to m ake them all positive retaining partitionability). Given an instance I of PARTITION , i.e. a m ultiset5 of n num bers, we produce an instance I' of PFS, a set of n + 2 segments, in polynom ial tim e, so th a t I has a p artitio n if and only if we can form a polygon from I'. 5by “sets” , in this section, we may understand m ultisets, i.e. all elements do not have to be unique. 42 I ' is th e following set of n + 2 segments. Each segment is described as (I, < f> ), where / 6 3£+ is its length and (j) € [0,7r) is its orientation (angle m ade by it w ith £-axis): I' = {(ail0)|of €1} U {(1,7r/2), (1,7r/2)}. T h a t is, I' contains n horizontal segments of w idths a, € / , and two vertical segm ents of unit length. If the segments in V can form a polygon, then it has to be a rectangle w ith the two segments (1, 7t/2), (1, tt/2 ) being opposite (and vertical) edges of the rectangle. Let S — {z|(aM 0) is a segment along th e top edge of th e rectangle}. It is clear th a t JZi£Sai = Jhgs ai an(i hence I has a partition. Conversely, if the num bers in I have a partition, then let S be the set of indices in one of the partitions. Then a rectangle can be formed as follows: two of th e opposite vertical edges are (1,7t/2), (1 ,7r/2). The segments in {(a,, 0)|i ( E 5} can form the top horizontal edge and the segments in {(a;, 0) jz e {0,..., n — 1} — S} can form the lower horizontal edge. ^ □ C o ro lla ry to L em m a 4 CPFS is NP-Complete. P roof: Follows form the proof of Lem m a 4 since rectangles are convex. □ L em m a 5 MPFS is NP-complete. P roof: Again it is easy to see th a t MPFS is in NP. So it is sufficient to show th a t MPFS is iVP-hard by reduction from PARTITION. N ote th a t th e proof of the AP-hardness of PFS does not apply here since the segments form ing the horizontal edges of the rectangle are all parallel. The m odification required from the proof of Lemm a 4 is to make no two segments parallel. Given an instance I of PARTITION, a m ultiset of n num bers, we produce, in polynom ial tim e, an instance / ' of MPFS, i.e. a set of 2n + 3 segments, 43 / ' = {s0, ..., s2n_ i, s2n, > S 2n+i) • 5 2n+2}, no two of which are parallel, such th a t I has a p artitio n if and only if we can form a convex polygon from I'. Let I = {a;|0 < i < n}, and let M = Yii °i • As before (proof of Lem m a 4) we m ay assum e th a t all the a,- are positive, and M > 1. Also, wlog, we assume th a t th e m ultiset I is sorted in decreasing order, i.e. a,i > aj+1. Here we describe segments as (x , y ) where x(resp.y) is th e length of the projection of the segment on some fixed x-axis (resp. y-axis). x, y are referred to as the x-projection, y-projection, respectively, of segment (x, y). Its length is y/x2 + y2 and its orientation6 is A tan2(y,x). y is-always taken > 0 so th a t th e orientation is always in [0,7r). In the proof of Lem m a 4, a single horizontal segment was constructed of length a,i, for every elem ent a,; £ I. Informally speaking, we take th a t horizontal segment and “pull” it upwards from its m idpoint to get two segments (called twins of each other) w ith the same y-projection, and equal but opposite x- projections. We pull each segment by an am ount greater th an the sum of the previous “pulls” (this is done by pulling the ith segment by about 2*). This m ethod of “pulling” makes all the first 2n segments non-parallel. Also, the proof of Lem m a 4 required two additional (vertical) segments to form the closed polygon. These two vertical segments are parallel and so in our proof we “pull” horizontally one of these vertical segments by a small am ount to the right at its m idpoint to get two segments not parallel w ith the rest of the segments considered. T he exact description (in term s of their x ,y projections) of the segments is as follows. £ {0,1,..., n — 1} s2i = (a,-/2, M 2 1 + Xi), s2;+i = (—at/2, M 2% + Xi). A nd s 2n = (0, M 2n+2), 52n+i = (e, M 2"+1) ,s 2re+2 = ( - e ,M 2 n+1). T he Xj,0 < Xi < l/n,0 < i < n — 1 can be.chosen (in O(n\ogn) tim e) so as to m ake no two segments (among the first 2n) parallel, e > 0 is so small th a t the segment s2n+i = (e, M 2 n+1) is the segment of largest orientation among all segm ents w ith orientation < 7 r /2 , and the segment s 2 n + 2 = ( - e , M 2 " + 1 ) is the segment of sm allest orientation among all segments w ith orientation > 7 r /2 . 6A tan2(y, x) is the single valued inverse tangent function. For example, A tan2(— -v/3,1) = — 7t/3 and A tan 2(\/3, —1) = 27r/3. 44 This com pletes the description of the instance I'. Notice th a t all segments have orientations 4 > 6 (7r/4,37r/4) and exactly one (s2n) has orientation 7r/2. Also notice th a t no two segments have the same orientation (no two are paral lel). See Fig. 2.6(a). In th e figure and in the following analysis all th e X{ are considered zero wlog. Suppose the segments in P can be arranged to form a convex polygon P. Consider the position of s 2n w ith respect to s2n+i , s 2ri+2. Due to their orientations and the fact th a t P is convex the only possible configurations of these three segm ents7 are shown in Fig. 2.6(b). Of these the first two configurations are im possible due to the ^-projection considerations (since the sum of the z/-projections of the adjacent segments (among 52n, s 2n+1, s 2n+2) is greater th an sum of y-projections of all other segments). Thus, only th e th ird configuration is possible. In this configuration, let C (resp. C ) be th e upper (resp. lower) chain of segments between s2n and s2n+2 (resp. s 2n+i). For i € {0,... ,n — 1}, we say s2i, s 2,+i are twins of each other (they have the equal y-projections and equal (but opposite) ^-projections). The m ajor claim is this proof is th a t every pair of twins m ust belong to th e same chain of segments. Towards proving this claim for all twins, first consider th e twins • S 2 n - 2 , •s2n-i- If possible, let these belong to different chains, say s 2 n - 2 €: C‘ and ■ S 2 n -i € C (the other case is treated sym m etrically). Now since we assum ed (wlog) th a t the a t - were sorted, s 2n_2 is the segment of largest orientation less th an 7t/2, and s 2n_i is the segment of smallest orientation greater than 7r/2 am ong so,... , s2n_i, the set of twins. Thus, they have to be adjacent to •52^+1,5271+2 as shown8 in Fig. 2.6(c). Now consider the y-projection of the four adjacent segments s2n_2, s 2ri_ i, s2 „ .+1, s 2n+2. It adds up to M (2n+2 + 2n). T he sum of y-projections of the rem aining 2n — 1 segments (including s2n) is strictly less than this quantity. This contradicts the assum ption th a t the segm ents form a closed figure. Therefore, 52n_2,52n_i have to be in th e same 7Remember that no segment has orientation between those of s2n and s 2n+i and between those of s 2n,S2n+2- Therefore, in the convex polygon, either the last three segments are adjacent and in the order s 2ra+i, S2n, «2n+ 2 (Case (i) in Fig. 2.6(b)), or two of the three are adjacent, one of the two being s 2« (case (ii)), or s2„ + i, s 2 n + 2 are adjacent (case (iii)). It cannot be the case that none of the three are adjacent. 8in the other case, i.e. s 2n- 2 € C, s2n - i G C ', both s 2n -i) «2n- 2 will be adjacent to s2n. 45 chain C or C'. Now consider s2n- 4 , • s2 n - 3 - Essentially the same proof shows th a t both have to belong to the sam e chain since the sum of their y-projections is strictly greater th an the sum of the y-projections of s0, ..., • Continuing in this m anner, it is not difficult to see th a t each pair of twins s2; ,s 2,- +i have to belong to the same chain C or C'. Now the x-projections of the chains C, C' have to be equal since the seg m ents form a closed figure. Since both elem ents of a pair of twins exist in th e sam e chain, th e x-projection of C is equal to Ylies aii f°r some subset S C {0,... ,n — 1}. Then, the x-projection of C' is equal to X);eS'a i where S' = {0,... , n — 1} — S. By the first statem ent of this paragraph, the two sum m ations are equal and hence I is partitionable. Now suppose I is partitionable, let S', S' be such th a t SUS' = {0,. .., n — 1}, S fl S' — 0, and J2ies ai — Ylies1 ai- We form a polygon P m ade up segments in I' as follows. F irst we form a convex chain of segments C from segments {s 2 i 5 52«+iK ^ S}. This chain C is simply segments from {s2;, € S ) sorted in the following order. First consider all segments in this set w ith orientation betw een (0,7r/2) and sort them in decreasing order. To this sorted list, append th e the segments w ith orientation between ( 7 r / 2 , tt) in decreasing order. T he resulting list is the chain C . The first, last segments in this list will be tw ins, as will be the second, and second-last, and so on, till th e m iddle two. In a sim ilar fashion (sorting is in increasing order and the segments w ith orientations in (7t/2,7t) precede the others), chain C' is formed. The polygon then is th e following segm ents/chains in order: 32rt, C, s 2ri+2, 52n+1 , C'. See Fig. 2.6(d). □ P r o o f o f T h e o re m 7: Let algorithm MPFD(d), where d is an (m , &)-diameter function, retu rn tru e (resp. false) according as w hether there is (resp. is not) an (m + k, 0) polygon P consistent w ith d. T hen we solve the MPFS problem using th e following algorithm : IN PU T: description (orientations, lengths) of n planar segments, no two of which are parallel. 46 2 i '+ 1 “ 2n + 1 2n + 2 c- i/i + 2 In (C) 2n - 2 (d) 1 /1 + 2 2 n Please note : not to scale. Figure 2.6: Various stages in the proof of the VP-completeness of MPFS. 47 O U T PU T : tru e/false w hether or not they form a convex polygon. 1. Let ANGLES be a cyclic ordering9 of the orientations of the in p u t seg m ents. Let PARTIALS be an ordering of the lengths of the segments sorted according to the order in ANGLES. 2. Use th e m ethod described in A ppendix A .3 (Specifically, Equations A .6) to determ ine w hether there is some valid diam eter function d th a t has $ (d ) = ANGLES and PARTIALSp/ = PARTIALS, where P' is some polygon consistent10 w ith d. If there does not exist such a d (Equations A .6 do not have a solution), retu rn “FALSE” and exit. 3. If we reach this step, there exists such a valid d. In fact, is easy to com pute d after solving Equations A .6. Now invoke MPFD(d) and R eturn “T R U E ” if and only if MPFD(d) returned “T R U E ” . Com plexity of the first step is clearly polynomial in n. T he second step involves forming and solving n linear equations in n unknowns, which also has polynom ial complexity. Step 3 basically involves a call to MPFD. Therefore, if MPFD was polynom ial tim e decidable, so would MPFS. Correctness follows from the following. If the set of input segments forms a polygon, then the (convex) polygon would have to have a diam eter function d which is easily com putable given ANGLES, PARTIALS, and d would have its m inim a and kinks exactly at orientations in ANGLES. If they did not form a polygon, then no diam eter function would exist and this would be detected in Step 2. above. However, it could happen th a t a valid diam eter function d exists for a polygon P' th a t has ANGLESp' = # , PARTIALS(P') = PARTIALS, but P' could have parallel faces. To check if there exists a m inim al P ', Step 3 calls MPFD(d). If it returned TR U E, then it implies the original set of segments can 9orderings could have more than one identical elements 10Such a polygon exists since d is valid. However, remember that P' could have parallel edges. 48 be arranged to form a convex (m inim al) polygon. And if the original segments can be arranged to form a convex polygon, Step 3 would be executed and the call to MPFD(d) would retu rn TRU E. □ 2.2 P o sitiv e R esu lts: R ec o g n itio n S tra teg ies T he negative results ju st presented in Section 2.1 m otivate us to settle for iden tifying a given p art from among a set of known polygons rath er th an com puting an unknown p a rt’s shape. We propose to do this w ith diam eter m easurem ents obtained by grasping a given polygonal part. As discussed previously (Section 1.4.1), a polygonal p art when grasped by a parallel jaw gripper settles into one of its stable equilibrium orientations given by local m inim a in its diam eter function (or equivalently, fixed points in transfer function). Let a grasp action a consist of the following sequence of actions. 1. R o tate th e jaws by angle a w ith respect to a fixed frame. 2. Squeeze down on the p art. P art falls into a local m inim a in diam eter function by changing orientation from < j) to T(0). 3. M easure th e w idth betw een th e two jaws. 4. Release grasp. 5. R o tate jaws by angle —a w ith respect to a fixed frame. A ction 3 above can be accomplished w ith the instrum ented parallel jaw gripper which would require a linear potentiom eter attached to th e jaws (Sec tion 1.4, A ssum ption 3). The other actions are simple m echanical m otions. We can incorporate sensor error into our model. Incorporating control error (A ctions 1, 5) is difficult. However, as we will see later, we always pick a for a grasp action from among a continuous range of angles all equivalent. Thus, we could always pick a as th e m iddlem ost angle in this range allowing for m axim al control uncertainty. 49____ [ A grasp action is on-line; i.e. after a grasp action, one is allowed to make a decision for th e next grasp action based on the current diam eter value m ea sured. This gives rise to a rooted tree of grasp actions, th e branching factor at a node being at m ost th e num ber of possible diam eter values m easurable there. The sequence of grasp actions followed for a particular part is a p ath in this tree from th e root to a leaf at which the p art is identified. 2.2.1 T h e sen so r fu n ctio n and p seu d o -tw in s Given a p art P w ith known diam eter function d and transfer function T, its sensor function, a : S'1 — * 9£+ is th e composition of d and T, i.e. a — doT. For polygonal parts, if |rj denotes the num ber of steps in transfer function F, then er is a step-function w ith at m ost |T| steps.1 1 Given P initially in orientation 9 w ith respect to th e gripper, a grasp action at a will retu rn a m easurem ent of a(a + 9). T he new orientation, 9' of th e p art w ith respect to the gripper will be T O + 0). c r-eq u iv alen ce Like the diam eter and transfer functions, the sensor function is to be taken m odulo any fixed rotation. Given a sensor function a and a specific orientation ft € S 1, cr^3 ) denotes a sensor function obtained by rotating cr so th a t ft becomes the zero orientation. Two parts Pa ,P b w ith sensor functions a a , cr# are a-equivalent if there exist stable equilibrium orientations /3a , (3b of A, B, respectively, such th a t V0 6 S 1, < J{ t \ 9 ) = < t{ £ b){0). Replacing a by d or T, we m ay obtain definitions for d-equivalence and r -equivalence, respectively. Notice th a t d-equivalence implies T-equivalence and also cr-equivalence. However, cr-equivalence does not im ply T-equivalence. For exam ple, see Fig. 2.11. Two parts th at are cr-equivalent are called pseudo twins of each o ther.1 2 O rientations ft a ,/3b in the definition above are called 11c r could have less than |T| steps. For example, consider two adjacent steps in T resulting in the sam e diameter. 12pseudo as opposed to ‘true’ twins which are parts having the same diameter function 50 witnesses or witnessing orientations for th e ^-equivalence (or th e pseudo-twins property) of parts A, B. 2 .2 .2 P r o b le m sta te m e n t From th e definition of pseudo-twins it is clear th a t if two parts A, B are pseudo tw ins w itnessed by respective stable equilibrium orientations Pa - , Pb - > then no j grasp action can disam biguate13 betw een part A in orientation Pa and p art B in orientation Pb • We therefore rule out pseudo-twins in our problem stated below .1 4 Given a set of k polygonal parts, PX,P2 , Pk, no pair of which are pseudo-twins, w ith a to tal of N faces and n stable equilibrium orientations; find a sensing plan consisting of parallel-jaw gripper grasp actions for identifying each part such th at, if Xi is th e m axi m um length of a sequence of grasp actions to identify p art Pi, then max,- Xi is m inim ized. We call a tree of grasp actions as a grasp plan or grasp strategy, max,- X t i is called the grasp length of the grasp plan. T he problem as stated above asks ; for th e optimal grasp plan, a grasp plan of shortest grasp length. See Fig. 2.7 j for an exam ple in which each Xi = 2. O ur results are two planning algorithm s: one th a t constructs an optim al grasp plan (Section 2.2.5) in tim e 0 ( n 42n), and th e other constructs a suboptim al sensing plan (Section 2.2.4) in 0 ( n 2 logn) j tim e. N either plan requires m ore th an n on-line diam eter m easurem ents. B oth j th e planning algorithm s operate on an internal representation of the stable ; equilibrium orientations which we discuss in Section 2.2.3. j [ O ur d ata structure, the graph of stable diam eters, im plicitly tests for the j pseudo-tw ins relationship betw een all pairs of parts. Clearly the pseudo-twins relation is an equivalence relation.1 5 So we have two options when pseudo-twins t (d-equivalent). Pseudo-twins ‘pretend’ to be twins but as Fig. 2.11 shows, are not. 13by resulting in distinct diameters measurements 14A pleasant side-effect of this is that when parts are identified, their orientation will also be known, solving the SHAPE and POSE problems simultaneously. 15in the set-theoretic sense, i.e. it is reflexive, symmetric, and transitive 51 Figure 2.7: An exam ple grasp plan for distinguishing the three parts shown at th e top. are detected. One is to weed out all but one of the pseudo-twins from the set : of polygons P i , ... ,Pk initially considered. The other option is to retain the ■ pseudo-twins. In the latter option, it could happen th a t parts A, B , ... th a t are pairw ise pseudo-twins are not disam biguated from each other w ith the grasp plans only being able to declare th a t the unknown p art is one of A, B , .... However, this undesirable outcom e1 6 occurs only when some grasp results in p art orientations which are their witnesses for the pseudo-twins property. We assum e the la tte r option is employed in future discussion. Section 2.2.6 discusses briefly a recent approach to explicitly disam biguate ; p arts placed at orientations th a t are witnesses for their pseudo-twinness. 16but som etim es unavoidable because pseudo-twins include d-equivalent parts - I 2 .2 .3 G rap h o f'S ta b le D ia m e te r s B oth th e optim al and sub-optim al grasp plans are generated by grasp algo rithm s th a t use th e following d ata structure representing th e stable equilibrium { orientations of th e k given parts. T he Graph of Stable Diameters for a set of polygons w ith N faces and n stable orientations in all, is an undirected graph, G = (V, E ) w ith V corre sponding to the set of all stable orientations over all the parts. T h at is, every vertex v € V is associated w ith a stable equilibrium orientation < j)v of a part Pv. Let dv, Yv refer to th e diam eter and transfer functions of Pv. Let there be n vertices in all. n = \V\ < N . T he edge set is defined as follows. E = {(u,v) | u,v € V, du(< f> u) = dv(< f> v)} In other words, connect two vertices by an edge if they correspond to two equidiam eter orientations. Each connected com ponent of the graph therefore is a m axim al clique. Now, for every e = (u, v) £ E define: R(e) = { < f> e s 1 1 du(Tu{ < j> u + if,)) ± dy(Tv(< f> v + if,)) } At any tim e after the first grasp, the unknown p art P to be identified corresponds to some vertex v of this graph. (This is because it always settles into a stable equilibrium orientation upon grasp.) In such a situation, let us say th a t th e p art P is in configuration v. The above definition of i?(e) for an edge e = (u, v ) helps in removing the am biguity w hether P is in configuration u or v. R{e) can be term ed th e set of breaking orientations for edge e in the following sense. If it is am biguous w hether the unknown p art is in configurations u or v, then a grasp action given by any angle in R(e) will resolve this am biguity by producing different diam eter m easurem ents (in other words, th e edge e corresponding to equidiam eters, gets “broken”). The proof of the following lem m a will clarify th e definition of R(e). Let |T| be the num ber of steps in a ! transfer function T. 53 ; | L e m m a 6 R(e), wKere e — (u, v) £ E , can be constructed in 0 (’|F^| + |'Fv|‘ ) time. P ro o f: Let au denote the sensor function of Pu, i.e. au = du o Y u. In the notation of Section 2.2.1, R(e), where e = (u,v), can be seen to be i R(e) = { 4, e S' ? *<*■>&)} Therefore, first com pute the sensor functions and au has at m ost \TU\ steps and can be com puted in 0 ( | r u|) tim e from du,Yu. Similarly, ; crv has at m ost |r^ | steps and can be com puted in 0(|r„|) tim e. Now, to construct R(e), perform a scan of S l . The only events to encounter are end-points of steps in At an event point, a test needs to be m ade as per the definition given above w hether to begin or not a new range or ; orientations into R(e). The whole scan can be accom plished in 0 ( | r u| + |I\,|) tim e.17 □ T h e o re m 8 Given a set of k planar polygonal parts, P i,..., Pk, with N faces in total, its internal representation, i.e. the graph of stable diameters, G = {V,E), can be computed in 0 ( N 3) time. P ro o f: Let the num ber of stable equilibrium orientations over all the polygonal p arts be n. Clearly n = O(N). Com puting the diam eter and transfer functions 1 : for all th e p arts takes O(N) tim e if given the faces of each polygon in clockwise j order ([Gol92], see also Section 3.3). O btaining th e faces of each polygon in this j order takes G (N log N) tim e. Therefore, com puting d, L for all the parts takes ; , 0 ( N log N ) tim e. D eterm ining th e vertex set of G, together w ith th e associated \ j inform ation on each vertex v ( f v,dv,T v, Pv), can now be done in 0(n) tim e; 17R (e ) could be em pty if we have pseudo-twins. Specifically, R((u, v)) is em pty if and only if < j> u , 4> v are orientations that witness the pseudo-twins property of parts PU,P V. and th e edge setTofT?"can now be computecTirT0 (n2 )~timeT^Ffom”]Jemma_6): com putation of R(e ) for edge e = (u,v) takes 0 ( | r u| + |) = 0 ( n ) tim e. I C om putation of all th e (at m ost (n(n — l))/2) R(e ) therefore takes 0 ( n 3) tim e, j Thus, th e to tal com putation tim e is 0 ( n 3 + iVlog N ) tim e which is 0 ( N 3). I □ We can incorporate diam eter sensor error given by a fixed e, i.e. the ab- I solute difference between the tru e and m easured diam eters is at m ost e. Let e 6 | x = y if \x — y\ < e and otherwise, i / i/. To account for error we define the graph G as Gf = (V, E f) w ith V as before and E t = {(u,v)\u,v e V,du(< f> u) = dv(< f> v)}, and eR(e) = {< t> \du(Tu(< f> u + < /> )) £ dv(r v(< t> v + < !> ))} j i As e increases, th e num ber of edges in G could increase while R(e) could reduce in m easure - both unfavorable. Also, under sufficiently high e, every connected com ponent of G does not have to be a clique. However, th e analysis to be described, while assum ing zero error and clique com ponents, applies to 1 i 1 the case of non-zero sensor error as well. ■ i E a sy ca ses The first grasp action on the part is random . Let the m easured diam eter value be D. This will correspond to a m axim al clique C in G. If G had vertices from exactly one p art, then the p art is identified. Otherwise, i ! m ore th an one grasp is necessary. Define i f R(Z) = H R(e) e£Z In other words, an orientation in R ( Z ) “breaks” every edge in Z . Thus, if ! R(G) were non-em pty, simply perform a grasp action a , for any a € R(C). 1 i T he m easured diam eter value will resolve the am biguity and identify th e p art | uniquely. O therw ise (R (C ) = 0), m ore th an two grasps will be necessary. We give two grasp algorithm s T hat com pute grasp plans for~icientifying th e part's: one th a t generates an suboptim al plan but is fast, and th e other th a t generates an optim al plan b u t requires exponential tim e. 2 .2 .4 S u b o p tim a l grasp p lan In this section, we present a planning algorithm th a t requires 0 { n 2 log n) in off-line preprocessing tim e and produces a grasp plan requiring no m ore th an i q on-line grasps (i.e. each X{ < q), where q < n is th e size of the m axim um clique in G. R(C) — 0 implies th a t th a t every edge of th e clique C cannot be “broken” by any single grasp action. We have to therefore resort to breaking only some of th e edges at a tim e so as to partition C. We begin w ith a key lem m a. Let R((u,v)) denote R(e) for edge e = (u,v). L e m m a 7 Let C = {a, 6, ci, C 2 , ..., cm} be the vertices of an (m + 2)-clique. ! Then ! R({a,b)) C R((a,ct))U R((b,a)) I for all 1 < i < m. ] P ro o f: W log R((a,b)) ^ 0. Let x be some arbitrary orientation in i?((a, &)). We will show th a t x belongs to at least one of R((a, c/)), R((b, Ci)) for any c; proving ! th e lem m a. i Let D a — da(Ta(x + f a))- T h at is, D a is th e diam eter m easured after perform ing grasp action x on part Pa which is initially at orientation < f> a. Z > & , D C i can be sim ilarly defined. | Since x € -R((«, &)), D a Db (in case of error e, \Da — Db\ > e). Consider 1 : D Ci. Since D a ^ Db, D C i cannot be equal to both of D a,Db. Thus D C i ^ D a J or D C i 7^ Db (or both). In the form er case, x £ R((a,Ci)) and in th e latter, j x £ R((b,a)). ' □ W hat this lem m a is saying in effect is the following. To partition the clique | C, sim ply pick an edge e = (a, b) of the graph w ith non-em pty R(e), then pick i some angle a from R(e) and perform a grasp action at a. a exi s t s~irT/?((«7&))' and so, from the lem m a, will have to exist in at least one of R((a , ct -)), R((b, c;)). Therefore, at least one of th e edges (a, c,-), ( 6 , c,) will be broken by grasp action a. Thus, a, b will be in two different com ponents after the grasp and every other C i will not exist in one of these two com ponents. This results in a partitio n of th e clique C . I ■ T he suboptim al planning algorithm basically exploits this lem m a and is ! presented below. Notice th a t in Steps 2,3, an arbitrary edge e w ith R(e) nonem pty is picked and from R(e) is chosen an arb itrary orientation. These can be term ed the cutting edge and cutting orientation, respectively. T he grasp plan is com puted in two lists A V,D V, both initialized to 0, and associated w ith vertex v (their function will become clear in th e on-line strategy presented later). A M a indicates th a t elem ent a is being inserted at the tail of list A. Let Q be a queue of cliques initialized to 0. O perations on Q are “PU SH ” , inserting a clique at the tail of th e queue; and “P O P ” , rem oving a clique from the head of th e queue. Let l ± J denote disjoint union [i.e. Tjl+lT^W.. .1 ±lT) indicates a p artition). d'{v) is a new variable (storing a diam eter value) associated w ith | each vertex v (however, dv is still the diam eter function of p art Pv associated w ith vertex v). [ (O ff-lin e ) P la n n in g A lg o rith m SU BO PTIM X L I j Let G be decomposed into s m axim al cliques S\, S 2, • • •, Ss. I fo r i = 1 to s do: | if (I Si I * 1) do: I j PU SH clique Si onto th e queue Q. j w h ile (Q 0) do: j 1. P O P a clique T from Q. If T has only one vertex, go to Step 1. 2. Pick an arbitrary edge e = (u>w) in T satisfying R(e) 7 ^ 0. If no such e, go to Step 1. 3. Pick an arb itrary orientation x e G R(e). 4. For every vertex v € T, 4.1 (com pute new orientation) < j > v * — Tv{(j> v + x e); Set d'(v) <- dv(< j> v). 4.2 (update associated lists) A v M x e\ Dv 1 X 1 d'(v). 5. Sort the vertices v of T by their d! value. I 6. Let the p artitio n induced on the vertices of T by th e d' be 1 T\ 1 + 1 T 2 W . . . W Ti. | 7. Push each sub-clique Tj , 1 < j < I, w ith \Tj\ > 1, onto Q. ! □ 1 i 1 ! A n a ly s is Because of the choice of x e and Lemm a 7, there will be at least two distinct d'{v) values arising from the vertices of the clique T (Step 4.1). T h at is, I > 2 (Step 6) and \Tj \ > 1,1 < j < I. Com puting th e new orientation (Step 4.1) could be understood as a vertex m igration: vertex (< f> v, Pv, dv, r„ ) before Step 4.1 behaves as vertex (T((f>v + x e), Pv,dv,Tv) after this step. Therefore, after Step 4.1, notice th a t we could get duplicated vertices, i.e. m ore th an one , vertex corresponding to th e same orientation of the same part. In such a case, j we elim inate all b u t one of these vertices. T he queue always consists of m utually ' t disjoint cliques only. In Step 2, if there is no edge e w ith R(e) 7 ^ 0, th en it j im plies th a t th e clique T is unpartitionable, i.e. the set of parts {Pu\u G T} j are pairwise pseudo-twins all at their witnessing orientations. However, Step 2 can be accom plished in linear tim e because: L e m m a 8 Let v be some vertex in a p-clique T . If all the p — 1 edges e from T incident on v have R(e) = 0, then every edge f in T has R ( f) — 0. □ 58 P ro o f: Suppose there is an edge / = (u,w) w ith R ( f ) ^ 0. Let x E R(f)- Then, by Lem m a 7, x € R((u,v)) or x E i?((io,t>)) which contradicts -ft(e) = 0 for every edge incident on u in T. □ Step 2 can therefore be im plem ented in linear tim e by picking some vertex v E T and checking if R{e) is non-em pty for the edges incident on v. Therefore th e sorting in Step 5 becomes the only super-linear and dom inant operation in each iteration. T he worst case partition producible in Step 7 has / = 2 w ith |Tx| — p — 1 and |T2| = 1- Hence, the worst case tim e com plexity to em pty the queue starting w ith th e p-clique T is 0{jp\ogp + (p — 1) log(p — 1) + ...) = 0 (p 2 log p) tim e. R epeating this process for every m axim al clique S\ gives us th e overall com plexity of 0 ( n 2 log n) tim e for this planning algorithm . Correctness essentially follows from th e Lem m a 7 th a t guarantees a partitio n of T by grasp action x e. G r a s p S tr a te g y T he on-line grasp strategy makes use of the A v, Dv lists and is presented below. Let A v — {aq,u, X2tV, ...} be th e list of angles associated w ith vertex v. D v — {di,v, d,2tV , ...} is th e corresponding list of associated diam eter values. i I ] I I I 59 (O n -lin e ) G rasp S tr a te g y SUBO PTIM A L IN PU T: P lan ar p art P lying flat on table. G rasp P and m easure th e diam eter D. H ash on to th e appropriate (m axim al) clique C\. i.e. Gi = {v € G | dv{j> v) = D }, \CX\ = q'. Set i < — 1. rep ea t: 0. Let v be any vertex in Ci, ; 1. R o tate th e gripper by angle 2. Squeeze and m easure th e diam eter D. 3- Ci-|-i = {u 6 Ci\dijV = D }. 4. i < — i + 1. u n til |G +i| = \Ci\. — 1. Let Cf, = {ni,... ,vz}. P — {Py | V € Cfj,}. D eclare th a t the p art P is one of those in V. □ A n a ly sis: T he subclique selection step, Step 3, is th e dom inant operation in every grasp and can be im plem ented in (9(log n) tim e since we m ay assum e th a t th e vertices of every m axim al clique are sorted according to diam eter value at | th eir associated orientation (see Step 5 of the off-line planning algorithm ).18 As for correctness it follows from the fact th a t th e list A v associated w ith a vertex v is th e sequence of grasp angles th a t partition C , the m axim al clique to which v belongs initially, successively until the is th e single com ponent {?;} or includes v and cannot be partitioned any further. Dv is th e list of diam eter values encountered in th e process. Step 4.2 of th e off-line planning algorithm j pu ts x e at the tail of th e angles list A v for every vertex v 6 T . Thus, in Step 1 of th e on-line grasp plan, any vertex v & Ci can be chosen for determ ining Xi> v. In case of edges w ith R(e) — 0, th e vertices of the final could be associated w ith m ore th an one parts th a t are pseudo-twins of each other. In this case, we ! m erely state th a t th e p art is one of these parts. If, on th e other hand, Ci has 18This O (log n) tim e com plexity can be improved by using universal hashing techniques I to constant expected tim e and then to constant deterministic tim e using the perfect hashing I function [FKS84]. I exactly one vertex^or consists~bf a set“of Veftices^ all Ijf 'which~correspond~to~ th e sam e p art, th e p art has been uniquely determ ined. T he grasp length of the plan, fi, is bounded above by the size of th e A v, D v lists, which is at m ost q' = \Ci\ < q < n. (q is the size of th e m axim um clique in G ). ! 2 .2 .5 O p tim a l grasp p lan T he previous planning algorithm does not necessarily produce an optim al grasp plan because the partitions 1 + ) T21+)... t f c ) T; (Step 6) were produced by a grasp action from an arbitrary cutting orientation x e (Steps 2,3) and therefore need not be th e ones arising in a optim al grasp plan. An optim al planning algorithm would have to consider every possible partitio n and thus m ay have the following structure, q is the size of the maximum clique in G , Ni the num ber of z-cliques if i — 1 or 2 Do th e needful [Trivial Cases] else do: [ i> 2 ] 1. w < — \Cj,i\; h(Cj,i) *- w. 2. Consider all possible partitions of Cj,i in turn. < Do processing > It is easy to check th a t such an approach would require tim e at least in G. for i = 1 to q — 1 do: for j — 1 to Ni do: Let Cjti be the j t h ^-clique in G. □ However, this considers all possible partitions (Step 2), f2(2*) partitions, which is wasteful. We only need consider all “good” partitions where goodness is defined as follows. Let~ T ~ = = i rri+J 2V©T77l±l Tf be some parti ti orroL t h e "clique’T f L I r l \ L v rrU 'Tj:------1 Define E (T i , T2 , ..., Ti) as the set of “crossing” edges of th e partition Tj U T 2 U . . . U Ti, i.e. E (T 1,T 2, . . . , T i) = {e = (u,v) I u 6 Tj, t) € Th 1 < i,j < I, i ? j } . ! Define R (E (T UT2....,T ,)) = n *(<0- e£E(Ti ,T2 Now a p artitio n 7 \ l± l jH 2 W . . . t± l Ti is said to be a a good partition if its set of breaking orientations, R{E{T\, T2,..., TJ)) 7 ^ 0. It is clear th a t partitions of clique T th a t are not good need not be considered because they can never be obtained by a single grasp action. T he following lem m a gives a polynom ial bound on th e num ber of good partitions. L e m m a 9 There are only 0 ( n 3) good partitions Til+)T2 I±I.. .1 ± 1 7 } of any maximal clique T in G. Furthermore, the only good partitions T[ l± ) T'2 l± ) . . . W T(, of a subclique T' C T are the aforementioned 0 ( n 3) partitions of T restricted to the vertices of T '. Finally, these 0 ( n 3) partitions of maximal clique T can be j computed in O(n.4 logn) time. □ ) < P roof: Lem m a 6 im plies th a t every R(e) has a com plexity of 0(n). This implies th a t there exists a constant c so th a t each R(e) has no more th an cn intervals1 9 over [0, 7r). Consider the set of left end points and right end points of all the R(e) as a sorted (in increasing order) set of points A — {a±,a 2, ... ,cq}. t is at m ost cnAv- jzl l — 0 ( n 3) because there are nG~1} edges e. Now consider an open interval A t = (a,, a t+i). It is easy to see th a t for every edge e, either Ai C R{e) or Ai fl R(e) — 0. By “a (good) partition of T generated by angle x ” , let us understand the j following. Let {D \ ,..., Di} be the set of diam eter values (ignoring duplicates) | in { dv(Yv(x + < f> v)) | v G T }. Then, th e partition of T generated by x is I I ----------------------------------------------------- 1 9We may assume all closed intervals. 62 T-i l± l T2 l±)... l± l Tj, where for 1 = {ITGT |H J ( r ^ a r T " ^ ) )~=" :D .;“ } ~ “ The" m ajor claim is th a t all good partitions T\ 1 ± ) T 2 W... t± ) 7} in T are included among those generated by some x G A. To verify this claim observe th a t th e end points of every interval of i2 (F (T j, T2 , ..., Ti)) are present in A and also th a t any point (including the end-points) in f2(i?(Tj, T2 , . ■ ■, Ti)) suffices to generate th e partitio n T\ 1 ± ) X2 * ± * • • • h) T(. This proves th e first statem ent of the lemma. T he second statem ent follows from the simple fact th a t R ( E ( l f for th e partitio n T[ l± ) T'2 t+l... 1 + 1 T(t of any sub-clique T \ also has all its interval end-points in A (due to simple inclusion). ♦ [ This gives us a simple procedure to list out all the n3 partitions of G, \ namely, form th e set A = {ai, o;2 , ..., 0 : 4} (can be done in 0 ( n 3 log n) tim e | by sorting once th e R(e ) have been com puted) and determ ine the partitions ! generated by every a*, 1 < i < t. Each such partition would require 0{n) tim e to com pute, and 0 (n log n) tim e to sort by D{ value. Therefore, all the good partitions can be com puted in 0 (n 4 log n) tim e. □ C o ro lla ry to L e m m a 9 A partition Tj l+ l hJ... t± l T\ o f T is good if and only if it is generated by some x £ A, where A and “ generation of a partition” are as defined in the proof of Lemma 9. P ro o f: ! If: Follows from Lem m a 7 which states th a t any orientation in any R(e ) I will generate a good partition. I j Only if: Follows from the proof of the Lem m a 9. ! □ Let us assum e th a t all the (at m ost t = 0 ( n 3)) good partitions of th e cliques in G are stored in a table as shown in Fig. 2.8. T he columns correspond to th e n vertices of G. T he rows give the various good partitions. For considering th e good partitions of s subset of vertices, simply restrict your vision to the columns corresponding to those vertices (second statem ent of Lem m a 9). Each good partitio n also stores its generator alongside. For exam ple, aq generates i th e good p artitio n {v1,v2,vs} l+ l {u3} I ±1 {u4} for the clique {uj, V2 , u3, v4, v5}. j M ore th an one generator m ight exist for the same partition: notice th a t x 4 1 also generates th e same partitio n as aq for {ui, u2, v3, v4, U 5 }. A p artitio n which was good for a clique m ay not be good for its subcliques: aq and x4 do not generate a p artitio n for {ui,u 2 ,u 5}. \ Vertices Partition \ vl v 2 v3 v4 v 5 v6 • i • v n Xi 2 2 1 3 2 3 4 * 2 2 3 5 4 5 7 1 x3 1 1 1 1 2 2 2 x4 1 1 4 5 1 1 2 • • • X, 1 5 a 5 a a 5 t=0(r,1 3) Figure 2.8: Storing good partitions for a graph in tabular form. T he columns ! are th e vertices of th e graph and th e rows are the good partitions. In con- I sidering good partitions for a particular clique of vertices C , look only at the I colum ns under vertices in C . P artitions are specified by attaching labels to | vertices. In a particular partition, for a particular set of vertices, two vertices belong to th e same p artitio n if and only if they have the same label asso ciated w ith th em in th a t p artitio n (the actual label itself is not im portant). {uij ^2 } W {^3 } is a good partition for {tq, u2, ^3 } generated by Xy. x y also gen erates th e good partitio n {ui, v2, u5} l + J {^3 } l+ l {u4} for {ui,..., u5}. Xy does not generate a good p artitio n for {ui,u2}. (W hy? Because # 1 ^ i?((i?i, u2)).) The num ber of good partitions (num ber of rows), t, is 0 ( n 3). O ur approach tow ards th e optim al algorithm is to consider every clique in I j G , beginning w ith 1 -cliques, then 2 -cliques, working upwards until the m axim al clique. W hen considering an *-clique T th e aim is to com pute its optim al grasp 64 j plan. THis’isHone bjTconsidering every good partitioiTl/ i'l+i2 2 ldJ7T7©T)T)f T rT h e f optim al grasp strategies for each of Ti, T2 , ..., T } have already been com puted by this tim e because we have worked bottom -up. Let h(Ti) be the grasp length 1 ____________________________________ _ I of th e optim al grasp plan for Tt. Define th e grasp length of the good partition ! Ti l+ l T2 l±l... l± ) Ti to be h(T1,T 2, . . . , T l)= m a x (h {T i)). 2 = 1 Define the best partition of T to be th e good partition of shortest grasp length. The optim al grasp plan for T can be com puted from th e optim al grasp plans of Ti, T2, .. •, T), w here T\ l+ l T2 l± i . . . U 7} is th e best p artitio n for T . h (T ) will be 1 plus th e grasp length of its best partition. Here, we store optim al grasp plans as a rooted tree, each node of the tree alongside a subclique (rather th an lists alongside vertices as done previously). T he root, p(T ), of th e subtree storing the so-far-optim al grasp strategy for clique T is labelled by th e vertices of T. The root is also associated w ith some angle x which is th e grasp angle th a t generates th e so-far-best p artitio n of T. Let {Th,... ,D i } be th e set of diam eter values (ignoring duplicates) in { dv{Tv{x + < f} v)) | v € T }. Let {T}}, 1 < j < I be the partition of T induced | by th e diam eter values. T he edges out of the root are labelled by th e diam eter values D i ,. . . ,Di and the children of the root are labelled by the vertices of th e individual T) and will be associated by an appropriate grasp angle.20 The leaves of this tree consist of vertices th a t all belong to th e same p art or a clique of vertices such th a t every edge e between two vertices associated w ith distinct parts has R(e) = 0. Let the subtree whose root p(T) is labelled by th e vertices of clique T be denoted as T R E E (T ). Additionally, let h(T ) denote th e dep th of T R E E (T ). It is easy to see th a t, at th e end of the com putation, j this definition of h(T) and th a t given in the previous paragraph are the same. I Initially, th e tree for every clique (including th e non-m axim al ones) consists of j a single unconnected node labelled by the vertices of th a t clique. \ Let Ni be th e num ber of Tcliques in G. q is size of m axim um clique in G. i j 20Each internal node is just like for the root - it stores the grasp strategy for the Tj it is 1 labelled by. 65 P la n n in g A lg o r ith m O PT_G RA SP f o r i = 1 to q do: f o r j = 1 t o Ni do: Let Cjti be the j t h Tclique in G. i f i = 1 or 2 Do th e needful [Trivial Cases] e l s e do: [* > 2 ] 1 . w *- h{Chi) *- w. 2. Consider all good partitions of Cjj in turn. 2.1 Let T\ l± ) T2 W . . . I ± ) Ti be one such good partition. 2 . 2 Let r € R (E (T U T2, . . . ,T f)). 2.3 i f (1 + h{Tx, T2, . . . , Tj) < w) do: 2.3.1 w <- 1 + h(T1; T2, . . . , T ); h{Cjti) <- u> . 2.3.2 Let {-D i,. . . , Lh} < — { + fiv)) | f ^ } 2.3.3 For 1 < r < /, Tr = { v € | d „ (ri,(a; + < j > v)) = Dr }. 2.3.4 Remove all edges out the tree node X(Cj,i). 2.3.5 Associate node X (C jj) by grasp angle x. 2.3.6 C reate I edges out of node X (C jti) w ith labels D \ , . .. , Di. 2.3.7 Let th e r th edge, 1 < r < /, point to X {T r). □ Analysis: Assum e th a t at any stage of the com putation, given a clique T , the inform ation associated w ith it, namely, h (T ) and a pointer to p(T ), can be obtained by random access in 0 (1 ) tim e. Also assum e th a t we have precom p u ted th e good partitions of every m axim al clique and stored them in tab u lar j form (as described in th e proof Lem m a 9 and Fig. 2.8). Steps 2 and 2.1 can I be im plem ented by loading in th e next row (partition) from the table. T he i test for “goodness” of this partitio n w ith respect to Cjti consists of checking j w hether the partitio n loaded in has at least two distinct labels for th e columns I corresponding to vertices in Cjj. This check can be done in 0(i) tim e. As- j sum e th a t the partitio n also brings w ith it its generator which m ay be used | as x in Step 2.2 (w ithout com putation of T (T x ,. . . , Tj) and i7(TJ(Ti,. . . , T/)). j At this tim e subcliques T i ,. . . , T\ have been processed and so h (T i),. . . , h(Ti) | m ay be accessed and their m axim um , h(T\, . . . , T [ ) com puted in 0 (1) = 0 (i) J I tim e for Step 2.3. A single iteration of steps 2.3.1-2.3.7 can be im plem ented { 1 in 0(1) = 0 ( i ) tim e. Let T(p ) represent th e preprocessing tim e com plexity to ■ 66 resolve a p-clique. Since there are at m ost 0 ( n 3) good partitions ('Lemma 9): it is easy to see th a t | T(P ) = ' e ' ( ? t ) ° (in3)- (2- 4) This gives T(p ) = 0 ( n 4 2P). I Total preprocessing com plexity is the sum of complexities for each m axim al clique, which is upper bounded by ^ n 4 2 9, where q is th e size of the m axim um clique in G. T he on-line grasp plan still runs in 0 (log n) per grasp. However, because to the representation of grasps directly as trees, its im plem entation is straightforw ard and is not described. This exponential tim e com plexity isn’t as bad as it sounds since the size I of th e largest clique in the graphs we consider is likely to be small even if 1 we have large num ber of parts. The correctness follows from the discussion j before presentation of th e planning algorithm and th e fact th at, at th e end of th e processing for Cjj, the best partitio n for it would have been determ ined correctly (Step 2.3). A n e x a m p le Consider Fig. 2.9. Three polygonal parts P i, P2,P 3 are shown shaded and in zero orientation. P i is an equilateral triangle w ith altitude eh; * P 2 , a house shaped p art w ith two stable orientations, one w ith diam eter d\ and ] another w ith a d2 > d\ + e; and P3 is a square of dimension d2. N , th e to tal ! j num ber of faces of all the parts is 12. The graph of stable diam eters for this j I set of parts, G , has n = 7 vertices, Vi, v2, .. -, v7. G is shown ju st below Pi in j 1 th e figure. Vertices of G are indicated by solid circles: those associated w ith the stable orientations of P i w ith the sm allest circles, P 2 slightly larger, and P 3 the largest. Each vertex V{ is shown associated w ith the following inform ation: th e p art P t, orientation < j> { and the diam eter of Pi at orientation (in degrees) j < f> i- I Recall th a t edges in G are between two stable orientations having the same diam eter value. Thus G can be decomposed into two m axim al cliques: C\ = j {V!,V2,V3 ,V4 } and C2 = {u5, t> 6, v7}. For any edge e in {tq,u2, u3}, P (e) = 0. ! I 67 ; j Sam e is tru e for any edge~irT'{y6, ?j7 }T'TKeT?(e)_for other edges are not~shown' individually b u t it is easy to note th a t each of these R(e) is non-null and includes th e orientation2 1 90 degrees. P i di d2 V j : (P„ 1 2 0 , dt ) v2: ( P j , 0 , d j ) j \V4--(P2,0,dI) F Figure 2.9: T he graph of stable diam eters for the three parts P 2 , P3 . i I * T he graph for resolving th e cliques in G is shown in Fig. 2.10. T he nodes I j of th e graph strategy tree are indicated as little square boxes such as □. T here j 1 are 7 nodes in all form ing a com plete binary tree of depth 2. Each node is ! associated w ith a subgraph (shown enclosed in a rectangular box) of G, children \ associated w ith disjoint portions of th e parent and the root associated w ith all j 1 J of G. Every internal node is also associated w ith a orientation angle (shown 1 J enclosed in parenthesis) which indicates th e angle the gripper m ust be ro tated j before the next grasp. For th e root this can be any angle, wlog 0, since the 21 Possibly not the best orientation : “best” meaning that allowing m axim al sensor or rotation error. 68 "first grasp is random . T he possible choices for diam eter m easurem ent from the first grasp is d\ or d2. The two edges out of th e root are therefore labelled di and respectively. If in the first grasp we m easure d\, we travel down th e left edge to a node associated w ith clique C\ (and analogously if we m easure d2). T he node associated w ith C\ discovers th a t v2, U 3 }) = 0 and therefore com putes th e partitio n W {^4 } generated by orientation x = 90. So we ro tate th e gripper by 90 degrees and grasp again. If m easured diam eter is still d \ , we have p art 1, otherwise p art 2. Likewise along other paths down the tree. So, in this case of th e three polygons, th e com plete strategy is as follows. G rasp, ro ta te by 90 and grasp again. If diam eter values m easured are (d i,d i), then we have part 1, if (d2,d2) its part 3, and p art 2 otherwise. This was also shown in Fig. 2.7 earlier. 2 .2 .6 D isa m b ig u a tin g p se u d o -tw in s at w itn e ssin g o r ie n ta tio n s O ur previous algorithm s could fail to disam biguate betw een a set of pseudo twins when they are in orientations th a t w itness their pseudo-tw inness. In other words, our algorithm s fail to p artitio n a (sub)clique C only if for every edge e = {u,v) in th a t clique, R(e) = 0. From Lem m a 8 , th e following is now im m ediate. T h e o re m 9 The suboptimal algorithm in Section 2.2-4 ant^ optimal algo rithm of Section 2.2.5 identifies every part from among a set uniquely if and only if every vertex v in the graph of stable of diameters there has at least one edge e incident it such that R(e ) 7 ^ 0. However, it turns out th a t R(e) = 0 for an edge e betw een th e witnessing orientations < f> u,(f> v of pseudo-twins Pu,Pv only m eans th a t the edge e cannot be “broken” w ith exactly one grasp action because any single grasp action will result in equal diam eters m easured. There could, however, exist a sequence of 69 vj:(Pj, 120, d , ) v 2: ( P j , 0, 4j ) j \v*: ( p2,0 , d j ) 9- - - - - - - - - - - - - - - - - i— m v s: (P2 < 9 0 , d j ) \ i / \ /v4(P3>0,dz) V 5: (Pu 6 0 , d j ) m v7 :(P3 90,dj) v5: (P 2, 90> dV w * \ /v6:(P3>0,d2) v7 : (P, 9 0 , dj Vl: ( P j , 120, d j ) v2; ( P t , 0 , d j ) \ v 4 - (P 2,0 , d j ) v3- ' (Pu 6 0 , d,) v6: (P3, 6, dz) v 2: ( P i > 6 , d j ) v ,- (P„ 120, d j v 3: ( P j , 6 0 , d j ) v 5 ■ ' (P2 , 0 , d j ) v 4’ :(P2 90,d2 ) v7 : (P3 ) 90, «2 / Figure 2.10: G rasp plan to resolve cliques in th e graph of stable diam eters for the parts P i,P 2, P3 shown in the last figure. 70 two grasp actions to disam biguate between the p a r t ~ P ~ / 3 i71?la'ced“at orien- tations 0 1 i,0 „, respectively. See Fig. 2.11. A grasp sequence of 80°, 75° will p artitio n th e clique {u,v} although R((u,v)) = 0. If R(e) = 0 for an edge e = (w,u), define R 2{^) = {(^1, 02) | ^w(rw ( r u(0l + 0u) + 02)) 7 ^ <^i;(I\;(I\,(0i + 0„) + 02))}- R 2(e) m ay be term ed the set of 2nd grasp breaking orientations for the edge e. R 2(e) C S 1 X S 1. Before we show how to com pute th e i?2 (e), let us discuss how to use them in disam biguating pseudo-twins at witnessing orientations in a m odification of th e suboptim al algorithm presented before. M o d ified su b o p tim a l a lg o rith m Step 2 of th e suboptim al algorithm rejects a clique T if every edge e in it has R(e) = 0. Instead, we look for an edge e w ith R 2{e) ^ 0, pick some ( 0 i?02) £ -^ (e ), and perform the grasp actions 0 i,0 2 (in th a t order). The rest of th e algorithm is very sim ilar. T he new orientation for a vertex v € T is I \,(I\,(0 1 + 0 u) + 0 2) and th e new diam eter is du applied on this new orientation. We u p d ate the angles list A v by pushing in 0i first and then 02,a and update i th e diam eters list appropriately. Steps 5,6,7 rem ain the same. i f A clique C in which every edge e has R(e) = 0 would be indeed parti- j tioned by any 2-tuple of grasp actions taken from a non-em pty R^ie) because j I (analogous to Lem m a 7): j I | ! L em m a 10 Let C = {a, b, c\, C 2 , . . . , cm} be the vertices of an (m + 2)-clique. \ Then ^ ( ( a , b)) C R 2((a, a)) U J?2((&, c;)) for all 1 < i < m. P roof: T he proof is very sim ilar to Lem m a 7. Wlog R 2((a,b)) ^ 0. Let 0 i,0 2 I i be some arb itrary 2-tuple of orientations in i?2((a,&))- We can show th a t j (Pv 0) (P2,0) Figure 2.11: D isam biguating betw een pseudo-twins at th eir w itnessing orien tations. At th e top are different transfer functions w ith three steps each. Only th e portion betw een [0,7r) (the period of sym m etry) is shown. T he transfer function on the left, has fixed points {0,90,130} degrees in and for r 2 they are {0,60,120}. T he diam eter value to which each step collapses to is shown in parenthesized italics ju st above the step. Let the parts th a t correspond to these transfer function be Pi,P 2 , respectively. T he graph of stable diam eters for these two parts, G(P\ , P 2) is shown below. A vertex is shown as a (p art, stable orientation) tuple. For exam ple, u is th e vertex (P i,0 ) and v is (P 2,0). R{{u,v)) can be verified to be em pty. Therefore, P i, P 2 are pseudo-tw ins with witnesses 0,0. {u,u} is one m axim al clique in G (P i,P 2). T he other m axi m al clique consists of four vertices and all th e six edges e in th a t clique have non-em pty R(e). 72 < f> i,< f> 2 belongs to at least one of R 2((a,Ci)), R 2((b,Ci)) for any c; by letting D a = da( r a( r a(<£i + 4 > a) + < £ 2 )) (Db,DC l can be sim ilarly defined). Now, since D a / Db, D C i has to be unequal to at least one of D a,Db as before. □ T he new Step 2 (searching for an edge w ith non-em pty R 2(e) if all edges have R(e) — 0) can still be perform ed in linear tim e because Lem m a 8 holds in statem ent and proof (the proof should however appeal to Lem m a 10 instead of Lem m a 7) w ith R being replaced by R 2. Therefore, assum ing th a t the R 2(e) are known, this suboptim al algorithm also runs in 0 ( n 2 logn) tim e producing plans of length at m ost 2n. We now discuss com putation of th e R 2(e). C o m p u ta tio n o f th e R 2(e) Let e = (m, v ) be an edge in th e graph of stable diam eters, G. Wlog consider only th e subgraph of G induced by the stable equilibrium orientations of parts PU,PV. Call this subgraph as G(PU,PV). If |r„|, |I\,| are the num ber of stable equilibrium orientations of PU,PV, respectively, then G(PU, Pv) has |LU| + |r^,| vertices and 0 ( ( |r „ | + |I\,|)2) edges. V e r te x m ig ra tio n s A grasp action a perform ed on a p art Pu in orientation < p u can be looked upon part Pu migrating from vertex < f> u to vertex r u(a + < p u). Given any two stable orientations u, w of a p art Pu, th e transfer function of Pu gives a unique range (a single step) between [0,7r) of orientations, a grasp action at any of which will cause Pu to m igrate from u to w. Let us term this range of orientations as th e vertex migration range from u to w and denote it as M (u,w ). See Fig. 2.11 in which M {u ,w ) can be seen to be [20,110), M ( v , x ) = [20,90), and M (u ,u ) = [— 20,20). A particular M (u ,w ) can be com puted in 0 ( | r w|) tim e b u t all possible 0 ( | r u |2) vertex m igration ranges can be com puted in 0 ( | r u |2) tim e, and none of them will be empty. E d g e m ig r a tio n s Consider an edge e = (u ,v ) in G(PU,P V ) w ith R(e) = 0. Let u to w , and v to x be possible edge m igrations of Pu, Pv, respectively. Let 73 M (u, w, v, x ) = M (u, w)C\M(v, x). Since M ( u , w ),M (v , x) are single ranges of orientations, M (u, w , t> , a;) is em pty or a single range of orientations. T he edge (u,v) is said to be migrate to the edge (v,x) under the range of orientations M (u, u>, u, x). There are |ru||r„| possible m igrations of the edge (u ,u ) and all th e possible M (u ,w ,v ,x ) for edge (u,v) can be com puted in 0(|r„||r„|) tim e. In Fig. 2.11, M ( « ,«?, v, x) = [20,110) n [20,90) = [20,90). T he m ethod to com pute i?2 (e) is as follows. Com pute all possible |ru||r„| m igrations of th e edge e = (u, v). Let u to w, v to x be one such m igration. If M ( u , w , v ,x ) 0 and if R((w,x)) ^ 0, append M (u ,w ,v ,x ) x R((w,x)) into R 2 (e)- Clearly, then Ri(e) can be com puted in 0(|ru||r„|) tim e. Com puting i?2 (e) for all edges e in G therefore takes 0 ( n 4) tim e. F u rth er e x te n sio n s We are currently able to partition a (sub)clique C of G if 1. th ere exists some edge e in C w ith R(e) ^ 0, or 2. if all edges e 6 C have R(e) — 0, then some edge e has if ^ e ) = 0. We conjecture th a t the second condition above always holds, i.e. w ith 0 ( n 4) preprocessing tim e, an O (n2 lo g n ) algorithm will find a plan using at m ost 2n grasps to identify a p art if there exists such a plan. However, in th e absence of a proof, how do we partitio n a clique in which every edge e has i?(e),J?2(e) em pty? The solution is to com pute an i?3(e). In general an Ri(e) is defined over edges e in cliques C th a t have i?(e), i?2 ( e ) ,. . . , Ri-i(e) all em pty. Ri(e) C (F 1)', where (S'1)8 = (S 1)*-1 x S 1. It can be com puted from edge m igrations of edge e = (u,v), u to w, v to x , and considering w hether x)) ^ 0. Notice th a t a sequence of i grasp actions taken from Ri(e) ignores the results of th e first i — 1 grasp actions (because i?;_x(e) = 0). Given all th e i?;_i(e) in a graph, all th e Ri(e) can be com puted in 0 ( n 4) tim e. Therefore, for i = 0 (1 ), all the i?(e), i?2( e ),. . . , Ri(e) m ay be com puted in 0 ( n 4) tim e. An 0 ( n 2 logn) algorithm would result producing a grasp plan requiring at m ost in grasp actions to identify a part. A trivial upper bound on the i to consider would be |fu||r„|, bu t as m en tioned before, we conjecture th a t only i < 2 m ay be ever required. We also conjecture th a t Two p arts P i ,P 2 w ith respective sensor functions 0 1 , 0 2 are indis tinguishable through a grasp plan if and only if 1. For every stable equilibrium orientation fix of P i, there exists a stable equilibrium orientation @2 of P 2 such th at V 0 € SV fJ (6) = of2(0) 2. same as above interchanging subscripts 1,2. If true, this would give a simple check w hether two parts are distinguishable. If not, we could weed th em out of the initial set. Surely, two parts having the sam e diam eter function are indistinguishable and satisfy th e two conditions given above. 75 C h a p te r 3 T h e P O S E p ro b lem — O rien tin g P a r ts In this section we overview our results on the PO SE problem for the class of p arts exhibiting planar m otion, planar parts. These include th e class of planar polygonal p arts studied in C hapter 2. An open-loop grasp plan, shortened to grasp plan or plan in this chapter, is a sequence of open-loop grasp actions. An open-loop grasp action, or grasp action in this chapter, is sim ilar to a grasp action defined in Section 2.2 w ith th e exception of Action 3: m easuring the w idth betw een th e jaw s in a stable equilibrium orientation. The parallel jaw gripper is considered sensorless in this chapter, the basis for which is G oldberg’s Ph.D dissertation [Gol90]. A fter m odifying th e standard off-the-shelf gripper to reduce friction, Goldberg presented an 0 ( n 3) tim e algorithm , referred to here as A lgorithm A, for generating an optim al (in num ber of grasp actions) open-loop grasp plan for orienting a polygon w ith n-sides and known shape up to sym m etry in its transfer function. In this chapter, we extend this result in several directions. We begin by giving a parallel algorithm for the same problem in Section 3.1 th a t runs in 0(n) tim e on an n x n m esh-connected array of processors. T he parallel algo rith m follows a different approach from the serial im plem entation transform ing th e com puting of a sequence of intervals over S'1 into finding a p ath in a graph whose vertices are taken from S 1 x S 1. We believe this to be among th e first 76 results dealing w ith th e application of parallel algorithm s to robotic m anipu lation. T he serial algorithm in [Gol90] and the parallel algorithm outlined above still deal w ith planar polygonal parts. In Section 3.2, we begin our investigation into curved planar parts and present an algorithm , A lgorithm A 1, th a t generates an open-loop grasp plan to orient any planar curved p art given its transfer function. We show th a t th e algorithm is com plete (orients a p art w ith a finite transfer function), correct (produces th e shortest grasp plan), and runs in tim e 0 (m in (u 2 log n + N, N n )), where n is the size of the transfer function (num ber of steps and ram ps) and N is the length of the (shortest) plan produced. W hile for p arts w ith ram p-less transfer functions (such as polygons), Goldberg showed th a t N — 0 ( n 2) (im proved to N < In in [CI92]), we show th a t in orienting parts w ith ram ps in their transfer functions, N could be unbounded w ith respect to n. However, we bound N in term s of a m easure derived from its transfer function. T he above algorithm presented assumes th a t we have the transfer function of th e p art. We give an optim al algorithm to com pute the transfer function of a generalized polygonal p art in Section 3.3. The problem of com puting transfer functions for other classes of curved parts we believe is highly non-trivial and we discuss some approaches in th e conclusion. T he discussion so far was lim ited to squeeze-grasp actions (A ssum ption 8 in Section 1.4: i.e. both jaws of the gripper m ake contact w ith th e gripper sim ultaneously). W hile, this assum ption was m ade for ease of explanation, we realize it is not a realistically valid assum ption. In Section 3.4, we relax this assum ption by considering another class of open-loop grasp actions called push- grasp actions (introduced by Brost [Bro88]) instead. The analysis of push-grasp actions, which proceeds by one jaw pushing the p art to the other jaw before squeezing occurs, is quite sim ilar to th a t of squeeze-grasp actions (the push- grasp function, m apping the initial orientation to th e final orientation after the grasp, tu rn s out to be a step-ram p function as well) and so our algorithm can be easily modified to produce an optim al-length push-grasp plan. A part from being practically feasible, push-grasp actions have th e added advantage th a t 77 th e push-grasp function has a period 27 r and so parts are oriented up to 2t: sym m etry rath er th an sym m etry of % in squeeze-grasp actions. T he final discussion on open-loop m anipulation relaxes th e zero-friction assum ption m ade betw een th e gripper and part. This assum ption was crucial in th e developm ent of all the algorithm s discussed and while p artly justified by th e fact th a t we use G oldberg’s and F urst’s low-friction parallel-jaw gripper [GF92], we recognize th a t friction can never be com pletely elim inated from a physical system . Section 3.5 considers two models of non-zero Coulomb friction and gives m odifications, based on th e coefficient of friction betw een p art and gripper, to th e planning algorithm to produce an orienting plan for th e p art. In th e last section of this chapter, we relax the open-loop principle we have followed religiously until now. Here in Section 3.6, we study a possible variation to th e sensorless approach by introducing a sim ple (possibly error prone) uncalibrated vision sensor th a t can sense the position of a “registration” m ark placed somewhere in its field of view. The registration m ark problem is, given a finite set of poses (or planar rigid geom etric transform ations) for a planar p art on th e plane all w ithin th e field of view of the sensor, com pute th e location on th e p art at which to preplace a registration m ark such th a t th e transform ed m arks are m axim ally separated (to allow for m axim um sensor error). T he m otivation for this problem is to tradeoff grasp plan length for use of th e sensor. This tradeoff results in being able to determ ine pose in a far less num ber of open-loop m anipulation gripper actions (possibly a constant num ber), th a t leave the p art in a finite num ber of possible poses, followed by a single vision sensing step. T he work presented reported in this chapter has been previously reported in [PR92b, RG92a, RG92e, RG92c, RG92d]. O rien tin g up to sy m m e tr y in tra n sfer fu n ctio n We noted th a t the transfer function has period w due to sym m etry in th e gripper; rotating the gripper by 180 degrees produces a sym m etric arrangem ent th a t preserves the diam eter. However, rotational sym m etry in the p art also introduces periodicity into th e transfer function. 78 In E quation 1.1 (Section 1.471') we defmecTthe transfer function to have a period T if for all 8 £ S 1, r(0 + T) = (r(0) + T) m od 27r. For polygons w ith r-fold rotational sym m etry, th e transfer function will have period Tr = 27r/r(l + r mod 2). For exam ple, a p art w ith no rotational sym m etry (r = 1) has a transfer function w ith period x. An equilateral triangle has 3-fold rotational sym m etry; its transfer function has period x /3 . A square has 4-fold rotational sym m etry; its transfer function has period x /2 . Periodicity in the transfer function gives rise to aliasing, where orientation 9 is indistinguishable (to the gripper) from orientation 6 - + • T. Any sequence of actions th a t m aps 9 to 6' will m ap 6 + T to O ' + T. This implies th a t there is no sequence of gripper actions th a t can m ap orientations 9 and 6 -f T into a single final orientation. Let T denote the sm allest period of sym m etry in a transfer function T. By orienting a part P up to symmetry in its transfer function, we m ean th a t the final orientation of the part is one of 2x /T orientations equally spaced over S 1. 3.1 O rien tin g p o ly g o n a l parts: A p a ra llel a lg o rith m Goldberg [Gol90] presents a serial algorithm for generating the optim al parallel jaw gripper open-loop grasp plan to orient any polygonal p art given its shape up to sym m etry. Let us call this serial algorithm as A lgorithm A. An exam ple is presented in Fig. 3.1. We present a parallelization of A lgorithm A th a t runs in 0 ( n ) tim e on an n x n m esh-connected com puter. A fter some m otivation related to seeking parallel algorithm s in orienting parts, we overview the serial algorithm ; then we briefly describe our parallel model of com putation before looking at the parallelization. T here are two m ajor phases in parts orienting: com puting the plan of m a nipulation actions and its execution. W hile th e latter has to be done on-line 79 Figure 3.1: Four traces, running from top to bottom , of a two-stage plan for orienting th e rectangular part. Each gripper action is indicated w ith a pair of bold parallel lines. Regardless of the p a rt’s initial orientation, its final orientation is constrained to be in one of two sym m etric orientations. when the p art arrives, th e form er, on first glance, seems to be an off-line prob lem since it m ay appear th a t we could precom pute plans for every conceivable p art th a t m ay need orienting and store all these plans. Subsequently, w hen ever a particular p art needs orienting, we could retrieve its plan and orient accordingly. However, we now argue th a t we should consider on-line plan com p u tatio n thus m aking th e process of parts orienting fully on-line. Consider th e situation shown in Fig. 3.2. Random parts P are throw n onto the belt B on th e left. N either th e description of the part nor th e plan to orient it are previously known or com puted. A sim ple sensing device S determ ines the shape of the p art and lets the description be known to th e on-line parts feeder F, which is an arrangem ent of parallel jaw grippers in pipelined fashion. W ith th e aid of parallelism , F com putes th e plan for the p art and executes it, both in real-tim e. If th e sensor S is accurately calibrated, it could determ ine th e current orien tatio n of the p art, possibly simplifying parts orienting considerably. However, accurate calibration is non-trivial. Also, there is always th e question of sen sor error whenever a sensor is introduced. This is unacceptable if we need to orient th e p art precisely. Nevertheless, we assume th a t th e sensor can retu rn an “accurate enough” (for th e purposes of com puting its transfer function) description of th e extrem e points in th e p a rt’s convex hull. 80 Even if th e calibration problem is taken care of and the sensor is very accu rate, th ere is another problem to be tackled if the parts feeder uses d a ta from th e sensor to com pute p art orientation as well (as opposed to only obtaining shape in fo r^ " +’— ^ +1------ -— no^ fog dis tu rb ed betw een sensing and feeding by other p art handling stages (painting, for exam ple). This removes some flexibility in an industrial situation. Also, belt vibration m ay disturb the p a rt’s orientation. Therefore it is not safe to obtain orientation inform ation from th e sensor. Sensing unit S p i A t # : : si m m Unoriented parts Oriented parts. Figure 3.2: A real-tim e parts feeder. 3.1 .1 T h e seria l a lg o rith m Let P denote th e n-gon to be oriented up to sym m etry in its transfer function F. Let d denote th e diam eter function of P and T denote th e period of sym m etry in r (or d). By an interval we understand any semi-closed (left-closed, right- open) subset [6, c) of 5 1 between some two points of discontinuity in transfer function T (i.e. b,c are end-points of steps in T). Intervals are denoted by th e symbol < & . We extend T to intervals as follows. By T ($ ) we understand 8 1 { HULL(r(^>)) | < f> 6 }; where HULL denotes the convex hull of the one dim ensional set. If $ = [6, c), we m ay consider L ($ ) to be the closed set [r(a),r(6— e)], for some infinitesim ally small e. Let |$ | denote th e m easure of interval 3 > ; and sim ilarly |F(4>)| denotes the m easure of th e set T ($). A lg o r ith m A [Gol92] Input: Shape (ordered list of vertices) of P , a convex n-gon. O utput: Open-loop grasp plan to orient P (strictly, a list of intervals can can be converted into a grasp plan). 1. C om pute the transfer function L. 2. Find the widest single step [6, c) (break ties arbitrarily) in the transfer function and let be the corresponding interval, i.e. = [6, c). Set i < — 1. 3. While there exists an interval $ such th a t |r(<& )| < • Let 4>;+i be th e widest such interval. • i * — i + 1. 4. N i. R eturn th e list ( $ i , . . . , 3>jv). Step 1 of the algorithm can be done in 0(n) tim e if given th e ordered list of vertices of P (See Section 3.3). Com puting the convex hull and then obtaining th e ordering can take O (n lo g n ) tim e. Finding th e widest step takes 0(n) tim e since T will have at m ost 2n steps. Each iteration of th e while loop takes 0 ( n ) tim e. Since there are 0 ( n 2) intervals, N = 0 ( n 2) and the algorithm runs in 0 ( n 3) tim e. However, using a recent result from Chen and Ierardi [CI92], G oldberg [Gol92] shows th a t N < 2n and th a t A lgorithm A runs in 0 { n 2) tim e. It was also shown th a t the algorithm is com plete (does not term inate until th e last interval of w idth T is output) and correct (generates the shortest grasp plan). T he o u tp u t of this algorithm , the list (<&*,..., $ ^ ) , can be converted to a sequence of N grasp actions (/?i,. . . , 0n ) nsing the following recurrence [Gol92]. Let < f> i denote the left end orientation of interval i 0n = 0; /3j — T(< l> j+i) — < f> j — (|3>j| — |r ( $ i+i) |) /2 + 0j+i', (3-1) ; 3 .1 .2 P a ra llel m o d e l o f c o m p u ta tio n 01 02 03 04 08 07 06 05 09 10 11 12 16 15 14 13 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 (a) (b) Figure 3.3: Row -m ajor (a) and snake-like (b) orderings of a 4 x 4 M CC. We develop our algorithm s to run on the m esh connected com puter (M CC): an n x n m esh connected array of processing elem ents (PEs) in which each P E has a constant num ber of local registers, each register capable of holding a real num ber; and the P E can perform sim ple arithm etic betw een two num bers in local registers in 0 (1 ) tim e. Com m unication is restricted betw een adjacent pro cessors to the im m ediate left,right,top,bottom and a single com m unication step can be executed in 0 (1 ) tim e. Every P E is assum ed to know its row /colum n num ber. Occasionally, other orderings, such as th e row -m ajor or snake-like ordering, on the PEs m aybe required. See Fig. 3.3. N otice th a t these are easily com putable from row /colum n indices. Rows and columns are num bered 0,1,..., n — 1. 3 .1 .3 T h e p a ra llel a lg o rith m We show th a t every m ajor step of the serial algorithm in Section 3.1.1 can be im plem ented in 0 ( n ) tim e on th e n x n M CC. Section 3.1.3 deals w ith com puting the transfer function from p art shape and Section 3.1.3 deals w ith parallelizing the other steps by transform ing the problem into equivalent sub- problem s involving envelope com putation of a set of planar points, building a graph on th e points of this envelope followed by constructing shortest p ath in this graph. 83 C o m p u tin g tra n sfer fu n c tio n on th e m esh T he following lem m a will be proved in this section. Recall th a t th e transfer function T of a polygonal p art P w ith n faces consists of at m ost 2n steps; the end-points of each step are local m axim a orientations in P ’s diam eter function d and th e fixed-point in the step ’s interior is a local m inim um orientation. We first develop a sim ple rule for testing w hether a given orientation is th e end point (local m axim um in diam eter function) or a fixed-point (local m inim um ) of some step in th e transfer function. T he rest of the proof involves elem entary m esh routing operations. P r o p o sitio n 1 Given the coordinates of the n vertices of an n-gon stored one per P E in the first row of an n x n MCC, the transfer function of the part, namely the (at most) 2 n steps (end-points and fixed point) in it, can be com puted and stored, two per PE, in the first row of the M CC in 0(n) time. □ E q u ilib riu m and g e o m e tr ic p ro je ctio n Recall th e projection sets R h ,R i , their intersection Rhi, and th eir cardinalities denoted by \Rh\, |P /| and \Rhi\, re spectively, unilaterally unstable orientations, and Lem m a 1 from Section 1.4.4. T he following is a corollary to Lem m a 1 follows straightforw ardly from its proof. C o ro lla ry to L em m a 1: Let P be a convex polygonal part. Then, 1. 9 is a stable equilibrium orientation of P if and only if 9 is not a u n ilat erally unstable orientation, at least one of |P>J, \Ri\ is oo, and Rhi 7 ^ 0. 2. 9 is an unstable equilibrium orientation of P if and only if all of |P ^ |, |P /|, \Rhi\ are 1. □ T he corollary above gives a simple test to check w hether an equilibrium orientation is a stable (or"unstable) equilibrium orientation, i.e. th e fixed point (end-point) of a step in T, or local m inim um (m axim um ) in d. Also, the corollary shows th a t for an equilibrium orientation to be stable, at least one 84 face of th e polygon m ust be in contact w ith the jaws. Thus, th e num ber of stable equilibrium orientations, in [0,7r) is at m ost n. T he num ber of unstable equilibrium orientations is also at m ost n since stable and unstable equilibrium orientations alternate. M C C a lg o rith m for c o m p u tin g tra n sfer fu n c tio n Let vQ ,..., un_i be th e clockwise ordering of vertices in the convex hull of P. Si is th e face joining Vi,Vi<$i,0 < * < n ( 0 is addition m odulo n). For notational convenience, let us call a vertex or face of P as a feature. By a jaw touching a feature, we understand the following. If th e feature is a vertex, then the jaw is in contact w ith th e vertex (and not flush w ith any of the adjacent faces). However, if th e feature is a face, then the entire face m ust be flush w ith the jaw. By an orientation corresponding to a pair of features X , Y , we understand an orien tatio n of P w ith respect to th e gripper th a t is such th a t the opposite jaws H, L sim ultaneously touch these two features. Given an feature X , we say th a t another feature Y is possibly opposite to X if there exists an orientation corresponding to the pair X , Y . T he parallel algorithm for com puting th e transfer function proceeds as follows.1 Every pair of features is com pared and checked w hether one is pos sibly opposite to th e other, and if so Lem m a 1 can be applied to check for equilibrium . A sim ple check for stable/u n stab le equilibrium is then applied on basis of th e corollary to Lem m a 1. T he details now follow. D enote th e process ing elem ent (PE ) in th e tth row and / t h column of the as Pij, 0 < i, j < n — 1. Initially, let Pij contain description ((a;, y) coordinates) of th e four features Vi, Si,Vj, Sj of a convex polygon P. This d ata can be easily set up in O(n) tim e if the M CC is assum ed to have a I/O bandw idth of 0(n). Each step in the transfer function is described by a triple of orientations [u ,a , v) which denotes a step betw een orientations [it,u) (local m axim a) w ith fixed point a (local m inim um ), u < a < v. 1A serialization of this algorithm takes 0 ( n 2) tim e. However, an 0 ( n ) serial algorithm for com puting the transfer function of parts made up of piecewise circular/linear arcs is given in Section 3.3. 85 T he com putation is described as two phases. Phase 1 com putes th e local m axim a and local m inim a orientations in th e various PEs in a distributed fashion and Phase 2 describes the routing involved so th a t the transfer function is represented in the PEs in row zero of the MCC. P h a s e 1: To elim inate redundant com putation, we m ay assum e th a t PEs Pi,j, i > j are com putationally inactive (however, they take p art in routing) during this phase of the algorithm . Pij, which has in its local m em ory descriptions of v% , v3, Si, Sj, com pares th e four pairs of features (vi, Vj), (vi, Sj), (vj, Si), (Si, Sj), in tu rn . Per form cyclic row /colum n routing so th a t every P E Pjj obtains descriptions of Si+i,Sj+i as well. For each pair it first checks w hether the pairs are possibly opposite and if so, to extract th e orientation 9 corresponding to th e pair of features. T hen using Lem m a 1 and its corollary, test for equilibrium of 9 and if so, determ ine which type of equilibrium . (vi,vj): Draw a line I betw een Vi,Vj. Draw perpendiculars h , h to I at Vi,Vj, respectively, and test w hether the entire polygon P lies between /i, /2- See Fig. 3.4(a). T he la tte r test is simple since P is convex. We ju st need to test w hether the segments Si, Si-i, Sj, Sj-i lie wholly between h ,h - If so the orientation < j> is given by the angle m ade betw een I and th e positive rc-axis and is a unstable equilibrium orientation (If not, then (j) is unstable). (Vi,Sj) ((Vj,Si) is treated analogously): Drop a perpendicular I from vt onto Sj. Let lj be a perpendicular to I at (i.e. Sj, l\ are parallel). If Sj, Si, Si-1 are all on one side of l\ then v,t, Sj are possibly opposite and th e orientation corresponding to them is < f> , th e angle m ade by I and the positive x-axis. If I intersects Sj strictly in the interior of Sj, then < f> is a stable equilibrium orientation. If I intersects Sj at an end-point of Sj (i.e. at Vj or Vj+i), then < f) is unilaterally unstable. In all other cases < j> is unstable. See Fig. 3.4(b). 86 Orientation corresponding to v2 > ,v y is an unstable equilibrium orientation. Orientation corresponding to v;,Sj is a stable equilibrium orientation. Figure 3.4: C om puting transfer function: Phase 1. 87 (Si, Sj): There is an orientation < f> corresponding to this pair if (and only if) they are parallel. In this case, < j> is the angle m ade by a line perpen dicular to them w ith the positive x-axis. P roject Si onto Sj. If they intersect at m ore then one point, then ^ is a stable equilibrium orienta tion. If they intersect at exactly one end-point (vj, V j-i) the orientation is unilaterally unstable. If they do not intersect at all, th e orientation is otherw ise unstable. P h a s e 2: At th e end of Phase 1 some processors discover equilibrium (sta ble or unstable) orientations (there can be at m ost 4n such processors), while others record unstable orientations. Let th e processors th a t dis cover equilibrium orientations 9 create a record w ith 9,0 < 9 < 2k, as th e label. O ther processors create a record w ith label 2k. Now use any stan d ard sorting technique on a mesh, for exam ple see [NS81, TK77], to sort these n 2 records in non-decreasing order of labels in snake-like order, in 0(n) tim e. Among th e 0 ( n ) processors th a t have label less th an 2k, elim inate dupli cates, if any, by sim ple routing. Now row zero and row one of the mesh will have all th e (at m ost 2n) equilibrium orientations w ith stable and unstable equilibrium orientations alternating (because of the sorting). Let us assum e (for the rest of this phase) th at PEs are num bered in snake-like order. A P E Pj (in th e first two rows of th e m esh) containing an unstable equilibrium orientation u com m unicates w ith Pt^ \ , Pi+ 2 to get th e orientations a, v, which are th e next stable, unstable equilibrium orientations, respectively. Now P, creates a record containing a triple [u,a,w) corresponding to a step [u,v) w ith fixed-point a (i.e. r(^>) = a, € [u, u)). T here can be at m ost 2n processors th a t create such records am ong the first two rows of the mesh. Let them route the records so th a t all the records go to row zero (in ascending order of fixed-points), two per PE , in consecutive PEs, starting from Po,o- This is the desired final state of th e mesh. 88 It is straightforw ard to see th a t all th e routing and com putation described in this section can be perform ed in 0 (n) tim e. C o m p u tin g th e grasp plan In this section, we prove th e following. We begin w ith some theory and follow it up w ith details. P r o p o sitio n 2 Given descriptions of the (at most) 2n steps of the transfer function T of polygon P in the first row of an n x n MCC, the shortest sequence of grasp angles to orient it up to symmetry in its transfer function can be computed in 0 ( n ) time. Given th e 2n steps in the first two rows of the m esh, it is easy to com pute $ i , the step of largest m easure, in O(n) tim e on the MCC. To com pute the rest of th e grasp actions, we first represent every possible interval $ (there are at m ost 4n2 intervals arising from 2n steps) as a point in 2D space w ith (a?, y) coordinates as (|4>|, |T ($ )|). We call these 0 ( n 2) points as objects and th e 2D space in which they reside as measure space. An object X = (x, y) is said to dominate the object Q = (p , q) if Q lies in th e second quadrant of X , i.e. if x > p and y < q. The envelope of a set of objects is a subset of objects th a t do not dom inate each other (except for th e triv ial self dom ination) b u t dom inate all other objects. T he im portance of this definition lies in noticing th a t th e interval $ corresponding to a dom inated object can never be among th e intervals o u tp u t by A lgorithm A because it has a sm aller |< & | and larger |T ($ )| th an some other object (the dom inating object). Thus, only objects in th e envelope are relevant from now on. See Fig. 3.5. L em m a 11 The object in measure space ( |$ |, |r($)|) corresponding to each of the 0 ( n 2) intervals $ can be computed in 0{n) time given the (at most) 2n transfer function steps stored in the first row of an n x n MCC. P roof: For sim plicity, let there be exactly 2n steps in T stored two per P E in the first row of th e M CC. Through row and colum n broadcasts, let Pij get de scriptions of th e 4 steps initially (after transfer function com putation) residing 89 7 1 2n I ' M Figure 3.5: M easure space representation of intervals and envelopes. T he little solid circles represent objects. There are 16 of them shown arising from a transfer function having four steps in transfer function betw een [0,7r). O bjects correspond to intervals of w idth at m ost T = 7r. The four objects at the arrow heads are the objects form ing th e envelope. T he first of these is on the x-axis (corresponds to a single step) and the last one has y-coordinate equal to T . T he second quadrant of th e second object forming th e envelope is shown as th e shaded region. 90 in Po,i and P 3,J- Let one of th e steps from ib,; be [u,a,w), and one of them from P0,j be [q, A, s) (the greek character in the m iddle is th e fixed point of th e step). Piy j now com putes th e tuple (|s — u |, |A — c*|) which is th e m easure space coordinates of th e object corresponding to the interval th a t begins at u and ends at s. All routing and com putation clearly takes 0 ( n ) tim e. □ L e m m a 12 [Deh86j Given 0 ( n 2) objects, 0 (1 ) stored per PE, in an n x n MCC, their envelope can be computed in 0{n) time. □ This lem m a was proven by a simple divide and conquer algorithm . Let v be th e num ber of objects form ing the envelope. Sort these v objects from left to right in m easure space row m ajor order. However, the envelope of a set of 0 ( n 2) objects could have up to 0 ( n 2) objects. Therefore, some pruning of the envelope objects m ust be done (because we know th a t A lgorithm A returns only O (n) intervals). Let us call th e set of objects of th e envelope {I?i, H2, ..., B w}, sorted in left-to-right order, w ith v = 0 ( n 2), and stored in row-m ajor order (this can again be accom plished again by m esh sorting algorithm s of [NS81, TK 77]). F urther let x(Bi), y(Bi) be th e x, y coordinates, respectively, of object B i. We need to construct the following directed graph (the reason for this is explained in Lem m a 14): G(V, E ), where V = {1, 2,.. ., j /} and E — {Obi) I x (Bj) — max{a:(jBk) i y(B k) < x(i?»•)} } T he object corresponding to the largest step in transfer function dom inates th e objects corresponding to all other steps and is the lowest and leftm ost object of th e envelope. Thus, this object is Bi. B u is the rightm ost object of the envelope and is th e one w ith m inim um y-coordinate among those intervals th a t have ^-coordinate equal to T , th e period of sym m etry in T. L e m m a 13 Given the objects of the envelope stored 0 (1 ) per PE, the graph G described above can be constructed in 0 ( n ) time on an n x n MCC. Every PE stores the unique outgoing edge from each of the objects in it. □ 91 T he proof of this lem m a involves some lengthy and com plicated routing schemes and is therefore deferred to the th e appendix. See Section A.4. T he im portance of the graph G is shown in th e following lemma. L e m m a 14 (1 ) G is a tree. (2) The intervals output by Algorithm A correspond to the objects along the shortest path in G from vertex 1 to p. (3 ) This shortest path can be constructed can be constructed in 0 ( n ) time on an n x n MCC. (4 ) Transforming the sequence of intervals into grasp actions can be accom plished in O(n) time on an n x n MCC. P roof: G is acyclic because if (i,j) € E, then j > i (j = i only when i = n2 — 1). If (k, I) axe two directed edges, then k > i = > I > j . T h at G is connected follows from (2.) and th e proof of com pleteness of A lgorithm A [Gol92] which shows th a t there is a p ath from vertex 1 to vertex p in G. Therefore G is a directed tree. (2) follows from th e definition of th e edge set. If is th e current interval o u tp u t by A lgorithm A and corresponds to object Bj, then 3h+i, th e next interval o u tp u t by A lgorithm A will correspond to object Bk such th a t (j, k ) 6 E. Also note th a t B ly th e object in th e envelope w ith sm allest .x-coordinate is th e largest step in th e transfer function, and B v is the object w ith x-coordinate equaling th e period of sym m etry in F. (4) follows because solving th e recurrence given in Equation 3.1 is a special case of th e CH AIN -RA N K IN G problem and can be accom plished in 0(n) tim e using a result from [AH86]. We now prove (3). For simplicity, we consider th e following closely related problem . Given a tree G rooted at vertex r w ith n 2 vertices em bedded in an n x n m esh of PEs, each P E storing one vertex v and th e edge (u, /(n )), f(v) denoting th e father of v, f(r) = r. Furtherm ore, let th e PEs corresponding to some two vertices a,b be initially “m arked” and all other PEs unm arked. 92 A t th e end of th e com putation, m ark all PEs th a t correspond to vertices of G th a t lie on th e (unique) p ath between a, b. For purposes of our grasp plan com puting problem , it is sufficient to consider th e case w hen a is a leaf and b — r. However, we describe the general algorithm . For any graph G ', \G'\ denotes the num ber of vertices of G'. Let p(v) denote th e num ber assigned to v in some preorder num bering of G rooted at r, and let m(v) th e num ber of descendants of node v. Thus, p(r) = 1, m (r ) = n 2 — 1, and m (l ) = 0, w here / is a leaf. Let G{v) denote th e subtree of G rooted at v. We assum e v E G(v). Thus, G — G(r) and |G (u)| = m(v) + 1. From elem entary properties of preorder num berings we have the following. For any two vertices u, v in G(r) and for any preorder num bering p, u E G(v) p(v) < p(u) < p(v) + m(v). Let P (u yv) denote the sequence of vertices on the p a th betw een u, v in G(r). T he following now follows because v E P(u,r) u E G(v). v E P (u ,r ) p(v) < p(u) < p(v) + m{y). Let X(a, 6) denote the least common ancestor of vertices a,b (the vertex farthest from r in P(a, r)C\P(b, r).) Thus, P (a , b) = P{a , L(a, b))UP(b, L(a , b)). C la im : v E P (a , b) if and only if v — L (a, b) or exactly one of th e following (not both) is true: • p(v) < a < p(v) + m(v) • p{v) < b < p(v) + m(v) P r o o f o f c la im : If v = L (a, b) th en it lies on p ath between a, b. O therw ise the first condition will be satisfied for exactly those vertices v in P(a,r), and the second condition will be tru e for exactly those vertices v E P(b,r ) and both are tru e for exactly vertices v E P(L(a, b), r). This proves the claim. □ T he M esh algorithm consists of the following steps: 1 . Compute p(v)~fox every vertex v. 2. Compute m(v) for every vertex v. 3. PEs corresponding to vertices a, b broadcast a, b to all other PEs. 4. PE corresponding to vertex v checks the two conditions in the above claim. If exactly one condition is satisfied, that PE “marks” itself. [Notice that every PE corresponding to vertices in P(a, b) is now marked except for L(a, b).] 5. Marking of PE corresponding to L(a, b): Every marked PE corresponding to vertex v sends a message to PE corresponding to f(v) informing it to mark itself. The PE corresponding to L(a, b) is the only unmarked PE to get such a message (in fact, unless one of a, 6 is the root, this PE will get two such messages) and it marks itself. The first two steps can be performed in 0(n) time by the results of [AH8 6 ]. The other three steps clearly take 0 (n ) time. □ These lemmas (Lemma 13, 14) complete the proof of Proposition 2 given at the beginning of this section. Propositions 1 and 2 gives us: T h e o rem 1 0 Given the coordinates n vertices of a polygon in the first row of a n n x n MCC, the shortest sequence of grasp angles to orient it up to symmetry in its transfer function can be computed in 0 (n ) time. □ 3.2 Orienting planar parts given their transfer functions The diameter functions of polygonal parts are piecewise sinusoidal (Theorem 3 in Section 2.1) and therefore cannot have any regions of constant diameter. Non-polygonal parts can have regions of constant diameter giving rise to ramps 94 in transfer function. Consider a circular part. It would have a single ram p for its transfer function. In this section, we extend A lgorithm A presented in Section 3.1.1 to A lgorithm A! which, given a step-ram p function F, the transfer function of a planar p art P , produces an optim al-length grasp plan to orient th e p art up to sym m etry in its transfer function. We assum e th a t the transfer function is given. T he problem of com puting transfer functions for non-polygonal p arts is non-trivial and will be discussed in Section 3.3. W hen extending A lgorithm A to deal w ith step-ram p functions, th e first change th a t needs to be m ade is in th e definition of the term interval. In A lgorithm A ', an interval is a left-closed right-open subset [& , c) of S' 1 such th a t at least one of 6 , c is the end-point of some step . 2 Recall th a t A lgorithm A required both of b, c to be end-points of steps. Except for this in terpretation of the term interval, th e m ajor steps of Al gorithm A' are the same as th a t of A lgorithm A given in Section 3.1.1. It is th e analysis of A lgorithm A r th a t is involved and quite different from th a t of A lgorithm A. T he analysis is presented as proofs of the following four theorem s showing th e correctness, com pleteness and com plexity of A lgorithm a'. 3 .2 .1 C o m p le x ity In this section we prove th e following. T h e o r e m 11 (Complexity) Given the step-ramp transfer function T of a part P made up o fn steps and ramps, Algorithm A! produces a sequence of N intervals in 0(m in(jV n, N + n 2 lo g n )) time. P ro o f: We first give an im plem entation th a t would run in 0 ( n N ) tim e followed by another (based on th e m easure space idea developed for th e parallel algorithm 2We assume T has at least one step. Otherwise P has a constant diameter function, T — 0, and the P is always oriented up to sym m etry in its transfer function. Such constant diam eter curves have been studied in classical geom etry [Str61] and convex analysis [YB51]. Discovered by Euler (cf [Str61]) who called them gleichdicke, they are also called orbiforms or spheroids in the literature [CV91]. 95 in Section 3.1.3) th a t runs in 0 { N + n 2 logn) tim e. To achieve th e bound m entioned in th e statem ent of th e theorem , A lgorithm A' could be m ade to run about 2n log n iterations using the first im plem entation. If it does not term in ate by this tim e, th en switch over to the second im plem entation. Recall th a t for polygonal parts, N < 2n, so when input transfer functions of polygonal parts, th e first im plem entation would term inate and the second one not needed. T h e b o x -p la c e m e n t im p le m e n ta tio n This im plem entation is sim ilar to th e one for transfer functions of polygonal parts (or step functions, in gen eral) given in [Gol92], of course modified to take into account the change in in terp retatio n of th e term “interval.” Since T is assum ed to contain at least one step, finding the largest step (the first interval < I> i) is well-defined. Assume th a t $ 1 , . . . , have been com puted. To im plem ent th e next iteration of th e while loop, we place a axis-parallel square box of dim ension |$*| w ith its bottom -left corner at the left end-point of a step or a ram p in F. We call such placem ents bottom-left placements of th e box. Consider a bottom -left placem ent of the box at ( fi, r(<^i)). Now consider a line I along the top of this box. If it does not intersect a ram p, th en we ju st move this line lower until it hits a step or the right end-point of a ram p. Let th e right end-point of the step or ram p intersected be (^> 2 , T (^ 2 ))- If, on th e other hand the line I (initially) did intersect a ram p, let it do so at point (<^ 2 ? < ^ 2 )- T he interval returned by this placem ent of the box is [<^i,<^2)- Top-right placements of th e box are treated in an analogous fashion: by placing th e top-right corner of th e square box at th e right end-point of a step or ram p, I would th en go along th e b o tto m of the box. We repeat this for all possible top-right and bottom -left placem ents of the box and set to be th e widest of th e intervals returned over all such placem ents of th e box. See Fig. 3.6(b) for i = 1 . T he shaded box shown is of w idth |3>i. < j> \ = 0 and th e interval retu rn ed by this placem ent is [0, < p 2)- This interval is the widest of all box placem ents and therefore $ 2 = [0, < ^ 2 )- For another exam ple, see Fig. 3.11. 96 Finally note th a t since there are at m ost 2n placem ents of th e box and each placem ent requires 0 ( 1 ) tim e to process3, each iteration of the while loop takes 0 ( n ) tim e. Therefore, N iterations would take 0 ( n N ) tim e. T h e m e a s u re -s p a c e im p le m e n ta tio n Let a variable interval be one th a t has only one end-point at th e end-point of a step, and the other end-point can be anyw here in a ram p. In contrast, a fixed interval is one th a t has both its end-points at end-points of steps. For every fixed or variable interval 5 > , consider the point(s) ( |$ |, |r($)|) in the x ,y plane. As before this plane m ay be term ed “m easure space.” Let I be the line x = y in m easure space. Notice th a t every point(s) corresponding to an interval lies in th e first quadrant below this line I. Points (|A j,0 ) on th e ;r-axis in m easure space arise from intervals X th a t are steps. Since we have only 0 (n ) ram ps, it is easy to see th a t we have only 0 ( n 2) intervals, though some intervals (nam ely th e variable intervals) could be of variable length. Fixed intervals give single points in m easure space, while variable intervals are represented by segments of unit slope. Thus, from n 2 intervals we have n2 points or slope- 1 -segm ents in m easure space. Let us call these n 2 points or slope 1 segments in m easure space as objects. O bjects are denoted as a 3-tuple of non-negative num bers: (a, 6 , c). For fixed intervals, c — 0 and (a, b) is (|3>|, |r($)|). For variable intervals, (a ,b ,c ) repre sents th e segment of unit slope betw een points (a, b) and (a + c, b + c). See Fig. 3.7(b). T he slope-1-segment between (v,v — h ) and (w ,w — h ) is represented as (v, v — h, w — u). T he second quadrant or 2Q of an object (a, 6 , c) is th e set of points (in m easure space) {(x, y)\x < a + c, y > b, y — x + a — b > 0}. An object (a, 6 , c) is said to dominate every point in its 2Q. N ote th a t an object dom inates itself. A portion of an object (a, 6 , c) is a continuous subset of the object. It m ay be represented as (a1 , br, c'), where 0 < a' — a = b' — b < c and 0 < c' < 3under amortized analysis, i.e. n placem ents require 0 (n ) tim e. We process all top-right box-placem ents in left-to-right order. Therefore < /> 2 for the next box placement will be to the right of the current < f> 2 . Thus, all n top-right box-placements can be processed in 0 ( n ) tim e. Same for bottom -left placements. 97 (a) -© -© (b) 0 © !* . ®2 - n - n -© -O -£ > Note: The parts are shown in orientations corresponding to respective ramp centers. Thus, the part in (a) is in orientation 160 degrees (half angle = 20 degrees). The part in (b) is shown in 90 degrees orientation. Figure 3.6: Sequence of intervals outp u t by A lgorithm A' for a thin (in (a)) and thick (in (b)) pie-shaped p art. For th e th in slice (half angle = 20 degrees < 7T / 6 ), b o th steps are “grabbed” before the ram p while for the thick slice th e steps are too far ap art to be grabbed one im m ediately after th e other. Instead, in this case, th e ram p has to be grabbed between th e steps. T he diam eter function of the th in slice is shown (in dotted lines) along w ith its transfer function. 98 c — a' + a. T he envelope of th e n 2 objects is th e sequence of portions of objects th a t are m utually non-dom inating (except for the trivial self-dom ination) and collectively dom inate all objects, together w ith th e vertical/horizontal segm ents connecting them . See Fig. 3.7 for an example. A variable interval, represented by slope-1-segments, is really an infinite collection of fixed-length intervals < f > , each one corresponding to th e point (|<&|, |r ( $ ) |) on th e slope-l-segm ent. Intervals ou tp u t by A lgorithm A! are of fixed length, i.e. they are either fixed intervals or are one am ong the infinite set of intervals represented by a variable interval, and therefore correspond to single points in m easure space. The im portance of th e envelope lies in th e claim th a t th e intervals o u tp u t by A lgorithm A' all correspond to single points on the envelope. We prove this by induction on the num ber of intervals output. The largest step in T is th e first interval $ 1 o u tp u t by A lgorithm A'. This interval corresponds to th e object on th e x-axis farthest from th e origin and is therefore on th e envelope. Now assum e th a t intervals to be o u tp u t by Algo rith m A ' have been com puted and all correspond to points on th e envelope, w ith < & ; corresponding to th e point (|$,-|, |r(3>;)|). Now, is th a t interval th a t is m axim al in m easure among those intervals $ w ith |r(3>)| < |$t j. Notice th a t if an object A dom inates an object B , then th e interval corresponding to A is at least as wide as, and has a T value at m ost th a t of, the interval cor responding to B; and is thus a b etter choice for The best choices are therefore given by points on the envelope. Thus, $i+ i is obtained as follows. From point (|3>*|, |r($ ,-)|) we shoot a ray vertically upw ard till it hits I. Let th e ray reflect off I and tu rn horizontally rightw ard until it hits the envelope. Let the point of intersection be (a,/3). W log (a,/3) is on a slope-l-segm ent or a vertical segm ent of the envelope. If it is on a slope-l-segm ent, then $ t+i is a fixed-length variable interval corresponding to object (a , (3). If ( a ,j3) is on a vertical segm ent of the envelope, then travel downward till an object (a, ft — c) is reached; is a fixed interval and corresponds to (a, f3 — c). To com plete th e im plem entation, if |3> *-+ i | = T , we stop. Otherw ise, we shoot a ray upwards from (|$i+i|, |r($i+i)|) and continue as before. 99 7 1 W h " - e '(w, w — h) (v, v - h ) (v, u'-h) Figure 3.7: M easure space im plem entation for step-ram p functions, (a) shows a typical step-ram p function w ith three steps, [ 0 , u), [it, v), and [«;, x ), and one ram p [u, tc). z is an arb itrary ram p point, (b) shows the p artial m easure space objects for the intervals corresponding to the transfer function in (a). Only th e four intervals, three fixed and one variable, beginning at th e first step are represented. T he objects corresponding to the fixed intervals are shown as little solid circles while the slope-l-segm ent corresponding to the variable interval is th e solid line segment. T he envelope of these four objects is th e sequence of arrow ed line segments. 100 Assum e th a t th e envelope is available in a sequence of portions of objects and horizontal/vertical segments connecting them in left to right order. Then, it has com plexity 0 ( n 2) and it it is traversed at m ost once from left to right, in N iterations of th e loop. Thus, N iterations of th e while loop can be perform ed in 0 ( N -f- n 2) tim e. However, we will show th a t obtaining th e envelope in this order requires 0 ( n 2 log n) tim e, resulting in an 0 ( N + n 2 log n ) tim e algorithm . We now show how to construct the envelope of a set of n 2 objects, in left to right order in 0 ( n 2 log n ) tim e. Let I' be a (infinite) line of slope 1 sufficiently to th e right of all th e n 2 objects. Sort th e n 2 objects into a list L in ascending order of their distance from V. Let E (L ) be th e desired envelope of th e n 2 objects in left to right order. T he following simple recursive divide and conquer approach builds E (L ) in 0 ( n 2 log n ) tim e in a m anner not unlike M ergesort of n2 elem ents. Let the first half of this list be F and the second half be S. Recursively obtain E (F ) and E (S ), each in left to right order of segments. Each E (F ), E (S ) is of com plexity 0 ( n 2) and m erging these two into E (L ) in 0 ( n 2) tim e is not difficult as shown below. F irst note th a t no object in S can dom inate any object in F since objects in S are m ore distant from V th an objects in F. Let E ( F ) = { /x, / 2, . . . , }, each fi being a horizontal, vertical, or slope-1 segment. Further, the left end-point of f i + 1 and right end-point of /„• are th e same, but th e rest of /j+x is wholly to th e right of the rest of Likewise, let E ( S ) = {sx, -s2, -. -,} . M aintain pointers t, d b o th initialized to 1. Each step is a com parison of segments f t, s^. an o u tp u t of p art of these segments onto E (L ), and an advancem ent of at least one of the pointers t, d. Let us extend th e definition of 2Q to horizontal/vertical segments as well. Com paring segm ents involves form ing their 2Qs: 2 Q (/t), 2Q(sj.), the union of these 2Qs, 2Q (ft,Sd), and determ ining X = ‘ 2 Q (ftJs c i) fl (ft U s^). X is th e required portion of segments ft,s<i to be outp u t onto E (L ). See Fig. 3.8. A dvancem ent of pointers is done as follows. If X C / t, advance d. If X C / d, advance t. O therw ise advance both f,d . It is clear th a t since each 2Q of a single segment is of com plexity 0 (1 ), their union can be found in 101 0 (1 ) tim e. F urther, X , and th e condition for advancem ent of pointers can be checked in 0 ( 1 ) tim e. Since at least one of th e pointers is advanced after every com parison of segm ents, th e m erging algorithm of two 0 ( n 2) lists takes 0 ( n 2) tim e. Thus, if T (n 2) is th e com plexity of this recursive algorithm , it can be seen th a t T {n 2) = 2 T (n 2/2) + 0 ( n 2), which m eans T (n 2) = 0 ( n 2 \ogn). □ E(L> E(S) E(S) E(F) E(L) E(F) (a) : Determining E(L) from E(F) and E(S). S d # * • (b ): Some cases considering obtaining X from ft, sd. Figure 3.8: Merging E ( F ),E ( S ) into E(L). 102 See Fig. 3.9 for an exam ple plan. T he fact th a t th e com plexity of A lgorithm A' (Theorem 1 1 is specified in term s of the length of its o u tp u t, N , is no accident. In dealing w ith non-polygonal parts, N need not be upper-bounded by n because: Figure 3.9: Top view of a three-stage plan for grasping a pie-shaped p art w ith half angle 20°. Four traces of the plan (running from top to bottom ) are shown. N ote th a t th e p a rt’s initial orientation is different in each trace (top of each colum n). T he gripper orientation at each stage, indicated by two parallel-lines, is th e sam e for each trace; yet th e same desired grasp configuration is achieved in all cases. T h e o r e m 1 2 (N unbounded in terms o fn ) Given any function g(n). There exists a planar part P with transfer func tion r having 2 steps and ramps such that the number of grasp actions produced by Algorithm A!, N , is such that N > g(2). P ro o f: Let, if possible, there exist a function g , so th a t N = 0(g(n)). Consider the case n — 2 , th e p art w ith two arcs and two segments, and its transfer function shown in Fig. 3.11. T he intervals returned by A lgorithm A ' for this p art will 103 be such th a t |$ ,| — = z and, therefore th e num ber of iterations for this p a rt, is which can be arbitrarily large, i.e. z m ay be chosen so th a t this q u an tity is greater th an g(2). For general n and g, we could construct a p art Pn w ith n — 1 steps all betw een orientations ( | — z ,~ + z) and one ram p for th e rest of the transfer function. The num ber of iterations for this p art N n is again O (j)- We could choose .z so small th a t N n > g{n). T he above paragraph indicates th a t while there could be no bound on N as a function of n, there could be a m etric bound on N (in term s of 1/z). A sim ple bound, based on th e transfer function, is derived next. Note th a t a ram p [u, v ) is always surrounded on b o th sides by steps [x, u) and [v, y). Let these two steps have fixed points, a , /3, respectively. Consider th e step [x, u) w ith fixed-point a (sim ilar analysis for th e other step). We have x < a < u. If a square box of dim ension u — x is placed w ith its bottom -left corner at point (x, T(x)) = (x, o ), th en th e line I along th e top of the box either is over the ram p (in which case th e entire ram p in included in one additional iteration) or it intersects th e ram p at (a + u — x, o l + u — x). See Fig. 3.10(a). Therefore the gain in interval length by this box placem ent \s z = a —x. If this am ount is strictly positive, then th e entire ram p can be ou tp u t in iterations. However, it could happen th a t a — x and j3 — y, see Fig. 3.10(b). In this special case, it m ust be th a t x ,y are sem istable orientations. Let [x i,x ) ([y, ?/i)) be th e ram p ju st before (after) step [x, u ) ([u, y)). It m ay be verified th a t A lgorithm A' can include the ram p [x i,x ) ([y,yi)) in ^ 3 ^- (^ fjf) iterations of step 3, and then th e ram p [u,u) can be included in further iterations, where 2 = m ax(x — x i,y i — y) > 0. Let us do this analysis for all ram ps [u, v) and come up w ith a z > 0 for each ram p as shown. Let z* > 0 be th e m inim um of all these 2 . Thus, N — 0 ( n 2 + A.). □ 3 .2 .2 C o m p le te n e ss an d c o r r e c tn e ss N otice th a t T heorem 11 does not claim th a t th e outp u t sequence of intervals results in grasp actions which will orient the part. This is shown in th e following theorem . 104 n — " e x =a e Showing a metric bound on the length of the plan. In the top figure, the ramp [u,v) is surrounded by a step that has a fixed point in its interior. In file bottom figure, both steps sunouinding | u,v) have fixed-poinls at their ends. However, in this case, ths steps must be surrounded by ramps on both sides. Figure 3.10: M etric upper bound on num ber of iterations of A lgorithm A'. 105 T h e o r e m 13 (Completeness) Given the step-ramp transfer function T of a part P made up of n steps and ramps, Algorithm A' always terminates and its output of N intervals converted to a grasp plan consisting of a sequence of N grasp actions by Equation 3.1 will orient the part P up to symmetry in T. T he m ain idea behind our proof of com pleteness lies in establishing a link betw een th e A lgorithm s A and A ’ by showing th a t for every non-polygonal p a rt, there exists a polygonal p art w ith th e same grasp plan. T hen we make use of th e fact th a t A lgorithm A is com plete w ith respect to polygonal parts to show th a t A lgorithm A! is com plete for all planar parts. We need some lem m as before we can prove th e above theorem . F irst we state and prove a lem m a relating the plans generated on step- ram p functions to plans on step functions. Let interval be obtained by a bottom -left placem ent of th e box at (^ > i,r(^ i)). See Fig. 3.11. We refer to the ram p or step to which th e point (< ^ 2 , r ( 0 2)) belongs as the reached ramp or step by this placem ent of the box. Let th e left end-point of th e reached ram p or step be (<^>o,r(^>o))- Then we say th a t the subset [< ^ 0 , < ^ 2 ) of th e reached step or ram p is the reached subset. If th e reached subset is th a t of a ram p, then notice th a t had the ramp been a step between orientations [< p o , 4 > 2 ), w ith fixed point anywhere in the interior of the step, then there exists an execution of this iteration of the while loop that results in the same interval <IL+i since th e reached subset would be the same: [$ 0 , ^ 2 )- If 3>j+i is obtained by a top-right placem ent of th e box, we define th e reached ram p or step and th e reached subset analogously. Let us formalize this paragraph into a lem m a. L e m m a 15 Let the execution of Algorithm A' on a step-ramp transfer function r of a planar part P result in intervals being output. Then there exists an execution of Algorithm A! on a step function T*, that also outputs P ro o f: We change T to L' as follows. All steps in L rem ain steps in T'. Any ram p (or portion thereof) th a t exists in some $ j , l < j < i {i.e. this portion has 106 been a reached subset som etim e during th e execution of A' on T), is changed into a set of steps as described in the paragraph above. Finally if a ram p (or portion thereof) does not exist in any 3>j, it m ay be “rotated into a step” about any point in its interior {i.e. , sim ply replace the portion of the ram p by a step w ith fixed point somewhere in th e step ’s interior). T * contains steps alone and th ere exists an execution of A lgorithm A' th a t outputs th e same intervals on r ' as it did on F. □ L e m m a 16 Given any step function f that has period it, there exists a polyg onal part Q that has f as its transfer function. P ro o f: We give a construction of polygon Q. Process steps in / from left to right. Consider a single step of / betw een orientations [w, u). Let th e fixed point in this range be a . u < a < v and W € [u,v), f(0 ) = a. For every such step we construct a parallelogram th a t has / as its transfer function between orienta tions [u, n). See Fig. 3.12. In constructing the parallelogram for this step [u, v), we need a length of one of the diagonals of th e parallelogram corresponding to th e previous step [x, w). This diagonal (of length d) is a diagonal of th e current parallelogram as well. Let L M be this diagonal of length d obtained from th e parallelogram of th e previous step. Let O be the m id-point of this diagonal and it will tu rn out th a t O is th e centroid of all the parallelogram s we construct and also of the final polygon. For th e first step [0, a), we can choose L M as any vertical segment and O its m id-point. Define point L' so th a t L L O U = v — u and IL 'L O = ~ — a-\-u. Sim ilarly define M 1 diam etrically opposite to L ', and L 'L M M ' is our required parallelogram . It can be easily verified th a t this parallelogram is stable when grasped at orientation a and, m ore generally, th a t its transfer function agrees w ith / between orientations [u,v). L 'M ' is the diagonal to be passed on to th e parallelogram of the next step. Finally, m erely tran slate the k parallelogram s (for the k steps in / ) so th a t th eir boundary forms a polygon as shown in Fig. 3.12. This is possible since 107 Arc Segment (a): A typical curved (n=4) part, consisting of two arcs and two segments. r(0) 7 1 Ramp Step 6 (b): The transfer function for the above part consisting of a single step and ramp. The orientations in the ramp correspond to those with constant diameter. j. 7 1 A bottom-left placement of a box of dimension 2z is shown with < p1 = - x — Z ■ x 7 1 1 l is shown above, (h = — + z x t q 2 Figure 3.11: Com pleteness of A lgorithm A 1 . 108 LLOL' = J2(v — u) = tt. M oreover, the polygon is convex since each LL'LO is less th an 1 ~. □ Lem m as 15 and 16 give us Lem m a 17 below. By A'(T) let us understand th e sequence of intervals <& i, $ 2, • • •, output by A lgorithm A' up on input of transfer function I \ Sim ilarly A(T) is defined. L em m a 17 Let Q' be any planar part with transfer function P . Then there exists a polygonal part Q with transfer function T such that A ^T ') = A(T) = A'(r). P roof: W e m odify T' into L, a transfer function m ade up of steps alone, as shown in th e proof of Lem m a 15. T hen apply Lem m a 16 above to T to get Q, a polygonal p a rt, th a t has transfer function L. □ Now we are ready to prove Theorem 13. P r o o f o f T h eo re m 13: Let P be th e input p art w ith transfer function T. Let us assum e th e box- placem ent im plem entation of A lgorithm A '. W h at has to be proven is th a t th e last step outp u t by A lgorithm A' is of w idth T. Towards a contradiction let, if possible, th e algorithm come to a stop when = [a, b) is th e last interval returned, |$ 4 -| < T and no other interval 3 > of w idth greater th an th a t of exists such th a t |r(3>)| < j$ 8|. E xtend = [a, 6 ), say along the right, into an interval X = [a,c) of w idth T. Let Y — [6 , c). T he basic idea of th e proof th a t follows is to create a step function T 2 such th a t A'(r2) = A'(r). We first modify T w ithin region $,• into a transfer function Ti th a t has only steps in region (but could have ram ps in region outside i.e. in Y ). T 2 is a m odification of Li converting ram ps (if any) in Y into steps. All the m odifications perform ed always preserve th e o u tp u t of A!. Consider r ( $ 4). Let us m odify T w ithin as follows. By Lem m a 15 we see th a t L could be modified, w ithin (and not changed outside $ 4 ), into 109 71 a f= r(8) u c c 7 1 0 (a): Typical transfer function for a polygonal part consisting of 4 left-closed, right-open steps. M’ (b): Construction of the polygon that h a s/a s its transfer function. LM ’ML’ is the parallelogram that is compatible w ith /in [ u , v ) . Figure 3.12: C onstruction of a polygon com patible w ith a step function. 110 a transfer function Ti such th a t Fx($i) contains only steps and th a t satisfies A '(r) = T h at is, there exists an execution of A! on Ifi th a t would o u tp u t the same sequence of intervals as it did on T and would stop after interval was o u tp u t. N ote th a t F x(F ) = T (y ) (since changes to T have been m ade only w ithin < !> ;) and Tx contains no ram ps w ithin See Fig. 3.13. Let th e largest single step $ 1 (the first interval o u tp u t in A '(rx ) = A '(T)) have w idth x. Consider a ram p R (if any) in F x (F ) between orientations [a, a + r ). Let us split R into 1 + equisized subram ps each of w idth y such th a t 0 < y < x. Now ro tate each subram p about any point in its interior, w ithout loss of generality th e m id-point, into a step. Let us do this for every ram p in F x(F ). Let y0 be th e m inim um of all these t/, 0 < yo < x. Let this m odification from Tx lead to a new transfer function IV Now since every step in r2(F) is of w idth strictly less th an th a t of the widest step (unless, of course there is a step of w idth x in T 2 (F ) th a t is also in F x(F )) it is clear th a t there is an execution of A '( r 2 ) th a t begins w ith a step of w idth x th a t is outside F (i.e. $x in b o th ^ '( ^ 2 ) and A'(Fx) is the same). Once the first intervals outp u t are the same in b o th A '(T 2) and A'(Tx), and since T 2 and Tx are identical w ithin 4 it is clear th a t (an execution of) A' on T 2 would o u tp u t the same sequence intervals as it did on Tx culm inating in interval V . Thus we have, A'(r2) = A'(rx). See Fig. 3.13. From th e two paragraphs above, we see th a t there exist executions of A' on r ,r 2 such th a t V (r2) = A'(r). Further notice th a t th e m odifications m ade in obtaining Tx and T 2 do not affect the period of sym m etry T. Thus A'(r2) would o u tp u t th e same intervals as did A'(T) and stop w ith the o u tp u t of of w idth less th an T. However, notice th a t T 2 is a transfer function m ade of steps alone and each step has a fixed-point in its interior. By Lem m a 16, there is a polygonal p art Q th a t has transfer function F 2. The com pleteness of A lgorithm A [Gol92] im plies th a t A (T2) would not stop at but would continue till an interval of w idth equal to T was reached. To com plete the contradiction, notice th a t A(r2) = A '( r 2) since T 2 is piecewise constant. 4the only changes to I?2 from Ifi being in Y disjoint from < 5, 1 1 1 k i T r2(n r 1 ' " p ; rt (® ;) | — 1 r1(y)=rcy) ^ 1 r2 (© j) = r2 cep i ..............® ,..............* * '“ * r~...” ' * ■ Transforming T,a transfer function made up of steins and ramps into T2, a transfer function made up of steps alone such that A' (T2) = A' (F) . The transformation is carried out via an intermediate transfer function r t Figure 3.13: M odifying T into via IV 112 T he above proof shows th a t A '( r 2) would not stop at b u t would in fact continue and find an interval 3>;+i of w idth at least |$ ;| + ^ w ith |F(4>;+i)| < l* i|. □ T h e o r e m 14 (Plan optimality) Given the step-ramp transfer function T of a part P made up of n steps and ramps, the output of N intervals produced by Algorithm A ' converted to a sequence of N grasp actions by Equation 3.1 is the shortest possible sequence of grasp actions to orient P up to symmetry. P ro o f: T he proof by induction th a t A lgorithm A outputs the shortest grasp plan to orient a p art given by a step function presented in [Gol92] holds, w ith very m inor m odifications, for proving th a t A lgorithm A ' outputs the shortest grasp plan to orient a p art given by a step-ram p function. We choose not to copy th e entire proof from [Gol92] ju st to show th e very m inor modifications. □ 3.3 C o m p u tin g tra n sfer fu n ctio n s o f a cla ss o f p lan ar p arts A lgorithm A! discussed in Section 3.2 assumes th a t the transfer function of a planar p art given as a sequence of steps and ram ps. In this section we discuss th e com putation of a planar p a rt’s transfer function from p art shape. F irst we consider generalized polygonal (G P) parts: parts m ade up of only linear or circular arcs in convex hull. For this class of parts we give a com plete algorithm for com puting transfer function. T he problem of com puting transfer functions of general planar p arts is harder and is briefly discussed in C hapter 4. G P - p a r ts Recall th a t orientations of local m axim a and local m inim a in di am eter function, and end-points of regions of constant diam eter are sufficient to build th e transfer function of any planar p art. T he following theorem gives 113 a sim ple test to check for these conditions on a G P -part. F irst some definitions and notation. A segment is a linear segment forming th e convex boundary of G P -part P , while an arc is a circular arc on th e convex boundary. Define a vertex of P as any point on th e convex boundary of P w ith a discontinuity in slope or radius of curvature. T h a t is, all and only points on P th a t are intersection points of two segm ents (a segment vertex), two arcs (an arc-arc vertex), or one arc and one segm ent (arc-segm ent vertex) are vertices. A rc-arc vertices and arc-segm ent vertices are collectively called arc vertices. Recall the definition of projection sets R'h, Rh-Ri, Rk i and unilaterally un stable orientations from Section 1.4.4. See Fig.s 1.4, 1.5. If |P /| = 1 at some orientation 9, define /yright to be the radius of curvature of a point infinitesim ally to th e right of P /. could be infinity (if it is a segment incident on vertex R{1) from its left). Similarly, if \Rh\ = 1, fh ,right is th e radius of curvature of a point infinitesim ally to the right of Rfh. f'h,left and r/jgft are sim ilarly defined. Let Ch,left, right be th e circles of radii r /i,ieftj rh,right) respectively, whose arcs form part of th e boundary of P in th e neighborhood of Rh at some orientation 9. Let their centers be, c/,,tieft , c^ght., respectively. Ci^it, CiiT jght, Q,ieft; Q,right can be defined analogously. Notice th a t, given P and all its vertices/arcs/segm ents in orientation 0, all the quantities in this paragraph are easy to com pute. If |P /| = oo, we can take n jrjg} lt and ryigft as oo. Similarly, if |P /J = oo, we can consider rh,right and as oo We consider th e following cases. In each of them assum e orientation 9 so th a t Rhi 7 ^ 0, and 9 is not a unilaterally unstable orientations since if either of these is not true, 9 would be trivially unstable (by Lem m a 1). S itu a tio n A : Consider a G P -part shown in orientation 9 in See Fig. 3.14. It is described by | P /,,1 = I P i I = 1 and n,right are finite and non-zero and the circles Ch,left, C^right are tangent to P , L, respectively. T he last condition im plies th a t R'h, Ch,ieft, Q,right, Ri are collinear. Let S\ (resp.Sj) be th e arc of P im m ediately to the left (re^p.right) of R'k (resp.Ri). 114 I, right, I, right h h Figure 3.14: S ituation A. R'h,R i are currently in contact w ith th e jaw s H, L. U pon a sm all clockwise, th e points of contact w ith th e jaws would change to U,S on arcs Si,Sj, respectively. Si, Sj are portions of circles centered at Q,right) C fc ,,ie ft of radii vfright? left5 respectively. All of Ri^ Q,right) Rh are collinear. Lines l2 joining QU and l\ joining R'hRi intersect in point R. 115 L e m m a 18 1. Situation A is stable with respect to clockwise rotations if and only if r ht\eft + r{ylght > d{9). 2. Situation A is unstable with respect to clockwise rotations if and only if ^/ijleft T f'l,right ^ 0?($). 3. Small clockwise rotations to situation A will cause no change in the diameter function if and only if r\,ieh + n,right = d{0). P roof: Consider Fig. 3.14 depicting the system in situation A. Consider a sm all clockwise rotation 8 to P so th a t th e new R ‘ h, R[ are U,Q, respectively. Let R be the point of intersection of th e lines li (joining R'h,R i) and I2 (joining P, Q). N ote th a t D (R h ,R i) = d{9) and D(U, Q) = d(0 + 5), D denoting th e Euclidian m etric. From Fact 1 (Section 1.4.1), it is clear th a t situation A is, respectively, stable, unstable, neutral, w ith respect to small clockwise rotations 5 if and only if d{9 + 6) > d(9), d(9 + 8) < d{9), d{9 + 8) - d(9). For th e sake of brevity and neatness, let 0 denote one of th e binary relations { < ,> ,= } . W hat follows should be tru e irrespective of which of th e three (but fixed) relations © denotes. Following this notation, w hat we have to prove is th a t d{9 + 8) © d(0) if and only if (rhMt + r (iright) © d(9). By noting th a t d(9 + 8) — D(U, R) + D (Q , R), and D (R h,R i) = D (Rh, R) + jD (P /,P ), and the obvious sym m etry, we see th a t it is necessary and sufficient to prove th a t D (Q , R )© D (R i, R) if and only if riylghtQ D (Ri, R). To simplify let us w rite r = n iright = D (R h citright), x = D (Q ,R ), and y — D (R i,R ). Translating the last sentence in th e above paragraph in term s of x, y, r, we need to show th a t x © y r © y. 5In other words r(0 + 6) = 6, T{6 + 6) 6 and ^ 6 + 6, T(0 + 6) = 6 + 6, respectively. 116 Let f3 be th e LRiRQ and < f > the LRiC i^^tQ . A pplication of the Sine rule gives us x cos(<^/2 ) y cos(fi - < f> /2) ‘ B oth 13, < p are non-zero angles. F urther m athem atics shows us th a t cos(<^/2 ) cos (/? — 4> l 2 ) To end the proof ju st note th e obvious, /? © < f > r 0 y. □ S itu a tio n B Now, consider the situation shown in Fig. 3.15. It is described by |/?^,| = \Ri\ = 1 and is a generalization of situation A in th a t r ^ f t ,r ^ g h t could be infinity. Let S, (resp.Sj) be the arc of P im m ediately to the left (resp.right) of R'h (resp.Ri). If Si is a segment or an arc not tangent to H at R'h, then it is clear th a t under small clockwise rotations, Rh will rem ain fixed. Sim ilar argum ent for Sj and R\. Thus, if both Si, Sj are segm ents or arcs not tangent, we have th e case of decreasing diam eter w ith sm all clockwise orientations (Fig. 3.15(a)). Consider the case of Si being a segment or an arc not tangent to H at R'h, and Sj being an arc tangent to L at Ri (Fig. 3.15(b)). We m ay apply th e proof of Lem m a 18 directly w ith R = R'h and = 0 to get th a t th e system is, respectively, stable, unstable, n eutral w ith respect to small clockwise orientations if and only if rijT jght > , < , = d{9). An analogous case results if th e properties of Si, Sj are reversed. S itu a tio n C Finally we consider orientations th a t are not unilaterally u n sta ble b u t w ith one or both of \Rh\, being infinity. If both \Ri\ are infinity and it is not an unilaterally unstable situation, then > 1 which by th e proof of Lem m a 1 (case 2) leads to th e fact th a t th e system is stable. Consider th a t only \Rh\ = oo (and \Rm\ = 1). Let p',q' be the vertices form ing th e segment Rh,p' < q'■ Since we do not have an unilaterally 117 (a) (b) hjeft hjeft h,left h,left Description of symbols exactly as that in Situation A. However, the points chjeft and C j> r jg [lt ate not collinear with Rh’ In (a) Sj is a segment while in (b) it is an arc. Figure 3.15: S ituation B. A generalization of Situation A, r^ g h t could be infinity. 118 unstable orientation, x = Rhi — Ri is such th a t p' < x' < q'. For small clockwise rotations, we can now apply situations A,B to th e lim iting case r^ieft — + oo to get th a t the system is always stable under clockwise rotations since r^idt + rj,right = oo > d{6). See Fig. 3.16. p’ , q ' are the vertices forming a segment that is Rh x , part of an arc, is R[ p’ < x’ < q’ . Figure 3.16: S ituation C : orientations th a t are not unilaterally unstable but w ith one or both of \Rh\, \Ri\ being infinity. Very sim ilar analysis can be done for small counter-clockwise rotations. By considering the various situations A ,B,C above, we have proved the following: L e m m a 19 Given GP-part P with diameter function d in an orientation 6 which is not an unilaterally unstable orientation, 1. the orientation 9 corresponds to a local minimum in the diameter function of P if and only if R M(9) ^ 0 and r/)right + rhtieft > d{6), and r^ieft + f ' h ,right 119 2. the orientation 9 corresponds to a local maximum in the diameter function of P if and only if Rhi{0) ^ 0j f'l,right T f'h,left d{9'}) and r ^ ie ft -f- f'h,right < ^ d{0); 3. there exists a region in S 1 in the neighborhood of 0 that corresponds to a constant diameter function over that region if and only if Rhi{9) ^ 0 and T ’z.ieft + frig h t = d(0) (region lies along counter-clockwise orientations) or right + nh,ieit = d{0) (region lies along clockwise orientations). □ 3 .3 .1 A lg o r ith m d e ta ils For notational convenience, let us call a vertex, segm ent, or arc a feature. By an orientation corresponding to a pair of features, we understand an orientation of P th a t is such th a t th e opposite jaws H, L sim ultaneously touch some p art of these two features. Given a feature X , we say th a t another feature Y is possibly opposite to X if there is an orientation corresponding to X , Y . The “possibly opposite” relation can be seen to be sym m etric. n , in this section, is the com plexity of P (the num ber of vertices in P). For brevity, we only show how to ou tp u t th e local m axim a, local m inim a, and regions of constant diam eter in the diam eter function d of the p art P. Section 1.4.1 (specifically, Fact 1) shows th a t the transfer function F can be derived from these orientations of d in 0 (n ) tim e. T he algorithm proceeds as follows. F irst for every feature (vertex u,, or segm ent/arc Si) we construct (in STE P 1 below) a set containing all possibly opposite features (denoted by Tv(i) for Vi and by Ts(i) for Sf). It is clear th a t these sets of all possibly opposite features for a given feature is a continuous subset of th e boundary of P. A crucial point to note here is th a t although a p articular Tv(i) or Ts(i) could have up to 0 (n ) elem ents, th e sum of th e num ber of elem ents in all th e n Tv(i) and n Ts(i) is also 0{n). This is proved in Lem m a 20. N ext, in ST E P 2 we m arch once around P and as we encounter vertices Vi (segm ents or arcs Sf) we consider every feature X in Tv(i) (resp.Ts(i)) and 1 2 0 determ ine w hether the orientation corresponding to this pair of features X , v, (resp.X, Si) is a local m axim a, local m inim a, or p art of a flat region in the diam eter function, or is m erely unstable. Lem m a 19 provides a sim ple constant tim e test for this determ ination th a t m ay be applied to any pair of possibly opposite features (after checking for unilateral instability which is also an 0 ( 1 ) test given Rh,Ri). We define intersections betw een two sets of points (continuous subsets of th e real line) as being non-trivial if (i) they intersect in m ore th an one point, or (ii) they intersect in only one point b u t one of th e two sets contains only one point. In p u t: D escription of th e input P th a t is known to be convex . 6 T h a t is, u0, So, «i, S i, ..., f n_i, S n- i - th e coordinates of all th e V{, and for every Si inform ation w hether it is a segment or arc joining ^ , u 201, and if it is an arc, th e center and radius of th e circle th a t forms th a t arc. O u tp u t: List of local m axim a and local m inim a orientations and flat regions in th e diam eter function of P. S T E P l a (arcs/segm ents) For * = 0 to n — 1 do CASE 1: Si is a segment. The only possible choices for Ts(i) are a single vertex farthest from Si, a segment parallel to Si, or an arc containing a point th a t is the farthest from Si over all points of P. F irst, find a vertex of P th a t is of m axim um distance from Si. 7 If there is a tie then it has to be betw een two vertices along a segment or arc and therefore Ts(i) is th e singleton set containing this segm ent or arc. If there is no tie, th en let v be this unique vertex farthest from S{. If v has no arc incident on it (only segments incident), we let Ts(i) = {u}. O therw ise we need to check if th e arc(s) incident on v could contain a 6T he convex hulls of G P-parts made up of n arcs and segm ents can be com puted in 0 ( n ) tim e given the sequence of arcs and segm ents making its (possibly non-convex) boundary [DS90, SW 87]. 7Naive im plem entations of this can take O(n) tim e for a single segm ent and therefore 0 ( n 2) tim e overall. In the proof of com plexity of STEP 1 (Lemma 21 in the next section) we describe an efficient im plem entation. 121 i-1 i-1 T (i- i+1 tvo) - r,(i)u{r,((;-i),o} Computation of the sets Ts(i) and TJi). TJi) is the chain of features between TJi-1) and TJi). Since S,-./ is a segment, TJi-1) is simply the farthest vertex from S]_j. However, since 5,- is an arc, computation of TJi) is little more complicated. We consider tangents to S ,- at v, and vl+^ intersecting at v;*. TJi) is computed as TJi*). Figure 3.17: Transfer function com putation : STEPS l a and lb . point farther from Si th an v. To do this, simply draw a line I parallel to Si at v. If one of th e arcs incident on v has a portion on the half plane (corresponding to I) not containing Si, then Ts(i) is th a t arc.8 In case th a t all arcs incident on v lie in the same half plane as Si, we again let T,(i) = {„}. CASE 2: Si is an arc. Consider Fig. 3.17. Let / and V be tangents to Si at Vi,Vi@i respectively, intersecting at point u**. Let t(tf) be th e vertex of P farthest from l(V). Finally, let Ts(i) be the chain (not containing Si) of features betw een (and including) t and t'. Again, if there are ties while com puting th e farthest vertex, we resolve them as in CASE 1. [STEP lb] (vertices) For i = 0 to n — 1 do If Vi is a segm ent vertex, com pute Tv(i) as the chain (not containing vi) 8N ote that if v has two arcs incident on it, both cannot have portions on the half plane not containing Si due to convexity. 1 2 2 of features betw een (and including) Ts(i) and Ts(i © 1). If vt has an arc, wlog Si, incident on it, th en tem porarily (only for th e purposes of defining Tv{i)) consider Ts(i) as th e vertex of P farthest from th e tangent to Si at Vi. Now, tre a t vt as a segment vertex (tem porarily) and determ ine Tv(i) as m entioned in th e first sentence of this paragraph. See Fig. 3.17. S T E P 2 We m arch once around P processing events, where an event is the encounter w ith a vertex, segment or arc. We process vertex events, arc events and segment events in the order Vo, So, v1, . . . . Si, Uj+i, 5'i+i, . . . , u„_i, Sn- i. A vertex (resp.arc, segment) event will o u tp u t local m axim a, m inim a, and flat regions in th e diam eter function of P, assum ing th a t th a t vertex (resp.arc, segm ent) is Ri. It is easily seen th a t all local m axim a, local m inim a, and flat regions of P will be o u tp u t by processing all events. CA SE 1: A segment event. Let Si be the segment. P roject Ts(i) down to St (if th e num ber of vertices in Ts(i) is two, th en project th e segment joining the two down to St). If Si and th e projected Ts(i) intersect non-trivially, ou tp u t this orientation as a local m inim um , otherw ise th e orientation is unilaterally unstable or otherw ise unstable (See Situation C). CA SE 2. A vertex event. Let Vi be th e vertex and let Tv(i) be th e set {vj, Sj, Uj®i, •■•,}• CA SE 2.1: Vertices z in Tv(i). If one of the vertices 2 or vt has one (or more) arc incident on it such th a t th e center of th e circle form ing th a t arc is collinear w ith z and vt. In such a case, we need to consider situation B to find out w hether we have a local m axim um or local m inim um , or a flat region. If it is a flat region, do not outp u t it now, because flat regions will be processed when the arc is encountered as an event (see cases 2.3 and 3 below). O therw ise, th e orientation corresponding to z, Vj could be a local m axim a. To test for this draw lines /, V at z, V { perpendicular to the line joining 123 Vi and check w hether P lies wholly betw een /, 9 If so, the orientation corresponding to v\ is a local m axim a. CA SE 2.2: For a segment S x in Tv(i), do as in case 1. T h at is project Vi up to Sx and see w hether there is a non-trivial intersection. If so, the orientation is a local m inim um , otherwise (no non-trivial intersection) it is unilaterally unstable. 1 0 CA SE 2.3: For an arc Sx in Tv(i) we determ ine w hether there exists an intersection betw een the arc, and th e line joining vt and th e center of the circle form ing th e arc. If there is no intersection, then we do nothing (nothing to ou tp u t). If there is a non-trivial intersection (i.e. intersec tion not at one of th e vertices of S x), then we determ ine the point of intersection p. Now Rh = p when Rj — v^, and we can use situation B to determ ine th e correct outp u t (local m axim um , local m inim um , flat region). In case of a flat region, its extent (set of orientations) is deter m ined easily by com paring the slopes of Sx at its two end-vertices w ith th e slopes of SiQ\,S{ at ut -. CA SE 3. An arc event. Let Si be the arc. A segm ent in Ts(i) will be treated ju st the segment would tre at Si (CASE 1) . A vertex in Ts(i) is treated like in CASE 2.3. So, we only consider arcs Sx in Ts(i). Let the centers of the circles forming Si, Sx, respectively, be Ci, cx. If th e line I joining cx, c8 - does not intersect both Si and Sx non-trivially, th en o u tp u t nothing. Otherwise let p,p' be th e points of intersection. D eterm ine from situation A w hether this orientation R\ = p, Rh = p' is a local m axim um or local m inim um or flat region. If its a flat region, we can proceed in a m anner sim ilar to CASE 2.3 to determ ine its extent, th a t is, by com paring th e slopes of Sx, Si at their two end-vertices. 9T his is also a 0 (1 ) operation since all that needs to be done is checking whether the four arcs/segm ents incident to z,Vi are between 1,1'. 10We could strictly do nothing for segm ents in Tv{i), and wait for the event when Sx is processed in its own right. W hen that happens, this local m inimum will be discovered. We could then, merely output 7r+ that local m inimum orientation, as the present local m inim um orientation due to the rotational symmetry. But then, we will not be getting the output orientations in increasing order. 124 I 3 .3 .2 C o m p le x ity an d co r rectn e ss i j We assum e th e following operations require constant com putation tim e: finding < j the distance betw een two points in th e plane, finding th e angle betw een two J lines in th e plane, com paring two rational num bers, adding or subtracting two j rational num bers, and random access of any particular m em ory location. In addition to these operations, we also assum e th a t th e following take 0 (1 ) tim e: finding th e equation of a line given two points on it, finding w hether or not a given line intersects (non-trivially) a given arc, and to determ ine the point of intersection, given th e end-points of two intervals on th e real line, to check i w hether th e two intervals intersect (non-trivially), and projecting a given point, ! or a given segm ent, onto another given segment. i Let |T„(*)|, |TS («)|, respectively, denote the num ber of vertices of P in Tv(i), ; i Ts(i). T heorem 15 shows th e com plexity is 0 ( n ) and Theorem 16 gives th e ; correctness. ; L em m a 20 2 n x ; r ( t ) = 0 (n ). i= 1 P roof: i I F irst we show th a t X ^o""1 l^w(OI = 0 (n ). If P were a polygon, then we m erely borrow th e result from [PS85], pages 173-176 11. To handle arcs in P , sim ply note th a t if every arc of P , other th an those adjacent on Vi, is replaced ' by a segment connecting the two end-vertices of th a t arc, then iT^i)!,. for a j vertex V{, cannot increase by m ore th an tw o,12. Thus, X) \Tv{i)\ could at m ost double and therefore X)j=o_1 1^(01 = 0{n). \ Now, Z^:s-isasegment |2"s(0l ls clearly 0 (n ) since each |TS(*)| is at m ost three | if Si is a segm ent. So, if we prove th a t X = X)i:S;isanarc ITs(01 0 ( n ) - > we i I 1 11In [PS85] antipodal pairs are defined, similar to our definition of Rh, R i. They show that j the total number of antipodal pairs is n for an n-gon. : 12it could increase by one or two in case the segm ent replacing the arc becomes parallel to one of the segm ents Si, S , _ i . j i 125 ' . . ----------------------- are done. Towards this end, consider P ‘ obtained from P by replacing arc S t, . having end-vertices by a new vertex vt* and th e two segments (?y*, vt) \ and (v,-,,Uj©i), where is defined as in STEP 1, case 2 (Fig 3.17) defining Ts(i), w hen Si is an arc. Observe th a t P ' is convex, since P is. N ote th a t ' Ts(i), where Si is an arc of P, is exactly the set Tv(i*) taken over P '. Consider th e polygon P " obtained by replacing every arc by th e new vertex and the two segm ents as above. P" is known at th e bounding polygon of P in [DS90]. Since every individual P ' was convex, P" is convex. T he following clearly holds: X = 0 ( Y ) , where Y = \Tv(j))\, where th e last sum m ation is over j all vertices of P". Since th e num ber of vertices of polygon P " is at m ost 2n, Y = 0 (n ), and therefore X = 0{n). □ ! L e m m a 21 S T E P 1 can be performed in 0 ( n ) time. j \ P ro o f: ! l T he proof of Lem m a 20 shows th a t arcs in P can be handled by replacing th em w ith vertices and segments in P ',P ". Also, note th a t Tv(i) is com puted, , given Ts(i),T s(i — 1), in 0 (\T v(i)\) tim e (just enum erate the chain of vertices ■ and segm ents/arcs in betw een Ts(i),T s(i — 1)). Also, we have proved in Lem m a | 20 th a t 1^(01) = 0 (n ). ; Hence it is sufficient to prove th a t if P is a polygon, all the Ts(i) can be com puted in O(n) tim e. This can be accom plished as follows. F irst com p u te Ts(0) explicitly in 0 ( n ) tim e. Assume th a t Ts(0), 3 ^ ( 1 ) ,..., Ts{i — 1) are com puted. To com pute Ts(i) first note th a t the overlap betw een Ts(i) and Ts(i — 1) is at m ost one vertex and Ts(i) is in the clockwise direction away ! from Ts(i — l ) .13 Second, since P is a convex polygon, any local m axim um | in distance betw een vertices of P and a fixed tangent line to P , is a global i m axim um . So, to get Ts{i) given Ts(i — 1), ju st scan vertices of P clockwise away and including Ts(i — 1) and look for a local m axim um in distance from Si. This can be accom plished in |T„(?)| tim e. See Fig. 3.18. Since we have ( already shown th a t Yhi 1^(01 = 0 {n) (Lem m a 20), we have now shown th a t if 13Remember that the ih, Si ordering is clockwise. 126 ] v; + i Computation of all the TJi) in 0(n) time. Given TJi-1), to compute TJi) it is sufficient to scan in a clockwise direction away from TJi-1) over at most \TJi)\ vertices. Figure 3.18: Lem m a 21. Given Ts(i — 1), com puting Ts(i) in |TV (*)| tim e. P is a polygon, then all th e Ta(i) m ay be com puted in 0 ( n ) tim e. We noted J above th a t this was sufficient to prove the lemma. ! □ T h e o r e m 15 The complexity of the algorithm is 0 (n ). P roof: Given Lem m a 21, it is sufficient to prove th a t STEP 2 takes 0 (n ) tim e. O bserve th a t Theorem 19 (and th e situations A,B,C considered before), im ply th a t given Rh,Ri, it is possible to determ ine in 0 (1 ) tim e w hether th a t orientation corresponds to a local m axim um or local m inim um or a flat region in th e diam eter function. We also noted th a t, if a particular orientation involving arcs is known to be a flat region, finding its extent takes 0 (1 ) tim e (see CASEs 2.3 and 3 of ST E P 2 of th e algorithm ). Thus, it is easy to see th a t the processing of a vertex event, for vertex Vi, in ST E P 2 takes 0(|T „(z)|) tim e (since each feature in Tv(i) is considered for only 0 (1 ) tim e), and sim ilarly th e processing of a segm ent/arc event, for 127 segm ent/arc 5; takes 0 ( |T s(i)|) tim e. Thus, by Lem m a 20, STE P 2 takes 0 (n ) tim e. □ i L e m m a 22 If P is in a orientation such that vertex Vi (segment/arc Si) is Ri, then at that orientation, all the features (vertices/arcs/segments) that can j possibly be Rh are included in Tv(i) (Ts(?)). I j P ro o f: j If P were a polygon, we m erely borrow th e correctness from [PS85] (pages ! 173-176). j To com plete our proof, we show th a t for an arc Si, Ts(i) contains all the j vertices/arcs/segm ents th a t could possibly be Rh, when some point of S', is R\. \ This is indeed clear from our construction of Ts{i). We considered tangents to Si, at th e end-vertices of S’ , , and then farthest vertices in P from these tangents. If v is th e intersection point of these two tangents, then Ts(i) can be com puted correctly also as Tv(i*) from P ' (as noted in proof of Lem m a 20). Thus, if we could replace P by P" of Lem m a 20, then th e extrem e vertices of Ts(i) are correctly com puted (as Tv(i*)) by applying th e result of [PS85] to P " . Once the extrem e vertices of Ts(i) are correct, then it is obvious th a t Ts(i) is correct (since th e sets t are m erely a chain of features betw een its extrem e vertices). □ T h e o re m 16 The given algorithm correctly and optimally outputs all local maxima, local minima and extents of all flat regions in the diameter function of a given rigid, convex, planar closed curve P. i P ro o f: Correctness is obvious from Lem m a 22 and Theorem 18. O ptim ality is also obvious since th e size of th e input and ou tp u t is O(n). □ I 128 3 .3 .3 O th er p lan ar p a rts Even th e sim ply stated problem of determ ining the distance from a point to an ellipse involves solving a quartic. Therefore, it m ay be expected th a t diam eter fu n ctions of p arts m ade up elliptical arcs will be difficult to com pute analyti cally. We discuss some approaches in th e conclusion (Section 4). If num erical techniques have to be em ployed, there are the questions of accuracy, num erical stability and convergence (one can no longer then com fortably claim th a t tests to determ ine equilibrium take constant tim e). 3 .4 P u sh -g ra sp a ctio n s In this section we relax the assum ption th a t both jaws m ake contact sim ul taneously and consider th e class of actions th a t push the p art w ith one jaw prior to grasping, as identified by Brost in [Bro88]. Besides being easier to ju s tify m echanically, this allows us to elim inate th e problem of achieving a final orientation only up to sym m etry in transfer function (alm ost always). P arts m ay now be oriented up to sym m etry 27r. Let a push-grasp action a , be the following sequence of actions: O rienting the gripper at angle a w ith respect a fixed world fram e; translating the gripper in direction a + 7r/2 for a fixed distance, closing th e jaws as far as possible, translating the gripper in direction — a — 7r/2 for th e sam e distance, and then opening the jaws. We analyze the m echanics of push-grasping and show th a t A lgorithm A' can be modified to generate an optim al open-loop push-grasp plan for orienting a planar part. Given sufficient pushing distance, th e p art will ro ta te so th a t one of its edges is aligned w ith th e pushing jaw before the second jaw m akes contact. For this class of actions, we substitute two assum ptions for A ssum ption 8 in Section 1.4: • T he pushing distance is sufficient to align a stable p art edge w ith the pushing jaw before the second jaw makes contact. • T he p a rt’s center-of-mass (c.o.m.) is given. This allows us to com pute th e p a rt’s radius function. T he c.o.m. of a n-sided polygonal p art of uniform density is easily deter m ined in 0 ( n ) tim e, given th e vertices in sorted order of angle, by triangulating the polygon (this can be done in 0 ( n ) tim e for any simple polygon [Cha91]), determ ining th e m ass (area) and c.o.m. of each triangle, and com bining th e results by a weighted sum. A sim ilar approach works for a p art m ade up of n piecewise linear/circular arcs ( GP p art). An upper bound on th e pushing distance can be com puted by considering the sm allest disk th a t covers the p art [Pes86]. A lthough this upper bound can approach infinity if th e p art is pushed along a vector from th e contact vertex through the p a rt’s center-of-mass, we can avoid such actions after th e first action causes th e p art to ro tate into one of its stable orientations. T here are two phases in a push grasp: the pushing phase followed by the squeezing phase. T he m echanics of squeezing is as discussed before while th e m echanics of pushing can be captured w ith an analog to the diam eter function [Mas82], T he distance from the p a rt’s center of mass to a line in orientation 9 tangent to th e p art varies w ith 6. Define th e radius function, r : S 1 — + to record this variation, i.e. r(9) equals the distance from th e c.o. m. to 1 a tangent line of orientation 9. See top of Fig. 3.20. Notice th a t unlike the diam eter function, th e radius function is not necessarily (and in general, is not) of period 7r. The radius function for an n-sided polygonal p art or one m ade up of n linear-circular arcs can be readily com puted in tim e 0 ( n ) given the c.o.m. and th e ordered sequence of vertices. T he push function, p : S 1 — » • S 1, m aps an initial orientation of th e p art to a final orientation after the pushing phase. It is a step-ram p function derived from th e radius function in the same way th a t th e (squeeze) transfer function is derived from th e diam eter function: i.e. discontinuities betw een steps in p occur at local m axim a in the radius function, each step having a fixed-point j at th e interm ediate local m inim a, and ram ps in th e push function arise from regions of constant radius in th e radius function. From [Bro88], and analogous to Fact 1 we have: F a c t 2 Pushing minimizes radius. As m entioned before, push-grasping involves pushing the p art w ith one jaw (tow ards th e other jaw ) and then squeezing. F a c t 3 Push-grasping first minimizes radius, and subsequently diameter. For p arts m ade up of n linear/circular arcs, the push and transfer functions, p, r , will consist of 0 (n ) steps and ram ps. Thus, their com position, th e push- grasp function, can be seen to have only 0 (n ) “steps” and ram ps and can be be com puted in 0 ( n ) tim e given p, T (See Fig.s 3.19, 3.20). Steps was p u t in quotations in the last sentence because these steps do not necessarily have to contain fixed-points in th eir interior [IC91]. (0 . 5 ) 2 . 5 > > (0 , 0 ) Figure 3.19: A pie shaped p art of radius 5 w ith half-angle 20° shown in zero orientation. T he center of mass is assum ed to lie at the point (0,2.5) as shown. However, A lgorithm A' will still outp u t a plan to orient th e p art up to sym m etry in th e push-grasp function. To see this, assum e initially th a t the push-grasp function is ram p-less. T he proof of completeness of A lgorithm A in [Gol90] does not rely on the fact th a t steps have fixed points. It holds I even if steps do not have fixed points. This implies th a t A lgorithm A (and i also A lgorithm A' because we have a ram p-less transfer function) would not ! term in ate unless an interval of period of sym m etry in the push-graps transfer function is o u tp u t. Now consider ram ps (same definition as in push and transfer functions) in the push-grasp function. A lgorithm A! already deals w ith ram ps no m odifications are necessary to A lgorithm A' to deal w ith ram ps along w ith steps w ithout fixed points. T he proof of com pletenss of A lgorithm A' makes use of th a t of A lgorithm A and still holds as do the proofs of correctness and 131 CRadius Function^ P i / 2 P i 3 P i/2 2 P i { P u sh F u n c tio n } P i / 2 P i / 2 P i / 2 P i 3 P 1 /2 2 P i' _ € P u sh -G ra s p F u n c t i on )______ 3 P 1 /2 { D ia m e te r F u n c tio n } 4 .7 5 4 .5 4 .2 5 P i / 2 3 .7 5 3 .5 3 .2 5 { S q u e e z e F u n c tio n } 3 P 1 /2 2 P i" P i / 2 P i 3 P i/2 2 pJH E T fi Figure 3.20: Push-grasp analysis for th e pie-shaped p art shown in th e previous figure. In particular, notice th a t while the squeeze-grasp function has period 7r as before, th e push-grasp function has a period 27r. These figures were generated using th e system Mathematica. 132 com plexity. See Fig. 3.21. The push-grasp function has period 2x unless th e p art has rotational sym m etry and is convex and homogeneous in density (possesses a sym m etric placem ent of its c.o.m). The resulting push-grasp plans therefore allow us to elim inate the 180° am biguity in th e p a rt’s final orientation th a t is inherent w ith squeeze plans. Figure 3.21: Four traces of 3-step push-grasp plan. The push angles are 0, — 56, —128 degrees. Line w ith arrow indicates pushing jaw. T he initial ori entations for th e four traces are sam e as those in Fig. 3.9. Notice th e final orientations in both figures. Initial orientations th a t are 180° ap art, end up 180° ap art in Fig. 3.9 (squeeze-grasp actions, see the first and last columns). However, in this figure, they end up in th e identical orientation. Push-grasping resolves the ambiguity. 3.5 F rictio n In previous sections (Sections 3.2, 3.4) we studied the problem of grasping and orienting planar parts using a parallel-jaw gripper, under the sim plifying assum ption th a t there is zero friction betw een the p art and th e gripper, and gave algorithm s for com puting an optim al open-loop grasp plan. In this section we extend our analysis to allow Coulomb friction given by a coefficient of friction fj.. T he problem w ith Coulomb friction is th a t w ithin certain ranges of orien tations, a p art can get wedged between two points on its boundary. See P a rt 1 in Fig. 3.22. Sim ilar behavior can arise w ith curved parts under zero friction, i.e. th ere are intervals of orientations (ram ps) where p art does not rotate. See P arts 2,3 in Fig. 3.22. We show th a t for a planar p art operating under Coulom b friction, there is a G P-part operating under zero friction th a t has the j sam e m echanical behavior when grasped. In th e extrem e exam ple of p, = oo, any planar p art behaves, when grasped, like a disk w ith p, — 0, i.e. it does not ro ta te under grasp. Figure 3.22: T hree different parts w ith the same grasp characteristics. P a rt 2 operating under zero friction behaves identically to P art 1 w ith // = 0.1; P a rt ! 3 operating under zero friction behaves identically to P art 1 w ith // = 0.5. i i Based on these observations, we give a bound on the coefficient of friction | i th a t perm its the existence of a plan to orient a given polygonal part. For : friction below this bound, we describe a new planning algorithm th a t will find | a plan for orienting the part. We show th a t this plan works under the weaker • i | ; t i 134 ! assum ption th a t friction introduces non-determ inism into the transfer function, i.e. there can be m ore th an one possible outcom e for certain ranges of grasp angles. i 3 .5 .1 M o d e ls o f C ou lom b fr ic tio n i i i Let r refer to th e frictionless transfer function of the given planar p art P . Let j th e coefficient of Coulomb friction between th e two jaws and th e part be //l5 /x2, | respectively. T hen g = min{/xi, ^ 2 }- Let a. = ta n -1 p denote the friction angle. j U nder Coulom b friction P could get wedged only at orientations w ithin a of end-points of steps and ram ps of T. Let us term these ranges of orientations 1 as th e friction orientations. We consider two models of non-zero Coulomb I friction. See Fig. 3.23. Tf refers to th e transfer function under friction. \ I 1. d e te r m in istic frictio n m od el: W ithin the friction orientations th e j p art always wedges under friction, and never wedges outside these ranges. I I j 2. n o n -d e te r m in istic frictio n m od el: W ithin th e friction orientations 9, j th e p art could get wedged at th a t orientation 9, or the p art could ro ta te I 1 j as if friction were absent to the orientation T(9), or end up w ith an orientation anywhere between 9 and r(0), and one of these (uncountably m any) events happens non-determ inistically.1 4 O ur results are the following. ' i t T h e o r e m 17 C urvature ~ Friction Given the transfer function of a planar part P operating under deterministic ! Coulomb friction with coefficient p, there is a G P -part Q operating under zero I friction having the same grasp characteristics. □ j j I | I ' r f under determ inistic friction is single-valued and is in fact a step-ram p | I function. Therefore A lgorithm A' can be used to produce an optim al plan to j orient th e p a rt under determ inistic friction. However, friction could change the \ | _ _ | I 14*.e. one cannot a priori predict, with any certainty, which of the events (wedges at some : orientation in [0, F(0)]) will occur upon grasp. i I 135 ; Figure 3.23: T hree different friction models for parallel-jaw grasping. The Initial orientation of th e p art is th e same but in (1) there is zero friction, and th e p art rotates into a stable configuration; in (2) there is determ inistic friction as indicated by th e friction cones, and th e p art wedges; and in (3) there is non- determ inistic friction, th e p a rt’s final orientation is indeterm inate: it could becom e wedged at any of a range of orientations or it could ro tate into a stable orientation. 136 period of sym m etry in th e transfer function. However, under non-determ inistic friction, th e transfer function Ty is no longer single valued. However, i T h e o r e m 18 Given the transfer function Ty of a planar part P operating * under non-deterministic Coulomb friction model, there exists bounds pi < p u on p, the coefficient of friction such that: \ 1 I • p < p u => there is a plan that is guaranteed to orient the part. We give I a constructive proof. • p > pi = 3 * there cannot exist a plan that is guaranteed to orient the part. i I I In th e first case above (p < p u), we only show the existence of a plan to orient th e p art w ithout worrying about its optim ality. 3 .5 .2 D e te r m in is tic frictio n T he first step in considering friction is to investigate the changes to the transfer | function. We do th a t and th en prove Theorem 17. ! I f M o d ify in g tra n sfer fu n c tio n M odifying the frictionless transfer function 1 r into one for friction Ty under the determ inistic m odel is straightforw ard. : Let a be th e friction angle. W hen grasped w ithin orientations a of end-points ‘ f of steps and ram ps (the friction orientations), th e p art gets wedged. This is j because the friction cones at points on the boundary of the p art touching th e ! jaws of th e gripper intersect each other. This condition for wedging was used j in [Bro88] as well. Thus, these ranges of orientations becomes a ram p in T /. 1 N ote, however, th a t the transfer function is still a single valued step-ram p ' function. Thus determ inistic friction does not change the space of transfer functions to be considered; we still have step-ram p transfer functions. This considerably simplifies m atters as we could use A lgorithm A' given in Section 3.2 th a t generates an optim al plan given any step-ram p function. In th e rem ainder of this section we prove Theorem 17, i.e. we show th a t a p art being grasped under determ inistic wedging has the same transfer function r ; as a G P-part operating w ithout friction. We begin by proving Lem m a 23. As j before, we say a p art P is consistent w ith a function f : S 1 S 1 (between | orientations [a;,t/)), if th e transfer function of P is / (betw een orientations ! [*,!/))• L em m a 23 Let T be a step-ramp transfer function made up of n steps and i ramps. Then there is a G P -part, Q, operating under zero friction and having transfer function T. P roof: We give a constructive proof. F irst we modify given step-ram p function T into a step function T'. T hen we construct a polygonal p art Q' consistent w ith P . Finally, we show th a t had the m odification of F to F' been done carefully, th en th e Q' obtained can be easily modified to obtain a G P-part Q. M o d ific a tio n o f T — * • V : M odification of step-ram p transfer function T into a step function T; is first done by rotating every ram p [w,r>) into a step [u, v ) about some point a in its interior. Thus, a becomes th e fixed-point of | this step. See the top of Fig. 3.24. i I I C o n str u c tio n o f p o ly g o n a l p art Q' co n sisten t w ith ste p fu n c tio n T' Process steps in T' from left to right. Consider an arb itrary step [it, v) of T'. Let its fixed point be a, u < a < v\ i.e. V0 € [u ,u ),r'(0 ) = a. For every such step we construct a parallelogram th a t has T' as its transfer function between orientations [u,v). We term this parallelogram as the one corresponding to th e step. See Fig. 3.24. For correctly scaling the parallelogram corresponding j to step [u, ?;), we need th e length of one of th e diagonals of the parallelogram j corresponding to the previous step [x, u). In the figure, th e parallelogram I I form ed by vertices KLtCL' is the parallelogram corresponding to step [x, u). Its diagonal LL' (say of length d) is the diagonal in question and is also a diagonal of th e parallelogram corresponding to step [w, v). Let O be the m id point of this diagonal LL' (it will tu rn out th a t 0 is the centroid of all the parallelogram s we construct and also of the final polygon Q'). 138 T he parallelogram corresponding to step [w,u) is shown as L M L'M . M ,M are defined as follows. M is th e point such th at IL O M — v — u and LM LO — j — (a — u ). M is defined as the point diam etrically opposite M about 0 , i.e. j M O = O M . This com pletely defines th e parallelogram L M L 'M corresponding j to step [w,n). Now, M M is the diagonal to consider when building th e p ar allelogram corresponding to the next step. For the first step, we can choose any vertical segment (shown as X X 1 in th e figure) as the diagonal from the parallelogram corresponding to the previous step. Its m idpoint will also be 0 . It is easy to verify th a t this parallelogram L M L 'M is consistent w ith T' for , i th e step [u , v) w ith fixed point a once we note th a t th e parallelogram is stable ] a t this fixed-point.1 5 j T he sequence of outer edges of all these n parallelogram s forms th e required j polygon Q' consistent w ith F ' . Observe th a t J J 2 LLO M = J 2 (v - u ) = 7r- parallelogram s steps To verify th a t the polygon is convex, sim ply observe th a t I K L M < 7 r (to see i this, note th a t each of th e angles LKLO and LMLO are acute which follows from th e stability of the parallelogram s). C o n str u c tin g G P-part Q c o n sisten t w ith step -ra m p fu n c tio n T : Re- ; call how r was changed to IT Every ram p [u, v) in F was ro tated into I a step about some arb itrary point a in its interior. In polygon Q con stru cted as above, w ith centroid 0 , there exists an edge16 L M such th a t LM LO = 7t/2 — (a — u) and LLMO = 7r/2 — (v — a). Now, if a = (u + u ) / 2, j I i.e. a, th e point about which to ro tate th e ram p [u, u), was chosen to be at th e 1 m id-point of th e ram p, then these two angles are equal, which in tu rn im plies j th a t LO and M O are equal in length. We could then replace the edge L M of I Q‘ by a circular arc centered at 0 w ith end-points L,M. R epeat this for the diam etrically opposite edge L 'M . 15For verifying stability at a it suffices to observe that O is the centroid of the parallelogram and that LLM O and LMLO are both acute. 16an outer edge of the parallelogram corresponding to the step [ u , v) in C I I I 139 r i i 71" ” r < e i 0 x ~ - (a-u) d /2 ■z- (v - a ) X ’ j Figure 3.24: C onstruction of a GP-part polygon com patible w ith a given step- ram p function. At the top is shown a step-ram p function w ith three steps and one ram p, all left-closed and right-open, a is th e fixed point of a step form ed by rotating the ram p. T he bottom shows a portions of a polygon com patible w ith th e transfer function obtained by rotating every ram p into a step about some point in its interior (resulting in a step function). By choosing to ro tate every ram p into a step about its center, the polygon so obtained can be easily transform ed into a GP-part consistent w ith the given step-ram p transfer function. See th e proof of Lem m a 23. 140 Now we have a GP-p art Q which we claim is consistent w ith T. It is easy to verify th a t Q has constant diam eter between orientations [u, v) (it is the portion of a circle of radius \L0\ betw een these orientations). We only have to verify th a t Q is convex which essentially follows from the stability argum ent above, i.e. because LKLO < tt/2 , the edge-arc sequence K L M is convex at L. □ See Fig. 3.25 for a G P-part form ed by the procedure above. From this Lem m a, T heorem 17 follows because th e m echanical behavior of a planar p art operating under determ inistic friction pi is characterized by a step-ram p func tion. □ 3 .5 .3 N o n -d e te r m in istic frictio n T he changes to th e transfer function caused by non-zero non-determ inistic friction are depicted in Fig. 3.26. In th e presence of friction under the non- determ inistic model, th e m apping betw een initial and final orientations is no longer single valued. Let th e transfer function under friction under th e non- determ inistic m odel be denoted as Fj. O rientations x w ithin a of an end-point of step or ram p (i.e. w ithin th e friction orientations), b, in T could be such th a t r f(x) is either r ( x ) or x or anywhere in between the two. In other words, x € [6 — a, b + a] = > F / ( x ) € [x, T(a:)]. If initially in orientation x, the p art will end up at some orientation in [x, r ( a r ) ] , th e exact orientation being unknow n.17,18 Now we give necessary and sufficient conditions for the existence of a plan to orient a p art up to sym m etry under non-zero non-determ inistic friction. We do not address th e optim ality in plan length here. 17Notice that determ inistic wedging is characterized by x £ [6 — a, b + a] = > ■ Fj(x) = x. 18We could assume, for ease of understanding, in what follows below that the transfer function can be single- or double-valued only, i.e. x £ [b — ce,b + a] = > ■ r / (a?) £ {x, T(a;)}, the end-points of the continuous interval [a:,r(a?)]. 141 D C Figure 3.25: A n exam ple of the constructing in Lem m a 1 transform ing a polyg onal p art A, operating under friction, into a GP-part D operating under zero friction and having th e same m echanical behavior. T he transfer function of A is sam e as th a t of octogan B which is sym m etrical (th a t is, given the transfer function T of A, th e procedure in th e 2nd paragraph of Lem m a 1 will produce p art B as one consistent w ith T). C is the 16-gon form ed by the procedure in th e proof of Lem m a 1. T he new edges, introduced due to ex tra steps in tran s fer function form ed by rotating friction ram ps into steps, are shown shaded. Finally, D is the G P-part formed by changing these new edges (assum ing th a t th e ram ps were ro tated into steps about their center) into circular arc segments (also shown shaded). 142 (a) 2 tc rw 2n (b) 2 n Figure 3.26: Change in transfer function under non-zero friction. Figure (a) shows th e transfer function of a polygonal p art and (b) shows the transfer function under non-determ inistic friction given by n = 0.24 (a = 13°). The “shaded” portions of S 1 are shown in thick lines below th e ( f> axis in (b). Notice th a t no fixed point of a step in T is disturbed by friction and hence (by Theorem 8) th ere exists a plan to orient this part. 143 j T h e o r e m 19 L e tT be the transfer function of a part. Let [6, c) be an arbitrary ] step in r with fixed point a. Let C\ = m insteps m in(a — 6, c — a), and let c2 = | m axsteps(y ~ #)• Let Tj be the transfer function under non-deterministic friction with friction angle a. Then, 1. there exists a plan to orient the part up to symmetry if a < C\; I 2. there does not exist a guaranteed plan if o l > c2. I P roof: i ! P a rt 2. is easy to prove, a > c2 im plies th a t the p art could get wedged at any orientation in S l (i.e. th e every orientation in S 1 is a friction orientation). Suppose th a t friction always “decided” th a t th e p art should get wedged. Then it is obvious th a t no guaranteed plan can exist since to even change orientation of th e p art under gripper action even if T, the frictionless transfer function of th e p art, has a non-zero period of sym m etry. Proof of 1.: We have th a t a < Ci. This implies th a t every step in T f has a fixed-point not disturbed by the friction. We use a variant of the box-placem ent algorithm described in Section 3.2. Let P i , r 2 be two single-valued transfer functions derived from T / as follows. B oth equal T at orientations outside the friction orientations of S 1. However, in any range of friction orientations I [b — a, b + a ), Ti = m a x (r) and T2 = m in (r). More precisely, for x € [b — j a , 6 ),ri(;r) = x and r 2 (z) = T(x), and for x € [b,a + b), T i(x) = T(x) and | r 2(x) = x. j T he planning algorithm begins by choosing th e largest step in Ty as interval 0 i . By “step” in T /, we m ean a step in the ranges of non-friction orientations of T/. Intervals 0 2, 0 3,..., are built successively using a variation of the box- placem ent algorithm as follows. In the original algorithm (Section 3.2), after iteration j , if [©yJ < T , the period of sym m etry in T, we need to determ ine Qj+i w ith |0j+i| > |© y | and |r(0J+ i)| < |0j|. This was done by placing an im aginary square box of w idth j 0y | w ith its bottom -left corner at th e left-end point of a step or ram p and then considering a 0 J+1 beginning at this left-end 144 p o in t.19 Such a 0 J+i was always shown to exist for some placem ent of th e box w henever |0j| < T, so th a t th e algorithm will be correct and term inate. We have to give a sim ilar proof in our case. T he change we m ake in th e box-placem ent algorithm is th a t in considering bottom -left (resp. top-right) box placem ents, we consider th e transfer function to be I \ (resp. T2). N ote th a t this is th e m ost conservative assum ption possible, and assumes th a t friction is an adversary th a t strives to m ake orienting as slow as possible. Now all we have to show is th a t 0j+i always exists (satisfying th e conditions described above) unless 10j | > T. Towards a contradiction, assum e th a t 0 ; < T and for all bottom -left box- I j placem ents in Id , 0 j+ i cannot be found. If the p art is polygonal, then the only j ram ps in Ti are those of w idth a /2 and each of these can be ro tated into a | step about any point in its interior. Let the transfer function so obtained be t r ; . Ti is piecewise constant and so is the transfer function of some polygonal p art. The com pleteness proof of [Gol90] shows th a t the planning algorithm on r i? using bottom -left placem ents alone, would not halt until an interval of w idth T is reached. This implies th a t some portion of some ram p in I \ m ust be reached by bottom -left placem ents and cannot halt w ith 10y | < T. If th e p a rt is non-polygonal and Tx has other ram ps (not ju st th e ones caused by friction) as well, then each ram p is chopped into “sm all” portions and each p art ro tated into a step to get a transfer function Tj. How “sm all” th e ram ps m ust be chopped up into is described in the com pleteness proof in Section 3.2.2. Now essentially th e same argum ent as th a t in th e previous p aragraph shows th a t th e algorithm cannot halt at 0^. W hat we have shown is th a t considering bottom -left placem ents alone, we can always find Oj+i unless |0 5 -| < T. Considering top-right placem ents and transfer function r 2 is essential only if we are interested in shortening the length of the plans. N ote th a t th e resulting plans are not guaranteed to be optim al unlike the plans o u tp u t by A lgorithm s A, A'. □ 19or by placing the box with its top-right corner at the right-end point of a step or ramp and considering a 0 j + i ending at this right-end point 145 3.6 T h e re g istr a tio n m ark' p ro b lem Previous approaches to the PO SE problem assum ed th a t th e p art is presented to th e gripper in any orientation b u t th a t its position was approxim ately known, i.e. betw een th e jaws of th e gripper and it stays betw een th e jaws throughout the grasping. T he gripper perform s a set of precom puted grasp ac tions th a t bring th e p art into a prespecified orientation. T here was no sensing involved. T he registration m ark approach is a variation from these previous ap proaches to th e PO SE problem . Some m echanism (possibly a parallel jaw gripper) leaves a p art in one am ong a finite num ber of known poses all of which are w ithin th e field of view of a vision sensor. Once placed in one of these poses, th e p a rt’s PO SE is never changed, i.e. we actually determ ine the pose of the p art rath er th an bring it into a known pose. We propose to obtain pose by preplacing a registration m ark on the surface of th e p art, th e loca tion of which can be determ ined by th e sensor. However, due to sensor noise and lim its on resolution, there m ay be error in th e m easured location of this m ark leading to error in estim ating object pose. Thus th e problem becom es to preplace th e m ark to allow for m axim al sensor error. See Fig. 3.27. W e define th e registration mark problem as follows. Given a rigid planar p art P , and a set of k planar geom etric transform s T i ,. . . , T ,fc, find a point Po € P th a t maxim izes • • ., . d(TiPiT3p)> (3-2) w here d is th e Euclidian distance m etric and Tip denotes th e point obtained by transform ing point p through 7). See Fig. 3.28. We denote d(Tip,Tj,p) as d{j(x, y) for convenience, w here (x, y) are the cartesian coordinates of p. In this notatio n we could pose th e problem as com puting m ax m in d?A x,y). (3.3) G .y)gP 1,2..... Figure 3.27: A set of poses for a rod-shaped p art. T he m iddle poses are all rotations about a point. Thus, th e best place to place th e m ark to allow for m axim al separation betw een the m arks is one of the ends of th e rod. On the other hand, th e poses on the right call for the m ark to be placed somewhere on th e interior of th e rod. T he poses on th e left are all translations and any placem ent of th e m ark gives th e sam e registration m ark distance. Given k transform s on a p art, where exactly to place th e m ark to get th e m axim um separation between transform ed m arks is the registration m ark problem . Figure 3.28: Consider some process th a t leaves a key-shaped p art in one of four poses shown above. We are allowed to pre-place a registration m ark, identifiable by a vision cam era, on th e surface of th e p art. T he solid circles indicate a poor placem ent for th e m ark since th e two m iddle poses could be confused due to noise in th e vision system . T he hollow circles indicate the optim al location for th e m ark as they are m axim ally separated. 147 We call each d? ■ as a distance function. Notice th a t th ere are dis tance functions. D enote this num ber as N . The bivariate function M (x , y ) = m i n dij(x,y) is called th e lower envelope of th e N distance functions. If a registration m ark is placed at a point (x,y), then M (x ,y ) gives th e m inim um separation between the transform ed m arks. A point po = (xq, yo) such th at V x ,y € P, M (x o ,y 0) > M (x ,y ) is called th e optimal registration mark point for p art P ; and M ( xo, ijq) the optimal registration mark distance for p art P . Consider again th e four poses of a key-shaped p art in Fig. 3.28. Each pose has a coordinate fram e attached w ith it. T he coordinate fram e for one poses is shown. Two choices of registration m arks placem ents are shown w ith respect to each pose’s coordinate fram e. One placem ent is shown solid circles at (0, 0) and th e other, w ith hollow circles, at (6.15,6.83). The la tter is a b e tte r placem ent because the circles are m axim ally separated. This is verified by considering the lower envelope, M , for these transform s shown in Fig. 3.33. Notice th at M (6 .15,6.83) > A f(0,0). Using a result from Schwartz and Sharir [SS90] related to a convenient representation of the lower envelope of a set of functions and expressing its com plexity in term s of bounds on Davenport-Schinzel sequences [DS65], we show th a t T h e o re m 20 The registration mark problem can be solved in 0 (lo g k(n log k + k4 log* k)) time, given k transforms on an n-sided polygonal part. □ This can be extended to G P -parts w ith m ade up of n linear or circular parts no change in complexity. No assum ptions on convexity of the p arts are necessary. P art boundaries form ed from higher degree curves will require the solution of higher th an 4th degree equations but can be handled w ith num erical techniques. We also show some possibilities for pose recognition of 3D parts. Finally, we consider how p art shape can be redesigned to simplify localization. S im p le ca se s We now consider some simple cases of transform s and dispense w ith them quickly: 1. All transform s are pure translations (V* 0; = 0) - any point on th e p art is as good (or bad) as any other for placing th e m ark. 148 2. All transform s are pure rotations about some point q - th e point on th e p art th a t is farthest from q is th e best. In case of a polyhedral p art, this would be one of th e vertices of th e part. 3 .6 .1 C a se o f a rod By a rod we understand a homogeneously one dim ensional linear finite object, j Let it have length I and denote one of the end-vertices of the rod as A. Any point X on th e rod can be characterized by its distance x from A, 0 < x < 1. In this section we consider the problem of placing the registration m ark on a rod given k of its planar poses. Consider two transform s T{,Tj on the rod. Ti leaves A at point (a,-,6t -) and th e rod m akes an angle ti w ith the ;r-axis. Thus an arb itrary point X can be seen to be transform ed to (a; 4- x cos (t,-), bi + x sin (ti)). A sim ple calculation shows th at ^i,j(X ) = C oX 2 + C \X + C * 2 , dij(x) denoting th e equivalent of d(Tx,Tjx) in equation 3.2, and th e Cs are these constants: Co = 2(1 — cos(0,- — 0t)),C i = ((a; — a,j)(cos(0i) — cos(0,)) + (bi - bj)(sm(0i) - sin(Oj))), C3 = (a; - ctj)2 + (bi - bj)2. Since each d? ■ is a simple upw ard going parabola, and com puting intersec tions betw een parabolas is easy, the registration m ark problem can be solved | by com puting th e lower envelope (or horizon) of all these parabola in the range [0, /] and looking for th e m axim um in this envelope. A sim ple algorithm is now given for this: Consider th e N parabolas (distance functions), indexed di,d 2 , . .., d/v for convenience of notation, one by one. The idea is to always m aintain a p artitio n of th e space [0 ,1 } as a collection of internally disjoint intervals, and associated w ith each interval of th e partition, the index of the parabola (am ong all the parabolas so far considered) form ing the lower envelope throughout th a t in terval. T h a t is, after processing i parabolas, [0, /] should be partitio n ed as [0 = ao, «i,..., an(q = /], and there should be an associated array A such th a t, 149 for each j € [ 1 ,2 ,..., n(i)], and each q £ [1, 2 , . . . , A T], and for all x £ Oj], * I L e m m a 24 The complexity of the partition (or lower envelope), i.e. the num- ' her o f intervals in it, n(i), after processing i parabolas is at most 2 i — 1 . j I P roof: i This is a stan d ard result using bounds on the lengths of Davenport-Schinzel j sequences. For exam ple see [Ata85] who shows th a t th e com plexity of th e j partitio n is A 2 (i), which is known to be 2 i — 1 . j □ I I J A fter th e first parabola, there is only one interval and th e lower envelope J is sim ply th e first parabola itself restricted to [0 ,/]. W hen a new parabola arrives, th e naive approach is to intersect it w ith each of th e n(i) parabolas associated w ith an an interval (i.e. those indexed A ( l ) ,. . . , A (n(i))) to check if any u p d ate in th e intervals is required. Assuming com puting the intersection ! betw een two parabolas takes 0 ( 1 ) tim e, the processing tim e for th e (i + l) th j parabola is 0 (i), since n (i) = 0 (i). Thus, th e com plete running tim e to process N parabolas is 0 ( N 2). A fter the phase of com puting the lower envelope, sim ply traverse it from left to right to find its m axim um . This phase takes O(N) tim e. ! However, com puting the lower envelope of th e N parabolas can be done i m ore efficiently in 0 ( N log N) tim e as follows. Sort all th e N parabolas left to right on basis of the x-coordinate of their lowest point. Com pute th e lower | envelope M(L) for th e left N/2 parabolas, L, and sim ilarly b u t separately j com pute M (R ) for the right N/2 parabolas, R. Each of these subenvelopes | will have com plexities O(N). Lem m a 25 shows th a t you can m erge them in ; 0 (N ) tim e. i I i L e m m a 25 The two lower envelopes M (L),M (R ) can be merged in 0(iV ) j time. j i P ro o f: ! i l T he basic idea is to com pute the intersection point I between M ( L ) and , M(R). This can be done in 0 ( N ) tim e by scanning the sequence of parabolas I 150 i segm ents in M(L) from left to right until a parabola segment is found th a t intersects M(R). Now th e m erged lower envelope is sim ply M (L ) to th e left of I and M{R) to th e right of it. □ T h e o re m 21 The registration mark problem can be solved in 0 ( k 2 log k) time fo r k transforms on a finite one-dimensional part. P ro o f: From Lemmas 24 and 25 we get th a t th e tim e com plexity for finding the lower envelope for N transform s, t(N) is such th a t t(N) = 2t{N/2) + 0(N), which gives t(N) = O(NlogN). Once the lower envelope, represented as a partition of [0,/], is com puted, scan the parabolic segm ents in it from left to right and m aintain the m axim um . Since th e lower envelope has com plexity only O(N), this step can be accom plished in O(N) tim e. O verall tim e required is 0(iV log N) = 0(k 2 log k ) since N = k(k — l)/2 . □ 3 .6 .2 C a se o f a p o ly g o n Two sim ple observations will help us in getting a clearer handle on th e problem . T h e d e c o m p o s itio n p rin c ip le : This states th a t the registration m ark point for a union (not necessarily disjoint) of two parts is one of th e two regis tratio n m ark points of the individual parts. Thus, for polygonal parts, we could trian g u late th e polygon and consider registration m ark com puta tion for each triangle and combine th e results trivially for the whole p art (sim ply choose th a t point which has m axim um registration m ark distance from am ong the registration m ark points for the individual triangles). 151 T h e c o n ta in m e n t p rin c ip le : If a p art P has its registration m ark at p0, th en any subpart P' of P containing p 0 will have its registration m ark point at po. These two principles basically im ply th a t p art shape is not very crucial in com puting the registration m ark (except for the fact th a t the registration m ark m ust lie w ithin the part) while transform s are. We will come back to these ideas later. Consider a right triangle 2 0 ABC right angled at C. Let |A C | = a and B C — p. A 2-D analogue to the analysis in th e previous section would be to characterize an arb itrary point in the triangle as (x, y), 0 < x < a, 0 < y < /?, /3x + ay < ap. The distance function d2j(x,y) between transform s would be of the form: d?j(x, y ) = Ax 2 + B y 2 -f Cxy + Dx + Ey + F, which are, in general, 3-D surfaces. In future, we refer to th e d2j as distance functions. However, working out the m athem atics in our case shows th a t A = B and (7 = 0 which considerably simplifies our efforts and enables us to use previously known efficient techniques available to us from C om putational A lgebra [SS90]. Define functions f,g as some two distance functions. f ( x , y) = dlj(x, y) = Ax 2 + Ay 2 + Dx + Ey + F, and g{x,y) = dlm(x,y) = ax 2 + ay 2 + dx + ey + f. T heir intersection is the 2-D curve f = g which, as shown in any analytic geom etry te x t [Har63], is a circle (or its degenerate forms: a straight line or a single point) because the coefficients of x 2,y 2 m atch and there is no xy te rm . 2 1 20for sim plicity and wlog because of the decom position principle and the fact it is always possible to obtain a right-triangulation for a polygon. 21 Otherwise we could have other conics: parabolas, hyperbolas, ellipses (or their degener ate forms) 152 We use some notation from [SS90] to simplify further discussion. Recall th a t th e function M (x,y ) is th e lower envelope of the N distance functions. M induces a partitio n of th e triangle (or in general, a polygon) into m axim ally connected regions such th a t over any one such region, M is attained by a single distance function d,-j. T he boundary of such a region consists of either th e boundary of the triangle or consists of points at which M is attained by at least two of the distance functions. Let M* denote the planar m ap obtained from this partitioning. M* is called th e m inim ization diagram of the N distance functions. By th e com plexity of M , we understand the geom etric com plexity of M *, i.e. th e num ber of regions2 2 in it. T he next couple of lem m as are proved using results from [SS90]. L e m m a 26 The complexity of M , the lower envelope of N distance functions, is 0 ( N 2). P roof: Let f,g, h be three arb itrary distance functions. If the plane curve / = g is sim ple, connected and partitions the plane into two disjoint regions; and th e equations / = g = h have at m ost two roots, then the com plexity of M, th e lower envelope, for such distance functions is 0 (N 2). This is proven by Schwartz and Sharir [SS90]. We need only to verify these conditions are satisfied by our distance functions d2j which we do below. From th e generic expressions for / = df- , g — df m given in equations above, we find th a t th e curve / = g is of th e form (.A — a)(x 2 + y2) + (D — d)x + (E — e)y + (F — / ) = 0 which is a circle (if A ^ a) or straight line (if A = a), both of which are simple, connected and p artitio n the plane into two disjoint regions. Now consider the curves f = g and g = h. Each of these is a circle or straight line, and so both these curves can intersect in at m ost 2 points as required. □ 22or vertices/edges which are all within a constant factor of one another other, by Euler’s theorem of planar maps and planar graph theory L em m a 27 M *, the minimization diagram (partition) of the N distance func tions over a n-gonal part P , can be computed in O (log N (n log N + N 2 log* N )) time. P roof: Again, let f,g,h be three arbitrary distance functions. [SS90] shows th a t M* over th e entire plane can be com puted in 0 (ArAs+2 (Ar) log N) tim e, where s is th e m axim um num ber of roots of / = g = h and A is th e m axim um length of th e D avenport-Schinzel sequence. In our case, s — 2 as shown in the proof of Lem m a 26. To determ ine a bounds on A 4 (jV), we refer to Szemeredi [Sze74] who showed th a t for any | t > 3, Xr(N ) = 0 (N lo g * N ). However, there exist b etter bounds for the spe- | cific A 4 (JV) we are interested in [ASS89]. Agarwal et. al prove th a t A 4 (iV) = | 0 (JV2 “W ), where a is th e alm ost-constant functional inverse of th e Acker- i m an n ’s function. However, we’ll stick w ith th e generic 0 ( N log* N ) upper bound on A 4 (iV) given by Szemeredi in this dissertation. Thus, the tim e com plexity of com puting th e m inim ization diagram , M*, over the entire plane is 0(iVA 4 (jV) log N ), which is at m ost 0 ( N 2 logiV log* N ). B ut by Lem m a 26, we know th a t th e geom etric com plexity of M* is only 0 ( N 2). Therefore, restricting M* to th e polygon P , which essentially involves locating every vertex of P in M*, can be done in 0(n log2 N ) tim e w ith 0 ( N 2 log N) of preprocessing . 2 3 Com bining, we get the net tim e com plexity to com pute M* \ for th e p art P to be 0 (lo g N (n \o g N + N 2log* N )). □ P r o o f o f T h eo r e m 20: T he first step is to com pute the m inim ization diagram M* for th e p art, given th e k transform s and N distance functions. By Lem m a 27, this can be done in 0 (log k(n log k + k 4 log* k )) tim e. M* has a com binatorial com plexity (num ber of regions) of 0 ( N 2) by Lem m a 26 over th e entire plane. Thus, over the part P , it can a com plexity of at m ost ! 0 ( N 2 + n ). This im plies (by E uler’s form ula) th a t M* over th e p art has I 1 --------------------------------------------------------------------------------------------------------------------------------------- j 23Point location in a planar subdivision is a classical and well-studied problem in compu- ( tational geom etry [Ede87, PS85]. at m ost 0 { N 2 + n ) connected regions, edges (boundary segments of regions) and corners (end points of boundary segments). In our case, every region is bounded by circular arcs or linear segments only. 2 4 See Fig. 3.29 for an exam ple m inim ization diagram . To find th e registration m ark, we need to consider each region R and find a point (xR,yji) £ R th a t maxim izes M(x,y) for points (x ,y ) £ R (including its boundary). We break up this problem into two: finding th e m axim um over interior points of R] and over boundary points of R. To find th e m axim um over interior points of R is easy: in fact we do not ! have to consider it at all! T h at is because all our distance functions are upward l going (coefficients of x 2, y 2 are non-negative in every distance function d'f •) and ! • . j have exactly one global m inim um and no global m axim um . Therefore, th e m axim um of M over points in R has to occur along the boundary of R. Let d,2 - be the distance function achieving M over R. Let 8 be some arc-segm ent along the boundary of R. In th e next paragraph we show how to com pute m axim um of M (or equivalently m axim um of /») over the curve segment 8 in 0 (1 ) tim e. There are 0 (n + N 2) such boundary segments throughout th e m inim ization diagram . Hence the to tal tim e com plexity of finding th e registration m ark is dom inated by the com plexity of finding the m inim ization diagram which is 0 (log k(n log k + k 4 log* k )). Thus, th e basic operation is th e finding of the m axim um of a distance ! function, say / = d2 - along a circular or linear arc segment 8 of a region R w ithin which / achieves th e lower envelope M . Let the neighboring region to R across from 8 be S. Let g = d2m achieve M over region S. Therefore, < 5 is a (continuous) portion of th e circle / = g. Let p, q denote th e end-points of the segm ent 8 . To com pute the m axim um of / along the segment 8 , we first need to com pute m axim um of / along the entire curve / = g (this is described in th e next paragraph). Let this be attained at point r. If r £ 5, r is th e point we seek. If not, p or q is the required point (this can be determ ined easily). It is clear th a t if th e m axim um of / along th e entire curve f — g is com putable ! j 24Linear segm ents can arise either as degenerate forms of circles or as polygonal part ! boundary. I 155 in 0 ( 1 ) tim e, then the m axim um of / along 8 can also be com puted in 0 ( 1 ) tim e. Now we consider th e problem of com puting th e m axim um of / along th e entire circle (or line) / = g in 0 ( 1 ) tim e (i.e. an exact closed form solution rath er th an a num erical technique). This is done by th e m ethod of Lagrange M ultipliers. T h a t is, by solving the following system in 7 : 1 I V ( / - 7 ( / - f l 0 ) = 0 and / - g = 0 . (3.4) j T he first equation gives us x and y in term s of 7 alone. Specifically, x — and y = ^ 2 ^ + ^ S ubstitute these forms for x , y into the second equation / = g. This results in a quartic in 7 which can be solved exactly by analytic closed-form techniques. O btain x ,y from the real solutions to 7 and exam ine if they are local m axim a or m inim a. Thus, we m ay com puting the m axim um of / along a contour / = g is an 0 ( 1 ) tim e operation . 2 5 □ Rem ark: Using th e principle of decom position suggested at the beginning of th e section, we could have triangulated th e polygon (this is possible in 0 (n) tim e, given the ordering of th e vertices [Cha91]), found the registration m ark for each triangle in 0 ( N 2 log N log* N ) tim e and then chosen the best m ark for th e entire polygon. However, this would lead to a higher tim e com plexity th an j given by Theorem 20. 3 .6 .3 O th er p lan ar p a rts Any planar p art (not necessarily convex) bounded by n circular/linear arcs can be handled very sim ilarly as before and in the same tim e complexity. Such parts are called “generalized polygonal” in [RG92e]. T he only difference ! betw een th e polygon problem of Section 3.6.2 and the one in this section is I th a t for th e current class of parts, all regions of th e p artitio n will have only 25If we had to solve higher degree equations than a quartic, num erical/approxim ation techniques m ay have to be used. curved boundaries while in the polygon problem some regions, nam ely those shared boundaries w ith the polygon, had straight edge boundaries. ! I Arcs of higher algebraic forms can also be handled. However, rath er th an getting m ere quartics (th a t can be solved analytically in 0 (1 ) tim e) from Equa- ; j tion 3.4, we would get higher degree equations in 7 . Num erical techniques will I have to be em ployed in th e search for a solution. 1 3 .6 .4 D e sig n for re co g n iz a b ility 1 1 The only occasion we m ake use of the p art shape in Section 3.6.2 is in locating j . th e vertices of th e part in th e m inim ization diagram of the entire plane. We could im agine a design for recognizability scenario which partitions th e entire ; plane instead of any particular part. This can be done in 0 ( k 4 log k log* k) ' ■ tim e given k transform s. Now, depending of the sensor error value, we can design th e p art so th a t it has a ’good’ registration m ark placem ent, i.e. one th a t results in a registration m ark distance greater th an the m inim um distance : sensitivity of the sensor. Later, if we change the shape of th e p art, we would j like to retain these good registration m ark points . For exam ple, if we w anted ] to punch a hole through a p art, we could try and avoid th e registration m ark i ! point. ; I , I In general, say th e sensor has a distance accuracy > ds. We have to look for l , | th e set I of points x , y such th a t M (a;, y) > ds, where M is the lower envelope of I the distance functions obtained from the transform s. This is easy to do given the p artitio n (takes 0 ( N 2) additional time: need to find the points in each region and take their disjoint union). Now look at this region of points / and pick any convenient point w ithin it and include it into your p art description. j t However, note th a t we are working under the assum ption th a t th e trans- j forms are independent of p art shape. If, as in orienting p arts w ith the m ulti- 1 ! axis gripper (A ppendix B), the transform itself depends on p art shape, this j ! approach of design for recognizability cannot be used. ' 3 .6 .5 3 -D p o ly h e d r a l p a rts Assum ing 3D transform s on polyhedral parts, placing registration m arks on I polyhedral parts can be handled by our approach. We exploit th e decom- I position principle (Section 3.6.2) and solve the problem for every face. T he j only observation th a t needs to be m ade is th a t distance functions dfj corre sponding to a pair of 3D transform s i,j acting on planar points (x,y) (points belonging to a particular face) for planar faces are of the form f ( x , y) = A x 2 + B y 2 + Cxy + D x + Ey + F. However, these could be non-circular (in general conic : elliptical, hyperbolic, also). Two such curves intersect in , at m ost s — 4 points, rather th an two points. From [SS90], we observe th a t j such curves can also be handled. M* now has a slightly increased com plexity of 0 ( N \ s+2 ( N )) = 0(NXe(N)) = 0 ( N 2 log* N). However, no additional increase in th e other com putation steps exist. j However, in applying the decom position principle, we need to take care , to com bine the individual face registration m ark solutions only if the solutions j points are visible from the sensor in all the transforms. If not, the sim ple vision j sensor and registration m ark system will not work. In such a case, we have j I to look for an em m itter/receiver com bination instead. Notice th a t th e best j registration m ark point for a polyhedron m aybe anywhere in its interior. We ; are assum ing therefore, in this section, th a t the m ark /em m itter can be placed j only of the surface of th e polyhedron because this allows the application of the j planar technique. I i 3 .6 .6 E x p e r im e n ts j I To see why a good registration m ark is im portant, we conducted some exper- , im ents which will be described in this section. We used Mathematica Version j I 2.0 [Wol91] for m aintaining the equations and solving th e quartics involved in I th e following exam ple. Consider th e following three transform s (k = 3). Each | transform (rigid m otion) below is shown w ith a translation com ponent X i,Y i j and a ro tatio n com ponent 0 ,. j X i = 0.5, yx = 0.5,0! = 0 ! _______________ __ 158 ; X 2 = — O.5 I 2 = 0.5, &2 = x /2 X 3 = — 0.25,13 = — 11, @3 = tt/4 — 7r/36 (40 degrees) In representing distance functions, we choose to ignore the superscript of 2 indicating squared distance functions. Thus d2 2 will be shown as d ij2. y) = 1 + 2s + 2y + 2(x2 + y2) N um erical approxim ations of the rest are now shown. d1 > 3 (x , y) = 132.8 — 14.4s + 6.3 y + 0 .5 (s2 + y2) d2i3(s, y) — 132.3 + 8.6s - 17.4y + 0 .7(s2 + y2) By we im ply ditj - di> m . di,2 ,1 ,3 (3 , y) = -1 3 1 .8 + 16.4s - 4.3y + 1.5(s2 + y 2) d\,2,2,s{x,y) = —131.3 — 6.6s + 19.4y + 1.3(s2 + y2) ^i,3 ,2 ,3 (®, y) = 0.5 - 23.0s + 23.8y — 0 .2 (s2 + y2) Points (s, y) where : d ij3i2)3 = di,2 ,2 ,3 = di,2 ,1 ,3 are: {{s -»• 4.8, y 5.1}, {s -» -1 0 .3 , y -»• -8 .2 } } See Fig.s 3.29, 3.30, 3.31. We perform ed th e following experim ent to illustrate how th e choice of reg istratio n m ark can affect the ability of a m achine vision system , in th e presence of noise, to distinguish betw een m ultiple poses of a p art. We printed two im ages of four transform ed parts (in this case a “key” shape). In Image A the registration m ark is located suboptim ally. In Image B the registration m ark is located optim ally. 159 20 10 -10 20 -20 10 0 10 20 Figure 3.29: T he three curves (circles) c?i,2 ,i,3 = 0 ,ch,2 ,2 , 3 = 0, and <^3 /2 ,3 = 0. m utually intersecting at the two points (4.789,5.126) and ( — 10.298,-8.197) (T he circles are shown incom pletely). These two points are local m axim a in th e lower envelope of cf12, dlt3 , < ^ , 3 and can therefore be considered good reg istratio n m ark points. See next two figures. This is an exam ple m inim ization diagram . Any connected region of this m inim ization diagram is bounded by circular arcs. T here are three regions in this m inim ization diagram. Each con nected region is shown associated w ith exactly one of the distance functions / th a t achieves the lower envelope M over the com plete region. For exam ple, the region shaded vertically is associated with the distance function 3. Through out points in this region, d1 3 < m in{dit2 , ^ 2 ,3 }, equality being achieved only at th e boundary of the region. 1 60 Figure 3.30: T he lower envelope of c?i, 2 , di,3 , < ^ 2 , 3 over th e square x,y 6 [--20, 20]. However, th e local m axim a at (4.789,5.126) and (—10.298, — 8.197) are not quite discernible. See the next figure for a zoom in. 161 Figure 3.31: To observe the local m axim um at (4.789,5.126), we zoom in and observe the lower envelope of c?ij2, di,3 , d 2,3 over th e sm aller square i , t / £ [3,6 ]. T hus, for th e set of three transform s we began w ith, (4.789,5.126) is a good registration m ark point. So is the other local m axim um (-1 0 .2 9 8 ,-8 .1 9 7 ) which isn’t shown here. 162 T he first three transform s on th e p art are as before. T he 4th transform is described by: X 4 = -2 .0 , Y4 = 25.0, 04 = 7 T . ; 1 In Image A, the registration m ark was chosen at (0,0) in p art coordinates; 1 in Image B registration m ark was chosen at (6.15,6.83). See Fig.s 3.32 and 3.33. I j We repeated the following for each image. A Sony C am era was m ounted ! above a postscript printout of th e im age to capture a 512 x 512 grey-level image. T he Image-Calc system from SRI was used to process th e images as j i follows. F irst, we windowed the images down to 450 x 250 as shown. These windowed images, Images A,B, are shown in Fig.s 3.34 and 3.35. I Now we perform ed G aussian sm oothing using a 3 x 3 filter to blur each 1 im age, followed by a contrast enhance m apping grey-level values in th e range j { 100-150 to th e full scale. T he resulting images, images C,D, are shown in Fig.s . 3.36 and 3.37. T he blurring operation is m eant to suggest th e type of noise th a t m ay be encountered by a m achine vision system . These images would be j the input to a vision system under non-ideal conditions. | As can be seen when com paring Fig.s 3.36 and 3.37, two of th e registration ' < m arks in Image A are difficult to distinguish in Image C, even by th e hum an i eye. Hence even the m ost sophisticated image processing algorithm s would have difficulty in distinguishing betw een all p art poses. However, in Im age D, each registration m ark is distinguishable. i I 3 .6 .7 S o m e co n clu d in g rem ark s I I I We did not really m odel the curves form ing the boundary of th e keys. Instead | we m ade use of th e Principle of C ontainm ent (Section 3.6.2) and Design for i Recognizability ideas. We first determ ined a good registration m ark point . (6.15.6.83). Next we determ ined a circular region of the plane centered at (6.15.6.83) of radius 10 and determ ined th a t a good registration m ark point for th e entire circle is (6.15,6.83). Finally, we designed a key w ith fancy curves lying wholly w ithin th a t circle and containing (6.15,6.83). 163 Figure 3.32: T he k = 4 transform s case: T he lower envelope M for th e 4 x 3 /2 = 6 distance functions over th e square x ,y £ [— 20,20]. Com pare th e com plexity of this lower envelope versus th e one given in Fig. 4 for th e case of three transform s. 164 Figure 3.33: Zooming into th e lower envelope M of th e previous figure to observe portion over the square x ,y € [0,10]. Notice th a t (0,0) is clearly a bad choice for placing th e m ark (because th e registration m ark distance corre sponding to (0,0), M (0 ,0 ), is sm all) while (6.15,6.83) is good (M (6 .1 5 ,6.83) is high). 165 Figure 3.34: Im age A: W indowed image of the four keys w ith bad registration m arks. Figure 3.35: Im age B: W indowed image of the four keys w ith good registration m arks. 166 r Figure 3.36: Im age C: A fter image processing on the bad registration m ark image. Notice only 3 distinct “blurs” w ith two registration m arks th a t were close to each other being coalesced into one. Figure 3.37: Image D: A fter image processing on the good registration image. Notice 4 distinct “blurs.” T he registration m ark problem can be seen to be of th e Continuous Max- imin type of problem . General purpose optim ization techniques can be used to solve th e problem [Aok71, Had64]. These techniques generally work by iterative-refinem ent : guessing a registration m ark placem ent, and then refin ing it as the algorithm proceeds. There are convergence issues to be tackled in such algorithm s (e.g. as in a bad initial guess). Our technique differs from these | techniques in th a t we do not iteratively refine a solution - after the preprocess- J ing (com putation of th e lower-envelope), the optim al placem ent is determ ined j by a search for the m axim um in the lower-envelope. Also, our m ethod always i I finds th e solution in tim e alm ost quartic in num ber of poses. 1 We have defined a new practical industrial problem related to pose esti m ation by m achine vision. Its solution borrows from previously known work in com putational algebra and results in a simple pose-recognition system for a i polygonal p art th a t can exist in a finite num ber of poses. T he solution m ay be extended to non-polygonal planar parts and 3D polyhedral parts. : A possible m echanism th a t leaves a p art in a finite num ber of known poses | is described in A ppendix B. [ I C h a p te r 4 C o n clu sio n s an d F u tu re W ork Section 1.3 gives a sum m ary of contributions m ade in this dissertation. T here are several related possible extensions and im provem ents to and open problem s in the work presented. These are discussed next. Some of these have been lifted out of m y thesis-proposal: problems th a t I have not been able to solve as yet b u t would like to study further. T he rest of them have arisen out of investigations m ade since then. 1 1. Connected w ith the SH A PE problem , Kang and Goldberg [KG92] study how random grasping on an unknown (up to one out of a finite set) p art : helps in shape recognition. For a small num ber of distinguishable parts, ! they show th a t random grasping perform s satisfactorily. However, one j can come up w ith exam ples of two parts, close in shape where random ! grasping could require an arbitrarily high num ber of grasps. A nother ' difficulty in this approach and th a t of ours is th a t the feasible set of j parts need to be modeled accurately. Kang and Goldberg are currently ! extending this to th e scenario where the parts need not be m odeled. J T he robot first, in a sense, “learns” the shape of every p art by random ly j grasping the p art several (say a hundred) tim es and records the incidence j of diam eter m easurem ents. Then an unknown part from th e among the j set is presented on which a designed grasp strategy (somewhat along the lines presented here) can be executed to recognize it. This m ethod should work fine if the “learning” phase “catches” every stable diam eter of all the i 169 i p art since th en the com plete graph of stable diam eters can be constructed based on which our techniques could produce a grasp strategy. The problem s arise when not all stable diam eters are “caught” during j th e random grasping. An interesting problem would be “given a specific polygon P , w hat is the probability th a t every stable diam eter is m easured during N random graspings.” Note th a t the problem is com plicated be cause grasping changes orientation and only diam eters at stable equilibria I can be m easured. However, it m ay not be necessary to build the entire | j graph of stable diam eters in order to recognize th e parts. Note th a t sub- ! graphs of th e graph of stable diam eters also give rise to grasp strategies. ! It will be interesting to study the effectiveness of these ’p artia l’ grasp I strategies. j I 2. T he preprocessing for the suboptim al grasp strategy only requires poly- ! nom ial ( 0 ( n 2 lo g n )) tim e. It generates a grasp plan requiring at m ost n grasps. It is suboptim al because of the arbitrary choices of cutting edge J and cutting orientation. It would be interesting to study th e expected i grasp lengths produced, at least empirically, if not theoretically. We ex pect th a t n is really quite a conservative upper-bound bound on the grasp length and the average behavior would result in grasp plan lengths m uch ! smaller. j D espite our best efforts, the com plexity of the preprocessing for the op tim al grasp strategy, does not to appear smaller th an exponential. Is th e problem of generating optim al plans iVP-hard? More formally, is the following decision problem AP-com plete? Given a set of k distinguishable polygons represented by their graph of ■ stable diam eters w ith n vertices, is there a grasp plan requiring at m ost \ h grasps to recognize an unknown polygon from among the k l | | Identifying a set of convex polygons using a m inim um num ber of probes ! was shown to be A P-hard in [Bel90] under a different probing m odel from ours. A probe in their m odel refers to a directed line aim ed at a polygon and returns th e point of intersection of th e probe and the polygon. 3. A nother problem is when we are given planar curved p art, w hat is the polygonal approxim ation obtained after N random graspings? Polygonal approxim ation of curved objects is a well-studied topic dating back to 1948 [Tot48]. Recent results w ith a different probing m odel than ours is presented in [LB]. However, in our case, th e problem has to be rede fined because there cannot exist unique polygon com patible w ith s set | of diam eter m easurem ents (even m inim al polygons). Can we at least ! obtain the lists of edge orientations and partial perim eters (which char- j acterize a diam eter function as shown in Theorem 4) of a polygon which ! approxim ates the curved part? Is such inform ation useful? J Theorem 3 characterized diam eter functions of polygonal parts. Is there an analogous characterization for, say, G P-parts to take the sim plest class of curved parts? Shape recovery from diam eter functions for G P -parts was known to be impossible since Euler at least for constant w idth func tions (examples: circle and Reuleaux triangle). However, analogous to T heorem 4, can we come up w ith results indicating how m uch inform ation ; about the p a rt’s convex hull is recoverable? j 4. Using light beam sensors seem an attractive m ethod to try and recover ; shape. W ith light beam sensors, we can m easure diam eters at every ! orientation, not only those at stable equilibria. Thus, we m ay be able to sim ultaneously solve the SH A PE and PO SE problem . This has been ! p artly investigated by W allack and Canny [WC92b]. 5. There are several open questions related to the PO SE problem . W ith j respect to developing parallel algorithm s, the first question should be j im plem entability on a fixed-sized mesh architecture. W hat is desired is i a 0(n2f(n)/Q) sim ulation of the n x n solution on a Q x Q m esh, for J small f(n). For Q = n, f is constant, but for Q smaller, due to the j com plicated routing steps involved, we expect f(n) = log n. Also, we \ would like to investigate the addition of m ore m em ory into a processor. j Right now, we assum e 0 (1 ) words per processor. W hat if it is increased j to K words, for some K . Lin, Prasanna, and P rzytula have shown th a t in such a case, certain global routing operations can be sim ulated w ith j f{n ) = logQ A -(n), which is an im provem ent by a factor of log2 Q K . One j negative aspect of a m esh architecture is its large diam eter. We would 1 I also like to investigate im plem entations on other architectures such as the hypercube to obtain further speedups. Also, we would like to study ! parallelization of A lgorithm A! orienting generalized polygons and also the transfer function com putation of generalized polygons. 6 . Considering sequential algorithm s for orienting planar parts, th e m ost nagging question is th a t of com puting transfer functions of other classes of curved parts. R estricting ourselves to a p art m ade up of bounded degree polynom ial curves, it can be shown [Ier91] th a t we can construct a semi- algebraic representation, involving quantifiers, of its diam eter function; j and on elim inating quantifiers from this representation it follows th a t the ] diam eter function has a finite num ber of local m axim a and m inim a and regions of constant diam eter. Furtherm ore, these extrem al orientations i are com putable straightforw ardly from the quantifier-free form [Col75, j Ren89]. A lthough this is not going to be an efficient algorithm , it would still be w orthwhile investigating further. However, can we come up w ith J m ore direct algorithm s for, say, parts m ade up of 2 nd degree conic arcs? j We would also like to avoid num erical techniques. The first step is to ; come up w ith analogue to Lem m a 19 - a simple set of rules to classify j an orientation. ! In Theorem 17, we showed th at given any transfer function, there is a G P -part consistent w ith it. Therefore another approach to orienting an arb itrary curved p art P is to com pute a G P-part P' w ith th e same tran s fer function. This has to be done w ithout of course having to com pute : th e transfer function of P - which is w hat we want to avoid in th e first , place. It has to be done based on the shape description of P alone. How ever, GP- or polygonal-parts merely “close” to P in say, th e Hausdorff j sense, m ay not work because small changes in p art description can lead i to drastic changes in transfer function. Consider a right angled triangle. Its transfer function is a single step. Moving the right vertex slightly outw ard would create an acute angled triangle having three steps in its transfer function. Therefore, we desire th a t P and P' have the exact transfer function. 7. Probably the m ost useful extension to this work lies in considering 3D parts - at least polyhedra. Prelim inary results related to com puting the stable resting poses of a polyhedra and the probabilities th a t a random ly dropped p art will fall and tum ble into each stable pose are presented in [WRG92]. M uch work rem ains. Initially, we could assum e away the dynam ics but would later have to consider it and this would greatly com plicate m atters. B ut even w ithout dynamics, the problem is hard enough. For Instance, in the presence of gravity, is the grasping process w ith a parallel jaw gripper determ inistic? Is a analogous approach to orienting 2D parts applicable to 3D? Namely, consider m inim a in the 3D diam eter (or radius) function and backchain. How do 3D diam eter functions look like? Valleys correspond to stable faces in the case of polyhedra and will not be single orientation but an infinite line of orientations. 8 . Connected w ith th e registration m ark problem, a recent private com m u nication from Pankaj Agarwal [Aga92] indicates th a t perhaps the m ini m ization diagram for th e entire plane can be com puted 0(k4 log k) tim e (cuts off a log* k factor from the result presented in Theorem 20). This will be investigated in future research. A dditional work on sensor/length-of-plan tradeoffs is desirable. However as m entioned at the outset, in industrial applications, we should try and lim it sensing. 9. T here are some open problem s in relation our work on friction. One is th e w hether the converse of Theorem 17 holds: i.e. given a step- ram p transfer function T, is there a planar part (preferably GP) P and a coefficient of friction j i (determ inistic friction) such th a t if Tf is the transfer function of P under friction /i, then F = T/? This is tru e if we are allowed to choose fj. = 0, but w hat about for non-zero /i? T he problem becomes interesting if P is constrained to be polygonal and friction cones allowed to be non-sym m etric. Also, there rem ains the question of finding th e shortest plan in the non-determ inistic friction case. Our approach in Theorem 18 is conservative because we assum e friction to be a worst case adversary (while finding th e next collapsing interval). Finally, we should consider the effects of spatial non-uniform ity and velocity dependence of th e coefficient of Coulomb friction. 10. Finally, looking ahead to assembly - the grand daddy of all robotic ma- j nipulation problems. Clearly, the SH A PE and PO SE problem s as pre- ! sented here are im portant sub-problem s to th e problem of assembly. In ! tu n e w ith the RISC approach to robotics, our group is interested in w hat we call “One-Handed Assembly” or OHA - th e problem of assem bling a set of parts lying on a table into a product. The general assembly sequencing problem has been well studied by W ilson [Wil92] and oth- ( ers [dME91, Lee92]. W ith only one hand complex m ating between parts , is not possible. Also one subassem bly has to be always resting stably j on the w orktable while the others are being grasped or assembled. We are interested in studying constraints on individual p art shapes, direc tions of possible m atings, and also stability, friction, and grasping issues | th a t would guarantee th a t the product be assembled w ith only one hand. j Some prelim inary results were presented in [GRW92]. [ B ib lio g ra p h y [ACO+ 8 8 ] A. Aggarwal, B. Chazelle, C. O ’Dunlaing, L. Guibas, and C-K. Yap. Parallel com putational geometry. Algorithmica, 3(293-327), 1988. [Aga92] P. Agarwal. Tim e com plexity of com puting lower envelopes. P ri vate Com m unication, April 1992. [AH8 6 ] M. J. A tallah and S. E. Ham brusch. Solving tree problem s on a m esh-connected processor array. Information and Control, 69:168- 187, 1986. [AHM85] J. M. Abel, W . H oltzm ann, and J. M. M cCarthy. O n grasping planar objects w ith two articulated fingers. In International Con ference on Robotics and Automation. IEEE, 1985. [AK84] M. J. A tallah and S. R. K osaraju. G raph problem s on a mesh- connected processor array. Journal of the A C M , 31(3):649-667, 1984. [Aok71] M. Aoki. Introduction to Optimization techniques. M acm illan, Inc., New York, 1971. [ASS89] P. Agarwal, M. Sharir, and P. Shor. Sharp upper and lower bounds on the length of Davenport-Schinzel sequences. Journal of Combi natorial Theory, Series A, 52:228-274, 1989. [Ata85] M. J. A tallah. Dynam ic com putational geomeetry. Comp. Math, with Applications, 11:1171-1181, 1985. [AZ89] M. J. A tallah and D. Z. Zhen. An optim al parallel algorithm for the visibility of a simple polygon from a point. In Annual Symposium on Computational Geometry, pages 114-122. ACM, 1989. [Bel90] P. Belleville. Probing polygons m inim ally is hard (extended ab stract). In 2nd Canadian Conference on Computational Geometry, pages 50-53, 1990. [Ben6 6 ] [BFG85] I [BM89] [BPM82] [Bro8 8 ] I 1 4 J [Buc8 6 ] [CG93] [Cha91] [CM85] [Cho80] I [CI91] [CI92] [Col75] R. V. Benson. Euclidian Geometry and Convexity. M cGraw-Hill Book Company, 1966. B. S. Baker, S. Fortune, and E. Grosse. Stable prehension w ith a m ulti-fingered hand. In IEE E International Conference on Robotics and Automation, 1985. R. C. Brost and M. T. Mason. G raphical analysis of planar rigid- body dynam ics w ith m ultiple frictional contacts. In 5th Interna tional Symposium on Robotics Research, 1989. G. Boothroyd, C. Poli, and L. E. M urch. Automatic Assembly. M arcel Dekker, Inc., 1982. R. C. Brost. A utom atic grasp planning in the presence of uncer tainty. The International Journal of Robotics Research, 8(1), Febru ary 1988. S. J. Buckley. Planning and Teaching Compliant Motion Strategies. PhD thesis, M IT, January 1986. J. F. Canny and K. Y. Goldberg. A RISC paradigm for robotics. In International conference on Robotics and Automation (IC RA ), 1993. (subm itted). B. Chazelle. Triangulating a simple polygon in linear tim e. Discrete and Computational Geometry, 6:485-524, 1991. S. L. Chiu. G enerating com pliant m otion of objects w ith an artic ulated hand. M aster’s thesis, M IT Dept, of EEC, 1985. A. Chow. Parallel Algorithms for Geometric Problems. PhD thesis, University of Illinois, C om puter Science D ept., 1980. Y-B. Chen and D. J. Ierardi. Distinguishing polygons by sensing di am eters. Technical R eport USC-CS-92-503, University of Southern California, D ept, of C om puter Science, December 1991. Y-B. Chen and D. J. Ierardi. Oblivious plans for orienting and distinguishing polygonal parts. In The 4 th Canadian Conference on Computational Geometry, 1992. G. E. Collins. Q uantifier elim ination for real closed fields by cylin drical algebraic decom position. In Lecture Notes in Computer Sci ence, Volume 33. Springer-Verlag, New York, 1975. 176 j [Cor91] [Cut85] [CV91] [CY87] [Deh8 6 ] [dME91] [Don8 8 ] [DS65] | [DS90] [Ede87] [E1187] [EM86] ! M asPar C om puter Corporation. M asPar overview and MP-1 sys tem m anuals, July 1991. Sunnyvale, CA 94086. M. R. Cutkosky. Grasping and Fine Manipulation for automated ! manufacturing. PhD thesis, D epartm ent of M echanical Engineer ing, CM U, 1985. V. C handru and R. Venkataram an. Circular hulls and Orbiforms of sim ple polygons. In Symposium on Discrete Algorithms (SODA). SIAM -ACM , 1991. R. Cole and C. K. Yap. Shape from probing. Journal of Algorithms, 8(l):19-38, 1987. F. Dehne. 0(rJ/2) algorithm s for the m axim al elem ents and ecdf searching problem on a m esh-connected parallel com puter. Infor mation Processing Letters, 22:303-306, 1986. L. S. Hom em de Mello and S. Lee (Ed.s). Computer-aided Mechani cal Assembly Planning. Kluwer Academic Publishers, Boston, MA, 1991. B. R. Donald. A geom etric approach to error detection and recovery for robot m otion planning w ith uncertainty. Artificial Intelligence, 37:223-271, 1988. i i H. D avenport and A. Schinzel. A com binatorial problem connected j w iw th differential equations. American Journal of Mathematics, 87:684-694, 1965. j i D. P. Dobkin and D. L. Souvaine. Com putational geom etry in a curved world. Algorithmica, pages 421-457, 1990. H. Edelsbrunner. Algorithms in Combinatorial Geometry. EATCS M onographs on Theoretical Com puter Science. Springer-Verlag, Berlin, 1987. R. Ellis. Acquiring tactile d ata for the recognition of planar ob- t jects. In IE E E International Conference on Robotics and Autom a tion, 1987. ' M. A. E rdm ann and M. T. Mason. An exploration of sensorless m anipulation. In IEEE International Conference on Robotics and \ Automation, 1986. I [Epp90] [Erd84] [FC92] [Fea83] [FKS84] [FP91] [GB75] [GF92] [GHM89] [GJ79] [GLP84] [GLP87] D. Eppstein. Reset sequences for m onotonic autom ata. S IA M Jour nal o f Computing, 19(5), 1990. M. A. Erdm ann. On m otion planning w ith uncertainty. M aster’s thesis, M IT, A ugust 1984. C. Ferrari and J. Canny. Planning optim al grasps for generalized polygons. In International conference on Robotics and A utom ation (ICRA ). IEEE, 1992. R. S. Fearing. Touch processing for determ ining a stable grasp. M aster’s thesis, M IT, Septem ber 1983. M. L. Fredm an, J. Komlos, and E. Szemeredi. Storing a sparse table w ith 0 (1 ) worst case access tim e. Journal o f the A C M , 31(3):538- 544, July 1984. B. Faverjon and J. Ponce. On com puting two-finger force-closure grasps of curved 2d objects. In International Conference on Robotics and Autom ation. IEEE, May 1991. D. D. G rossm an and M. W . Blasgen. O rienting m echanical p arts by com puter-controlled m anipulator. IEE E Transactions on System s, M an, and Cybernetics, pages 561-565, 1975. K. Y. Goldberg and M. Furst. Low friction gripper. U.S. P aten t ff 5,098,145, M arch 1992. R. A. G rupen, T. C. Henderson, and I. D. M cCam m on. A survey of general purpose m anipulation. International Journal o f Robotics Research, 8(1), 1989. M. G arey and D. B. Johnson. Computers and Intractibility: A guide to the theory o f NP-completeness. Freem an, New York, 1979. P. C. Gaston and T. Lozano-Perez. Tactile recognition and local ization using object models: The case of polyhedra on a plane. IE E E Transactions on Pattern Analysis and M achine Intelligence, 6:257-266, May 1984. W . E. L. Grimson and T. Lozano-Perez. M odel-based recognition and localization from sparse range or tactile data. IE E E Trans actions on Pattern Analysis and Machine Intelligence. 9:469-482, July 1987. 178 _ j [GM90] I [GME91] [GMR92] [Gol90] [Gol91] [Gol92] [GRP91] [GRW92] [HA77] * [Had64] j j [Har63] J i j [Hog84] K. Y. Goldberg and M. T. Mason. Bayesian grasping. In Interna tional Conference on Robotics and Autom ation. IEEE, May 1990. K. Y. Goldberg, M. T. Mason, and M. A. Erdm ann. G enerat ing stochastic plans for a program m able parts feeder. In Interna- | tional conference on Robotics and A utom ation (ICRA), Sacram ento, j Calif., April 1991. IEEE. K. Y. Goldberg, M. T. Mason, and A. A. G. Requicha. NSF work shop on geom etric uncertainty in robot m otion planning: Sum m ary report and bibliography. Technical R eport #297, In stitu te of Robotics and Intelligent Systems (IRIS), Los Angeles, Calif. 90089- 0273, August 1992. (The NSF-sponsored Workshop was held on C atalina Island, California, June 14-17, 1992). K. Y. Goldberg. Stochastic plans fo r robotic manipulation. PhD thesis, Carnegie-M ellon University, School of C om puter Science, A ugust 1990. j K. Y. Goldberg. A kinem atically-yielding gripper. In 22nd Inter- j national Sym posium on Industrial A utom ation, O ctober 1991. j t K. Y. Goldberg. O rienting polygonal parts w ithout sensors. Algo- \ rithm ica, 1992. Special issue on robotics (to appear). j I I S. Goyal, A. Ruina, and J. Papadopoulos. P lanar sliding w ith dry friction - p art i: Lim it surface and m om ent function. Wear, : 143:307-330, 1991. K. Y. Goldberg, A. S. Rao, and J. Wiegley. One handed assembly. Invited presentation at the A llerton Conference on Communuica- tion, Control and Com puting, Septem ber 1992. H. H anafusa and H. Asada. Stable prehension by a robot hand w ith elastic fingers. Trans, o f Soc. o f Inst, and Control Engineers, 13(4), 1977. Also see the section by th e authors in Robot M otion: i Planning and Control, edited by B rady et. al, M IT Press, 1983. 1 j G. Hadley. Nonlinear and D ynam ic Programming. Addison-Wesley, \ Reading, M ass., 1964. i i W . H. H art. Analytic Geometry and Calculus. H eath, Lexington, ' M ass., 1963. page 323. I N. Hogan. Im pedance control of industrial robots. Robotics and ■ Com puter Integrated M anufacturing, 1984. ___________________ 1 7 9 _ j [Hor86] [IC91] [Ier91] [Ino74] [Jam85] [Ker84] [KG92] [Lat89] [Lau87] [LB] [Lee92] [Li88] [LPMT84] B. K. P. Horn. Robot Vision. M IT-Press/M cG raw -H ill, 1986. I D. J. Ierardi and Y-B. Chen. The com plexity of oblivious plans | for orienting polygonal parts. Technical R eport USC-CS-92-502, ; U niversity of Southern California, Dept, of C om puter Science, De cem ber 1991. ! D. J. Ierardi. Com plexity of diam eter functions of parts w ith alge- ; braic boundaries. Private Com m unication, June 1991. i H. Inoue. Force feedback in precise assembly tasks. Memo 308, M IT Artificial Intelligence Laboratory, August 1974. ' J. Jam eson. Analytic Techniques fo r Autom ated Grasp. PhD thesis, J D epartm ent of M echanical Engineering, Stanford University, June ; 1985. * J. R. Kerr. A n Analysis o f Multifingered Hands. PhD thesis, Stan ford D ept, of M echE, 1984. : D. Kang and K. Y. Goldberg. Shape recognition by random grasp ing. In IE E E /R S J International Conference on Intelligent Robots \ and System s (IROS), July 1992. j J-C. Latom be. M otion planning w ith uncertainty: On the preim age ! backchaining approach. In The Robotics Review /, pages 53-70. M IT Press, 1989. edited by O. K hatib, J. J. Craig, and T. Lozano- Perez. J. P. Laumond. O bstacle growing in a non-polygonal world. Infor m ation Processing Letters, 25(1), 1987. t M. Lindenbaum and A. M. Bruckstein. Blind approxim ation of pla nar convex sets. Subm itted to the IEEE Transactions on Robotics and Autom ation. I S. Lee. Backward assembly planning w ith assembly cost analysis. j In International conference on Robotics and A utom ation (ICRA ), | Nice, France, M ay 1992. IEEE. ! ! S-Y. R. Li. Reconstruction of polygons from projections. Inform a tion Processing Letters, 28:235-240, 12 Aug. 1988. T. Lozano-Perez, M. T. Mason, and R. H. Taylor. A utom atic syn thesis of fine-motion strategies for robots. International Journal of Robotics Research, 3(l):3-24, Spring 1984. j I 180 ! | [LPP91] [LR89] [Mas78] [Mas82] [Mas86a] [Mas86b] [Mas91] [MGT88] i I | [MP89] I [MS85] [MS88] W -M Lin, V. K. Prasanna, and K. W. Przytula. A lgorithm ic m apping of neural network models onto parallel SIMD machines. IE E E Transactions on Com puters, 40(12):1390-1401, D ecem ber . 1991. (special issue on Artificial Neural Networks). K. A. Lyons and D. H. R appaport. An efficient algorithm for iden tifying objects using robot probes (abstract). In 1st Canadian Con ference on Com putational Geometry, page 7, 1989. M. T. Mason. Compliance and force control for com puter controlled m anipulators. M aster’s thesis, M IT, May 1978. M. T. Mason. M anipulator Grasping and Pushing Operations. PhD thesis, M IT, June 1982. published in Robot Hands and the M echan ics o f M anipulation, M IT Press, 1985. M. T . Mason. Mechanics and planning of m anipulator pushing operations. International Journal o f Robotics Research, 5(3), Fall 1986. M. T. Mason. On th e scope of quasi-static pushing. In 0 . Faugeras and G. G iralt, editors, The Third International Symposium, on Robotics Research. M IT Press, 1986. M. T. Mason. Kicking the sensing habit. In Asilom ar W inter W ork shop. AAAI, November 1991. M. T. Mason, K. Y. Goldberg, and R. H. Taylor. Planning se- ; quences of squeeze-grasps to orient and grasp polygonal objects. t Technical R eport CMU-CS-88-127, Carnegie Mellon University, | C om puter Science D ept., P ittsburgh, PA 15213, A pril 1988. j i X. Markenscoff and C. H. Papadim itriou. O ptim um grip of a poly- 1 gon. IJR R , 8(2), April 1989. j i R. M iller and Q. F. Stout. Geom etric algorithm s for digitized pic- 1 tures on a m esh-connected com puter. IEE E Transactions on P at tern Analysis and M achine Intelligence, PAM I-7(2):216-228, M arch 1 1985. R. M iller and Q. F. Stout. Efficient parallel convex hull algo- j rithm s. IE E E Transactions on Computers, 37(12): 1605— 1618, De- i cem ber 1988. ; [MS89] [MSS87] [MW85] [Nat 86] [Nat89] [Nev82] [Ngu89] [NS81] [Pes86] [PN87] [PPB74] [PR92a] R. Miller and Q. F. Stout. Mesh com puter algorithm s for com puta tional geometry. IEE E Transactions on Com puters, 38(3):321-340, M arch 1989. B. M ishra, J. T. Schwartz, and M. Sharir. On the existence and synthesis of m ultifinger positive grips. Algorithmica, 2(4):641-558, ' < 1987. : i M. M ani and R. D. W . Wilson. A program m able orienting system 1 for flat parts. In Proc: North Am erican Mfg. Research Inst. C onf \ X III, 1985. ; B. K. N atarajan. On Moving and Orienting Objects. PhD thesis, Cornell C om puter Science, 1986. * B. K. N atarajan. Some paradigm s for th e autom ated design of 1 parts feeders. International Journal o f Robotics Research, 8(6):98- 109, December 1989. Also appeared in IEE E FO CS, 1986. ' R. Nevatia. M achine Perception. Prentice-H all, Inc., New Jersey, 1982. : V-D. Nguyen. C onstructing stable grasps. International Journal o f Robotics Research, 8(1), 1989. D. Nassimi and S. Sahni. D ata broadcasting in SIMD com puters. IEE E Transactions on Com puters, C-30:101-107, 1981. M. A. Peshkin. Planning Robotic M anipulation Strategies fo r Slid ing Objects. PhD thesis, Carnegie-Mellon University, D epartm ent ’ of Physics, P ittsburgh, Pennylvania, Nov 1986. Also published as j a book: Robotic M anipulation Strategies, Prentice Hall, 1990, New Jersey. W . P rzytula and G. Nash. A special purpose coprocessor for sig nal processing and robotics. In 21st Asilom ar Conf. on Signals, j System s, and Computers, 1987. ; 1 K. Pingle, R. Paul, and R. Bolles. Programmable Assembly: Three \ Short Examples. Stanford AI Lab Film , 1974. i V. K. P rasanna and A. S. Rao. Parallel algorithm s for robotics - a j survey. Com puter Science and Inform atics, 1992. (to appear as an invited article). | [PR92b] i t | [PS85] | [PS88] [Rap87] [Rav91] [RBS87] [Ren89] [RG92a] I ; [RG92b] I I [RG92c] V. K. P rasanna and A. S. Rao. Parallel orientation of polygonal parts. IEE E Transactions on Robotics and A utom ation, 8(5):678- 687, O ctober 1992. Portions presented at the Int. Conf. on Parallel ' Processing, DuPage County, IL, August 1992. F. P. P rep arata and M. I. Shamos. Com putational G eometry, A n Introduction. Springer-Verlag, New York, 1985. ! M. A. Peshkin and A. C. Sanderson. Planning robotic m anipulation | strategies for workpieces th a t slide. IE E E Journal o f Robotics and I A utom ation, 4(5), O ctober 1988. D. R appaport. Com puting simple circuits from a set of line seg m ents is np-complete. In Annual Sym posium on Com putational Geom etry, pages 322-330. ACM, 1987. D. Raviv. A quantitative approach to cam era fixation. In Inter - j national Conference on Com puter Vision and Pattern Recognition (C V PR ), pages 386-392, M aui, Hawaii, June 1991. IEEE. V. T. R ajan, R. Burridge, and J. T. Schwartz. Dynamics of a rigid j body in frictional contact w ith rigid walls. In IEEE International Conference on Robotics and A utom ation, 1987. J. Renegar. On the com putational com plexity and geom etry of th e j first-order theory of the reals, P arts I, II, III. Technical report, j School of O perations Research and Industrial Engineering, Cornell | University, Ithaca, New York, 1989. (To appear in the Journal o f ! Symbolic Com putation.). J A. S. Rao and K. Y. Goldberg. Grasping planar curved parts w ith ■ a parallel-jaw gripper. Technical R eport #299, University of South ern California, In stitu te of Robotics and Intelligent Systems (IRIS), Los Angeles, Calif. 90089-0273, August 1992. Subm itted to the IE E E Transactions on Robotics and Autom ation. A . S. Rao and K. Y. Goldberg. On the recovery of a polygon’s shape from its diam eter function. In fth Canadian Conference on Com putational Geometry, pages 210-215, St. Jo h n ’s, Newfound land, Canada, August 1992. Prelim , version presented at th e 1st M SI workshop on C om putational Geometry, Oct. 26, 1991, Stony ' Brook, NY. A. S. Rao and K. Y. Goldberg. On the relation betw een friction and p art curvature in parallel-jaw grasping. Technical R eport #298, 183 : [RG92d] [RG92e] [RG92f] [Sal82] [Ski88] [Ski89] [SR90] [SS90] [Str61] [SW87] “ U ni versi ty o f 'Southern Californi a7 In stitu te of" Robotics and-lntelli“ gent Systems (IRIS), Los Angeles, Calif. 90089-0273, A ugust 1992. (subm itted to the 1993 IEE E International Conference on Robotics and A utom ation). A. S. Rao and K. Y. Goldberg. O ptim al placem ent of a registration m ark. Technical Report #293, University of Southern California, In stitu te of Robotics and Intelligent Systems (IRIS), Los Angeles, Calif. 90089-0273, April 1992. (Subm itted to th e 1993 IE E E Inter national Conference on Robotics and A utom ation). A. S. Rao and K. Y. Goldberg. O rienting generalized polygons. In International conference on Robotics and A utom ation (ICRA ), Nice, France, M ay 1992. IEEE. A. S. Rao and K. Y. Goldberg. Shape from diam eter: Strategies for recognizing polygonal parts. Technical R eport # 292, University of Southern California, In stitu te of Robotics and Intelligent Systems (IRIS), Los Angeles, Calif. 90089-0273, April 1992. Subm itted to th e International Journal o f Robotics Research. J. K. Salisbury. K inem atic and Force Analysis o f Articulated Hands. PhD thesis, D epartm ent of M echanical Engineering, Stanford Uni versity, May 1982. published in it Robot Hands and the M echanics of M anipulation, M IT Press, 1985. S. S. Skiena. Geometric probing. PhD thesis, University of Illinois, D ept, of Com puter Science, U rbana, 111., 1988. S. S. Skiena. Problem s in geom etric probing. Algorithmica, pages 599-605, 1989. A. J. Spyridi and A. A. G. Requicha. Accessibility analysis for the autom atic inspection of mechanical parts by coordinate m easuring machines. In International Conference on Robotics and A utom a tion. IEEE, May 1990. J. T. Schwartz and M. Sharir. On the two-dim ensional D avenport- Schinzel problem. Journal o f Symbolic Com putation, 10:371-393, 1990. D. J. Struik. Lectures in Classical D ifferential geometry. Addison- Wesley, 1961. A. A. Schaeffer and C. J. Van W yk. Convex hulls of piecewise- sm ooth Jordan curves. Journal o f Algorithms, 8(l):66-94, 1987. 184 [Sze74] [TK77] [TMG87] [Tot48] [TP88] i [WC91] [WC92a] [WC92b] [Whi82] [Whi86] [Wil92] [Wol91] | [WRG92] I t I [WVW85] E. Szemeredi. On a problem by Davenport and Schinzel. Acta Arithm etica, 25:213-224, 1974. C. D. Thom pson and H. T. Kung. Sorting on a m esh-connected ' parallel com puter. Communications o f the A C M , 20:263-271, 1977. R. H. Taylor, M. T. Mason, and K. Y. Goldberg. Sensor-based m a nipulation planning as a game w ith nature. In Fourth International 1 Sym posium on Robotics Research, August 1987. • ♦ L. F. Toth. A pproxim ations by polygons and polyhedra. Bulletin j o f the Am erican M athematical Society, 54:431— 438, 1948. I J. C. Trinkle and R. P. Paul. Planning for dextrous m anipulation j w ith sliding contacts. International Journal o f Robotics Research, pages 468-485, June 1988. A. S. W allack and J. F. Canny. Linear tim e algorithm for object J localization using scanning, m anuscript, Septem ber 1991. A. S. W allack and J. F. Canny. O bject localization using finger gap sensing. Technical Report ESRC 92-3/RA M P 92-2, Univ. of j California, Berkeley, Dept, of Com puter Science, February 1992. | A. S. W allack and J. F. Canny. O bject localization using light beam 1 sensing, (subm itted), M arch 1992. D. E. W hitney. Q uasi-static assembly of com pliantly supported i rigid parts. Journal o f D ynam ic System s, M easurement, and Con trol, 104:65-77, M arch 1982. • D. E. W hitney. “Real robots don’t need jigs” . In International i Conference on Robotics and Autom ation. IEEE, M ay 1986. R. H. W ilson. On Geometric Asssembly Planning. PhD the- i sis, Stanford University, Dept, of Com puter Science, Stanford, CA i 94305, M arch 1992. ; i S. Wolfram. M athematica. Addison-Wesley, 2nd edition, 1991. | J. Wiegley, A. S. Rao, and K. Y. Goldberg. Com puting the statisti- j cal distribution of poses for polyhedra under quasi-static tum bling. I M anuscript under preparation, Septem ber 1992. ! i J. D. W olter, R. A. Volz, and A. C. Woo. A utom atic generation ' of gripping positions. IEEE Transactions on System s, Man, and J Cybernetics, SMC-15, M arch/A pril 1985. ' 185 ! ____________ _ j [YB51] I. M. Yaglom and V.G. Boltyanskii. Convex Figures. Holt, R inehart and W inston, New York, 1951. 186 A p p e n d ix A P r o o fs o m itte d in th e m ain te x t A .l L eft-clo sed rig h t-o p en step s an d ram p s Here we prove th a t steps and ram ps can be assumed left-closed, right-open. We borrow the classification of orientations from Section 1.4.2. As shown in th e proof of Theorem 2, Fact 1 shows us th a t a single grasp on the p art will result in open steps whose ends are fixed-points and closed ram ps. We show below how to modify the grasping process so th at steps and ram ps m ay be assum ed left-closed and right-open. M aking them left-closed and right- open is useful for the proof of completeness of A lgorithm A! in Section 3.2.2. T h e m o d ifica tio n Every grasp action at angle a is now replaced by three squeeze actions in th e sequence a , —6, +5, where 8 is a small positive orientation chosen based on the diam eter function. Specifically we can choose 8 as any positive real less th an 8' where 8' = min{|6*0 - 9b\], where th e pair (6a, 9b) ranges over all (stable equilibrium orientations, unstable equilibrium orientations) pairs considering sem istable orientations as stable, and sem iunstable ones as unstable equilibrium orientations. 187 A n a ly s is If a was an unstable orientation, or a stable equilibrium orienta tion, or a ( — ,0) sem istable orientation,1 then the sequence of three grasps is equivalent to the grasp at a in term s of the final orientation obtained. This is clearly tru e for the first two types of orientations. For the th ird (( —,0) sem istable orientations), ju st notice th at the th ird grasp nullifies the action of the second. However, if a were a sem iunstable or unstable equilibrium orientation, then the first grasp results in orientation T (a) — a. For the second grasp we tu rn the jaws by —S, which is equivalent to the situation where th e part is rotated + £ before grasping. The final orientation after this grasp is r(o; -f- 6). The third grasp does not change this orientation unless we have a (+ ,0 ) sem iunstable orientation in which case case the th ird grasp merely reverses the effect of the second. Finally consider the case of (0, + ) sem istable orientations. It has a step to its right and a ram p to its left. T he sequence of three grasp actions locally changes the transfer function so th a t the step is increased in extent by 6 and the ram p is reduced by th e same am ount. See Fig. A .I. T he transfer function resulting from the three grasps consists of left-closed ram ps and steps but differs from the desired transfer function by an am ount 6 only at (0, + ) sem istable orientations as m entioned above. However, notice th a t the difference between the two can be m ade arbitrarily small by choosing 6 small enough. Specifically, for the purposes of orienting parts (C hapter 3), there exists a 6 small enough so th a t the length of the plan com puted from the two is the same. A .2 P r o o f o f L em m a 3 Recall th a t PARTIALSp(<ji) denotes the partial perim eter of P at orientation < f> . Let MinMaxKink(d) denote a cyclic ordering of all m axim a, m inim a, and 1 Recall from Section 1.4.2 the classification of orientations based on signs of derivatives in the neighborhood of an orientation. 188 ( t . O ) (-,+) (b ) Figure A .l: Modifying th e transfer function after th e three grasps. At the top is a typical diam eter function shown w ith a classification of its equilibrium orientations. Steps and ram ps are shown side-by-side for convenience, (a) shows th e single grasp transfer function. Notice th at steps are open w ith fixed points at ends and ram ps are closed, (b) shows the desired transfer function w ith all steps and ram ps being left-closed and right-open, (c) shows the modified grasp transfer function which has left-closed and right-open steps and ram ps but differs from the one in (b) by am ount 6 at (0, + ) orientations. However, 6 is a param eter of the modified grasp and m aybe chosen arbitrarily small. 189 kinks in a diam eter function d. Before we get to the proof of Lemm a 3 we show the following two lemmas. L e m m a 28 Let dp be the diam eter function o f a polygon P and let d be some valid diam eter function (not necessarily equal to dp). Let 0 < fa < fa be an adjacent triplet o f orientations in MinMaxKink(d) and in MinMaxKink(dp), such that 0, ( f > 2 ore maxima, and the unique m inim um between them is at fa (in both d and dp). Furthermore, let P be consistent with d at orientations 0, fa (that is, dp{0) = d(0) and dp(< j> 2 ) = d{4> 2)). Then P ~ d[0, fa] ^ P A R T IA L SH fO = d(0) sin(fa) + d(fa) sm (fa - fa). P ro o f: Since 0, < f > 2 are adjacent local m axim a in d, it can be shown th a t d ( f x) = j d (0 )co s(^i) = d((f> 2 ) cos( < ^ 2 — < j > i)- Therefore P m ust be consistent w ith d at | orientation fa as well. See Fig. A.2. Let AC, BD be the (at m ost) two faces of orientation fa . The lines L, H are shown in orientation 0. T he m axim a at fa I ! occurs when L, H are perpendicular to CD and are touching D, C, respectively. Simple trigonom etry (shown in the figure) completes the proof. Notice th a t only the sum of \AC\ + \BD \ is constrained, and not \AC \, \BD \, individually. □ j C o ro lla ry to L e m m a 28 Refer to th e statem ent in Lemm a 28. There exists a unique triangle consistent with diameter function d between orientations [0, fa ]. However, there exist infinitely m any trapeziums (and other n > 4-gons) consistent with d between orientations [0, ^ > 2 ] - P ro o f: The unique triangle w ith this diam eter function has two sides w ith 1 * lengths d(0), PA R T IA L Sp(^i), and angle \ — fa between them . W ith reference j to the Fig. A .2, we could extend A C to A C ' so th a t the length of A C ' is PARTIALSp(^>i). A C 'B is th e required triangle. ! Infinitely m any trapezium s A C B D are easily constructed, the only con- ' straint being A C + B D = PA R TIA LSp(^i). n I 190 ' o (L/f sh o w n in o rie n ta tio n 0 .) AB - d (0) CE = d(<|> ) CD = d (< |> 2) BE = S O s i n ^ j ) AC = AO sin (ijij) ED = CJt) s in (< )> 2 — < 1)^) {*t*i) = AC + BD = AB s in ( ^ j ) + CD s in (< |> 2 - « J > 2) Figure A .2: The case of (m axim a, m inim a, m axim a). 191 L em m a 29 Let dp be the diam eter function o f a polygon P and let d be some valid diam eter function (not necessarily equal to dp). Let 0 < < f 2 be j an adjacent triplet o f orientations in MinMaxKink(d) and in MinMaxKink(dp), ; ; such that 0 is a m axim um and are adjacent orientations in $(d) and I i ANGLES(jP). Furthermore, let P be consistent with d at orientations j Then, P ~ d[0,< f> 2\ & PARTIALSpOx) - d ^ 2 \ ~ sm(02 - <pi) P roof: Proof is om itted since this is a special case of Lemm a 3. I □ C o ro lla ry to L em m a 29 Refer to the statem ent in Lemm a 29. I There exists a unique triangle consistent with diam eter function d between [ 0 , ( ^ 2 ] if 4 > 2 — f ant^ a rnin im um orientation. There exist at m ost two quadrilaterals consistent with d between [0, < j > 2]. However, there exist infinitely m any pentagons (and other n > 4 polygons) consistent with d between orientations [0, < ^ > 2 ] - i P roof: The two quadrilaterals are shown in Fig. A .3. For the rest of the proof, see th e proof of the Corollary to Lemm a 3.D L em m a 3 Let P be a polygon and d some valid diam eter function. Let 0 < 4 > i < ( j > 2 be an adjacent triplet o f orientations in $(cf) and in A N G L ES(P). J Furthermore, let P be consistent with d at orientations 0,<^2- Then, 1 P ~ d[0, fa] » P A R T IA L S p (^) = d (< t> 2 ) - + v ) j s m ( 0 2 - <Pi) \ where f a . are the parameters o f the sinusoid between [0,<^>i], i.e. / cos(o;) = 1 d(0), I cos(a: + (f> i) = d(4>x). P ro o f:2 (<t=) It is enough to show th a t P is consistent w ith d at f i as well. T h at is, | we need to show th at d (cf> 1 ) can be obtained from PA R T IA LSp(^i). Consider ! | 2Lemm a 29 can be proved just as Lemma 3 is being proved putting a = 0, / = d(0). 1 c D’ Two quadrilaterals having the same diameter function between (0, $2) ■ (However they have different overall diameter functions) AB I I A’B ’ andtABI = IA’B’1 CD I I B ’C’ and ICO = IC'B'I Figure A .3: The case of (m axim a, kink/m inim a, kink/m inim a). th e equations I cos(a) = d(0) and /cos(02 + a ) = d(4> 2) — PARTIALSp((6x) • sin(t^2 - <f>\)- /, a can be determ ined (uniquely) from these two equations (this is also shown in A ppendix A .3) and d(< f> i) can be obtained as L c o s(a + <^i). (=>) We first prove this portion assuming orientation 0 is a kink. Consider Fig. A.4. In this figure, A A ', B B 1 are faces of P at orientation 0. A C , B D are faces at orientation 4 > i and C E ,D F are faces at orientation < / > 2- Some of these faces could be of length 0. Let B X be a line perpendicular to the x-axis. Now \A B \ = L and L A B X = a , th e param eters of the sinusoid between 0, 4 > \. \AC\ + \BD \ = P A R T I A L S p E x t e n d B D to Q so th a t \DQ\ = \AC\. Draw lines parallel to C E (i.e. lines making angle < ^ 2 w ith the positive x-axis) through A ,B . Draw a line perpendicular to these lines through Q intersecting th em at S , T as shown. E xtend B T to point R so th at triangle A R B is right angled at R. 193 Now A S T R is a rectangle and so |*S '2^| = \AR\ = L c o s(a + fa). Also, \TQ\ = \BQ\sin(<f> 2 ~ fa)- Finally notice th at \BQ\ = PA R TIA LSp(^i) and |Q-S'| = |r Q | + |-ST| = d(fa) to com plete the proof. B B ’ I DQ I I AC and IDQI=IACI. CE I I SA I I BTR I I DE STQ I I AR Figure A.4: O rientation 0 is a kink. Now let orientation 0 be a m inim a orientation. For simplicity, assume th a t there is only one face of P w ith orientations 0, fa, fa (the general case of there being two faces is very m uch like th e proof given above). See Fig. A .5. A A ' is the face of orientation 0. Faces A C , B D are of orientations fa , fa , respectively. As before B X is perpendicular to AA! and \AB\ — L , l A B X = — a ; L ,a being the param eters of th e sinusoid between 0, fa. Extend C (if necessary) to A X A * h ■y' X> X X D / B AR I I C T D AC’C I I RTB Figure A.5: O rientation 0 is a m inim um . C' so th a t C D is perpendicular to A C .3 T is a point on C 'D so th a t B T is perpendicular to C D . Extend B T to R so th a t A R B is a right angled triangle. Now A R T C ' is a rectangle. \C 'T\ = |AR| = L co s(fa + a). \BD \ = PA RTIA LS(^i) = |T \D |/sin (^ 2 - < f > i). \TD \ + \C 'T\ = d (< f)2). This completes the proof. □ C o ro lla ry to L e m m a 3 Refer to th e statem ent in Lem m a 3. 1. There exists a unique triangle consistent with diam eter function d if< $> p — { 0 ,4>i, ^ 2 } are in the order (kink,m inim a,kink) and a + (j) 2 = f • 2. There exist infinitely m any pentagons (and other n > 5 polygons) consis tent with this diameter function between orientations [0, < ^ 2 ] - 3The extension will be necessary iff < f >2 is a kink. 195 PARTIALSp ( ^ ) sin(<^+1 - 4 > j) P r o o f T o ^ e e ^H ^infm itely maTiy pentagons, refer again to Fig. A.4. "Extend | C E to m eet B B ' extended at Y . Now A C Y B 'B A is a pentagon consistent w ith d between [0, ( f > 2]. Only the sums of \AC\ and \BD \ are constrained. T he unique triangle A B C having this diam eter function is obtuse-angled. Two of its angles are < f > 2 — </>i,7r/2 + a and onen of its side’s has length PA R T IA LSf=abc(<^i)- □ A .3 U n iq u e so lu tio n to 3Z eq u a tio n s Here we show th a t the 3Z equations, Equations 2.1, 2.2, 2.3, from th e proof of Theorem 4: ij cos(<^- -j- (Vj) — lj cos('(j)jj -j- O 'j — dp 1 ( p j , d p (< f> j+ l ) — l j - X C O S{4*3+1 + a j - 1 ) 0 < j < Z , have at m ost one solution. Let us abbreviate dp(<j>j) as dj, and P A R T IA L S p (^) • s in ( ^ +i — <^) as Cj. Notice th a t Cj are strictly positive and are known quantities. Finally, we j introduce Z new variables x3 = < f > j -f a 3 to replace the a 3. Thus, the 3Z unknowns now are dj,lj,Xj, subscripts taken m odulo Z. T he ; equivalent 3Z equations are: lj cos(xj) = dj (A .l) . 5 ! i lj cos(xj -1 - 4 > j+1 = dj+1, (A .2) I I I lj— j cos(:Tj_i ~ 1 ~ (f)j— — ^4* i A solution m ust comprise of strictly positive lj,dj , and therefore by Equa tion A .l, Xj can be restricted to the range (— 7r/2,7t/2). 196 Suppose we know all the dj. Then, the xj,lj can be uniquely determ ined by the following argum ent. Consider Equations A .l, A .2. If the dj are known, we can elim inate th e lj into equations of the form: cos(< f> j+1 - < j > 3) - s in ( ^ +i - (f> j) ta n ( ^ ) = ^ j+ i dj From these equations, the Xj can be uniquely determ ined in th e range (— 7t/2, 7r/2). Once the Xj are uniquely determ ined, so are the lj. So our problem in this section reduces to showing th a t there is at m ost one solution for th e dj. We do this by constructing Z linear equations in the dj alone. O ut of the 3Z equations in Equations A .l, A.2, A.3, consider three p artic ular equations: licos(xi) = di, l{CQs(^Xi T — dij-x, and C i+ 1 = d ;+ 2 — li COS(xi + <t>i+2 — $ i )• From the first two, we get di cos(^i+i — (j)i) - [li sin(xi)] sin(< f> i+i - c j> i) — di+1. (A .4) From the first and third, we get C { + 1 = di+2 — di cos(<^+2 - 4 > i) + [h sin(a:8 -)] sin(<^+2 — (A .5) Between equations A .4,A.5, elim inate [/,• sin(x;)] to get a linear equation in ^»+2 • > di-)-i, d,i. 197 C i + 1 sin( < f > i+1 - 4 > i) = di+2 sin(&+i - <^) - d;+i sin(& +2 - <M + d* ' s i n ( ^ ' + 2 - &+i)- (A.6) From th e rem aining 3Z — 3 equations of Equations A .l, A .2, A .3, we can sim ilarly get Z — 1 other linear equations in the d j. By observing the coefficients in th e linear equations, we can see th a t they will have at m ost one solution (i.e. th e case of infinite solutions is impossible). A .4 P r o o f o f th e p arallel graph c o n stru ctio n lem m a Recall th a t we have the set of objects of the envelope {Bly J52, . . . , B V} w ith v = 0(n2), sorted in left-to-right order4, and stored in row-m ajor order in the n X n M CC, a constant num ber per PE; x(Bi),y(Bi) are the x,y coordinates, respectively, of object B and we need to construct the following directed graph: G(V, E ), where V = { 1 ,2,...,!/} E = {(*>i) I x iB i) = m ax{x(Bk) I y(Bk) < x(Bi)} } L e m m a 13 Given the objects o f the envelope stored 0 (1 ) per PE, the graph G described above can be constructed in 0 ( n ) time on an n x n MCC. A t the end, o f the computation, every P E stores the unique outgoing edge fro m each object originally residing in it. P ro o f: For simplicity, assume v — n 2, i.e. the envelope consists of at exactly n 2 objects and every P E has exactly one object of the envelope in its local memory. If Pi, 0 < i < n 1 — 1, denotes the row-major ordering of PEs, then Pi contains the description of Bi. 4i.e. by their ^-coordinate in measure space 198 Notice from the definition of the edge set E above th a t every Bx has exactly one outgoing edge. Let g denote the edge function of this graph, f(i) = j iff (Bi, Bj) E E. We prove the lem m a by showing th at at the end of 0(n) j routing/com putation steps, Pi stores f(i). Notice the following properties for th e edge function, g : {0,..., n2 — 1} — > {0,1 - 1};. 1. f(i) > i for 0 < i < n2 — 1; 2. f(n 2 — 1) = n 2 — 1; 3. i < j =» f(i) < / ( j ) ; 4. Given i,j,Bi,Bj w ith f(i ) unknown, testing w hether j > f(i ) (or j < f(i )) takes 0 (1 ) time. T he first three properties follow directly from the definition of the edge function. T he last property is tru e because the test only involves com paring x(Bi) w ith y(Bj). If the former is larger, then j < f(i). Otherwise, j > f(i). To determ ine f{i ), every Pi first determ ines a set of n + 1 consecutive integers th a t contains /(«). To do this, perform upward column routing so th a t j in 0 (n ) tim e each Pi gets to “look a t” B i+n, B i+2n -, ■ ■ •; where by “looking” at \ Bi+u,n,uj = 1,2,..., we m ean th a t Pi can test the sign of f(i) — (i + c on). This is tru e by property 4 although f(i) is unknown. At the end of this column routing every Pi determ ines j which is an approxim ate f(i) in the sense th a t ; J j' < f(i) < j '+ n ; and Pji is in the same column as Pi. We call j ' the n-estim ate of /(? ). It is clear from the above reasoning th a t every Pi can determ ine an n-estim ate of /(« ) in 0(n) tim e. I ’ j Using these n-estim ates, exact f(i) are determ ined for th e “diagonal set” ■ of n objects, i.e. those th at initially reside in the set of PEs X = {Po,Pn+i, j -p2n+2 , • • •, Pn2- i) - In other words, after the processing described in the next j paragraph, th e PEs Pi E X determ ine f(i) exactly. i i Note th a t each Pi in X is in a distinct colum n/row of th e mesh. Each Pi in ! X sends a message describing Bi to Pj>, where j' is the already determ ined n- j estim ate of f(i). Since Pj< is in the same column as Jp, the n-estim ates j' corre sponding to th e objects residing in the PEs in X reside in distinct columns. P j> \ first compares the d ata Bj>-i, Bj<+i from neighboring PEs and checks w hether j ' = /(? ) (this is done again by exploiting property 4 above). If so, it sends a message back (along the same column) to Pi describing j, B }. If not, its passes the message to Pj>+i. This message gets passed along PEs of increasing index until f ( i ) and therefore B(f(i)) are determ ined. This takes at most 0(n) tim e since f(i) is known to lie w ithin th e range of PEs [Pjt, ■.. ,Pj>+n]. Once f(i) is determ ined by some PE in this range, th at PE sends a message back to Pi describing f(i),B(f(i)). Notice th a t messages from the n PEs in X and the subsequent retu rn messages from PEs P j> and those of increasing index will not cause any congestion. This is because of the following. If two adjacent PEs in X have their j f in different rows, then there is no chance of a clash of messages. If both the j* m ap onto PEs in the same row, then the message from th e higher indexed P E arrives to th a t row before the lower indexed PE. So, again there will be no congestion. Also, the messages being sent back are to distinct PEs in distinct row s/colum ns and can be row-column routed (w ithout any congestion) in O(n) tim e. Now PEs Pi along the m ain diagonal know f(i). In this paragraph we describe how the other PEs Pi determ ine their f(i). Let Pbn+b: P(b+i)-n+b+i be two adjacent PEs in X . Let j \ = f(bn+b), j’2 = f((b+l)-n+b+l). Let Yb be the set of PEs indexed between these two PEs, i.e. Yb = {Pbn+b+i, • • •, P{b+i)n+b}- Now notice th a t all PEs P{ in Yb have f(i) in the range [ji, J 2 ], and no other PE Pq can have f(q ) in (ji, J 2 ) (this is from property 3 above). Let Db = 3 2—ji- Let c > 1 be a suitable constant depending on the size of register space in each PE. If D < cn, PEs in Yb can copy object inform ation from PEs indexed between [ji, j 2]> at m ost c per PE. Then, PEs Pt in Yb can perform local routing between them selves, and in 0{n) tim e each determ ine their respective f(i). Notice th a t there will not be any congestion since no other set of PEs will want to copy inform ation from PEs indexed (ji,j 2 )- Now if D > cn, PEs in Yb use their n-estim ates j ' (as did PEs in X earlier). Each PE Pi in Yb sends a message to its j 1 asking it to search for /(«). Each P E Pi in Yb belongs to a distinct column and so each of the n-estim ates j 1 corresponding to objects residing in PEs of j Yb are in distinct columns. As before, the Pj> looks at Pj<-i and Pj>+i to see if f(i) is determ ined. If so, it sends a message to Pt (along the same column) inform ing it of th e success. If not, it proceeds as described before passing th e message to PEs indexed greater th an itself (but at m ost till j' + n ). Once f(i ) is determ ined, a message is sent back to P{. As analyzed, there cannot be any congestion of messages. T he total routing and com putation tim e is 0(n). □ A p p e n d ix B O rien tin g p a rts w ith m u lti-a x is . g rip p ers i T he possible m otivation for the registration problem is described below. Con sider a two-axis frictionless parallel-jaw gripper grasping a p art as shown in i Fig. B .l(a). The pair of jaws L \,H \ form one gripper axis and the ! other. Im agine the two-axis gripper functioning as two single-axis grippers I I operating in tandem , L \,H i operating first and then L2,H 2, in squeezing the part towards a central point C until further squeezing will deform the part. As opposed to th e single-axis parallel-jaw gripper [GHM89], grasping a p art w ith such a two-axis gripper constrains the position and orientation of the part. It j is straightforw ard, given th e angle a between the two axes (a = x /2 in the | I figure), to com pute all the possible final poses of the part under a single grasp i w ith the 2-axis gripper. There can be at most 4n such poses given a polygonal j p art w ith n edges. See Fig. B .l(b ) for all the final poses after a single grasp | I on a p art shape shown in (a) in arbitrary orientation. j Section 3.2 presents algorithm s to com pute optim al plans (sequence of grip- I per squeeze actions) to orient planar parts up to sym m etry using a frictionless > parallel jaw gripper [GF92]. i We propose a new system to find poses of parts. We relax th e sensorless 1 approach above by allowing a simple vision sensor to sense the position of a i registration m ark placed initially on th e surface of the part. Now we grasp the 202 ! : Bj| i | (b) Figure B .l: (a ): A two-axis gripper poised over a trapezoidal part P. There are two pairs of jaws, one formed by Hi, L i and the other H<i,Li- B oth pairs of jaws close in towards a central point, C. The pair H \, L \ closes in as far as possibly (w ithout deforming th e part) before H2,L2 does, (b ): Possible final poses for P after a single complete grasp. 203 j p art once w ith the 2-axis gripper. T he part falls into one among a known set j j of poses. If the registration m ark was initially placed suitably, the transform ed J registration m arks will be well separated from each other enabling unique pose j identification. ; i Sum m arizing, the two approaches differ as shown below. ] 1 i 1. Previous approach: Open-loop plans, up to n grasps by a single-axis grip- 1 per required for an n-sided part. In general does not constraint position. ; 1 2. C urrent approach: Uses simple vision sensor th at can sense position of a registration m ark placed on surface of part. Only one grasp by a 2- \ axis gripper is required. Further, both position and orientation of p art 1 I determ ined. , i | i i ! I A p p e n d ix C D a v en p o rt-S ch in zel seq u en ces Davenport-Schinzel sequences [DS65] are precisely defined as the following. A sequence of integers U = («i,...,wm) is called an (n, s) Davenport-Schinzel sequence if 1. 1 < U i < n, 2. For every i < m we have ^ u,+1 , and 3. There do not exist s - j - 2 indices 1 < i \ < i 2 < ■ • ■ < i s+ 2 < m such th a t u ix = Ui3 = u is = ■ ■ ■ = a, u i2 = Uit = u i6 = • • • = 6, and a ^ 6. By A5(n) is understood the m axim um length, m , of an (n,s) D avenport- Schinzel sequence. T he problem of estim ating A5(ra) has been studied re peatedly beginning w ith the discoverers and Szemeredi [Sze74] and ending1 with Agarwal, Sharir, and Shor [ASS89]. Szemeredi showed the generic bound A5(n) = 0(nlog* n ) for any s > 3. It is fairly easily shown th a t Ai(n) = n and A 2 (n) = 2n — 1. These are th e results used in this dissertation. B etter bounds for A s(n) may be found in [ASS89]. 1for the present! 205
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
Asset Metadata
Core Title
00001.tif
Tag
OAI-PMH Harvest
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-oUC11255712
Unique identifier
UC11255712
Legacy Identifier
DP22873