This action might not be possible to undo. Are you sure you want to continue?

Elisha Sacks and Leo Joskowicz

The Conﬁguration Space Method for Kinematic Design of Mechanisms

The Conﬁguration Space Method for Kinematic Design of Mechanisms

Elisha Sacks and Leo Joskowicz

The MIT Press Cambridge, Massachusetts London, England

cm. 2. Hong Kong. Computer-aided design.S23 2010 621. Machine design. Kinematics of. Title. 1961– II. 4. or information storage and retrieval) without permission in writing from the publisher. Elisha. Leo. p. Includes bibliographical references and index. Machinery. please email special_sales@mitpress. Library of Congress Cataloging-in-Publication Data Sacks. recording.edu This book was set in Stone Serif and Stone Sans on 3B2 by Asco Typesetters. Conﬁguration space. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying. TJ175. 3. 1958– The conﬁguration space method for kinematic design of mechanisms / Elisha Sacks and Leo Joskowicz. For information about special quantity discounts. Printed and bound in the United States of America.8 0 11—dc22 10 9 8 7 6 5 4 3 2 1 2009030466 . ISBN 978-0-262-01389-5 (hardcover : alk. Joskowicz. paper) 1.( 2010 Massachusetts Institute of Technology All rights reserved.mit. I.

I dedicate this book to my wife, Jennifer, the light of my life. Elisha I dedicate this book to my daughters, Dana and Yael, to my parents, Esther and Alfredo, and to all my close friends. Leo

Contents

Preface

xi xiii

Acknowledgments

1

1.1 1.2 1.3 1.4

Introduction

1

3 9

Mechanisms and Kinematic Function Kinematic Design 5 Content and Organization of the Book Notes 10

2

2.1

Mechanisms

11

11 11 14 16 16 20 21 21

Geometry of a Part

2.1.1 Planar Parts 2.1.2 Spatial Parts 2.2 2.2.1 Planar Parts 2.2.2 Spatial Parts 2.3 Kinematic Pairs

Conﬁgurations and Motions of Parts

2.3.1 Representation of Conﬁguration Space 2.3.2 Lower and Higher Pairs 24 2.4 2.5 2.6 Mechanisms Notes 32 25 29 Classiﬁcation of Mechanisms

3

3.1

Contact of Features

33

33 34 35 36 37

Simple Planar Feature Contact

3.1.1 Tangency Equations 3.1.2 Boundary Equations 3.1.3 Subsumed Contacts 3.2 Fixed-Axis Planar Pairs 3.2.1 Tangency Curves 37 3.2.2 Contact Curves 43 3.3 General Planar Pairs

45

viii

Contents

3.4 General Boundary Segments 3.5 Spatial Pairs 52 3.6 Notes 55

50

4

**Contact of Parts in Conﬁguration Space
**

57 62

57

4.1 Partition of Conﬁguration Space 4.2 Fixed-Axis Pairs 60 4.3.1 Vertex and Edge Formation 4.3.2 Face Formation 4.3.3 Face Classiﬁcation 4.4 General Planar Pairs 65 66 67 64

4.3 Partition Algorithm for Fixed-Axis Pairs

4.5 Partition Algorithm for General Planar Pairs

69 75

4.6 Mechanisms 72 4.7 Partitions of Conﬁguration Space and the Theory of Mechanisms 4.8 Notes 78

5

Analysis

81

81 82 83 86 87 88 90 93

5.1 Kinematic Analysis by Examination of Partition 5.1.1 Disk Indexing Pair 5.1.2 Lever Indexing Pair 5.2 Kinematic Simulation 5.2.1 Simulation Algorithm

5.1.3 Intermittent Gear Mechanism

5.2.2 Computation of Velocity for Fixed-Axis Mechanisms

5.2.3 Computation of Velocity for General Planar Mechanisms 5.3 Dynamical Simulation 95 5.4 Notes 98

6

Tolerancing

99

99

6.1 Speciﬁcations of Parametric Tolerance 6.2 Tolerance Analysis 100 6.3 Algorithms for Kinematic Pairs 6.4 Algorithms for Mechanisms 6.5 Notes 108 103 107

7

Synthesis

109

109 111 112 113 115 117

7.1 Kinematic Design Cycle 7.2 Parameter Synthesis 7.2.1 Design Change 7.2.2 Structure Change 7.2.3 Multiple Draggers

7.3 Parameter Optimization 7.4 Notes 120

3.3.3 Kinematic Simulation B.1 B.4.1 Mechanisms 178 B.2 Parts 179 B.Contents ix 8 8.2 B.3 Simulation and Display Data Glossary References Index 193 183 187 .2 8.4 Input Format 179 179 181 178 178 B.3.4.3 Installation 137 HIPAIR Software 175 175 175 Graphical User Interface Mechanisms 177 177 B.4.1 8.4 Contact Zones of Fixed-Axis Pairs B.3.2 Conﬁguration Spaces of Fixed-Axis Pairs B.4 Case Studies 121 121 123 125 128 Optical Filter Mechanism Manual Transmission Gearshift Torsional Ratcheting Actuator Spatial Asynchronous Gear Pair 9 Conclusion 133 134 Research Directions Appendix A Catalog of Mechanisms Appendix B B.1 Parts B.3 8.

.

computer science. Conﬁguration space is a complete and compact geometric representation of the motions and interactions of parts in a mechanism that supports the core design tasks of analysis. The third part presents four case studies taken from industry in which the conﬁguration space method supports the analysis and design of mechanisms. and robotics. This book is intended for students. and tolerancing.Preface This monograph presents the conﬁguration space method for computeraided design of mechanisms with changing contacts of parts. that implements some of the conﬁguration space methods described in this book. and engineers in mechanical engineering. as demonstrated in automotive. tolerancing. The second part describes the algorithms for kinematic analysis. Our method is the ﬁrst general algorithmic treatment of the kinematics of higher pairs with changing contacts. A catalog of higher-pair mechanisms is given in appendix A. The ﬁrst part describes the conﬁguration space framework and the algorithms for the kinematics of mechanisms. The prerequisites are freshman mathematics and computer science. . or independent study. The presentation is self-contained and is suited for a course. HIPAIR comes with an interactive graphical user interface and many sample input ﬁles for mechanisms. Appendix B describes an open-source Cþþ mechanical design system. synthesis. micromechanical. computer-aided design. and synthesis based on conﬁguration spaces. a seminar. and optical case studies. It helps designers detect and correct unexpected kinematic behaviors and design ﬂaws. researchers. including visualization of conﬁguration space and kinematic simulation. called HIPAIR.

.

and the Israel Science Foundation in Jerusalem supported this work. especially Hal Abelson. and Ken Yip. Vijay Srinivasan from the IBM T. Sad to say. Steve Barnes. Talia. He hosted me for many years in Paris.Acknowledgments We wish to thank the many people who have contributed to this book.C. Chris Hoffman. Cologne. Victor Milenkovic. Jim Allen. Tomas LozanoPerez. and many others at Sandia National Laboratories. D. Sarah. Min-Ho Kyung at Ajou University. wish to thank my parents for raising me to love books and independent thinking. Herb Simon. I enjoyed and learned from discussions with many people. introduced us to automotive design. Last but not necessarily least. I realize that equations and diagrams are sorry substitutes. Elisha. introduced us to the design of MEMS mechanisms and provided the case study of the torsional ratcheting actuator. Ruby Shamir from Hebrew University of Jerusalem provided valuable comments on the ﬁrst part of this book. I. Matt Mason. Bruce Donald. Ku-Jin Kim at Ajou University developed the partition algorithm for a spatial ﬁxed-axis conﬁguration space. New York. Pat Hanrahan. nor can a romantic oasis scene appear on the cover. we will not be able to use ‘‘Passion in the Desert’’ as the title. Mike Erdman. developed the parameter synthesis and optimization algorithms. and supported our research with a Ford grant. provided the manual gearshift case study. Gerry Sussman. Jim Allen. South Korea.J. my cat. Ralf Schultheiss. New Mexico. Germany. Ralf Schultheiss and Uwe Hinze at Ford Motors. and has always been a loyal friend. My wife. Albuquerque. Leo Joskowicz introduced me to mechanism design and to conﬁguration spaces. and Anat. York town Heights. participated in our early research on contact zones and Min-Ho Kyung participated in our research on nonlinear contact zones. and daughters. Jennifer. . encouraged me along the way and offered marketing advice. The National Science Foundation in Washington. Watson Research Center. Sowon. and Jerusalem.

NY.xiv Acknowledgments Fluffer. Yorktown Heights. I thank Elisha Sacks for being a perseverant and outstanding partner in this long journey. Watson Research Center. Yael and Dana. my daughters.J. for their support and fruitful discussions on mechanical design and research. The Institute of Computer Science. Leo. wish to thank my parents. Israel. Scott Penberthy. now the School of Engineering and Computer Science at the Hebrew University of Jerusalem. Jarek Rossignac. Sesh Murthy. and my many beloved friends around the world for their support and patience in good and bad times. . I. I also want to thank Sanjaya Addanki. has kept me company (often asleep on the couch) for most of the long hours that I spent writing and revising this book. and former colleagues at the IBM T. provided an optimal environment for writing this book.

The Conﬁguration Space Method for Kinematic Design of Mechanisms .

.

such as door locks. Analysis and synthesis disregard the imprecision of manufacturing. and deformation. This is the branch of mechanics that studies the motion of parts independently of the forces acting on them. and gearboxes. The tolerancing design task is to determine the kinematic effect of variation in manufacturing . such as industrial robots and microscopic mechanisms fabricated on silicon chips (MEMS). a rotating gear wheel is speciﬁed by its proﬁle (how many teeth and what shape) and the conﬁguration (position and orientation) of its rotation axis. The transformation of motions is called the kinematic function of the mechanism. They are pervasive in modern life and include familiar mechanical systems. A key aspect of this task is kinematics. It helps answer many questions about the workings of mechanisms and is a prerequisite for further mechanical studies involving dynamics. The design goal is to ensure that the intended and actual motions match. Studying the kinematics is an early and crucial step in designing a mechanism. A mechanism performs a task by transforming input motions into output motions through the contact of parts. which causes actual parts to vary from their intended shapes and conﬁgurations. The designing of mechanisms is an important engineering task that motivates research in design methods and in computer-aided design (CAD) tools. Analysis derives the kinematic function of a mechanism from a speciﬁcation of its parts’ shapes and motion constraints.1 Introduction Mechanisms are assemblies of moving parts that perform useful tasks. transmissions. and tolerancing. Synthesis is the inverse task of devising a mechanism that performs a speciﬁed function. For example. The main kinematic design tasks are analysis. stress. synthesis. It assumes that parts are rigid bodies with ﬁxed shapes. A pair of gears is analyzed to determine its gear ratio. The starting point can be a prior design or a novel design concept. and specialized ones.

and gear mechanisms. Kinematic pairs are assumed to be lower pairs or to have ﬁxed. Combining a pair’ kinematic functions entails an analysis of the interactions among the pair’s contacts. and more compact than lower-pair mechanisms. because there are many potential interactions. Pairs with multiple contacts are more versatile than ﬁxed-contact pairs because they can perform multiple functions through changes in their contacts. Gear mechanisms consist of meshed gears. Cam mechanisms consist of cams in permanent contact with followers. permanent surface contact between two parts. In this approach. Linkages consist of lower pairs. closed-form contact relations. In this book we present a general computational theory of kinematic design that covers all types of mechanisms. There are two types of pairs: lower and higher. cams. These equations are highly nonlinear and can be solved in closed form only in simple cases. Lower pairs involve a single. Examples include sewing machines. This analysis is difﬁcult. All other pairs are higher pairs. cameras. the contacts of . such as a round pin in a matching hole. Synthesis and tolerancing are also performed hierarchically and pose similar challenges. such as rotation around an axis. The foundation for a systematic study of mechanism kinematics was laid by the German engineer Franz Reuleaux (1829–1905). and compact disc players. a mechanism’s kinematic function is speciﬁed by a ﬁxed set of equations that can be solved with an efﬁcient numerical algorithm.2 1 Introduction and modify the design or the manufacturing process to ensure correct function. even for mechanisms with few parts. A kinematic pair consists of two interacting parts. Mechanisms are limited to assemblies of such pairs. The compositional model of mechanisms uses a hierarchical analysis strategy: compute the kinematic functions of the pairs. Lower pairs are idealizations of higher pairs because real parts require a small clearance to function. lighter. Consequently. The kinematic function of a pair is determined by the parts’ geometry in the neighborhood of the points of contact. These categories exclude many important mechanisms. Higher-pair mechanisms are typically cheaper. The most common categories are linkages. then combine them to obtain the kinematic function of the mechanism. and developed a classiﬁcation system for mechanisms. called kinematic pairs. Analysis consists of formulating and solving contact equations. The parts have simple relative motions. copiers. Reuleaux deﬁned mechanisms as collections of basic building blocks. The mainstream approach to managing the complexity of kinematic design is to identify special cases that restrict the interactions of parts.

an indexer. and motions of its parts. For example.1 illustrates our kinematic design paradigm.2. and a frame. The rest of this chapter is organized as follows. a pin. we introduce kinematic function. a pawl. and visualize mechanism models. The computation of conﬁguration space generates a kinematic model that is used in analysis and tolerancing. The indexer is a gear with 24 teeth shapes as trapezoids. Each of these parts rotates on a shaft mounted on a cylindrical hole in the frame.1. consider the indexer mechanism in ﬁgure 1. and study the kinematic effects of variations in manufacturing.2. a lever. and is modiﬁed in synthesis. In section 1.1. The pin is a rectangular block. 1. modify. conﬁgurations.3. The algorithms provide novel computer-aided design tools that can help designers detect unexpected behaviors. synthesis. In section 1. we discuss and illustrate kinematic design. In section 1.1 Kinematic design of a mechanism using conﬁguration spaces. The lever has a rounded triangular tip shaped to engage . Mechanical CAD packages are used to create. Figure 1. parts are studied in a geometric representation called conﬁguration space. It is composed of six parts: a driver.1 Mechanisms and Kinematic Function 3 Figure 1. correct design ﬂaws.1 Mechanisms and Kinematic Function The kinematic function of a mechanism is determined by the shapes. The driver is an offcenter cylinder that acts as a cam. and tolerancing within the representation of conﬁguration space. The pawl has a triangular tip shaped to follow the indexer’s teeth. we describe the content and organization of this book. We have developed algorithms for analysis.

(b) the lever tooth engaging the wheel tooth. a cylindrical hole that ﬁts over the cam. The intended part rotation and translation directions are indicated with thick-headed arrows. The rotation angle is always measured in the standard counterclockwise direction even when the arrow points clockwise. driver and pin mounted on the frame. the indexer’s teeth. dynamical analysis determines the driver and indexer torques based on their mass and shape. In our example. and driver-lever). and the length of the lever. the lever tip traces a closed trajectory whose form is determined by the relative position of the driver and pin rotation axes. and (d) the lever tooth disengaging the wheel tooth.) The kinematic function of the indexer mechanism is to advance the indexer wheel by one tooth (15 ) for every turn of the driver. The frame holds the parts together. The pawl prevents clockwise rotation of the indexer. the kinematic function is usually derived ﬁrst because it sets the stage for the study of other physical phenomena. the kinematic function constrains the motions and contacts of the parts. . indexer-lever). The indexer mechanism has six lower pairs (indexer. The rotations of the parts are as indicated by the arrows. (c) the lever driving the wheel. Stress analysis determines the indexer tip deformation based on its load and material properties. (The following conventions for arrows are used throughout the book.4 1 Introduction Figure 1. In designing a mechanism.2 Indexer mechanism. leverpin. Figure 1.3 shows four snapshots of one cycle: (a) the start conﬁguration. A double thick-headed arrow indicates back-and-forth motion. Its motion is constrained by the driver and the pin. the driver’s offset. and a rectangular slot that ﬁts over the pin. and two higher pairs (indexer-pawl. In both analyses. The translation is always measured along the standard right-handed coordinate axis even when the arrow points left. This causes the indexer to rotate counterclockwise by 15 . pawl. As the driver turns clockwise.

Kinematic design is an iterative process consisting of ﬁve steps (ﬁgure 1.5 shows a parametric model for the conceptual design described here.2 Kinematic Design 5 Figure 1. pawl. Analysis. and the intended kinematic function. The concept determines the structure of the mechanism: the parts. The indexer. They are iterated until a satisfactory design is obtained. the kinematic pairs.4).1.2 Kinematic Design We illustrate the design cycle using the indexer mechanism.3 Snapshots of the kinematic function of an indexer mechanism. the offset of the driver. The parameters include the relative positions of the ﬁxed axes. their motions are modeled in the xy plane. the parametric model is revised or an alternative design concept is elaborated. driver. and synthesis are then performed as described earlier. When this is impossible. The parts are modeled in the xy plane because they have a constant cross-section along the z axis. Figure 1. 1. Parametric design consists of building a parametric model of the mechanism that encodes the shapes and conﬁgurations of its parts. and the radii of the indexer teeth. The resulting design is called a nominal mechanism. and pin are mounted on cylindrical shafts. Parameter values are chosen to achieve the intended kinematic function in the absence of manufacturing variation. so each is modeled with a pin joint. Conceptual design consists of selecting a design concept that captures the desired kinematic function. . Likewise. tolerancing.

6 1 Introduction Figure 1. Boldface indicates tasks covered in this book. . Figure 1.5 Indexer mechanism: functional parameters (in millimeters).4 Kinematic design cycle.

the designer faces several key questions. . yD .3 with points a–d corresponding to the snapshots. yD equals 360 and yI has increased to 25 . so its conﬁguration is speciﬁed with two position parameters and an orientation parameter. The functional relation is between the driver’s orientation angle. The initial values are a ¼ ð0 . Since the indexer has 24 teeth. owing to unexpected motions of parts? What modiﬁcations are necessary to make the mechanism function properly despite manufacturing variation? What tolerances are required? Can they be loosened. The kinematic function is quantiﬁed by plotting the relation between the motion parameters. The middle curve represents the second cycle. there are 24 such segments at 15-degree intervals. in which yI increases from 25 to 40 . The bottom curve represents the work cycle shown in ﬁgure 1. Having created the parametric model. and the top curve represents the third cycle. so the pin-lever contact is modeled as a slider joint. The indexer is at rest on the horizontal part of the curve and is driven on the diagonal part. The analysis derives the kinematic function of the nominal mechanism from its parametric model.6 Kinematic function of the indexer mechanism. by modifying the nominal design? To answer these questions. The lever is not mounted on a shaft. Angle yD increases clockwise and yI increases counterclockwise. The pin ﬁts into the lever’s rectangular slot. At the end of the cycle. yI . and yN and ON for the pin. which reduces manufacturing cost. and the indexer’s orientation angle. yP and OP for the pawl. 10 Þ. yD and OD for the driver. The driver and lever have a permanent contact between a circle and a matching circular hole. Will the nominal mechanism function as intended or can it fail. Figure 1.2 Kinematic Design 7 Figure 1.1.6 shows the plot for our example. The pawl-indexer and lever-indexer interactions are more complex because they involve multiple changes of contact. the designer analyzes the current design and synthesizes alternative designs. Their conﬁgurations are speciﬁed with orientation parameters with respect to ﬁxed axes: yI and OI for the indexer. The intended rotation directions are indicated with arrows.

Synthesis adjusts the parameter values and tolerances to prevent these failures. the indexer is assigned an angular velocity that prevents tip and tooth overlap.8 1 Introduction Figure 1. In our example. The kinematic function rarely has a closed form.8 mm) causes the tip to hit the tooth top (ﬁgure 1. The lever is assigned a motion that preserves its contacts with the driver and the pin. The adjustments require extensive analysis of many design instances. Unexpected behaviors can be missed. The nominal tip width is 1 mm and its nominal length is 7. The snapshots in ﬁgure 1. Many parameter values and tolerances must be adjusted. (c) tip too short. Rotation of the driver is the driving motion. Unexpected behaviors usually involve changes in the contact of parts. disengage from the indexer.7a). Once the nominal function of the mechanism has been achieved. The drawback of simulation is that it only provides information for one input motion. Too wide a tip (1. The analysis involves . and so fail to perform its function. Tolerance analysis derives the kinematic variation for given tolerances. The designer has to optimize the design to comply with multiple. Too long a tip (11 mm) causes blocking (b). The goal is to ensure that the kinematic function is preserved for small variations in the shape and conﬁguration of parts. When the lever tip engages the indexer. An unexpected force can make the pawl rotate clockwise. Numerical kinematic simulation is often used instead. Figure 1.7 Lever pin failures (detail): (a) tip too wide. Too short a tip (5 mm) fails to engage the indexer tooth (c). Kinematic simulation takes a driving motion of a part as input and computes motions for the other parts according to the principle that rigid parts cannot overlap. (b) tip too long.3 were generated from a simulation of the indexer mechanism. especially for mechanisms with changes in part contact. conﬂicting requirements. the next step is to assign tolerances. the simulation assumes that the only driving motion is the driver’s rotation.7 shows three examples in which failures occur that are due to small variations of the lever tip. Kinematic design can be difﬁcult and time-consuming.5 mm.

In chapters 2–4 we describe our conﬁguration space representation of kinematics. In chapter 5 we present algorithms for kinematic analysis of a mechanism based on examination of conﬁguration space and kinematic simulation.1. which we have developed over the past 20 years. The difﬁculty of mechanism design motivates research in design algorithms. Unintended contacts can arise from variation in parts and can lead to failure modes that coexist with or supersede the nominal function. In chapter 8 we illustrate the conﬁguration space method for designing mechanisms using four case studies taken from industry. In chapter 6 we describe tolerance analysis based on a parametric worst-case tolerance model. The case studies are an optical ﬁlter mechanism. describe the conﬁguration space representation. In chapter 4. . we study contacts between two features. tolerancing. In chapters 5–7 we present algorithms for kinematic analysis. In chapter 7 we present two methods for kinematic optimization of planar mechanisms. provide closed-form solutions for some cases. The shape of a part in deﬁned in terms of geometric features that form its boundary. The presentation is selfcontained and tutorial. In chapter 3. whereas other engineering disciplines. a MEMS torsional ratcheting actuator. We formulate contact equations for basic features. and provide general numerical solutions. we review basic geometry concepts. In chapter 2. The book is organized as follows. rely heavily on decomposition. This property implies that mechanisms cannot be decomposed into linear functional modules with narrow interfaces.3 Content and Organization of the Book This book describes our conﬁguration space method for mechanism design. and an automotive asynchronous spatial reverse gear pair. and synthesis based on conﬁguration spaces. It is a research monograph rather than a textbook. a manual transmission gearshift. notably circuit design. with references to related work by ourselves and others. with complicated contact equations. 1.3 Content and Organization of the Book 9 many contacts of parts. and discuss kinematic pairs and classiﬁcation of mechanisms. In chapter 9 we conclude with a summary and research directions. so the reader should be prepared to work out some technical details. we study the conﬁguration spaces of kinematic pairs and describe efﬁcient algorithms for computing them. A key property of mechanisms is that the interactions of parts are tightly coupled and nonlinear.

and gear [53] mechanisms and their design. AutoCAD. 31. Pro/Engineer. The conﬁguration space method for planning robot motion is described in Latombe [47] and Choset et al. manipulation. For an introduction and description of modern mechanical CAD. [16]. These packages support drafting. see Dimarogonas [19]. which implements some of the mechanism design methods discussed in this book using conﬁguration spaces. I-DEAS. [3]. 26]. 1. 59. Books on robot kinematics include those by Paul [62] and McCarthy [55]. For recent work on robotic manipulation and computational kinematics. 78]. and visualization. cam [4. HIPAIR.4 Notes There are numerous introductory and advanced textbooks on kinematic design of mechanisms [22. Each mechanism is depicted by a sketch and described with a brief narrative. Its kinematic function is described using conﬁguration spaces. and ADAMS.10 1 Introduction The book contains two appendices. The ﬁrst is a catalog of 30 representative higher-pair mechanisms. . Commercial packages for mechanical computer-aided design include Catia-CADAM. and include limited support for kinematic analysis and tolerancing of mechanisms whose parts interact via a ﬁxed set of contacts. see Mason [54] and Angeles et al. Other books focus on linkage [27]. The second appendix contains the users’ guide to an open-source Cþþ software package.

1 we describe the representation of the geometry of parts.5 we discuss the classiﬁcation of mechanisms.2 is a planar part (ﬁgure 2. This chapter introduces our representations of these concepts.1 Geometry of a Part A part in a mechanism is a rigid solid with a ﬁxed shape.3 and 2. In this book we use boundary representations because they facilitate the analysis of contacts between parts. their kinematic function can often be analyzed in the plane. . The part is obtained by extruding the cross-section perpendicularly to its plane.2. Volume representations describe parts in terms of set operations (union.2 Mechanisms Mechanisms consist of moving interacting parts. The geometry. cones. In section 2. and conﬁguration spaces. complement) on elementary volumes (cubes. In section 2. Boundary representations describe parts by their boundary elements. we describe the conﬁgurations (positions and orientations) and motions of parts. A planar part is speciﬁed by a cross-section and a thickness. motion.1). For example. which are kinematic pairs. It describes mechanisms in terms of their basic functional elements. and contact of parts give rise to kinematic function. Volume and boundary representations are mostly interchangeable because it is possible to obtain either one from the other. Boundaries are closed surfaces that delimit a part’s interior. the lever from the indexer mechanism in ﬁgure 1. spheres). 2. intersection.1 Planar Parts Although parts are spatial. cylinders. In sections 2.1.4 we introduce kinematic pairs and mechanisms and discuss their properties. 2. In section 2. Modeling of solids proposes two main types of shape representation: volume (also called constructive solid geometry) and boundary.

or a sequence of curve segments. The lever has one component with an outer boundary and two holes. A component has an outer boundary and may have inner boundaries (holes). Figure 2. A general planar part consists of a stack of extruded cross-sections with a common plane.2b shows the two cross-sections. Neither components nor boundaries can intersect. circle segments. C2.12 2 Mechanisms Figure 2. but components can nest. A boundary is a single closed curve. and C3. whereas the slot boundary has only line segments. A cross-section consists of closed regions called components. and splines.2 A part with two extruded cross-sections (a) and its cross-sections (b). Closed curves include circles and ellipses. The features of a planar . Cross-section 2 has components C1.1 A lever (a) and its cross-section (b). such as a lever’s circular hole.2a shows a part with two extruded cross-sections and a nested component. Figure 2. Crosssection 1 has one rectangular component. A curve segment is the portion of a curve delimited by two endpoints. The outer boundary of the lever consists of line segments and arc segments. Curve segments include line segments. with C2 nested inside C1. Figure 2.

py Þ (ﬁgure 2. . pÞ ¼ 0 with p ¼ ð p1 . a2 a3 . implicitly. Each boundary segment is speciﬁed by a function f ðx. c3 . . We use the implicit representation of curves because it is general and convenient for deriving contact relations. y A Þ are A A denoted by ð px . An implicit representation is f ðx A .2. or parametrically. . so that the part’s interior is on the left when the segment is traversed from tail to head. and of orthogonal unit vectors x A and y A .3 Planar part A coordinate system. The two endpoints of a segment are labeled tail and head. parametric representation of a part.4 consists of the 12 segments a1 a2 .3). An explicit representation is y A ¼ f ðx A Þ. whereas inner boundaries are traversed clockwise. curve segments. . Two segments are adjacent when they share an endpoint. The segment sequence is chosen so that the head of each segment is the tail of the next segment. . part are the closed curves. and segment endpoints of its boundary. For example. The coordinate system of a part A consists of a point o A . called axes. x A . A boundary is represented by a sequence of adjacent segments. pn Þ a parameter vector. and ðx A Þ 2 þ 4ðy A Þ 2 ¼ 1 is the implicit representation of an ellipse. y. 2x A þ 3y A þ 5 ¼ 0 is the implicit representation of a line. y A Þ ¼ 0. c4 . The shape can be changed by . .1 Geometry of a Part 13 Figure 2. called the origin. c2 . The value of the nominal parameter vector deﬁnes the part’s shape. A parametric representation is x A ðtÞ ¼ f ðtÞ and y A ðtÞ ¼ gðtÞ where t is the curve’s parameter. In some design tasks we employ a more general. The rectangular slot boundary consists of the 4 segments c1 . The coordinates of point p in the coordinate system ðo A . Closed curves and curve segments are speciﬁed with respect to a part’s coordinate system. . Curves can be represented explicitly. c1 . This ordering implies that outer boundaries are traversed counterclockwise. . a12 a1 with ai the segment’s endpoints. The outer boundary of the lever in ﬁgure 2.

4 Boundary representation of a lever part. changing the parameter’s values. and vertices are points where edges meet. edges. Its nominal value is p ¼ ð8. 30Þ. and vertices.5 shows a parametric model of the lever.5 Parametric representation of a lever. their topology is deﬁned by the adjacency relations among the features. and l is the slot length. Figure 2. Figure 2. where w and h are the tip’s width and height. The parameters are chosen to reﬂect shape changes that are relevant to the mechanism’s kinematic function.2 Spatial Parts The boundary representation of a spatial part consists of faces. For example. These faces are obtained by cutting surfaces with planes. that separate the part’s interior from its exterior. 12. As for planar parts. the front circle face of the cylinder is the intersection of the plane y A ¼ 0 with the cylinder ðx A Þ 2 þ ðz A Þ 2 ¼ 1. The dots represent segment endpoints and arrows indicate segment orientation. edges are line or curve segments where faces meet.14 2 Mechanisms Figure 2. r is the the cam’s inner radius. The parameter vector is p ¼ ðw. Parametric spatial models of a part can be deﬁned as for planar parts. Faces are surface patches.6 shows the most common faces. . h. lÞ.1. Figure 2. r. 2. 8. collectively called features.

(b) cylindrical.7b shows a ﬂattened projection of part of this boundary. The spatial Geneva pair illustrates these concepts (ﬁgure 2. (b) ﬂattened projection of part of the inner spherical patch follower’s boundary proﬁle. Dots represent vertices. The slot’s boundary and the circle segment’s cutout are connected by a circle segment. The cam consists of a plate with a cylindrical pin and a half cylinder mounted on it.6 Faces: (a) planar. The boundary representation consists of spherical and cylindrical faces bounded by line and arc segments. The pattern repeats four times to form a closed boundary.7 Spatial boundary representation: (a) a Geneva pair with part of the follower’s inner spherical patch boundary highlighted.7). The boundary of each slot consists of two parallel circle segments on the sides and a semicircle at the bottom. (c) spherical. The follower is a hollow hemisphere with four evenly spaced slots and circular cutouts.2. The follower’s inner boundary consists of a spherical patch with four slots and four cutouts. The vertices ai correspond to boundary segment . Figure 2.1 Geometry of a Part 15 Figure 2. Figure 2.

The part A coordinate system. yA Þ. is attached to the part. but with larger dimensions. The part’s conﬁguration determines the set of world points that it occupies.2. for example. followed by a circle segment a2 a3 from the cutout. y A Þ.8 Planar part coordinate systems: (a) world and part coordinate system. Both are connected by eight rectangular planar faces at the top. x A . x.1 Planar Parts The conﬁgurations of parts are speciﬁed using two coordinate systems as shown in ﬁgure 2. ðo A . The orientation is the angles between the part’s axes and the world axes.7a. and a6 a7 . is ﬁxed.2 Conﬁgurations and Motions of Parts This section describes the mathematics of the conﬁgurations and motions of rigid parts. The conﬁguration of a part is its position and orientation in a world coordinate system. The part’s position is speciﬁed by the translation vector tA ¼ ðxA . (b) a conﬁguration space coordinate system. We begin with planar parts and then extend the discussion to spatial parts. 2. The world coordinate system.8a. . a5 a6 . ðo.16 2 Mechanisms endpoints: segment a1 a2 is a straight line. as shown in ﬁgure 2. The follower’s outer boundary has the same structure. 2. it is attached to the mechanism’s frame. The part’s orientation is speciﬁed by the rotation matrix Figure 2. Its position is given by the world coordinates of the part’s origin. connected by line segment a3 a4 to the slot boundary consisting of arc segments a4 a5 (which projects to a line segment). yÞ.

Figure 2.2 Conﬁgurations and Motions of Parts 17 RA ¼ cos yA sin yA Àsin yA cos yA that maps the part’s axes to the world axes. and the domain of yA is the unit circle S ðÀ180 a yA a þ180 Þ. The domain of xA and yA is the real line. 2. c3 . In conﬁguration c2 ¼ ð11. the part’s origin is moved by nine units along the x axis. and yA are called conﬁguration variables.2. Figure 2. 8. In conﬁguration c3 ¼ ð16. the part’s origin is at two horizontal and vertical units (e. Part coordinates. yA . In conﬁguration c1 ¼ ð2. 8. Figure 2. c3 . p ¼ ð px . 0 Þ. . and its points.9 A part in conﬁgurations c1 . yA . c2 . 0 Þ. Conﬁguration variables xA and yA are called position variables and yA is an orientation variable.8b) of a part. the part is rotated counterclockwise by 30 . are mapped to world coordinates.9 shows a planar part in conﬁgurations c1 . cA ¼ ðxA .. Their Cartesian product. 30 Þ. c4 . < 2 Â S.g. py Þ. centimeters) from the world origin and their axes are aligned. The conﬁguration space represents the set of all positions and orientations (ﬁgure 2.10 shows the four conﬁgurations in conﬁguration space ðxA . 0 Þ. yA Þ. In conﬁguration c4 ¼ ð16. by the Euclidean transformation p ¼ tA þ RA p A : The variables xA . c2 . p A ¼ A A ð px . is called conﬁguration space. the part’s origin is moved by ﬁve units further along the x axis and by six units along the y axis. are called conﬁgurations. yA Þ. c4 in the plane. 2. py Þ. yA . <.

When a part moves. parts are designed to move along ﬁxed axes. yA ðtÞ. yA ðtÞ. so that the two position variables are constant. When the orientation variable and one position variable are constant. To simplify the kinematic analysis. and yA ðtÞ are the values of xA . It then translates along a diagonal to reach c3 and rotates by 30 to reach the ﬁnal conﬁguration. yA . When a part rotates. The motion starts at conﬁguration c1 and translates along the x axis nine units relative to c1 to reach c2 . the motion is rotation around a ﬁxed axis. suppose part A rotates . The changing conﬁguration traces a path in conﬁguration space.10 Part conﬁgurations c1 . In many mechanisms. For example. Parts with these motions are called ﬁxed-axis parts.13 shows the path in the conﬁguration space.12 shows the conﬁguration variables’ time plots and ﬁgure 2. Figure 2. Figure 2. The part’s conﬁguration is cA ðtÞ ¼ ðxA ðtÞ. the coordinate system’s origin is placed at the center of rotation. When the position variables are constant and the orientation variable changes. the motion is translation along a ﬁxed axis deﬁned by the linear relation. we choose a part coordinate system so that two of the three conﬁguration variables are constant. c4 . the coordinate system’s x axis is aligned with the motion axis so that the y variable and the orientation variable are constant. and yA at time t. c4 in conﬁguration space. c3 . When a part translates.11 shows an example of a planar moving part.18 2 Mechanisms Figure 2. When the position variables are linearly related. and rotation. diagonal translation. its conﬁguration changes continuously over a time interval. the motion is translation parallel to the vertical or horizontal axis. yA ðtÞÞ where xA ðtÞ. The part’s motion thus consists of three stages: horizontal translation. c2 .

2. (c) yA ðtÞ.12 Planar motion time plots: (a) xA ðtÞ.11 Representative motion snapshots of the planar motion of a part. .2 Conﬁgurations and Motions of Parts 19 Figure 2. Figure 2. (b) yA ðtÞ.

around its origin oA in ﬁgure 2. y. yA . yA Þ.8. is expressed in terms of three orientation variables.14b). One option. The three-by-three rotation matrix. The position vari- . The number of variables is called the number of degrees of freedom. x. fA .2. is to express a general rotation matrix as the product of three rotations around coordinate axes. z A Þ. and cA the yaw angle around zA . yA Þ is ð3. 2. the inverse of RA is expressed as 3 2 3 3 2 2 1 0 0 cos fA 0 Àsin fA cos yA Àsin yA 0 7 6 7 7 6 6 0 1 0 5 Â 4 0 cos cA Àsin cA 5 4 sin yA cos yA 0 5 Â 4 0 sin cA cos cA 0 0 1 Àsin fA 0 cos fA with yA the roll angle around xA . zA and orientation variables yA . The translation vector is tA ¼ ðxA .13 Planar motion of a part in conﬁguration space. The conﬁguration space of a spatial part is six-dimensional. cA . versus three in the plane. yA . called Euler angles. 2. x A .2 Spatial Parts Spatial conﬁgurations of parts are analogous to planar ones (ﬁgure 2. In the roll-pitch-yaw convention (ﬁgure 2.14). The part’s conﬁguration ðxA . zA Þ. The world coordinates are ðo. with position variables xA . each of which has a one-parameter rotation matrix. Fixed-axis planar parts have one degree of freedom whereas free planar parts have three. zÞ and the part A coordinates are ðo A .20 2 Mechanisms Figure 2. which simpliﬁes to yA . yA . y A . A spatial conﬁguration consists of six variables. The transpose of this product is RA . RA . The independent variables that specify the conﬁguration of a part are called the degrees of freedom of the part. fA the pitch angle around yA .

3 Kinematic Pairs The basic functional element of a mechanism is the kinematic pair. We consider the cases of planar pairs and spatial pairs. As in the plane. For example. yA . able domain is the real line and the orientation variable domain is ½À180 .2. The parts’ conﬁguration variables become coordinates in the conﬁguration space. A kinematic pair is formed by two parts in contact that move relative to each other. spatial motions specify conﬁgurations of a part as a continuous function of time. called the pair conﬁguration space.3 Kinematic Pairs 21 Figure 2. We ﬁrst describe the conﬁguration space representation for planar and spatial pairs and then discuss lower and higher pairs. 2. yA and xB . We only study spatial parts that rotate or translate around ﬁxed axes. 1:75. 45 Þ. þ180 .3. 2. For the planar case. in ﬁgure 2. part A is in conﬁguration ðxA . yB as shown in ﬁgure 2. yA Þ ¼ ð3.1 Representation of Conﬁguration Space We represent kinematic pair conﬁgurations in a conﬁguration space. so the conﬁguration . yB . yB . 30 Þ and part B is in conﬁguration ðxB . which is the Cartesian product of the parts’ conﬁguration spaces. yA .15. A point in this space deﬁnes the conﬁguration of the two parts. 2. (b) conﬁguration of a part.14 Spatial coordinates system and conﬁguration of a part: (a) world and parts coordinate system. let A and B be two planar parts with conﬁguration variables xA .15. The conﬁguration variables deﬁne a sixdimensional space. yB Þ ¼ ð7.

ðxA . yB . yA . 7. yA . 30 . zB . 0. yB . fA . In a general pair. we can employ relative coordinates. xB Þ. Part A conﬁguration variables xA . 2. rotationtranslation with conﬁguration space coordinates yA and xB . yA . yA . yB . There are three types of two-dimensional conﬁguration spaces for planar ﬁxed-axis pairs: rotationrotation with conﬁguration space coordinates yA and yB . xB . yB Þ is ð3. yB Þ is replaced by ðxA . 1:75. cB . xA . In a ﬁxedaxis pair. For the spatial case. In a ﬁxed-axis pair. We consider the cases of ﬁxed-axis pairs and general pairs.15. xB . yA Þ. yA . 0 Þ. For example. which deﬁnes a two-dimensional conﬁguration space. cA and xB . four of the six conﬁguration variables of the pair are constant. The pair conﬁguration. In a general planar pair. so it can be simpliﬁed to ðyA . Part B is ﬁxed at the world coordinate system’s origin with its axes aligned with the world axes. suppose part A rotates around its origin oA and part B translates along its xB axis. yA . and yB .16). 2. yA . yA . 45 Þ. so its conﬁguration is ð0. let A and B be two spatial parts with conﬁguration variables xA . fB . ðxA . we describe the conﬁguration of moving part A relative to ﬁxed part B (ﬁgure 2.22 2 Mechanisms Figure 2. yB Þ ¼ ð3. which deﬁnes a three-dimensional conﬁguration space. 1:75. zA . 45 Þ is a contact conﬁguration.15 Coordinate systems and conﬁguration variables for a part. xB . xB . The conﬁguration variables deﬁne a 12-dimensional conﬁguration space. . yB . yA . each part has three degrees of freedom. in ﬁgure 2. each part has one degree of freedom and we choose coordinate systems in which four of the six conﬁguration variables are constant. Instead of describing pair conﬁgurations in the world coordinate system. yB . yA . and translation-translation with conﬁguration space coordinates xA and xB . yA become the coordinates of A relative to B. The pair conﬁguration ðxA . yA . yA . yB .

the sphere-table pair has ﬁve degrees of freedom.17 is ﬁxed. called the degrees of freedom of the pair. assume that the table in ﬁgure 2. and two of its three orientation variables are constant. Figure 2. In a pair with permanent contacts of parts.17 Contact types. For example. The variables of the block position are similarly constrained. Contacts between parts constrain their conﬁgurations by inducing functional relations among their conﬁguration variables. The parameter vector p deﬁnes . the block-table pair has three. For example. and an involute gear pair has one. The sphere A can only be placed so that the distance from its center to the table is equal to the sphere’s radius.2. with the world coordinate frame chosen so that the x and y coordinates lie on the table’s surface. so its zA position variable is constant. The sphere’s center lies on a plane parallel to the table’s surface. the conﬁguration can be speciﬁed by an independent subset of the conﬁguration variables. The parametric representation of a kinematic pair is a direct extension of the parametric representation of its parts.16 Relative coordinates for general planar pair.3 Kinematic Pairs 23 Figure 2.

Higher pairs are all other pairs.17 illustrates the three cases: a block on a table is a surface contact. two parts can have multiple contacts. and p speciﬁes the nominal parameter values.2 Lower and Higher Pairs A contact occurs when a feature of one part touches a feature of another part. a cylinder on a table is a line contact. Spatial lower pairs contain parts whose surface contacts induce motions in space: . Planar lower pairs contain parts whose surface contacts induce planar motion: revolute.18). There are six types of lower pairs: three planar and three spatial (ﬁgure 2. Lower pairs. Figure 2. The mechanical engineering literature classiﬁes kinematic pairs as lower and higher. and plane joints. line contacts. The contact region of two parts is the set of points at which two features touch. Contacts can be permanent or changing. An example of permanent contact is a cylindrical shaft mounted in a hub with a matching hole. and point contacts. lines. Lower pairs involve a single.18 The six kinematic lower pairs.24 2 Mechanisms Figure 2. also called pin. and a sphere on a table is a point contact. changing contacts. 2. and points. are the most popular and robust. including multiple contacts. There are three types of contact regions: surfaces. and planar. permanent surface contact between the features of two parts. such as two rotating parallel gears with several meshing teeth. also called joints. An example of changing contacts is the two transmission plates of a clutch. slider. prismatic. Also.3. the parts’ shapes and motion axes.

19a shows a sector gear pair.4 Mechanisms Mechanisms consist of interacting ﬁxed and moving parts.19d shows a ball-bearing ratchet mechanism. and the enclosed ﬁnger cam rotates and translates in the plane. Figure 2. Figure 2. As for kinematic pairs. Figure 2. called the frame. serve as a support for the moving parts. General planar pairs contain parts with planar motions and three degrees of freedom. each part contributes up to three conﬁguration variables. Figure 2. The gear and driver cam are ﬁxed-axis parts. and planar or spatial. also called cylinder. The continuous rotation of the driver intermittently turns the follower half a turn in the opposite direction. The ﬁxed parts. Motion in the clockwise direction is prevented by the shape of the cam’s inner notches. The examples use thick-headed arrows to indicate intended motion directions. In a planar mechanism with n moving parts.4 Mechanisms 25 cylindrical. Figure 2. Cylindrical pairs have independent rotation and translation along a ﬁxed axis. Spherical pairs have three independent rotations around a ﬁxed point. Each gear rotates around its center on a ﬁxed axis.2. we represent a mechanism’s conﬁgurations in conﬁguration space.19c is a spatial ﬁxed-axis pair in which the worm gear and the follower gear rotate around ﬁxed axes that are orthogonal to each other. Higher pairs can be further classiﬁed by their motion types: ﬁxed-axis or general. which is a ﬁxed-axis planar pair. Revolute and prismatic pairs have one degree of freedom: rotation or translation along a ﬁxed axis. Planar pairs consist of two planar parts with a common plane whose motion is parallel to that plane. screw. and sphere joints.1.19b shows a general planar pair. which form general spatial pairs with the driver and the follower. Plane pairs have all three planar degrees of freedom. Helical pairs have one degree of freedom: linearly coupled rotation and translation along a ﬁxed axis.19 shows four examples of kinematic pairs. The moving parts interact among themselves and with the frame via contacts. so the conﬁguration . 2. it drives the follower clockwise by means of four ball bearings. as explained in section 1. helical. and spherical. When the driver rotates counterclockwise around the ﬁxed axis at its center. The spatial geometry of the worm screw and the gear teeth makes the pair spatial rather than planar. whereas general spatial pairs contain parts with spatial motions and up to six degrees of freedom. Their shapes and interactions are designed to achieve useful kinematic functions. Planar ﬁxed-axis pairs have one degree of freedom per part.

relative con- . In a spatial mechanism. each moving part contributes up to six conﬁguration variables. features. (b) general planar.26 2 Mechanisms Figure 2. For example. so the conﬁguration space is at most 6n-dimensional. (c) spatial ﬁxed-axis. Structural properties describe the shapes. Kinematic functions describe the relationships among the motions of parts. (d) general spatial. The kinematic functions result from the shapes.19 Examples of kinematic higher pairs: (a) planar ﬁxed-axis. the function of two parallel ﬁxed-axis gears with meshing teeth of equal diameter is to reverse the rotation direction while keeping the same rotation speed and acceleration. and driving motions of the parts. space is at most 3n-dimensional. Mechanisms are most often described by their structural and functional properties. contacts.

and the contacts between the gears. a ratchet. Solid edges represent permanent contacts. a pawl. Fixed-axis mechanisms consist of parts that move along ﬁxed axes. gear-crank. An abstract description of the contacts is a topology graph. such as gear. The Dennis clutch is a general planar mechanism consisting of an arm. Figure 2. In this graph. a cam. (b) Dennis clutch. the structural description of a gearbox indicates the number of gears. and is mounted on a rotating shaft. piston. The ratchet is mounted on a rotating shaft. The arm is attached to the frame with a pin joint. number of teeth and diameter. whereas spatial mechanisms include one or more spatial pairs. while dashed edges represent intermittent .7a shows a ﬁxed-axis spatial mechanism consisting of a cam and a follower mounted on a frame (not shown). and lever-ratchet. The counterclockwise rotation of the driver causes the follower to oscillate and the slider to follow the closed trajectory (dotted lines). Contacts between parts are collectively referred to as the mechanism’s contact topology. ﬁgurations. The link-gear dwell mechanism is a planar linkage consisting of a ﬁxed frame and ﬁve moving parts with six pin joints (solid circles) and one slider joint. Planar mechanisms include planar parts and pairs with a common plane. The cam consists of a pin and a rim attached to a plate. and a frame (not shown). cam. each part is represented by a node and an edge between two nodes represents a contact between two parts. For example.20 illustrate these concepts.20 Planar mechanisms: (a) link-gear dwell. Additional structural descriptions refer to geometric properties common to all parts and pairs. The mechanisms in ﬁgure 2. screw.2.4 Mechanisms 27 Figure 2. Linkage mechanisms consist of lower pairs only. and contacts of parts. their rotation axes. The pawl is attached to the cam plate by a pin. Other structural descriptions stem from the common name of the main part or pair of the mechanism.

These motions can be simple. Additional functional descriptions refer to the overall purpose of the mechanism.21 Topology graphs of the mechanisms in ﬁgure 2. motions of parts are interpreted as input and output motions. with a dwell inbetween. For example. The two mechanisms in ﬁgure 2. A tree is a graph in which each node except one. such as ﬁxed-axis rotation or translation. braking.21 shows the topology graphs of the mechanisms in ﬁgure 2. the start node.28 2 Mechanisms Figure 2. The structure of the graph serves to characterize mechanisms. the end node. Topology graphs can be open loop and closed loop. The function of the link-gear dwell mechanism is to convert a continuous rotation of the driver to an oscillatory motion of the follower. has exactly one child. Paths between nodes in the graph indicate interactions between parts that are not directly in contact. Closed-loop graphs can have a single or multiple loops. indexing. Examples include clutch. Functional descriptions refer to the motions of parts and their relationships. Motion relations describe the relationships between a part’s degrees of freedom in terms of mathematical functions. A loop in the graph is a path from a part to itself that goes through two or more parts. the functional description of the gearbox indicates the gear shifts and the ratio between the input and output rotation axes. Figure 2.20: (a) link-gear dwell and (b) Dennis clutch.20. stopping. contacts. Often. . Openloop graphs can be trees or chains. depending on whether they contain a loop. The function of the Dennis clutch is to prevent the clockwise rotation of the cam.20 illustrate these concepts. or more complex. and locking mechanisms. has exactly one parent and zero or more children. A chain is a tree in which each node but one.

The mechanical engineering literature often employs structural. such as tripping and stop.745 mechanisms classiﬁed in a two-tier group system. The most common are gear and cam pairs.22 shows two entries from the encyclopedia. etc. 89% have one or two degrees of freedom while 11% have three or more. Since the focus of this book is computational. escapement. such as belts and chains because they fall outside the scope of standard kinematics.5 Classiﬁcation of Mechanisms It has long been recognized that the classiﬁcation of mechanisms according to their structural and functional properties poses a difﬁcult problem. and 7 on average. A total of 85% mechanisms are planar and 18% have changing contacts (such as clutch and ratchet mechanisms). to name a few. Of the 559 stand-alone kinematic higher pairs. 72% are planar and 28% are spatial. such as ratchet. such as the inventor’s name (Dennis clutch) and the invention location (Geneva cam). Linkages comprise 35% of all mechanisms. intermittent motion. The literature includes a variety of collections and encyclopedias on mechanisms. . which appear in all types of mechanisms. The ﬁrst classiﬁcation is based on structural features such as lever.5 Classiﬁcation of Mechanisms 29 2. The ﬁve-volume set contains 4. loosely organized by structure and function. and ﬁxed-axis parts connected by linkages 9%. The fourvolume collection Ingenious Mechanisms for Designers and Inventors edited by Horton and Jones [30] includes hundreds of mechanisms loosely classiﬁed by mechanical motion. we elaborated our own classiﬁcation of mechanisms according to their geometric and kinematic properties. The most comprehensive and systematic collection is Artobolevsky’s Mechanisms in Modern Engineering Design [5].2. Figure 2. are common in low-torque mechanisms. The second classiﬁcation is based on their function: balance. such as sewing machines. and indexer pairs. The drawings have been simpliﬁed to retain only the relevant shape details and are supplemented with short explanations. We conducted a survey of about 2. Others.500 rigid-part mechanisms in Artobolevsky’s encyclopedia to identify the main categories and determine their relative importance. ﬁxedaxis 22%. gear. cam. brake. We excluded mechanisms with ﬂexible parts. and other descriptions. dwell. functional.2 summarize the classiﬁcation results for higher pairs and for mechanisms.1 and 2. The mechanism compilations and our survey show that higher pairs are pervasive. The 1. Tables 2.912 mechanisms surveyed have between 3 and 25 moving parts. guiding. link-gear. and slider-crank. Most pairs (66%) are both planar and ﬁxedaxis. and differential motion.

.30 2 Mechanisms Figure 2.22 Two examples of entries from Artobolevsky’s Mechanisms in Modern Engineering Design.

2.5

Classiﬁcation of Mechanisms

31

Table 2.1 Survey of kinematic pairs Degrees of freedom Volume Lever mechanisms 1 Lever mechanisms 2 Gear mechanisms Cam mechanisms Total Percentage Total 159 56 180 164 559 — a2 130 43 174 148 495 89% >2 29 13 6 16 64 11% Geometry planar 102 46 140 114 402 72% spatial 57 10 40 50 157 28% Planar ﬁxed-axis 94 37 136 103 370 66%

Notes: The ﬁrst column shows the total number of pairs. The following two columns show the number of pairs with two or fewer degrees of freedom, or with more than two. The fourth and ﬁfth columns indicate the number of planar and spatial pairs. The last column indicates the number of ﬁxed-axis pairs.

Table 2.2 Survey of Mechanisms Motion type Volume Lever mechanisms 1 Lever mechanisms 2 Gear mechanisms Cam mechanisms Total Percentage Total 614 677 350 271 1912 — Linkage 341 323 1 4 669 35% FA 101 105 106 101 413 22% Both 18 66 36 47 167 9% Others VC 154 183 207 119 663 35% 123 110 72 40 340 18% Spatial 108 70 28 72 278 15%

Notes: The ﬁrst column shows the total number of mechanisms. The following three columns show the number of linkage, ﬁxed-axes (FA), and linkage and ﬁxed-axes (Both) mechanisms. The ﬁfth columns shows the number of remaining mechanisms. The sixth column shows the number of mechanisms with varying contacts (VC). The last column shows the number of spatial mechanisms.

32

2

Mechanisms

copiers, cameras, and VCRs. Mechanisms with one degree of freedom, such as the link-gear dwell mechanism, are the most common. 2.6 Notes

Representation of the shape of parts has been the topic of extensive research in the solid modeling community for the past 30 years. An excellent textbook on the subject is by Mantyla [53]. The motions of parts are studied in classic mechanical engineering and robotics literature. There are textbooks by Erdmann and Sandor [22] and Paul [62]. The conﬁguration space representation of locations and motions of parts is presented in Latombe [47], and more recently in Choset et al. [16]. Collections and encyclopedias describing many useful and practical mechanisms include those by Artobolevsky [5], Horton and Jones [30], Chironis [15], and Jensen [33]. More details on the survey we conducted on Artobolevsky’s encyclopedia can be found in Joskowicz and Sacks [40]. Tsai [79] addresses classiﬁcation of mechanisms based on graph theory to characterize the structure and function for mechanisms with permanent contacts. The KMODDL on-line Cornell University Reuleaux Collection of Kinematic Mechanisms includes many historical texts, mechanisms, and their animations at http://kmoddl.library.cornell.edu. Appendix B describes the representation of parts and mechanisms in HIPAIR. It covers ﬁxed-axis planar parts whose boundaries are line and circle segments.

3 Contact of Features

This chapter begins the study of contacts of parts with the concept of contacts of features. Two features are in contact when they share one or more points, called contact points, and do not intersect. We study the contact of features in the conﬁguration space of a kinematic pair. We compute the contact conﬁgurations by formulating and solving contact equations. We solve the equations in closed form when possible and use a numerical solver in other cases. Using a closed-form solution is faster and more accurate than using a numerical solver, but is less general. The simplest planar features are line segments, circle segments, and their endpoints, called vertices. These are the most common features in planar kinematic pairs. In the ﬁrst three sections, we formulate their contact equations and derive closed-form solutions. We formulate contact equations for general planar features in section 3.4 and for spatial features in section 3.5. Few cases have closed-form solutions, so we turn to numerical solutions. 3.1 Simple Planar Feature Contact

There are six pairs of simple planar features: circle-circle, circle-line, lineline, vertex-vertex, circle-vertex, and line-vertex. Each pair deﬁnes a contact type. In this section we derive contact equations for the ﬁrst two types and reduce the other four types to these two. We solve the contact equations for ﬁxed-axis pairs in section 3.2 and for general planar pairs in section 3.3. Two segments are in contact when the underlying circles or lines are tangent (ﬁgure 3.1a) and the point of tangency lies on both segments (ﬁgure 3.1b). The tangency conﬁgurations form the solution set of a circle-line or circle-circle tangency equation. The contact conﬁgurations are a subset bounded by the conﬁgurations where the point of tangency coincides with a vertex (ﬁgure 3.1c). The boundary conﬁgurations are the solutions of vertex-line and vertex-circle boundary equations.

34

3

Contact of Features

Figure 3.1 Tangency (a), contact (b), and boundary conﬁguration (c) at q.

Figure 3.2 Tangency conditions: (a) circle-line, (b–c) circle-circle.

3.1.1 Tangency Equations Figure 3.2a shows the tangency condition for a circle, a, with radius ra and center oa , and a line, b, with point hb and unit normal nb . The distance from the circle’s center to the line equals the circle’s radius: nb Á ðoa À hb Þ ¼ ra where the dot denotes the inner product v Á w ¼ vx wx þ vy wy . We express this equation in the coordinates of parts by substituting

A oa ¼ RA oa þ tA B hb ¼ RB hb þ tB B nb ¼ RB nb

to obtain

B A RB nb Á ðRA oa þ tA À tB Þ ¼ ra þ db ;

ð3:1Þ

with radius ra and center oa . (b–c) circle. a. kob À oa k ¼ rb À ra . and a line. ð3:3Þ ð3:4Þ . The vertex is on the line and the outward normals.3. The equations are nb Á ðv À hb Þ ¼ 0 and nb ¼ Àna . B B B B where db ¼ nb Á hb replaces ðRB nb Þ Á ðRB hb Þ using the invariance of inner products under rotation.2b). na and nb .3a shows the boundary conditions for a vertex. and a circle. We express these equations in part coordinates by substituting A oa ¼ RA oa þ tA B o b ¼ R B o b þ tB to obtain B A kRB ob þ tB À RA oa À tA k ¼ rb G ra : ð3:2Þ 3. the distance between the centers equals the difference of the radii.2 Boundary Equations Figure 3.1 Simple Planar Feature Contact 35 Figure 3. and rb > ra . are opposite. When the circles touch on the outside (ﬁgure 3.2c). b. Figure 3. v.1. the distance between the centers equals the sum of the radii: kob À oa k ¼ ra þ rb with k Á k denoting the vector norm 2 2 kvk ¼ ðvx þ vy Þ 1=2 . Substituting part coordinates yields B ðRB nb Þ Á ðtA þ RA v A À tB Þ ¼ db B A RB nb ¼ ÀRA na . When the outside of a touches the inside of b (ﬁgure 3. with radius rb and center ob . b.2b–c shows the tangency condition for a circle.3 Boundary conditions: (a) line. B B with db ¼ nb Á hb .

4c). and nb ¼ Àna .4a). b. (d) segmentvertex. (b) identical circles. We need not compute vertex-vertex contacts because they are also segment-vertex contacts.3b shows the boundary conditions for a vertex. of the two incident segments (ﬁgure 3. A contact between vertex v and segment b occurs when v lies on b and the b inward normal. Either both vertices of the shorter segment are in contact with the longer segment or one vertex of each segment is in contact with the other segment (ﬁgure 3.4 Subsumed contacts: (a) line-line. We rewrite a segment-vertex contact as a contact between the segment and an artiﬁcial circle with radius zero. This is mathematically equivalent to contact between b and a circle segment with radius zero. is between the outward normals. v. and a circle. (c) vertex-vertex. center and vertices v. The analysis in later sections implicitly ignores this case. v is in contact with b and a is in contact with w (ﬁgure 3. Figure 3. . The equations are ob G rb nb ¼ v. When vertex v of a is in contact with vertex w of b. using the circle property that v À ob is colinear with nb . Substituting the second equation into the ﬁrst and introducing part coordinates yields A B tA þ RA v A G rb RA na ¼ tB þ RB ob and the linearity of rotation yields B tA þ RA e ¼ tB þ RB ob . s and e.3 Subsumed Contacts We need not compute line-line contacts because they are also line-vertex contacts. m. For the same reason.36 3 Contact of Features Figure 3. and vertex normals s and e.4b) because they are also circle-vertex contacts. we need not compute contacts for identical circles (ﬁgure 3. ð3:5Þ 3.4d).1. A with e ¼ v A G rb na . The vertex is on the line and the outward normals are opposite.

Figure 3. The solution set of the boundary equations is a subcurve of the tangency curve. and coincides with a b vertex in conﬁguration d. b. called a contact curve. The contact point coincides with an a vertex in conﬁguration a.1 Tangency Curves We solve a tangency equation by writing one variable as a closed-form expression of the other variable on a closed interval. and a translating line segment. (e) contact curve (thick) and tangency curve (thin). 3.2.5a–d shows contact conﬁgurations a–d of a rotating circle segment. called a tangency curve. 3. while the other part coordinates are constant. Figure 3. The solution set is a curve in the pair’s conﬁguration space.2 Fixed-Axis Planar Pairs 37 Figure 3.5 Fixed-axis pair: (a–d) contact conﬁgurations a–d. Although the example .2 Fixed-Axis Planar Pairs A ﬁxed-axes pair has a single tangency equation whose variables are the two degrees of freedom. is interior to both segments in conﬁgurations b and c. a.3.5e shows the tangency and contact curves.

yB and the conﬁguration variables yA . Since yB is constant. 1Þ. B B ra ¼ 1. The curve parameters are oa ¼ ð2. rotating circle-rotating circle. The constant conﬁguration variables are A xA ¼ 0.3 since their main use is in general planar pairs. Translating Circle-Rotating Line The degrees of freedom are xA . yB are constant. We saw in section 2. The tangency curve is two vertical lines where the right side of the tangency equation equals zero. The curve.38 3 Contact of Features given here yields one interval.3 that there are three types of ﬁxed-axis pairs: rotationrotation. yA ¼ 0. We solve the three translation cases at the end of section 3. À2Þ and nb ¼ ð0. B n ¼ RB nb is constant. yA . These types combine with the two tangency equations to generate eight cases: rotating circle-translating line. expanding the parentheses. Figure 3. Substituting n in equation 3. and nb ¼ ð1. other equations yield several intervals. Figure 3. and so on. . and x translation-y translation. In this section we solve the ﬁve cases involving rotation. hb ¼ ð0. The right-side equation is 2 cos yA ¼ À1 with zeros at À150 and À30 . so nx ¼ 0. xB ¼ 2 cos yA À 1.1. 0Þ.7 shows a degenerate tangency curve. Also tA ¼ ðxA . 0Þ. rotation-x translation. Rotating Circle-Translating Line The degrees of freedom are yA . 0Þ. yB ¼ 0. and yB ¼ 0. The only change from the previous example is that b is horizontal with B B hb ¼ ð0. yA . is a sinusoid. yB .6 shows a typical pair. Since yA is constant. yA Þ is constant. xB and the conﬁguration variables xA . xB . A degeneracy occurs when the line b is parallel to the xB axis. yB are constant. and rearranging yields A n Á tB ¼ n Á ðRA oa þ tA Þ À ra À db : Expanding the left side and rearranging yields A nx xB ¼ n Á ðRA oa þ tA Þ À ra À db À ny yB : We expand tA and employ the identity n Á ðRA vÞ ¼ ðv Â nÞ sin yA þ ðv Á nÞ cos yA to obtain A A nx xB ¼ ðoa Â nÞ sin yA þ ðoa Á nÞ cos yA À ra À db À ny yB þ nx xA þ ny yA : Dividing by nx gives the closed-form solution for xB in terms of yA and the four constant conﬁguration variables: xB ¼ k1 sin yA þ k2 cos yA þ k3 .

1. 1Þ.6 Rotating circle-translating line: (a) conﬁguration c ¼ ð0 . A B o ¼ RA oa is constant. À1Þ. Figure 3. Substituting n ¼ RB nb and o in equation 3. . xB ¼ 0. yA ¼ 0. (c) tangency curve. (b) conﬁguration d ¼ ðÀ30 . (c) tangency curve. and yB ¼ 0. and rearranging yields n Á tA ¼ n Á ðtB À oÞ þ ra þ db : Expanding the left side and rearranging yields nx xA ¼ n Á ðtB À oÞ þ ra þ db À ny yA : Expanding n yields the closed-form solution for xA in terms of yB . Also tB ¼ ðxB . 0Þ. 0Þ. (b) conﬁguration d ¼ ð90 .3.7 Degenerate case: (a) conﬁguration c ¼ ðÀ150 .8 shows a typical pair. The constant conﬁguration variables are A yA ¼ 0. xA ¼ B B ½nb Â ðtB À oÞ sin yB þ ½nb Á ðtB À oÞ cos yB þ ra þ db À ny yA : B cos y À n B sin y nx B B y Figure 3. yB Þ is constant.2 Fixed-Axis Planar Pairs 39 Figure 3. 0Þ. The curve parameters are oa ¼ ð2. expanding the parentheses.

Hence. Substituting f in equation 3.8 Translating circle-rotating line: (a) conﬁguration c ¼ ð0. Rotating Circle-Translating Circle The degrees of freedom are yA . yB . yB are constant. 0Þ. (c) tangency curve. We employ the identity kvk ¼ v where v 2 denotes v Á v. 0Þ. The solution is xA ¼ ð3 À 2 cos yB Þ= cos yB . e ¼ RB ob À tA 2 A 2 is constant. There is no tangency for any xA value because a translates parallel to b (ﬁgure 3. yA . hb ¼ ð2. B B ra ¼ 1. The tangency curve has vertical asymptotes at yB ¼ G90 where the denominator equals zero. (b) conﬁguration d ¼ ð90 .40 3 Contact of Features Figure 3.2 and squaring both sides of the equation yields ðtB þ fÞ 2 ¼ ðrb G ra Þ 2 : Expanding the inner product yields 2 tB þ 2f Á tB þ f 2 À ðrb G ra Þ 2 ¼ 0: Expanding the three inner products yields 2 2 2 tB ¼ xB þ yB A A A A f Á tB ¼ xB ðex þ oay sin yA À oax cos yA Þ þ yB ðey À oax sin yA À oay cos yA Þ A A A f 2 ¼ e 2 þ ðoa Þ 2 À 2ðoa Â eÞ sin yA À 2ðoa Á eÞ cos yA : Substituting the expansions into the tangency equation yields 2 A A A A xB þ 2ðex þ oay sin yA À oax cos yA ÞxB À 2ðoax yB þ oa Â eÞ sin yA A A A À 2ðoay yB þ oa Á eÞ cos yA þ e 2 þ ðoa Þ 2 þ 2ey yB À ðrb G raÞ 2 ¼ 0: . 0Þ.8b). Deﬁne f ¼ e À RA oa . and nb ¼ ð1. xB and B the conﬁguration variables xA . 0Þ.

Figure 3.9 shows a typical pair.1 and expanding RB yields B B ðnb Â eÞ sin yB þ ðnb Á eÞ cos yB ¼ k3 : Expanding e and RA yields k1 sin yB þ k2 cos yB ¼ k3 . yB ¼ 0. each of which yields two tangency curves. xB . and rb ¼ 1.9 Rotating circle-translating circle: (a) conﬁguration c ¼ ð0 . Substituting e ¼ RA oa þ tA À tB and k3 ¼ ra þ db in equation 3. 2Þ. 120 . The tangency equation is a quadratic in xB whose coefﬁcients are linear in sin yA and cos yA .2 Fixed-Axis Planar Pairs 41 Figure 3. (b) tangency curves. is zero at yA ¼ G120 . with xA . Rotating Circle-Rotating Line The degrees of freedom are yA . B 2 ra ¼ 1. 1Þ. The tangency equation is xB þ ð4 sin yA ÞxB À 4 cos yA þ 1 ¼ 0. A yA . so the domain of the two tangency curves is ½À120 . with B A B A B k1 ¼ ðnb Á oa Þ sin yA þ ðnb Â oa Þ cos yA þ nb Â ðtA À tB Þ B A B A B k2 ¼ ðnb Á oa Þ cos yA À ðnb Â oa Þ sin yA þ nb Á ðtA À tB Þ: 2 2 Let k4 ¼ ðk1 þ k2 Þ 1=2 and deﬁne a by sin a ¼ k2 =k4 and cos a ¼ k1 =k4 . The constant conﬁguration variables are A xA ¼ 0. Dividing the tangency equation by k4 yields ð3:6Þ . and yB ¼ 0. The discriminant is quadratic in sin yA and cos yA . ob ¼ ð0. hence it has at most four real zeroes that deﬁne at most two domain intervals. yA ¼ 0. The curve parameters are oa ¼ ð0.3. yB . À1:73Þ. The discriminant. 16 sin 2 yA þ 16 cos yA À 4. The domain of the tangency curves is the yA intervals where the discriminant is positive. yB constant.

with xA . B B ra ¼ 1. xB ¼ À2 and yB ¼ 0. The domain of the tangency curve is the yA intervals 2 2 2 where jk3 =k4 j a 1 or k3 a k1 þ k2 . yB constant. and nb ¼ ð1.42 3 Contact of Features Figure 3. 75:52 Þ.10 Rotating circle-rotating line: (a) conﬁguration c ¼ ð0 . holds on the interval Rotating Circle-Rotating Circle The degrees of freedom are yA . The constant conﬁguration variables are A xA ¼ 0. (b) tangency curves.2 yields ðh þ t À pÞ 2 ¼ ðrb G ra Þ 2 : Expansion yields B A ðob Þ 2 þ t 2 þ ðoa Þ 2 þ 2q Á t À 2p Á t À 2q Á p ¼ ðrb G ra Þ 2 and rearrangement yields q Á ðp À tÞ þ p Á t ¼ k4 . yA ¼ 0. 151 . cos a sin yB þ sin a cos yB ¼ k3 =k4 or sinðyB þ aÞ ¼ k3 =k4 . 0Þ. Substituting t ¼ tB À tA . inequality.10 shows a typical pair. Figure 3. p ¼ RA oa . The tangency equation is 2 sin yA sin yB þ 2ðcos yA þ 1Þ cos yB ¼ 1: The domain ½À151 . 8ð1 þ cos yA Þ b 1. The curve parameters are oa ¼ ð2. A B yA . 0Þ. xB . The two solutions are arcsinðk3 =k4 Þ À a and 180 À arcsinðk3 =k4 Þ À a. 0Þ. with B A k4 ¼ 0:5½ðob Þ 2 þ t 2 þ ðoa Þ 2 À ðrb G ra Þ 2 : . hb ¼ ð0. and q ¼ RB ob in equation 3. yB .

and rb ¼ 1. 0 Þ. The solutions are the conﬁgurations where a vertex of one segment lies on a circle or line of the other segment. which is two verA tical lines. 0Þ.3.2 Contact Curves We compute contact curves by solving the boundary equations and identifying the solutions that are boundary conﬁgurations.11 shows a typical pair. (b) tangency curves. The constant conﬁguration variables are A xA ¼ 0. 1Þ. The curve parameters are oa ¼ ð2. The tangency equation is À2ð1 þ cos yA Þ sin yB þ 2 sin yA cos yB ¼ 2:5 þ 4 cos yA : The domain inequality. yA ¼ 0. 0Þ. 16 cos 2 yA þ 12 cos yA b 1:75. 0Þ as well. there are no tangency curves.11 Rotating circle-rotating circle: (a) conﬁguration c ¼ ð97:4 . A solution is a boundary conﬁguration when the vertex lies . ob ¼ ð0. Expanding q yields B B ½ob Â ðp À tÞ sin yB þ ½ob Á ðp À tÞ cos yB þ p Á t ¼ k4 then expanding p yields equation 3. since k1 ¼ 0. B A degeneracy occurs when ob ¼ ð0. xB ¼ À2. B ra ¼ 1. The tangency curve is the solution of k3 ¼ 0.2 Fixed-Axis Planar Pairs 43 Figure 3. When oa ¼ ð0.6 with A B A B B k1 ¼ ðoa Á ob Þ sin yA À ðoa Â ob Þ cos yA À ob Â t A B A B B k2 ¼ ðoa Â ob Þ sin yA þ ðoa Á ob Þ cos yA À ob Á t A A k3 ¼ k4 À ðoa Â tÞ sin yA À ðoa Á tÞ cos yA : Figure 3.2. À83 and ½83 . holds on the intervals ½À151 . 3. and yB ¼ 0. k2 ¼ 0 for all yA values. 151 .

b. and boundary equation solutions (dots plus feature snapshots). and equation 3.3 and 3. For a circle segment. a. Figure 3. tangency curve (thin).4.12 Contact curve (thick). When A translates and B B rotates. The vertex-line equations are 3. We split the tangency curve at the boundary conﬁgurations. the ray from the circle’s center to the vertex is between the rays from the circle’s center to its tail and head. The three types of ﬁxed-axis pairs yield three cases for each equation: rotating vertextranslating segment.3 yields xB . substituting the second equation into the ﬁrst and using the invariance of inner products under rotation yields .6. When both parts rotate. For a line segment. Once yB is known. na is constant. nb is constant. and rotating vertex-rotating segment. equation 3. The se subcurve is the contact curve. Equation 3. labeled with dots.44 3 Contact of Features Figure 3. the vertex coordinates are between those of the segment’s vertices.4 implies that na Â RB nb ¼ 0.4 yields yA . When A rotates and B translates. hence it is solved like equation 3. on the segment. equation 3. There are six boundary equation solutions.3 is linear in the second unknown.12 illustrates this for on a rotating circle segment. and a translating circle segment. which has the form k1 sin yB þ k2 cos yB ¼ 0 with k1 and k2 constant. xA . The contact curves are the subcurves whose midpoints are contact conﬁgurations. Solving Boundary Equations There is one set of boundary equations for a vertex-line contact and another for a vertex-circle contact. and two boundary conﬁgurations: s where an a vertex is on b and e where a b vertex is on a. translating vertex-rotating segment.

rb ¼ 1.3 General Planar Pairs 45 A A ðRA na Þ Á ðtA À tB Þ ¼ db À na Á v A : This equation has the form k1 sin yA þ k2 cos yA ¼ k3 with k1 . tb ¼ ð0:71. yA Þ conﬁguration space of part A relative to part B (ﬁgure 2. line segment-circle segment. A contact surface is represented as a contact curve .3. The constant conﬁguration variables are xA ¼ 0. Likewise when A translates and B rotates. yA . Figure 3. yA ¼ 0. yB ¼ 0. 2Þ. ha ¼ ðÀ1. The second equation is solved for yA . B with o ¼ RB ob constant. A A A B The curve parameters are oa ¼ ð0. 2Þ. Given yA . 2:64Þ where ha is only on the b circle. and circle segmentcircle segment. we compute na and obtain yB from the second equation as before. When A and B rotate. The cross-section at yA ¼ y0 of the a=b contact surface consists of the contact conﬁgurations where a translates at orientation y0 . 3. the left side of the equation deﬁnes a circle parameterized by yA with center tA and radius kek. and yB ¼ 0. 2Þ. ta ¼ ð1. 2Þ. k2 . The vertex-circle equation is equation 3. yA Þ conﬁguration space of a rotated version of a that translates relative to b. When A rotates and B translates. k3 constant. Intersecting these circles (a standard computation) yields the solutions to the boundary equations. The curve is a circle segment when both a and b are circle segments and is a line segment otherwise. The equations for v ¼ ha are À2 cos yA À 2 sin yA ¼ xB À2 sin yA þ 2 cos yA ¼ 1: The ﬁrst solution is the boundary conﬁguration s ¼ ð24:3 .16).12 shows typical rotating arc-translating arc contact curves. 0:29Þ. ob ¼ B B ð0. the equations are xA þ ex cos yA À ey sin yA ¼ xB þ ox yA þ ex sin yA þ ey cos yA ¼ yB þ oy . while the right side deﬁnes a circle parameterized by yB . 1Þ.5.3 General Planar Pairs We analyze general planar pairs in the ðxA . The segment contact equations deﬁne contact surfaces in the conﬁguration space. then the ﬁrst is solved for xB . We exploit this special structure to obtain simple closed-form expressions for contact surfaces. We derive closed-form expressions for the three types of contact: circle segment-line segment. which is solved as earlier. It is a contact curve in the ðxA . and hb ¼ ð0. ra ¼ 1. À2:64Þ and the second is c ¼ ðÀ114 .

so yA A ½n À b a . A nbx xA þ nby yA þ nb Á RA oa À ra À db ¼ 0. is in the interval of a outward normal A A A A angles. Tangency occurs when the distance from oa to the line equals ra . . 0Þ and yB ¼ 0. n ¼ arctanðÀnby . as in section 3. s and e rotate on translated copies of this circle. and a line segment. with point hb and unit normal nb . and identify the portion of the tangency curve that is the contact curve. b a ¼ ½aa þ yA . The tangency curve. Point q lies on a circle of radius koa k centered at ra nb . se.46 3 Contact of Features Figure 3. (c) moving circle-ﬁxed circle.1 with tB ¼ ð0. using equation 3. As y varies.13 General segment contacts: (a) moving circle-ﬁxed line.13a shows the contact conditions for a circle segment. ½aa . The main difference is that the rotated a segment contains yA as a parameter. The boundary conﬁgurations are where the point of tangency coincides with the vertices of b. The equations are oa À ra nb ¼ gb and oa À ra nb ¼ hb . is b translated by q. b a þ yA . The derivation of the parameterized contact curve follows the strategy of the previous section: compute the tangency curve.2. Contact occurs when the point of tangency lies on a: the b inward normal angle.2. The contact curve. (b) moving line-ﬁxed circle. n À aa . Moving Circle Segment-Fixed Line Segment Figure 3. Ànbx Þ. b. a. compute the boundary points. parameterized by yA and deﬁned over an interval of yA values. The tangency equation is A nb ðRA oa þ tA Þ ¼ ra þ db . The boundary conﬁgurations are s ¼ gb þ q and e ¼ hb þ q with q ¼ A A ra nb À RA oa . ð3:7Þ is a line parallel to b whose distance from the origin varies with yA . with radius ra and center oa .

The boundary conﬁgurations are where the point of tangency coincides with . 1Þ þ RA ðÀ1. 1:5. and end A angle b a ¼ 0 . which yields A A A A ðnax cos ya À nay sin ya ÞðxA À obx Þ þ ðnax sin ya þ nay cos ya ÞðyA À oby Þ þ rb À da ¼ 0. Its inward normal anA A gle is n þ yA with n ¼ arctanðÀnay . 0 Þ. Tangency occurs when the distance from ob to the line equals rb . Figure 3. 2:5. b b À n.14c shows the contact surface. 0Þ. a. so yA A ½ab À n. Contact occurs for yA A ½À90 .3. 1Þ and hb ¼ ð4. The tangency equation is na Á ðob À ha Þ ¼ rb . 1Þ þ RA ð1. The tangency curve is yA þ sin yA À 1:5 ¼ 0. 0 Þ. with point ha and unit normal na . b b . 90 with boundary conﬁgurations s ¼ ð0.14a shows a typical case for boundary conﬁgurations. Figure 3. Segment b has vertices gb ¼ ð0.14b shows the parametric contact curve at selected yA values and ﬁgure 3. with radius rb and center ob . 0:5. Contact occurs when the point of tangency lies on b: n þ yA is in the interval of b outward normal angles.13b shows the contact conditions for a line segment. and a circle segment. Ànax Þ the inward normal angle of a. 90 Þ. b. À90 Þ. 1Þ. and d ¼ ð2:5.3 General Planar Pairs 47 Figure 3. The displayed conﬁgurations are s ¼ ðÀ1. and inward normal angle n ¼ À90 . The tangency curve is a line that forms an angle of yA with a and whose distance from the origin is jrb À da j. ½ab . (c) contact surface. A A with da ¼ na Á ha . 1Þ.14 Moving circle segment-ﬁxed line segment: (a) contact conﬁgurations. À0:5Þ and e ¼ ð0. start angle aa ¼ À180 . Moving Line Segment-Fixed Circle Segment Figure 3. 1:5. e ¼ ð3. radius ra ¼ 0:5. c ¼ ð1:5. À0:5Þ. (b) contact curves. outward normal nb ¼ ð0. Segment A A a has center oa ¼ ð1.

The boundary conﬁgurations. it rotates on a circle . Moving Circle Segment-Fixed Circle Segment Figure 3. The contact curve. 1:5Þ À ðcos yA . 0 Þ.1 with tB ¼ ð0. The tangency curve is xA sin yA þ ð1 À yA Þ cos yA ¼ 0:5. 1Þ. 90 Þ. c ¼ ð1:5.13c shows the contact conditions for a circle segment. rotate on circles centered at ob .15 Moving line segment-ﬁxed circle segment: (a) contact conﬁgurations. 1:5Þ À ðcos yA .48 3 Contact of Features Figure 3. e ¼ ð3. and d ¼ ð2:5. The tangency curve is a cirA cle of radius r centered at o ¼ ob À RA oa . Figure 3. 2:5. The tangency equation is A ktA þ RA oa À ob k ¼ r with r ¼ jrb G ra j. 1:5. and end angle b b ¼ 0 . 0 Þ. the vertices of a. b. 0Þ A A and ha ¼ ð1. sin yA Þ and e ¼ ð4. 1:5. with radius ra and center oa . A A s ¼ ob þ RA ðga À rb na Þ A A e ¼ ob þ RA ðha À rb na Þ. Contact occurs for yA A ½À90 . As y increases. 0Þ. se. Segment a has vertices ga ¼ ðÀ1. inward normal angle n ¼ À90 . Segment b has a center ob ¼ ð0. 90 with boundary conﬁgurations s ¼ ð0. and da ¼ 0. radius rb ¼ 0:5. 0:5. is a rotated by yA A A around rb na then translated by ob À rb na . and a circle segment. The equations are ob À rb na ¼ ga and ob À rb na ¼ ha . a. ð3:8Þ using equation 3. 0Þ and yB ¼ 0. outward normal na ¼ ð0. The displayed conﬁgurations are s ¼ ðÀ1.15a shows a typical case. sin yA Þ. A Figure 3. start angle ab ¼ À180 . (b) contact curves. with radius rb and center ob . 1Þ.15b–c shows the parametric contact curve and the contact surface. The distance between the centers equals the sum or difference of the radii when the circles touch on the outside or on the inside. À90 Þ. (c) contact surface.

then shrinks to a point and vanishes at A yA ¼ b b À aa þ 180 where the start angle of the a interval equals the end angle of the b interval. A of radius koa k centered at ob . When one circle touches the other on the inside. sin gÞ. and end angle b a ¼ À45 . (c) contact surface. b b . A Figure 3. A oa À ob ¼ qðgÞ þ RA oa À ob A A ¼ ob À RA oa þ rðcos g. start angle aa ¼ À135 .3. Contact occurs for yA A ½À135 . 135 . The tangency curve is a circle of radius 1. 1Þ.3 General Planar Pairs 49 Figure 3. The contact curve appears as a point at yA ¼ ab À b a þ 180 where the end angle of the a interval equals the start angle of the b interval. To derive the contact curve. and end angle b b ¼ 180 . we split the segments in half and analyze the four subsegment contacts. We derive the contact curve for two circle segments whose combined anA A gular extent. 1 À sin yA Þ. start angle ab ¼ 0 . the outward normal angles of a and b at the point of tangency are g and g þ 180 . the outward normal angles of a and b at the point of tangency are g þ 180 and g. It grows in angular extent. but the patch equations are the same.5 centered at o ¼ ð1 À cos yA . ba þ yA and A g A ½ab . is at most 360 . Contact occurs when each anA A gle is in the angular extent of its segment: g þ 180 A ½aa þ yA . (b) contact curves. Segment b has a center ob ¼ ð1. In contact conﬁguration tA ¼ qðgÞ. sin gÞ: When the circles touch on the outside. Otherwise. Segment a has a center oa ¼ ð1. b a À aa þ b b À ab . 0Þ.16 Moving circle segment-ﬁxed circle segment: (a) contact conﬁgurations. The displayed . we parameterize the tangency curve as qðgÞ ¼ o þ rðcos g.16a shows a typical case. sin gÞ þ RA oa À ob ¼ rðcos g. raA A dius ra ¼ 0:5. radius rb ¼ 1.

c ¼ ðÀ0:5. À90 Þ. and d ¼ ð0:5. 1:1. 90 Þ. The contact conditions are that the two segments share a boundary point and have opposite outward normals there. yB Þ with yB ¼ ÀyA of the ﬁxed-axis pair.17 General segment contact: (a) quadratics.16b–c shows the parametric contact curve and the contact surface. We derive contact equations for general segments in the same way as for simple features. Unlike simple features. 0 Þ. Fixed-Axis Translation We derive the contact curves of an x translation-y translation pair from the yA ¼ 0 cross-section of a general pair. 3. y A Þ ¼ 0 and vertices ga and ha . The example in ﬁgure 3. the equations lack closedform solutions.17b shows that general segments can have simultaneous contacts. The conﬁguration ðxA . These equations deﬁne the contact curves and surfaces of the general segments.4 General Boundary Segments This section studies contacts between general boundary segments. Figure 3. p y Þ ¼ 0 B B fB ðqx . Figure 3. Let b be a segment on B with equation fB ðx B . 0Þ of the general pair maps to the conﬁguration ðxA .50 3 Contact of Features conﬁgurations are s ¼ ðÀ1. yA . 0:5. Let a be a segment on A with equation fA ðx A . whereas simple features cannot. The tangency equations are A A fA ð p x . y B Þ ¼ 0 and vertices gb and hb . qy Þ ¼ 0 Figure 3. 1:1. The ﬁxed-axis contact curve is thus obtained by reﬂecting the yA ¼ 0 cross-section around the xA axis. (b) splines. e ¼ ð1. We discuss numerical solution strategies. 0:5. .17 shows two examples. so numerical solutions are required. 0 Þ.

1. 1Þ. hay . If not. suppose a rotates and b translates. they are split into monotonic subsegments. we have ﬁve scalar equations in six unknowns: two degrees of freedom and the four components of the two contact points. yA . For a ﬁxed-axis pair.3. and vertex coordinates gb ¼ ð1. 2py t Â RB ½1.4 General Boundary Segments 51 t A þ R A p A ¼ tB þ R B q B ðRA ‘fA Þ Â ðRB ‘fB Þ ¼ 0. A A A py A ½gay . Contact occurs when p and q lie on a and b: A A A px A ½gax . and verA A tex coordinates ga ¼ ðÀ1. Segment a has equation x A þ ðy A Þ 2 ¼ 0. qf =qyÞ. the third equation equates these points. The contact inequalities for the two upper subsegments are A px A ½À1. B B B qx A ½gbx . In our example. 1 and likewise for the other three pairs of subsegments. so the degrees of freedom are yA . 0Þ into two monotonic subsegments. and the constant conﬁguration variables are xA . and the fourth equation makes the outward normals colinear. A py A ½0. B qx A ½0. hax . hby : The inequalities assume that a and b are monotonic with respect to x and y. The ﬁrst two equations state that p and q are on a and b. B B B qy A ½gby . we derive the equations for the two quadratics in ﬁgure 3. 1Þ and B hb ¼ ð1. À1Þ. The solution is a curve in a ﬁve-dimensional space whose projection into the conﬁguration space is the contact curve. vertices ga and ha . 1. À2qy t ¼ 0: Each segment is split at ð0. Segment b has equation B B 2 B x À ðy Þ ¼ 0.17a. hbx . xB . 0. As an example. yB . B qy A ½0. with ‘f ¼ ðqf =qx. The equations are A A px þ ð py Þ 2 ¼ 0 B B qx À ðqy Þ 2 ¼ 0 . The tangency equations are A A px þ ð py Þ 2 ¼ 0 B B qx À ðqy Þ 2 ¼ 0 t A þ R A p A ¼ tB þ R B q B A B RA ½1. À1Þ and ha ¼ ðÀ1. yB ¼ 0. vertices gb and hb .

py . edges. qy .52 3 Contact of Features A A B px cos yA À py sin y ¼ xB þ qx A A B px sin yA þ py cos y ¼ qy A B B B ð4py qy À 1Þ sin yA À 2ð py þ qy Þ cos yA ¼ 0 A A B B and the unknowns are yA . 3. The ﬁrst step is to solve the tangency equations. It sufﬁces to analyze face-face. For ﬁxed-axis pairs. qx .5 Spatial Pairs Spatial contact is more general than planar contact. For a general planar pair. We need to approximate the contact curve or surface to a speciﬁed accuracy. and cylindrical faces with linear and circular edges. except that the points. We derive the equations for face-face. The solution shown in ﬁgure 3. solve for the tangency conﬁgurations. spherical. . The proof that the other cases are covered by this analysis is similar to that for the planar case (section 3. The analysis follows the planar pattern: derive tangency equations. The iteration requires a starting point. The approximate contact curve or surface consists of the numerical solution points that satisfy the contact inequalities. px . and rotations are three-dimensional. and edge-edge contacts. vectors. and the boundaries change from points to curves. The additional condition for face contact is that the contact points lie on the faces. we have developed closed-form solutions for planar. There are three types of boundary features: faces. six equations in seven unknowns. and use boundary conﬁgurations to delimit the contact set. The equations are much harder to solve than in the plane because the feature dimension grows from two to three. The structure of the contact inequalities reﬂects that of the face boundaries. Face-Face The tangency equations are the same as for general planar features.17a is where all six unknowns equal zero. face-edge. the number of degrees of freedom for a part grows from three to six. Each combination of two feature types yields a contact type. we have three degrees of freedom. we can solve for the last one by Newtonian iteration. and vertices. xB . and edge-edge contacts. and can fail near multiple roots. face-edge. which can be hard to derive. If we pick values for all but one degree of freedom. and the solution is a surface in a six-dimensional space whose projection is the contact surface.13).

qy .3. qy . 0Þ. 0. 2py . The spherical face is bounded by the half-space xB b 0. z A Þ ¼ 0 and let b be an edge on B with equations fB ðx B .18a shows a contact between a cylindrical face on A with equa2 2 2 2 2 tion xA þ yA ¼ 1 and a spherical face on B with equation xB þ yB þ zB ¼ 4. The tangency equations are A A ð p x Þ 2 þ ð py Þ 2 ¼ 1 B B B ðqx Þ 2 þ ðqy Þ 2 þ ðqz Þ 2 ¼ 4 t A þ R A p A ¼ tB þ R B q B A A B B B RA ½2px . Figure 3. 0 t Â RB ½2qx . y B . The conﬁgurations of A and B are ð0. (c) circular edge-linear edge contact. (b) cylindrical face-linear edge contact. z B Þ ¼ 0 and gB ðx B . z B Þ ¼ 0. The tangency equations are A A A fA ð px . 0. 0. Contact occurs when there exist points p on a and q on b that coincide with an a normal that is perpendicular to the b tangent. 0. py . Face-Edge Let a be a face on A with equation fA ðx A . 2qz t ¼ 0: The cylindrical face is bounded by the half-spaces zA b À5 and zA a 5. A which yield the contact inequalities À5 a pz a 5. 0.18 Spatial contacts: (a) cylindrical face-spherical face contact. 0. 2qy . which yields the contact inequality B qx b 0. y A . 0. 0. pz Þ ¼ 0 B B B fB ðqx . qz Þ ¼ 0 . 0Þ and ð3. qz Þ ¼ 0 B B B gB ðqx . y B .5 Spatial Pairs 53 Figure 3.

0. 0Þ. py . 0Þ. 1. qz Þ ¼ 0 tA þ RA p A ¼ tB þ RB q B and the edge inequalities are as before. 0. qy . The edge’s B inequalities are À2 a qx a 2. The tangency equations are A A A fA ð p x . 0 t Á RB ½1. Edge-Edge Let a be an edge on A with equations fA ðx A . The edge inequalities state that q lies between the two vertices of the edge. y A . p y . 1. z A Þ ¼ 0 and gA ðx A . 0. 0. 0 t . 0. p z Þ ¼ 0 A A A gA ð px . qy . Contact occurs when there exist points p on a and q on b that coincide. À1. 0Þ. z A Þ ¼ 0. z B Þ ¼ 0 and gB ðx B . and conﬁguration ð0. 0Þ. 0. and conﬁguration ð2. y B . z B Þ ¼ 0. 0. 0Þ and ð2. vertices ð0. 0Þ and ð0. 1Þ ¼ ð1. 0.18b shows a contact between the above cylindrical face and a linear edge on B (the thick line) with equations y B ¼ 0 and z B ¼ 0. y A .54 3 Contact of Features tA þ RA p A ¼ tB þ RB q B RA ‘fA Á RB ð‘fB Â ‘gB Þ ¼ 0: The structure of the inequalities in face contact is as before. 0Þ Â ð0. 0. Figure 3. Figure 3. pz Þ ¼ 0 B B B fB ðqx . . 0.18c shows a contact between the above linear edge and a circular edge on A with equations ðx A Þ 2 þ ðy A Þ 2 ¼ 1 and z A ¼ 0. 0Þ. vertices ðÀ2. y B . 1. The contact equations are A A ð px Þ 2 þ ð py Þ 2 ¼ 1 B qy ¼ 0 B qz ¼ 0 tA þ RA p A ¼ tB þ RB q B RA ½0. 0. since the edge’s tangent direction is ð0. and let b be an edge on B with equations fB ðx B . 0. 1. qz Þ ¼ 0 B B B gB ðqx .

Numerical solutions appear feasible for ﬁxed-axis pairs because the number of unknowns is moderate. The mechanical engineering literature also addresses inﬁnitesimal kinematics. Angeles and Lopez-Cajun [4] and GonzalesPalacios and Angeles [26] describe numerical solutions for the analysis and synthesis of planar and spatial cams that drive standard followers.3.6 Notes Contacts between features have been extensively studied in the mechanical engineering and robotics literature. We have studied feature contacts for mechanisms within a conﬁguration space for nearly 20 years [36]. can converge to spurious solutions. Others describe numerical solutions for pairs of convex. general planar pairs [68]. and cannot handle singular contact constraints. Numerical methods are broadly applicable. but does not provide a general solution method. They can fail to converge. are derived for planar and spatial contacts. Other work includes that by Faltings [23. but are not robust. Collision detection [50] provides local contact information. Appendix B describes the feature contacts covered by HIPAIR. together with contact invariants. It covers ﬁxed-axis contacts of simple planar features: line and circle segments. It formulates the general contact constraints. We have studied feature contacts for planar ﬁxed-axis pairs [71]. Closed-form solutions are available only for gear involutes. 52] and polyhedral [20] features.6 Notes 55 Curved Features Curved features are not amenable to closed-form solutions. The research provides contact equations for polygonal [11. 24]. such as those induced by a cylindrical shaft in a cylindrical hole. . The drawback of these methods is that they are local to a linear neighborhood of a known contact conﬁguration. 52]. Expressions for instantaneous axes and centers of motion. in which instantaneous displacements and contacts of features are studied [31]. planar curves [14. Robotics studies the contact of parts in conﬁguration space for planning robot motions [47. They do not cover imperfect involutes or nonstandard gear and cam proﬁles. and for a few specialized cam proﬁles. Mechanical engineering research addresses the kinematic analysis of pairs of features in permanent contact. because they are relatively unimportant for planning motion. which are the norm in higher pairs. The research does not provide practical algorithms for curved features. and spatial ﬁxed-axis pairs [42]. Litvin [51] describes the feature contacts of gear teeth proﬁles. which induce linear constraints. 65]. 3. General pairs have many more degrees of freedom and have not been studied.

.

1 Partition of Conﬁguration Space We characterize a kinematic pair by partitioning its conﬁguration space into free.2 and present a partition algorithm in section 4. Figure 4.6 we generalize from pairs to mechanisms. It is placed in the initial region by moving perpendicularly to the motion plane. 0Þ. In section 4. . Free space consists of regions. The contact space is the circular contact curve with a center oa þ ob ¼ ð0.4 Contact of Parts in Conﬁguration Space In chapter 3 we began to study contact of parts by characterizing contact of features in conﬁguration space. radius ra ¼ 1. Circle A is as before and circle B is replaced by a box with a circular cavity. Circle A has a center oa ¼ ð0. We specialize partitions to ﬁxed-axis pairs in section 4.3.4 and 4.1. Free space consists of an outer region where A is outside B and a circular region where A is inside the B cavity. and translates with yA ¼ 0 . 0Þ. yA Þ. In section 4.5.7 we relate our approach to the classic theory of mechanisms. a part contact involves every pair since no features can intersect. and is ﬁxed.1 illustrates these concepts. Whereas a feature contact is local to a feature pair. Figure 4. radius rb ¼ 2. In this chapter we complete the study of contact of parts. In section 4. 0Þ and radius ra þ rb ¼ 3. contact. Circle B has a center ob ¼ ð0. A part contact is a feature contact where the parts’ interiors are disjoint. and blocked spaces. We do the same for general planar pairs in sections 4. we model contacts of parts by using conﬁguration space partitions. The parts are disjoint in free space. free space is its exterior and blocked space is its interior.2 shows a pair with two regions. in contact in contact space. The conﬁguration space is ðxA . We must analyze an entire set of feature contacts to characterize the contacts of parts. 4. and overlapping in blocked space. Part A can move freely in its initial region but cannot reach the other region.

1:5Þ. the subspaces are curves where the sole A feature touches the b features. Multiple contacts occur at conﬁgurations where the subspaces intersect. free space is an open set. Contact space contains subspaces where contact occurs between a pair of features. Likewise. blocked space is open because blocked parts overlap by a minimum amount and slight changes in conﬁguration . The curves for line segments a–d and vertices v–w are labeled. If the conﬁguration changes slightly. Each curve is part of a feature contact curve.58 4 Contact of Parts in Conﬁguration Space Figure 4. the rest of which is in blocked space. When two parts are free at a conﬁguration. A double contact occurs at conﬁguration a where the a and b curves intersect.2 Circle-box pair: (a) double contact conﬁguration a. (b) conﬁguration space partition. (d) conﬁguration space partition. (c) blocked conﬁguration c ¼ ð1:5. (b) contact conﬁguration b ¼ ð2:6.2b. 1:5Þ. the boundaries move less than the minimum distance and the parts stay free. Conﬁguration space partitions have a special topological structure. Since every free conﬁguration has a neighborhood of free conﬁgurations. 3Þ. In ﬁgure 4. there is a positive minimum distance between pairs of boundary points. Figure 4.1 Circle-circle pair: (a) free conﬁguration a ¼ ð3.

3). and the working modes. À1:5Þ. (f) f ¼ ð2.3a–h show conﬁgurations a–h.3 Translation pair: (a) conﬁguration a ¼ ð0.3i shows the conﬁguration space partition with these conﬁgurations labeled. Circle A translates horizontally with a degree of freedom xA . The conﬁguration space partition of a pair provides a global view of its kinematic function that reveals the pairs of features that come in contact. 0Þ. (e) e ¼ ð1. (d) d ¼ ð0:65. At a contact conﬁguration. while ﬁgure 4. (h) h ¼ ð3:5. (c) c ¼ ð1:29. (i) conﬁguration space partition. Figure 4. outward motion along the contact normal frees the parts and inward motion blocks them. Conﬁguration a lies in the single free region. the conﬁgurations where the point of contact shifts between feature pairs. Contact space is a closed set because it is the complement of the union of these two open sets. À1:5Þ.4. We illustrate this view with a simple planar pair (ﬁgure 4. The contact space geometry encodes the parts’ . (g) g ¼ ð3. (b) b ¼ ð2:65. À0:65Þ. move the boundaries less than this amount. 0Þ.1 Partition of Conﬁguration Space 59 Figure 4. and triangle B translates vertically with a degree of freedom yB . À1:5Þ. 1:35Þ. 0Þ.

. Between conﬁgurations d and e. de. (c) conﬁguration c ¼ ð180 . is a circular arc segment. while the contact space consists of curves. xA ¼ 3:5. The conﬁguration space is a plane for a translation pair. This corresponds to line segment bd in the partition. In this interval. 1:05Þ.4 Cam pair: (a) conﬁguration a ¼ ð0 . the circle touches the diagonal edge of the triangle. the circle blocks the upward translation of the triangle. so the contact curve is a vertical line segment. Recall the convention that the thick-headed arrow indicates that the cam rotates Figure 4. Free space and blocked space are two-dimensional. (b) conﬁguration b ¼ ð180 . a cylinder for a rotationtranslation pair. d. Around conﬁguration h. Figure 4.4 shows a rotating cam that drives a translating follower. and g indicate the changes in the kinematic function resulting from changes in contact. so the corresponding contact curve. e. and a torus for a rotation-rotation pair. eg. which is indicated by the functional relation yB ¼ À1:5.2 Fixed-Axis Pairs A ﬁxed-axis pair has a two-dimensional conﬁguration space. (d) conﬁguration space partition. The contact transition conﬁgurations b. 2:5Þ. The contact equation is yB ¼ xA À 1:29 because the contact curve is parallel to the triangle’s edge.60 4 Contact of Parts in Conﬁguration Space feature contacts. the upper left vertex of the triangle follows the circle’s boundary. so the contact curve is a horizontal line segment. It indicates a linear relation between the translations of A and B. Between conﬁgurations b and d. Between conﬁgurations e and g the circle can translate and remain in contact with the horizontal edge of the triangle without pushing the triangle. À1:05Þ. the triangle can translate without pushing the circle and blocks its leftward translation. 4.

When a rotating part has rotational symmetry or a translating part has translational symmetry. so clockwise and counterclockwise rotations of both parts are possible.5 Ratchet pair: (a) conﬁguration a ¼ ð111 .6). (b) conﬁguration b ¼ ð103 . a ratchet with four identical teeth yields a conﬁguration space partition with four shifted copies of the one-tooth contact curves (ﬁgure 4. .5 shows a rotating one-tooth ratchet with a rotating pawl. Conversely. which governs the coupling between the cam and the follower. a clockwise rotation of the ratchet cannot proceed without the pawl rotating clockwise as well. In this case. (d) conﬁguration space partition. the conﬁguration space is symmetric in the part’s degree of freedom. A part with repeated geometry produces repeated contact curves. While the conﬁguration follows a contact curve. Figure 4. the cam rotates and the follower translates with nonlinear coupling between the degrees of freedom. contact transition conﬁgurations b and c are convex. yA ¼ 0:55 þ 0:5 ¼ 1:05 at conﬁguration a. Clockwise rotation of the ratchet is blocked when the pawl tip engages the ratchet tooth (contact transition conﬁguration a). The channel width determines the mechanical play. Free space is a single region since the verticals yA ¼ G180 represent one line in the cylinder’s conﬁguration space. 89 Þ. The contact curves express the vertical distance between the cam’s origin and the follower’s origin as a function of the cam’s angle. For example. For example. The Figure 4. the pawl slides over the ratchet tooth. 30 Þ. Figure 4.2 Fixed-Axis Pairs 61 clockwise and the two-headed arrow indicates that the follower translates up and down.7 shows the conﬁguration space partition of the spatial Geneva pair. The free space is a single channel composed of four slanted and four horizontal segments. Since conﬁguration a is a concave point.4. (c) conﬁguration c ¼ ð21 . 25 Þ. The verticals yA ¼ G180 and the horizontals yB ¼ G180 each represent one line in the torus conﬁguration space. using the displayed dimensions. This corresponds to the blocking function of the ratchet-pawl contact.

7 (a) A spatial Geneva pair and (b) its conﬁguration space partition. (a) conﬁguration.7b shows that the kinematic function is bidirectional and that the cam blocks the follower’s rotation in the horizontal segments.3 Partition Algorithm for Fixed-Axis Pairs We construct the partition of a ﬁxed-axis pair from its contact curves. Figure 4. 4.6 Four-tooth ratchet pair at a ¼ ð111 . 30 Þ. The feature contact curves are augmented with boundary lines that enforce the . (b) conﬁguration space partition. partition in ﬁgure 4. The ability to model planar and spatial pairs that have completely different shapes illustrates the generality of conﬁguration space partitions.62 4 Contact of Parts in Conﬁguration Space Figure 4.

8 Partition structure of a ratchet pair.9 summarizes the partition algorithm. topology of the conﬁguration space. and so on. dv. We orient the loops so that the face interior lies to the left when they are traversed in order. The planar region outside the boundary lines is not part of the conﬁguration space. Each face is bounded by one or more edge loops.8 shows the partition of a one-tooth ratchet pair. Faces 1–2 are free and faces 3–5 are blocked. edges. The partition is a planar subdivision of the conﬁguration space.3 Partition Algorithm for Fixed-Axis Pairs 63 Figure 4. The resulting curve segments are called edges and their endpoints are called vertices.2. The next three sections describe these steps. and classify each face as free or blocked. and faces. The complement of the vertices and edges consists of open regions. called faces. Figure 4. The edges are bc. Contact curves are solid and boundary lines are dashed. Steps 2–4 form the vertices. . Face 1 is bounded by the edge loop bcdvhnm and face 4 is bounded by efv. vh. We split the curves at their intersection points.9 Partition algorithm for ﬁxed-axis pairs. Figure 4. cd. Step 1 forms the contact curves as described in section 3.4. that are wholly free or wholly blocked. Vertices appear as solid dots for endpoints and gray for intersection points. These are yA ¼ G180 when yA is a degree of freedom and yB ¼ G180 when yB is a degree of freedom. Figure 4.

We employ a standard computational geometry algorithm. checks for intersections between newly adjacent curves. removing a curve. and intersection point v is found. We expect a constant number of intersections per curve because the curves are short and are distributed evenly in the plane. df is inserted above ag. recurse on the appropriate subtree. and insert the curve when a leaf is reached. The list is updated when the sweep line reaches a curve’s endpoints and intersection points. The events are stored in a priority queue ordered by x. and they are tested. df. Handling updates the sweep list. curves that overlap over an interval. Each operation performs at most log n comparisons. Curve ag is inserted in the empty sweep list. Curve bc is inserted above ag and they are tested for intersection.8). whose running time is Oðn log nÞ in this case.3. Vertical curves.64 4 Contact of Parts in Conﬁguration Space 4. Sweep-Line Algorithm This algorithm sweeps a vertical line along the x axis and tracks the y order of the curves that it crosses. Curve ef is inserted between ag and df. The second task is to form the vertices and edges. Curve eh is inserted between ef and df. and swapping two curves are standard. The algorithm is implemented as follows. The ﬁrst event is dequeued and handled until the queue is empty. There are two events per curve and one per intersection. they are tested for intersection. . The order is stored in a sweep list. and enqueues swap events when intersections occur. Curves bc and eh are never tested because they are disjoint in x. The queue is initialized with an insert and a remove event for each curve. and they are tested. so the sweep list becomes (ag. eh). We illustrate the algorithm on the ratchet pair (ﬁgure 4. A curve is inserted at its left endpoint and is removed at its right endpoint. cd is inserted above ag. both pairs are tested. Finding the curves before and after a curve. Curves eh and df swap at v.1 Vertex and Edge Formation The ﬁrst task is to compute the intersection points of n contact curves. A curve is inserted in the standard way: compare its y with the the root curve y at the current x. but this is inefﬁcient when only a few intersect. When two curves become adjacent owing to an update. called the sweep-line algorithm. and both pairs are tested. ef. Curve bc is removed from the sweep list. The sweep list is represented as a balanced binary tree. or three curves that intersect at a single point are treated as special cases that we do not describe here. Curve cd is removed. Two curves are swapped in the list at their intersection point. Curves eh and ag are never tested because they are separated by other curves at every x. One strategy is to test all nðn À 1Þ=2 pairs of curves.

recursively approximate the two pieces. even for line and circle segments. the outgoing edges of each vertex are traversed in clockwise order. Sample the curve at mx ¼ 0:5ðsx þ ex Þ to obtain the point m. illustrated in ﬁgure 4. vh. The sample spacing shrinks from s to e as the curvature increases. s and e. the incoming edges of v are ev then dv. vf). the initial d is too large. Otherwise. so the edge list is (ve. and concatenate the results. split the curve at m.4. The underlying curves must be intersected numerically because a closed-form solution does not exist. which yields order n events. is as follows. vd. If the distance. v.3 Partition Algorithm for Fixed-Axis Pairs 65 Figure 4. The loop is traversed from its ﬁrst edge until the ﬁrst edge is reached again. the total running time is Oðn log nÞ. Fit a line through the contact curve’s endpoints.2 Face Formation The faces are formed by a traversal of the vertex-edge graph. 4. In the ratchet example (ﬁgure 4. We approximate the contact curves to a speciﬁed accuracy using line segments and then intersect the approximate curves. Edges The edge between two vertices. We compute the intersection points of two curves by intersecting the underlying curves and returning the solutions that lie on both curves. and a loop is formed for each untraversed edge.3. p and q. Thus. when the number of intersections per curve is constant. and the outgoing edges are vh then vf. is assigned a list of outgoing edges in clockwise order. Each vertex.10 Approximation of a contact curve. from m to the line is less than the speciﬁed accuracy. At each . the curve approximation is ðs.10. The list consists of the twins of the incoming edges in sweep-list order followed by the outgoing edges in reverse sweep-list order. d. written as OðnÞ.8). The vertices are traversed in x order. The approximation algorithm. Edge pq is called outgoing at p and is called incoming at q. In our example. is represented by two oriented edges called twins: pq from p to q and qp from q to p. eÞ. so the curve is split.

hence it has no outer loop. we check if one A boundary point is inside B and vice versa. the next edge is the successor of the twin of the current edge in the clockwise order of its head. and the unbounded face has inner loop pabmnhio. transform the parts to this conﬁguration.3 Face Classiﬁcation It remains to classify each face as free or blocked. 4. with k the number of boundary curves. Figure 4. c. ag Á Á Á jihvfevdcb. Vertices m.11b shows the four faces in its partition.1 and ﬁgure 4.11 (a) Simple pair and (b) its conﬁguration space partition. its ﬁrst loop is an inner loop of the enclosing face. Every other loop is the outer loop of a new face. face 4 has an outer loop efv.11a shows the simple pair from section 4. vertex p is traversed ﬁrst and yields the loops pabmnhio and poij Á Á Á ga. and test if they overlap. When a vertex is ﬁrst traversed. since its other outgoing edges were traversed in p loops. In our example. The traversal begins with a single face that is unbounded. Vertex b yields bcdvhnm. Vertex a yields one loop. Two parts overlap if their boundaries intersect or if one is inside the other. Vertex e yields efv.12 illustrates the test.8.66 4 Contact of Parts in Conﬁguration Space Figure 4. Face 3 has one outer loop and one inner loop.3. We greatly reduce the classiﬁcation time with a fast test during face formation that detects most blocked faces. d yield no loops. The contact curve for two features . We select a conﬁguration in the face. face 3 has outer loop ag Á Á Á jihvfevdcb. Classiﬁcation takes Oðk log kÞ time for the sweep and OðkÞ time for the ray test. and count the intersections of the ray with the boundary of the other part. Edge ij follows oi in the second loop because the twin of oi is io and ij follows io in clockwise order. Figure 4. If they are disjoint. We pick a point. The faces are formed along with the loops. step. The ﬁnal loop encloses face 5. The boundaries are tested for intersection with the sweep algorithm. The point is outside the part when the count is even. In ﬁgure 4. form its upward vertical ray.

called the negative twin. We orient the curve so the disjoint conﬁgurations are on the left when it is traversed from tail to head. and the other twin. A face is blocked when its boundary contains a negative edge since the conﬁgurations to the left of this edge are blocked and are inside the face. which indicates that the pin cannot translate out of the box. called the positive twin. The y ¼ 0 cross-section appears in the bottom view and the y ¼ 90 cross-section appears in the top view. is a boundary between conﬁgurations where the features are disjoint and where they overlap. (b) m ¼ 1.13e and f show bottom and top views. Cross-sections are useful for visualizing and computing spatial partitions. Free space and blocked space have dimension three. of the yA A ½0 . . (d) m ¼ 3 where m is the intersection count of the vertical dotted line. The yA ¼ 0 cross-section (ﬁgure 4. The yA ¼ y0 cross-section of the A=B partition is the planar partition where A translates at orientation y0 relative to B.4 General Planar Pairs General planar pairs have spatial conﬁguration spaces. 90 part of the spatial partition. the clearance between the pin and the opening decreases until the pin touches the top and the bottom of the opening and the cross-section free region splits into two regions. Figure 4. (c) m ¼ 2. has the same orientation as the curve. When the curve is split into edges. The yA ¼ 90 cross-section (ﬁgure 4.13). which indicates that the pin can translate out of the box. We illustrate spatial partitions on a fastener pair composed of a pin and a box (ﬁgure 4. has the opposite orientation. respectively.13b) has two free regions.12 Examples of point-in-polygon test: (a) m ¼ 0. Contact space has dimension two and is a subset of the feature contact surfaces. 4.4 General Planar Pairs 67 Figure 4. one twin in each pair.13d) has one free region. The pin is vertical at yA ¼ 0 (ﬁgure 4.13a) and horizontal at yA ¼ 90 (c). As yA decreases from 90 .4.

13 Fastener pair: (a–b) yA ¼ 0 cross-section.14). the cam moves relative to the follower. The center of the square indicates the cam’s position when the follower has zero clearance. Figure 4. the follower rotates in step and translates around a circle. . and rotating to the second orientation. Although some cross-sections have two free regions. The next example is a constant-breadth cam with a square follower (ﬁgure 4. 134 .14b shows the free region where the cam is inside the follower: a curved channel with a square cross-section. The clearance is the same regardless of the orientation.14c shows selected cross-sections projected onto the ðxA . In conﬁguration space. Figure 4. (c–d) yA ¼ 90 cross-section. When the cam rotates. The pin can move between any two free conﬁgurations by rotating until it is horizontal. yA Þ plane.68 4 Contact of Parts in Conﬁguration Space Figure 4. The pin can be moved out of the box for yA A ½46 . (e–f) bottom and top views of spatial conﬁguration space partition. A second free region in which the cam is outside the follower lies beyond the blocked region that encloses the channel. the cam can translate around the nominal position within the square. For the actual clearance. translating to the second position. the spatial partition has one free region.

15 Partition structure for a cam pair. called cells. We compute the spatial partition by computing the yA ¼ 0 planar partition and tracking its evolution as yA increases to 360 .16) has the same form as the planar algorithm. and vertices. The channel is a cell.3. The only change is that the sample conﬁguration is for A relative to B. form contact surfaces for all pairs of part features. It remains to describe the second step.5 Partition Algorithm for General Planar Pairs 69 Figure 4.3.14 Cam pair (a). spatial conﬁguration space partition (b). and classify the cells. f and g are two of its four faces. 3 part of the cam pair partition.3. their boundary curves are called edges. edges.4. rather than for A and B relative to the mechanism’s frame. e is one of its four edges. and there are no vertices. each of which is wholly free or wholly blocked. As yA increases. Figure 4. The ﬁrst step is explained in section 4. The contact surfaces split a conﬁguration space into connected components. faces.5 Partition Algorithm for General Planar Pairs Spatial partitions are a generalization of planar partitions. and projected cross-sections (c). The surface patches that bound the cells are called faces. form the cells. Figure 4. the . The third step is explained in section 4. 4. and the edge endpoints are called vertices. The spatial partition algorithm (ﬁgure 4.15 shows the yA A ½0 .

edges. planar edges a and b trace spatial faces f and g. so a curve appears or disappears.17 shows how a tangency changes the free .16 Partition algorithm for general planar pairs.15. The contact curves move. the planar face bounded by abcd traces the channel. 3. Figures 3.17 Fastener pair conﬁgurations and partitions before (a–b). and 3. The planar partition is a continuous function of yA when its graph is ﬁxed. The edge set changes when yA equals the start or end angle of a contact surface. at (c–d).16 show the three types of contact curves.14. Figure 4.15. which makes the vertices move. Figure 4.70 4 Contact of Parts in Conﬁguration Space Figure 4. faces. The graph changes when the edge set or the face set changes. which makes the edges move. and edges of the spatial partition. which makes the faces deform. and after (e–f) a contact curve tangency. and vertices of the planar partition trace the cells. and planar vertex v traces spatial edge e. The edge set also changes when two curves are tangent. In ﬁgure 4. faces.

There is one case for each pair of contact types. A line with normal n and distance from the origin k is tangent to a circle with center o and radius r when n Á o ¼ A r þ k.18b. and after (e–f) a face collapses.18 shows that a fastener pair face collapses when the upper pin touches the upper slanted box segment (contact a). Figure 4.5 Partition Algorithm for General Planar Pairs 71 Figure 4. which occurs when three curves intersect.4.1. space of the fastener pair from one region to two regions.3. and the upper pin also touches the upper horizontal segment (contact c). The contact curve’s start and end angles are described in section 3. The same is true of the other cases.18c) and in the three partitions (ﬁgure 4. Contacts a–c are labeled in the triple contact conﬁguration (ﬁgure 4.1.d. and the contact circle of moving circle e and ﬁxed circle f . For example.7 and 3.f). The resulting equation has a closed-form solution.3 satisfy the contact equations from section 3. the lower pin touches the lower slanted segment (contact b).8 yield n ¼ nb . r ¼ jre G rf j. o ¼ of À RA oe .18 Fastener pair conﬁgurations and partitions before (a–b). Three curves intersect when the underlying curves intersect and the intersection point lies on all three curves. Tangency occurs when the parametric expressions from section 3. at (c–d). and A k ¼ ra þ db À nb RA oa . The face set changes when a face collapses to a point. Equations 3. The intersection conﬁgurations are . Two curves are tangent when the underlying curves are tangent and the point of tangency lies on both curves. consider the contact line of moving circle a and ﬁxed line b.

there are many details and special cases.19). indexer I. it is added to the partition. When a curve disappears. and pawl P (ﬁgure 4. The spatial partition is constructed from the evolving planar partition. blocked regions where some pairs are blocked. The conﬁguration space partition of the mechanism consists of free regions where all the pairs are free. edges. A spatial vertex is formed when two spatial edges from the same surface meet at its start or end angle. Numerical solutions are required. When the driver is disengaged (ﬁgure 4. rotates the indexer counterclockwise by one-tenth of a turn. the old face is replaced with a new one. Although the construction is straightforward. 4. and disengages. When a curve appears. its ﬁnger engages an indexer pin.19a). The planar partition is updated at angles where its graph changes. which prevents clockwise rotation. faces. When disjoint curves become tangent and then intersect. When a face collapse occurs. We model the contacts among the parts of a mechanism in the same way. the edges that formerly intersected are merged and two faces merge.72 4 Contact of Parts in Conﬁguration Space the solutions of the three parametric contact curves. and the right pawl arm prevents indexer rotation by engaging two pins. Contacts among three or more parts are modeled by composing the pair partitions to form a partition of the mechanism’s conﬁguration space. The contact region geometry encodes the coupling among the degrees of freedom of the touching parts. which entails merging edges that it formerly split and faces that it formerly separated.d. and vertices generate spatial cells. As the driver rotates clockwise. When the opposite occurs. We illustrate conﬁguration space partitions for a mechanism by using a pawl indexing mechanism composed of a driver D.17b. the edges that contain the point of tangency are split and the face that they bound splits into two faces (ﬁgure 4. its notch aligns with the left pawl arm. and edges. and when two edges from different surfaces meet at a face collapse. its rim aligns with the left pawl arm. When the driver engages the indexer. and contact regions where some pairs are in contact and the rest are free. which entails splitting the edges that it intersects and updating the vertices and faces. it is removed from the partition.f). The pairwise contacts are modeled by constructing a conﬁguration space partition for each kinematic pair in the mechanism. which allows the bot- . Planar faces. There is one case for each triple of contact types.6 Mechanisms We have seen that the partition of the conﬁguration space of a kinematic pair models its parts’ contacts.

and by the notch-left arm contact curves. (c) disengaging.6 Mechanisms 73 Figure 4. The driver-pawl free space is bounded from below by the rim-left arm contact curve. The horizontal curve blocks downward vertical motion. tom indexer pin to rotate the right pawl arm out of the way (ﬁgure 4. Figure 4. whereas the slanted curves permit it.4. (b) driver-pawl. The indexer-pawl free space (ﬁgure 4. the left pawl arm returns to its rim and the right arm re-locks the indexer (ﬁgure 4. yP decreases along one . When yI increases or decreases.20c) is bounded from above by the pin-right arm contact curves.19 Indexing mechanism: (a) disengaged. Figure 4.19b). which is horizontal. The negative slope indicates that the parts rotate in opposite directions.20 Indexing mechanism pair conﬁguration space partitions: (a) driver-indexer (detail). (b) engaged.20 shows details of the conﬁguration space partitions of the indexing mechanism’s pairs. (c) indexer-pawl. which form ten inverted v-shapes. The rest of the free space is the regions to the left and right of the channels where the driver is disengaged. When it disengages.19c). which form a v-shape (ﬁgure 4. clockwise pawl rotation.20b). The driver-indexer free space consists of ten diagonal channels where the ﬁnger engages the ten pins.

yP .21 Illustration of the conﬁguration space partition of the indexer mechanism as a composition of its pair conﬁguration space partitions. We focus on a small region because the full partition is difﬁcult to visualize. For example. 0 . whereas the indexer and the pawl are not in contact (ﬁgure 4. 0 Þ in the driverindexer pair conﬁguration space is replaced by the line ð14 . and .19a and conﬁguration a in ﬁgure 4.74 4 Contact of Parts in Conﬁguration Space Figure 4. side of the v-shape. the indexer and the pawl also come into contact (ﬁgure 4.21 illustrates partition of the indexer’s conﬁguration space.20). conﬁguration a ¼ ð14 . For example. conﬁguration ð14 . the driver is in contact with the indexer and the pawl in conﬁguration a. 0 Þ in the driver-pawl pair conﬁguration space is replaced by the line ð14 . indexer rotation in either direction causes clockwise pawl rotation.20). yI Þ. Figure 4. Each conﬁguration in the partition of the pair’s conﬁguration space is extended to a line parallel to the third conﬁguration space parameter in partition of the mechanism’s conﬁguration space. 0 Þ. The kinematic function of a mechanism involves simultaneous contact of parts. As the driver rotates clockwise. The intersection of the three lines corresponds to the mechanism’s conﬁguration space.19b and conﬁguration b in ﬁgure 4. In other words. Partition of the mechanism’s conﬁguration space encodes this contact information.

The computational complexity of computing a conﬁguration space partition has been proved to grow exponentially with the number of a mechanism degrees of freedom. the pair conﬁguration a is replaced by the set of mechanism conﬁgurations ða. Intermittent contact is not modeled. Blocked space is the union of pair blocked spaces because a conﬁguration is blocked when any pair is blocked. Cams A cam is assumed to be in permanent contact with its follower. We treat a cam and its follower as a higher pair. Contact space is the complement of the union of free space and blocked space. which has six degrees of freedom. appears unmanageable. For kinematic analysis. 0 Þ in the indexer-pawl pair conﬁguration space is replaced by the line ðyD . In our cam example (ﬁgure 4. 0 Þ of the mechanism. so the . They intersect at conﬁguration a ¼ ð14 . 4. Although computing the entire partition is impractical. the partitions of the pair conﬁguration space provide insights into the individual workings of the pairs and their role in the mechanism’s kinematic function. One approach employs set operations. with the follower’s position a function of the cam’s orientation.4). and gear mechanisms. partial computation is a valuable design tool.7 Partitions of Conﬁguration Space and the Theory of Mechanisms 75 conﬁguration ð0 . Gears Gears are assumed to be in permanent contact. The computation of conﬁguration space partitions for mechanisms is an active research topic in robotics and in computational geometry.7 Partitions of Conﬁguration Space and the Theory of Mechanisms The conﬁguration space model of contact of parts is an extension of the classic models in the theory of mechanisms. bÞ where b ranges over the degrees of freedom of the other parts. xB is the function of yA given by the lower boundary of the upper free space region. In set operations. 0 Þ. The classic models are equivalent to the contact spaces in the conﬁguration space models of the mechanisms. 0 .4. Normally the contact is via involute teeth and each gear has one degree of freedom. 0 . Even a single spatial pair. The theory focuses on linkage. the mechanism is modeled under restrictive assumptions about the parts’ contacts. In each case. The simplest case is to construct a mechanism contact region from a set of pair contact regions. cam. so permanent contact and intermittent contact are modeled. Free space is the intersection of the free spaces of all the pairs because a conﬁguration is free when every pair is free.

As gear A rotates counterclockwise. Gears with hub play have three degrees of freedom. Meshing and unmeshing involve contact changes between noninvolute tooth features. and other changes in contact are not modeled. B can rotate by the vertical extent of the free space. so the free space is empty. Partitions model uncoupled motion. mechanism has one degree of freedom.22 Gear pair with detail (a–b) and partition with detail (c–d).23 Half-gear pair and its partition. The standard gear model does not cover sector gears.76 4 Contact of Parts in Conﬁguration Space Figure 4.23.22b.d). When A is stationary. Imperfect teeth. We treat gears as higher-pair mechanisms.22 shows a ﬁxed-axis gear pair in which the involutes are approximated with circle segments. whereas true involute contact curves are parallel line segments that meet at c. as do ﬂoating gears. Figure 4. clearance. such as the halfgear pair in ﬁgure 4. The free space represents clearance between the gears. the contact point shifts from feature pair a to feature pair b at conﬁguration c (ﬁgure 4. True involutes have zero clearance. The a and b contact curves are nonlinear and intersect transversely at c. . undercutting. Other gears are modeled as ﬁxed-axis parts. hub play. Figure 4.

(b) b ¼ ð135 . 2:7Þ. xC with xA . The 16 channels represent the 16 teeth of B that can mesh with the lead tooth of A. Link A is attached to the frame by a revolute joint at o ¼ ð0. 1:0Þ. and q with the x axes parallel to the links. The link’s coordinate frames are placed at o. Most linkages have one degree of freedom. Link B is attached to A and C by revolute joints at p and q. The contact equations are lA cos yA ¼ xB lA sin yA ¼ yB . Lower pairs model the joints for which the classic assumptions are acceptable. Joint limits. (d) d ¼ ðÀ45 . 17 . The degrees of freedom are yA . À17 . 0:9Þ. xB . We illustrate linkage partitions on a three-link crank-and-slider mechanism (ﬁgure 4. Higher pairs model the other part contacts. In our example. yB . yC ¼ 0. 25 .4. We treat a linkage as an assembly of lower and higher pairs. À25 . surrounded by a region where they disengage. joint play.24). yC . yB . so all the variables are determined once a single variable is known.24 Crank-and-slider conﬁgurations: (a) a ¼ ð30 . yA . coupled motion. and contact changes. (c) c ¼ ðÀ150 . 0Þ and link C is attached to the frame’s x axis by a prismatic joint. 2:9Þ. The conﬁguration variables satisfy equality equations whose parameters are the link lengths and the joint conﬁgurations. p. and link interference are not modeled. the free space consists of 16 diagonal channels where the gears mesh. Linkages A linkage is assumed to consist of links connected by joints.7 Partitions of Conﬁguration Space and the Theory of Mechanisms 77 Figure 4.

xB þ lB cos yB ¼ xC yB þ lB sin yB ¼ 0.25). [18]. see Berg et al. . 52] and partial algorithms for polyhedral parts [20]. For a detailed description of the sweep-line algorithm and related computational geometry tasks. Linkage mechanisms are described as rigid links connected by standard joints with no play. In cam and gear mechanisms.8 Notes The contact of parts is closely related to the contact of features and has been extensively studied in the mechanical engineering and robotics literature. Robotics studies the contact of parts within the conﬁguration space method for planning robot motion [16. 52].78 4 Contact of Parts in Conﬁguration Space Figure 4. The research provides algorithms for partitioning conﬁguration space for planar polygons [11. Bajaj and Kim [6. and feature contacts are determined as described in chapter 3. 26. 7] describe algorithms for computing a conﬁguration space partition for parts with algebraic curves and surface contours. 47. We can eliminate xB and yB from the last three equations using the ﬁrst two equations.25 Kinematic function of a crank and slider. The research does not address curved parts. These four equations deﬁne a curve in the ﬁve degrees of freedom. 51]. the contact sequence between parts is predetermined [4. 4. xC Þ whose projection onto ðyA . Mechanical engineering research addresses part contacts for cam. and linkage mechanisms. gear. with lA and lB the link’s lengths. The reduced system deﬁnes a curve in ðyA . xC Þ is the linkage input-output function (ﬁgure 4. yB .

The program handles ﬁxed-axis planar mechanisms. We have studied part contacts for planar ﬁxed-axis pairs [71]. We have studied the contact of parts in mechanisms within conﬁguration space for nearly 20 years [36]. The conﬁguration space partition of mechanisms introduced in this chapter formalizes this compositional approach. and spatial ﬁxed-axis pairs [42]. . Appendix B describes the conﬁguration space partitions constructed by HIPAIR.8 Notes 79 Reuleaux’s seminal work [67] analyzes mechanisms as collections of lower and higher pairs whose kinematics is derived by composing a pair’s kinematics. 24]. Other work includes that by Falting [23. general planar pairs [68].4.

.

Kinematic analysis studies the functional consequences of the requirement that the conﬁguration of every mechanism must lie in free space or in contact space. The use of conﬁguration space partitions enables us to predict contact changes. the initial values and velocities of the mechanism’s degrees of freedom are given. The purpose of analysis is to determine how a mechanism functions. The strategy is to relate the geometric properties of partitions to functional properties and then to compare mechanisms by comparing their geometric properties. while their intersection spaces reveal the coupling among contacts. Simulation predicts the function of a mechanism by solving differential equations that express Newton’s laws of motion.1 Kinematic Analysis by Examination of Partition We saw in chapter 4 that an examination of a mechanism’s conﬁguration space partitions provides qualitative and quantitative information about its . The feature contact spaces reveal the structure of the individual contacts. The beneﬁt is greatest when seemingly unrelated features interact. In kinematic simulation. Partitions of the conﬁguration space provide a geometric view of these spaces that facilitates the analysis. 5. whereas in dynamical simulation the initial state and the external forces are given.5 Analysis The next four chapters explore kinematic design using conﬁguration spaces.3. whereas prior simulators are limited to mechanisms with permanent contacts or with known contact changes. In section 5. The remainder of the chapter is devoted to simulation. Simulation is less general than examination in that many inputs may be required to capture every aspect of the mechanism’s function. This chapter addresses analysis.1 we discuss kinematic analysis through an examination of conﬁguration space partition.2 and extend it to dynamical simulation in section 5. We present a kinematic simulation algorithm in section 5. We illustrate this strategy with several examples.

including failure modes. such as switching. behavioral. Continual counterclockwise rotation of the driver causes intermittent clockwise rotation of the indexer. In dwell periods. . kinematic function. and braking. In this section we examine two ﬁxed-axis indexing pairs with similar kinematic functions. and historical descriptions. functional. (b) dwell conﬁguration b. (c) drive conﬁguration c in next period. the driver slot engages an indexer pin and advances the indexer one-tenth of a turn. neither of which is available in the mechanical engineering literature. 5. Kinematic function is typically speciﬁed with mixed structural. the outer arc of the driver engages two adjacent indexer pins and prevents rotation. Although the part geometries are different. the conﬁguration space partitions are similar. that are apparent in the conﬁguration space partitions. balancing. the indexer spring rotates the next indexer pin into the driver slot and the next drive period begins.1 Disk indexing pair: (a) drive conﬁguration a.1 Disk Indexing Pair The ﬁrst indexing pair is shown in ﬁgure 5. While a systematic conﬁguration space partition analysis is desirable. The indexer has ten circular pins evenly spaced on a disk and is spring-loaded clockwise. engaging. Instead we demonstrate the efﬁcacy of an examination of partition with numerous examples throughout the book. including a catalog of mechanisms (appendix A). In drive periods.1. The driver is a disk with a slot cutout. it would require a formal speciﬁcation of kinematic function and a classiﬁcation of mechanisms into a functional taxonomy. locking. Changing the nominal values of the design parameters leads to changes in kinematic function. When a dwell period ends.1.82 5 Analysis Figure 5. We then examine an intermittent gear mechanism with two general planar pairs.

so the indexer will not advance (the path in ﬁgure 5. In . The segment width corresponds to the play between the indexer and the driver. which show a second type of blocking (ﬁgure 5. 5. We present two examples of how changes in the partition reﬂect changes in kinematic function. Figure 5.1 mm. The partition reveals a failure mode. If the spring is too weak.1.3 shows the effect of decreasing the distance between the centers of rotation by 1% from 33 mm to 32.2 Lever Indexing Pair The second indexing pair is shown in ﬁgure 5. but cannot rotate the indexer by one-tenth of a turn (ﬁgure 5.2 (a) Conﬁguration space partition and (b) detail.5. The free space splits into ten regions where the driver blocks on the ten indexer pins.5. There is one free region with ten slanted segments that represent drive periods and ten horizontal segments that represent dwell periods.1. The driver can rotate one pin.3c). Figure 5. but cannot disengage from it and rotate to the next pin (ﬁgure 5. Continual counterclockwise rotation of the driver causes intermittent clockwise rotation of the indexer. Figure 5.4b).4 shows the effect of decreasing the width of the driver slot mouth by 15% from 6 mm to 5. The driver can engage and disengage the indexer pins. The play is largest at transitions between drive and dwell periods. The indexer has eight pins evenly spaced on a disk.2a shows the conﬁguration space partition with the three conﬁgurations from ﬁgure 5.2b from conﬁgurations b to c instead of from b to a).7 mm. The driver consists of a driving lever and a locking arc mounted on a disk (not shown).1 Kinematic Analysis by Examination of Partition 83 Figure 5. The free space again contains ten regions.4c). the driver slot will pass the indexer pin before it can engage.

84

5 Analysis

Figure 5.3 (a) Modiﬁed disk indexing pair with centers of rotation too close, (b) partition, (c) detail.

Figure 5.4 (a) Modiﬁed disk indexing pair with slot too narrow, (b) partition, (c) detail.

drive periods, the driver lever engages an indexer pin and advances the indexer one-eighth of a turn. In dwell periods, the locking arc engages two adjacent indexer pins and prevents rotation. Figure 5.6 shows the conﬁguration space partition with the six conﬁgurations from ﬁgure 5.5. The slanted and horizontal segments in ﬁgure 5.6a represent the drive and dwell periods. The intended kinematic function occurs along the path abcde in ﬁgure 5.6b. The partition reveals two failure modes. The indexer can rotate clockwise from b to f and block. It can also rotate counterclockwise from d to a and repeat the previous cycle. We can remove both failures by modifying the driver (ﬁgure 5.7). The ﬁrst failure occurs when the leading side of the locking arc touches an

5.1

Kinematic Analysis by Examination of Partition

85

Figure 5.5 Lever indexing pair: (a) drive conﬁguration a, (b) transition to dwell at conﬁguration b, (c) dwell conﬁguration c, (d) end of dwell at conﬁguration d, (e) start of next drive period at conﬁguration e, (f) blocking conﬁguration f.

Figure 5.6 (a) Conﬁguration space partition, and (b) detail.

indexer pin and forms a contact curve with a negative slope. As the driver angle increases, the indexer angle decreases until the conﬁguration reaches a blocking conﬁguration (like the ratchet pair in ﬁgure 4.5). We assign the contact curve a positive slope, which eliminates the blocking conﬁguration, by beveling the locking arc side. The second failure occurs because the locking arc needs to engage two indexer pins for dwell. It must disengage one pin before the dwell ends, so that it can disengage the second

86

5 Analysis

Figure 5.7 (a) Revised lever indexing pair, (b) conﬁguration space partition, and (c) detail.

pin at the start of the next drive period. We prevent indexer rotation by increasing the outer radius of the locking arc so it locks another pin. The conﬁguration space partition of the modiﬁed pair resembles that of the spatial Geneva pair (ﬁgure 4.7). Both partitions exhibit slanted driving segments linked by horizontal dwell segments. The number of segments equals the drive ratio of the pair. The Geneva partition has smooth segment boundaries, which indicates smooth motion of parts, whereas the second partition has irregular boundaries. The partition of the ﬁrst indexer pair resembles these partitions since all three pairs have the same kinematic function, but it is also spanned by horizontal segments, owing to its failure mode (ﬁgure 5.1). 5.1.3 Intermittent Gear Mechanism General planar pairs have more complex kinematic functions than ﬁxedaxes pairs because of their extra degree of freedom. Direct examination of the three-dimensional partition of the conﬁguration space is practical in relatively simple pairs, such as the constant-breadth cam pair in section 4.4. Another strategy is to examine partition cross-sections, which represent translation of a part at a ﬁxed orientation. We illustrate cross-section examination using the pawl indexer gear mechanism in ﬁgure 5.8. The mechanism consists of a constant-breadth cam, a follower with two pawls, and a gear with inner teeth. The cam and the gear are mounted on a ﬁxed frame and rotate around their centers with degrees of freedom yC and yG ; the follower is free with degrees of freedom ðxF ; yF ; yF Þ. Rotating the cam causes the follower to rotate in step while reciprocating along its length. The right follower pawl engages a gear tooth at cam angle yC ¼ 0 (ﬁgure 5.8a); the follower rotates the gear 45 ; the

5.2

Kinematic Simulation

87

Figure 5.8 Intermittent gear mechanism: (a) right follower pawl engaged, (b) follower disengaged, (c) left pawl engaged.

right pawl disengages at yC ¼ 82 (ﬁgure 5.8b); the follower rotates independently while the gear dwells; then the left pawl engages the gear at yC ¼ 90 and the cycle repeats (ﬁgure 5.8c). Figure 5.9 shows the cross-sections of the gear-follower partition that correspond to the snapshots. The follower’s conﬁguration is ð0; 0; 0Þ and the gear degrees of freedom are ðxG ; yG Þ. In ﬁgure 5.9a, the free space consists of three regions. In the middle region, which contains the snapshot conﬁguration, the right follower pawl engages a gear tooth. The gear motion is about 10 mm, whereas its outer radius is 175 mm. In the region above or below, the pawl engages the tooth below or above. In ﬁgure 5.9b, the three regions have merged into a single region, which shows that the follower can now cross over the two gear teeth. In ﬁgure 5.9c, the free space once again consists of three regions and the middle region contains the snapshot conﬁguration in which the left pawl engages a gear tooth. 5.2 Kinematic Simulation

Simulation is a method of computing the state of a time-varying system. The state at time t is xðtÞ, it initial value is xðt0 Þ, and its time derivative is _ _ xðtÞ. The system satisﬁes a system of ordinary differential equations, x ¼ _ ¼ À2tx 2 with xð0Þ ¼ 1 yields xðtÞ ¼ 1=ð1 þ t 2 Þ. Alfðx; tÞ. For example, x though few systems have closed-form solutions, there are many efﬁcient numerical solvers that generate sequences of approximate solution points xðt 0 Þ; xðt1 Þ; . . . ; xðtn Þ. Each point is derived by a formula that contains earlier points and f values. The simplest formula, Euler’s method, is xðt þ hÞ ¼ xðtÞ þ hfðxðtÞ; tÞ with h a small constant. Better formulas employ more points and f values.

However. and the driving motion is xA ¼ 1 for _ t A ½0. (b) yG ¼ 5 . which _ _ _ gives the equation n Á x ¼ nx xA þ ny yB ¼ 0. n. 4. The state of a mechanism is its conﬁguration. In the example of . kinematic equations are discontinuous at changes in contact. yB Þ with x ¼ _ _ _ ðxA . (c) yG ¼ 9 . Equivalently.10 shows a kinematic simulation of the ﬁgure 4. In contact conﬁgurations _ _ b–d. Circle A translates horizontally with a degree of freedom xA and triangle B translates _ vertically with a degree of freedom yB . yB Þ. The parts’ velocities are determined by propagating the driving motion through the parts’ contacts. In free conﬁgurations a. Parts in contact are assigned velocities that make the relative velocity at the contact point tangent to the parts’ boundaries. Figure 5.3 pair. yB is chosen to make x tangent to the contact space normal. the velocity vector is tangent to the contact space. the initial state is xð0Þ ¼ a. The discontinuities are handled by splitting the simulation into intervals of ﬁxed contact and simulating each interval separately. 5.1 Simulation Algorithm Standard simulation algorithms require continuous simulation formulas.9 Gear-follower partition cross-sections: (a) yG ¼ 0 . Kinematic simulation assumes that the derivative is a function of a driving motion: a velocity for one or more parts over a time interval.88 5 Analysis Figure 5.2. Substituting n ¼ ðÀ1. The state is x ¼ ðxA . yB is zero. 1Þ and _ _ xA ¼ 1 yields yB ¼ 1. e.

from b to d. Figure 5. The output is a sequence of conﬁgurations xðt 0 Þ. . a stop time te . ti þ h.3. a time step h. . an initial conﬁguration xð0Þ. When the contacts of the parts are ﬁxed on ½ti . xðte Þ. tÞ from ti to tiþ1 with accuracy .11 Kinematic simulation algorithm. . ﬁgure 4. tiþ1 is the contact change time. (g) motion path in conﬁgurations a–e conﬁguration space. . (f) time plots. otherwise.5.11 summarizes the kinematic simulation algorithm. tiþ1 equals ti þ h.2 Kinematic Simulation 89 Figure 5. The input is a mechanism. and from d to e. the ﬁxed contact intervals are from a to b.10 (a–e) Kinematic simulation of a translation pair. a driving motion d. and an accuracy . Conﬁguration xðtiþ1 Þ is computed by integrating the _ equations x ¼ fðx. . Figure 5.

12 Collision: (a) free conﬁguration a. v points into free space or is tangential to .2 Computation of Velocity for Fixed-Axis Mechanisms The input to the velocity computation algorithm for ﬁxed-axis mechanisms is a conﬁguration and a driving velocity. . A contact breaks when the velocity points into free space. (d) conﬁguration space partition. (d) conﬁguration space partition. When these assumptions are violated. xB Þ and a driving velocity xA .6. ti þ h. _ We ﬁrst discuss a pair with x ¼ ðxA .13 illustrate this using the driver-indexer pair of the indexing mechanism from section 4. It uses a standard ordinary differential equation solver that invokes the velocity module multiple times to ensure accuracy.12 and 5. ti þ h. Figures 5. one contact per pair. The integrator ﬁrst computes xðti þ hÞ under the assumption that the contacts are ﬁxed on ½ti . (b) free velocity conﬁguration b. If n Á v b 0. (b) overlap conﬁguration b. and no cycles in the topology graph of the mechanism. the simulation is overconstrained. Figure 5. Two parts make contact when their conﬁguration enters blocked space. so the mechanism blocks. xB ¼ 0 and x ¼ v. xðti Þ. (c) free conﬁguration c. Deﬁne _ _ _ v ¼ ðxA .90 5 Analysis Figure 5. When a change is detected. d. the integrator ﬁnds the change conﬁguration by a bisection search on ½ti .13 Contact breaks: (a) contact conﬁguration a. The inputs to the integrator are the pairs’ partitions. 0Þ.2. (c) contact conﬁguration c. When x is free. and the velocity computation module described later. Suppose contact occurs with contact normal n. h. It then tests for contact changes. The algorithm assumes one driving part. 5.

_ The driving velocity is yD ¼ À1 hertz. In ﬁgure 5.16 shows a kinematic simulation of the indexing mechanism.16d) shows that y _ shows that this is because yD and the contact curve slope are negative.10d.14 Blocked simulation: (a–b) conﬁgurations a–b. D is traversed from B and is assigned _ _ xD ¼ xB . g.2 Kinematic Simulation 91 Figure 5. The driver-indexer partition (ﬁgure 5.15.16a. B is traversed _ _ from A and is assigned xB ¼ xA . 0Þ. The _ _ ny x simulation blocks because the driving velocity v is parallel to the contact normal n (ﬁgure 5. The computation algorithm for a mechanism’s velocity is as follows.16f) ure 5. v causes _ _ _ overlap of parts and a tangential x is obtained by solving n Á x ¼ nx xA þ _ B ¼ 0 for xB .14). the pair algorithm is invoked with A as the driving part. The .15 Computation of a mechanism’s velocity. so we set x ¼ ð0. If B is assigned a velocity.5. and so E is not traversed. which assigns yP to the pawl. _ contact space. (c) motion path. part A is assigned a driving velocity xA . A does not drive B and x ¼ v. In ﬁgure 5. If n Á v < 0. C is traversed from A without being assigned a velocity. There is no solution when ny ¼ 0. The translation pair exhibits this behavior in conﬁguration d in ﬁgure 5. the driver assigns _ _I to the indexer. The topology graph for the input conﬁguration is traversed starting at the driving part. its children are tra_ versed. When part B is traversed from A. The indexer time plot (ﬁgy _I is positive. Figure 5. Figure 5.

16 Kinematic simulation of an indexing mechanism: (a–c) conﬁgurations a–c.92 5 Analysis Figure 5. (d–e) time plots. (f–h) motion paths in conﬁguration space. .

.5. When the equations are singular. xj . . This means that n is a 3m-vector whose only non-zero elements are the ﬁrst three elements of nij in positions 3i. A contact between parts i and j is analyzed in the i-j conﬁguration space with coordinates ðxi . so we assign the parts zero velocity. . In ﬁgure 5. overlap of parts is prevented by the velocity along the contact normal. 5. yi . yi . yj Þ.16h) explains why. . yj . We compute ki from the c equations x Á ni ¼ 0. 7 6 . the contact breaks immediately and is ignored. the j elements are omitted from dij and nij . 1Þ and the frame circle. s. xm . 3j þ 2. with a center . 54 . . The cam is part 1 and the follower is part 2. 7 6 . yi . the driver assigns a velocity to the pawl and the indexer is stationary. In ﬁgure 5. 3i þ 2 and the last three elements in positions 3j. 1. yj Þ and the contact normal is nij .16e) shows that yP is negative and the indexer-pawl partition (ﬁgure 5. the simulation is overconstrained. If nij Á dij > 0. These contacts always generate velocities because they cannot break. The driving velocity is _ _ _ _ _ _ expressed as d ¼ ðx1 . xj . We illustrate the algorithm using the constant-breadth cam pair from section 4. 0. which state that x is tangent to the contact normals. 0. The driving velocity of the pair is dij ¼ _ _ _ _ _ _ ðxi . The _ driving velocity is y1 ¼ 1 hertz. . . The resulting symmetric linear system 3 32 3 2 2 Àn1 Á d k1 n1 Á n1 Á Á Á n1 Á nc 7 6 . When part j is the frame. nc Á n1 Á Á Á nc Á nc kc Ànd Á d is solved with a linear equation solver. The driving parts contribute non-zero elements to d and the other elements are zero. Otherwise. 0Þ and b 1 ¼ ð0. the driver assigns velocities to the indexer and to the pawl. The revolute joint that connects the cam to the frame is modeled with contacts between cam points a 1 ¼ ð1.2 Kinematic Simulation 93 _ pawl time plot (ﬁgure 5. 0.17).16b. yj . . The velocity is expressed as kn with n the injection of nij into the mechanism’s coordinates. yi . . 7 6 . ym . . y1 . Pc _ The mechanism’s velocity is x ¼ d þ i¼1 ki ni with c the number of con_ _ tacts.4 (ﬁgure 5. 3j þ 1.16c. so d ¼ ð0. 3i þ 1.2. ym Þ with m the number of moving parts. A lower pair is modeled with two contacts. as explained in chapter 3: two point and circle contacts for a revolute joint and two point and line contacts for a prismatic joint. 4 5 ..3 Computation of Velocity for General Planar Mechanisms The algorithm for general planar mechanisms allows multiple driving parts and general topology graphs for a mechanism. 0Þ. 76 . y1 . 5 ¼ 4 .

_ 29:81. 0Þ where the cam_ follower pair is free. k. 0. y1 þ cos y1 . Ày1 sin y1 À x1 cos y1 . 0Þ: Figure 5. 0. 0Þ and radius rb ¼ 1. 0. The contact equations are kak ¼ 1 and kbk ¼ 1. 0. cos y2 . The contact equation is n Á f ¼ d with f ¼ p À t2 . 0. Figure 5. 0Þ. ob ¼ ð0.17 Kinematic simulation of a cam pair: (a–d) conﬁgurations a–d. 0:18. y1 cos y1 À x1 sin y1 . 0Þ and _ n2 ¼ ð0.17a shows the conﬁguration ð0. 0. so the velocity is x ¼ 1 d þ k1 n1 þ k2 n2 þ k3 n3 . 0. 0. 0. 0. 0Þ n2 ¼ ðx1 À sin y1 . 0. which yields n3 ¼ ðÀcos y2 . fx sin y2 À fy cos y2 Þ k ¼ ð px cos y2 þ py sin y2 Þ sin y1 þ ð py cos y2 À px sin y2 Þ cos y1 : .94 5 Analysis Figure 5. 0:04. À2:5Þ and the follower line with normal n 2 ¼ ðÀ1. 1. Àsin y2 . 0. 0. 0. 0. 0Þ and distance d from the origin. (e–g) time plots. since n1 ¼ ð1. 0. so the mechanism’s velocity is x ¼ d þ k1 n1 þ k2 n2 . sin y2 . so x ¼ d.17b shows the conﬁguration ð0. The contact is between cam point p ¼ ð4:3. 23:94Þ where the pair is in contact. which yields 2 2 x1 þ y1 þ 2x1 cos y1 þ 2y1 sin y1 ¼ 0 2 2 x1 þ y1 À 2x1 sin y1 þ 2y1 cos y1 ¼ 0: The contact normals (after division by 2) are n1 ¼ ðx1 þ cos y1 . The linear equations are k1 ¼ 0 and k2 ¼ 0. y1 þ sin y1 .

5. Unlike the ﬁxed-axis algorithm. n2 ¼ ðÀ0:5. y the angular acceleration. the driver’s orientation in our driver-indexer pairs can be controlled with a torque controller on a torsional motor. 0:5. and the sum of the angular velocities equals the driving angular velocity. the postcollision velocities are derivable from the conservation of momentum. 2:01Þ. 0Þ. 0:55. This is a reasonable assumption when every degree of freedom in the mechanism is under accurate control. À0:41. More generally. and cy the contact torque. 0:87. 0:09. x and y the components of its linear acceleration. The driver rotates. The contradiction is resolved by employing a separate collision model. 0. I the moment of inertia. 0:45Þ. À2:04. For example. 0:91. t the external torque. The parts must change velocity instantaneously to prevent overlap.3 Dynamical Simulation 95 The contact normals are n1 ¼ ð0:87. 0. 0:2. Numerical solution of the extended Newtonian equations is called dynamical simulation.5. The linear equations are 3 32 3 2 2 0 k1 1 0 À0:99 7 76 7 6 6 1 0:1 54 k2 5 ¼ 4 0 5 4 0 2:04 k3 À0:99 0:1 10:2 _ and x ¼ ð0. cx and cy the contact € force. fx and fy the external force acting on the part. 0Þ. 0. It provides designers of mechanisms with information that goes beyond the realm of kinematics. Continuum mechanics provides a more general model in which parts deform during collision. When the parts are smooth. each part of a mechanism moves according to the Newtonian equations € mx ¼ fx þ cx € my ¼ fy þ cy € I y ¼ t þ cy € € with m the mass of the part. and n3 ¼ ðÀ0:91.3 Dynamical Simulation Kinematic simulation presupposes that the driving velocities are known. The rigid part model contradicts the Newtonian equations when parts collide. the follower rotates and translates. 0. 0. the driving velocity is modiﬁed in the same way as the other velocities of parts. The most robust designs . 0:41. 0. but the velocity is continuous and only acceleration can change instantaneously. then return to their original shapes. 0.

Example We illustrate dynamical simulation for a ﬁxed-axis escapement composed of a wheel.18b).96 5 Analysis Figure 5. meaning a single motion path in conﬁguration space. A weight applies a constant clockwise torque to the ratchet. When the wheel pin is at its lowest point. As the wheel rotates clockwise. The left anchor pallet engages a ratchet tooth and blocks its rotation.18a). The kinematic function is to rotate the ratchet clockwise by two teeth per second. the left pallet engages. When the function depends on dynamics. The wheel pin engages the anchor fork and oscillates the anchor. rotates clockwise by one tooth. the anchor rotates clockwise. The cycle begins with the wheel pin at its leftmost point (ﬁgure 5. dynamical simulation identiﬁes the actual function of a speciﬁc design. The moments of inertia are 1 N Á cm 2 (newton for square centi- . and the cycle repeats. Dynamical simulation veriﬁes the kinematic function for one design instance.18c). and engages the right anchor pallet (ﬁgure 5. and a ratchet (ﬁgure 5. the right anchor pallet disengages (ﬁgure 5. so dynamical simulation differs from kinematic simulation solely in the rate at which this path is traversed. A spiral spring oscillates the wheel twice per second.18d).18). have a single kinematic function. As the wheel rotates counterclockwise.18 Dynamical simulation of escapement: (a–d) conﬁgurations a–d. the ratchet disengages the left anchor pallet (ﬁgure 5. an anchor.

19b) starts correctly but fails to clear the horizontal contact curve at conﬁguration d. Collisions are detected by testing the parts for overlap since partitions of conﬁguration space are impractical. . Figure 5.5.19 Anchor-ratchet motion paths: (a) correct. and blocks in conﬁguration c. Contacts between smooth parts generate forces along the contact normals that are computed by solving linear equations. reverses direction. and integration. continuum mechanics. Efﬁcient detection of collisions is widely studied in mechanical engineering and robotics. 1 N Á cm 2 for the anchor. meter) for the balance. Simulating the mechanism with a range of driving torques reveals that it works with 20 N Á cm. Dynamical simulation applies to spatial parts. A spring coefﬁcient of p 2 produces a natural spring period of two cycles per second. The integration algorithm is the same as in kinematic simulation except that it uses the Newtonian equations and invokes the impact handler on collisions. Impact handling updates the velocities of colliding parts according to the conservation of momentum. Contacts between rough parts generate tangential. Algorithm The main steps in dynamical simulation are computation of contact force. (b) failure. Friction is neglected. Each part has three rotational and three translational equations.19 shows the two anchor-ratchet motion paths. just as velocities are computed in kinematic simulation. The bad path (ﬁgure 5. or variants thereof. but fails with 30 N Á cm. frictional forces that are harder to compute. impact handling. and 5 N Á cm 2 for the escapement.3 Dynamical Simulation 97 Figure 5.

The simulators handle multibody systems composed of parts connected by permanent joints. Haug [28]. Schiehlen [77]. We have studied analysis in the conﬁguration space paradigm. we developed a symbolic language to describe kinematic function [39].98 5 Analysis Simulation with Conﬁguration Space Partitions The key advantage of using conﬁguration space partition for simulation is that it provides a model for contact of parts. We show how to compute and interpret the conﬁguration space partition for ﬁxed-axes mechanisms [40]. which have been the subject of extensive research in the past two decades. See also related work on qualitative kinematics by Faltings [23. see de Jalon and Bayo [32]. For textbooks on simulating mechanisms. A variety of commercial and academic software packages are currently available. and Nikravesh [59]. 24]. It thus allows the efﬁcient and robust simulation of mechanisms with complex contact geometry and complex changing sequences of contact. Based on this representation. 38]. that can be used to compare and classify mechanisms [37. Partition of the conﬁguration space encodes the contact conditions and relations that must be incorporated in the equations for the motion of parts. . SIMPACK.4 Notes Analysis of mechanisms plays a central role in mechanical engineering. and SD/FAST. We show how conﬁguration space partition regions and their adjacencies correspond to kinematic function for ﬁxed-axis mechanisms [36]. DADS. Appendix B describes the HIPAIR kinematic simulation format and visualization control. to name a few. This model is an effective alternative to precomputed pairwise contacts and collision detection. The main analysis tools are kinematic and dynamical simulation. 5. including ADAMS.

We describe the tolerance speciﬁcations in section 6. We use parametric tolerances because they are general and conform with tolerancing practice. When the variation is excessive. f ðx. The tolerance intervals. as discussed in the next chapter. The model contains parameters for all the part boundaries and motion axes of the mechanism. model the variation of the manufacturing process.2. . or a more accurate manufacturing process is selected. . .1 that a parametric model speciﬁes parts in terms of parameters p ¼ ð p1 .3 and 6. The variation in manufacturing is modeled with error intervals around the nominal parameter values of the mechanism’s parametric model. The manufacturing cost generally increases as the variation decreases. . A boundary segment is speciﬁed with an implicit curve. pn Þ. pi À li a pi a pi þ ui .6 Tolerancing This chapter addresses tolerancing. The model is analyzed to estimate the kinematic variation. which is the task of transforming a nominal design into one that can be manufactured. pÞ ¼ 0.4. kinematic variation in section 6. and algorithms for kinematic pairs and mechanisms in sections 6. 6. and lower and upper parameter bounds.1 Speciﬁcations of Parametric Tolerance We saw in section 2. . ln Þ and u ¼ ðu1 . . un Þ. that depends on p. We specify nominal parameter values. . . p ¼ ð p1 . . y. . the mechanism is redesigned.1. . pn Þ. . We present algorithms that derive the worst-case kinematic variation of mechanisms with parametric tolerances. . . Variation in mechanisms is represented with tolerances. . Every manufacturing process is subject to variation in the shape and conﬁguration of parts that causes kinematic variation. . l ¼ ðl1 . The designer needs to select a manufacturing process and to ensure that it produces mechanisms that function as intended despite kinematic variation. .

which raises and lowers the lever. Figure 6. 2. m. h.2 Tolerance Analysis The task of worst-case tolerance analysis is to compute the maximal variation from the nominal kinematic function over the tolerance space. The cam raises and lowers the follower. w. yL . incident segments have equal endpoints and nonincident segments are disjoint. vÞ with r and h the cam’s radius and eccentricity.100 6 Tolerancing Figure 6.1b shows the nominal function (thick curve) and its variation (shaded area). yC . m the follower’s axis height. We assume that the shapes of the parts have the nominal topology in every instance. and w and v the axis positions of the horizontal and vertical levers. . 6. We illustrate this using the lever mechanism. The tolerance speciﬁcations are p ¼ ð1. and a rotating lever.1 (a) Lever mechanism and (b) kinematic variation. The cross-product of the tolerance intervals. ui ¼ 0:01. The boundary curves of the variation region represent the extremal values of yL at each yC value. The variation is maximal when yC ¼ 0 and yC ¼ 180 and is minimal when yC ¼ 90 and yC ¼ 270 . then deﬁne kinematic variation for general mechanisms. 0:25. a hyperbox in the parameter space. The parameters are p ¼ ðr.1a shows a parametric model of a lever mechanism composed of an eccentric rotating cam. The kinematic function is the relation between the cam angle. which has ﬁxed contacts. 2. is the tolerance space. 3Þ and li . Each point in the tolerance space is an instance of the nominal design. a translating follower. The driving motion of the lever mechanism is rotation of the cam. and the lever angle. Figure 6.

a circular hole at its center of nominal radius rB ¼ 2. The instance contact spaces form a band around the nominal contact space. lB ¼ 7:8. rB ¼ 1:9. and clearance 0. We illustrate contact zones with a pair (ﬁgure 6.2c shows an instance with rA ¼ 0:9. wB . rB ¼ 2:1. owing to its the shapes and motion axes of its parts. The nominal free space minus the contact zone comprises the conﬁgurations that are free for every instance.1 for rA . The parameter bounds are 0.2a) composed of a circle A of nominal radius rA ¼ 1 and a box B with a square outer proﬁle of nominal length lB ¼ 8. .6.5.2 Tolerance Analysis 101 Figure 6. 5Þ. wB ¼ 2:7. The variation in the partition represents the kinematic variation of the mechanism. rB and 0:2 for lB .3. and clearance 0. wB ¼ 2:5.9. (d–f) nominal and instance partitions of conﬁguration space. Figure 6. lB ¼ 8:2. Each instance in a tolerance space has its own partition.2b shows an instance with rA ¼ 1:1. that comprises the conﬁgurations where some instance is in contact.2 Circle-box pair: (a–c) nominal shapes and two valid instances in conﬁguration a ¼ ð4. called the contact zone. The clearance between circle A and the B slot is 0. and a vertical slot of width wB ¼ 2:5. Figure 6. The kinematic function of a mechanism is its partition of conﬁguration space. likewise for contact space.

Figure 6. This occurs when the bounds are 0:15 for rA .2a) and is blocked for the ﬁrst valid instance (ﬁgure 6.2d–f shows the nominal partition and the two variations. the topology changes when the inner and outer contact zone boundaries intersect (ﬁgure 6. (c) contact zone. whereas b ¼ ð7. Figure 6. Conﬁguration a ¼ ð4. yA Þ because A translates with yA ¼ 0 and B is ﬁxed.3 shows the contact zone: the dark gray band around the nominal contact space. A difference between the nominal partition topology and that of an instance indicates a qualitative change in kinematic function. (b) conﬁguration space partition.102 6 Tolerancing Figure 6. Figure 6.4 Circle-box pair with larger variation: (a) blocked instance. The conﬁguration space of the pair is ðxA .3 Circle-box pair contact zone (a) with detail (b). 5Þ is free for every instance. rB and 0:3 for lB .4c). There are instances in which A does not ﬁt in the vertical . 9:1Þ is free for the nominal shape (ﬁgure 6.2b). wB . In our example.

so this aspect of the contact zone is conservative with regard to this instance.1. but there need not exist one instance that generates the boundary. A ﬁxed-axis pair has a twodimensional zone whose boundary consists of curve segments. This is not the case in general.6b): the nominal free region splits into two regions.3 Algorithms for Kinematic Pairs Tolerance analysis of a kinematic pair consists of computing the contact zone.5). In particular. as illustrated in ﬁgure 6. so we compute approximate contact zones. The narrow vertical channel disappears.6a and c. The topology changes indicate that instances in the tolerance space might block. The boundaries are not expressible in closed form. Figure 6. rB ¼ 2:1.3 Algorithms for Kinematic Pairs 103 slot. A general planar pair has a three-dimensional zone whose boundary consists of surface patches. 6. In our example. the diagonal channels are open. a contact zone boundary intersection does not guarantee that any instance exhibits a qualitative change in kinematic function.6).1 (ﬁgure 6. lB ¼ 8:2. and the displayed instance shows that blocking can occur. Intermittent Gear Mechanism We illustrate general planar pair contact zones using the gear-follower pair of the intermittent gear mechanism from section 5.1. The contact zone is thus a conservative estimate of worst-case variation. Disk Indexer Pair We illustrate a change in contact zone topology using the disk indexer pair from section 5. The contact zone has the nominal topology at gear orientations where a pawl drives a gear tooth. The topology is different when neither pawl is engaged (ﬁgure 6. indicating that the circle cannot exit the box.5d–f shows that a wider contact zone has a different topology in which the diagonal channels are replaced by lower and upper horns.3 (ﬁgure 6. . The parameters that specify the gear teeth and the follower’s pawls are assigned tolerances of G0:01 mm. except for very simple shapes of parts. Although the horizontal channels of the failure instance are blocked.4a–b with rA ¼ 1:1. Figure 6. We employ boundary representations. Each boundary point is generated by an instance.6. wB ¼ 2:2. the outer and inner contact zone boundaries correspond to the maximum and minimum material condition instances.5a–c shows that a narrow contact zone has the topology of the nominal partition: the diagonal segments represent drive periods and the horizontal segments represent dwell periods. which indicates that the follower blocks when the pawls engage opposing teeth. as shown in ﬁgure 6.

5 Disk indexer pair: (a) nominal design. (f) wider contact zone. (e) failure partition. (c) narrow contact zone. (b) nominal partition. (d) failure instance. .104 6 Tolerancing Figure 6.

7 summarizes the algorithm. on a parametric contact curve or surface.3 Algorithms for Kinematic Pairs 105 Figure 6. Step 3 The input is a conﬁguration. Figure 6.8 illustrates the algorithm for the ﬁgure 6. Step 4 forms the contact zone boundary from the boundary points. Figure 6. the contact curves are sampled as described in section 4. For a general planar pair. Step 3 computes the contact zone boundary points in the outward and inward normal directions for each sample of contact space.6 Gear-follower contact zone cross-sections: (a) yc ¼ 0 .6. f ðc. For a ﬁxed-axis pair. The outward normal at c is the gradient vector. The contact zone’s outer boundary point lies on the ray c þ kfc and maximizes k . cross-sections are formed at a speciﬁed yA spacing and the resulting ﬁxed-axis pairs are sampled. fc . (c) yc ¼ 9 .3. (b) yc ¼ 5 .3 contact zone.1. Steps 1 and 2 sample the contact space. c. pÞ ¼ 0.

(b) contact zone boundary points at a and b.7 with nb ¼ ð1. using equation 3. 0Þ. We illustrate the computation using the circle-box pair (ﬁgure 6. The maximum.8b). and db ¼ 8. (c) contact zone boundaries. and u ¼ 0:2. The sole parameter is p ¼ ra with p ¼ 1. We approximate f with its linear Taylor series f ðc þ kfc . The inner boundary point minimizes k. under the constraints f ðc þ kfc .106 6 Tolerancing Figure 6. ra Þ ¼ xa À A ra À 8 ¼ 0. p þ qÞ A f ðc. The gradient is ðqf =qxa . It is minimal when li and ui are interchanged. 0Þ and k ¼ Àqðqf =qra Þ ¼ q with À0:2 a q a 0:2. ya .8 Contact zone computation: (a) contact space sampling. occurs when q is largest and generates the con- . 6Þ lies on the moving circle-ﬁxed line contact curve f ðxa . Conﬁguration a ¼ ð9. qf =qya Þ ¼ ð1. Figure 6. oa ¼ ð0.7 Algorithm for the computation of the contact zone. 0Þ. k ¼ 0:2. l ¼ 0:2. p þ qÞ ¼ 0 and Àli a qi a ui . pÞ þ kfc Á fc þ q Á fp ¼ kfc Á fc þ q Á fp and solve f ¼ 0 for k¼À 1 1 X qf q Á fp ¼ À qi : fc Á f c fc Á f c i qpi This formula shows that k is maximal when qi ¼ ui for qf =qpi > 0 and qi ¼ Àli otherwise.

3). w. lies on a set of contact surfaces. each free region boundary yields an outer and an inner sequence of contact zone boundary points.8c). 0Þ. We link the points in each sequence to obtain curves (ﬁgure 6. 4 À ya Þ ¼ ð0. The minimum.4 Algorithms for Mechanisms 107 tact zone’s outer boundary point ð9:2.8 with oa ¼ ð0. and rb ¼ 2. When the tolerance intervals are narrow. yL Þ. 3:2Þ. The d metric is task speciﬁc. but is still practical. We illustrate using a lever mechanism (ﬁgure 6. m. 0:25. k ¼ À0:2. h. We can derive the true maximum and minimum via constrained nonlinear optimization.2). 6Þ. p þ qÞ ¼ 0. Usually this error is negligible because the tolerance intervals are narrow. vÞ with p ¼ ð1. Step 4 In a ﬁxed-axis pair. À2Þ and k ¼ 0:2q. the contact zone is a narrow band around the contact curves (ﬁgure 6. A common criterion is that an output conﬁguration variable be maximized with the driving variables ﬁxed at their nominal values. ui ¼ 0:01. These curves partition the conﬁguration space into faces. The error that results from the linear Taylor series is quadratic in the tolerance interval widths. If we could. The conﬁguration space coordinates are ðyC . the approximate contact zone boundaries are triangular meshes that generate a spatial partition. Conﬁguration b ¼ ð4. but there are cases where the error is signiﬁcant. 2. We seek a maximal d subject to the linearized f j constraints and Àli a qi a ui .1).4 Algorithms for Mechanisms The computation algorithm for a contact zone cannot be used for mechanisms because we cannot in general construct mechanism partitions. The cam-follower . In a general planar pair. B ob ¼ ð4. which we compute by kinematic simulation (section 5. c. 3Þ lies on the moving circle-ﬁxed circle contact curve A ð2 À ra Þ 2 À ðxa À 4Þ 2 À ðya À 4Þ 2 ¼ 0. When the intervals are wide enough. the algorithm would extend directly. using equation 3. which takes longer than linear optimization. The tolerance parameter vector is p ¼ ðr.4). f j ðc þ d. 2. The faces that contain the contact space are the contact zone. that linj j earize to fc Á d þ fp Á q ¼ 0.6. occurs when q is smallest and generates the inner boundary point ð8:8. 2:8Þ and ð4. The maximum and minimum generate the outer and inner boundary points ð4. 6Þ. A conﬁguration. the curves intersect and the contact zone topology is more complicated (ﬁgure 6. 6. 4Þ. 3Þ and with li . yF . Instead we compute error bounds at sample conﬁgurations on the nominal path for a given driving motion. The gradient is 2ð4 À xa .

5 Notes Tolerancing of mechanisms is of great practical and economic importance. [13]. A manufacturing process is accepted based on the probability that its output will function correctly or on its expected cost. d3 ¼ 2:4 . is a closely related topic [82]. Worst-case tolerancing sets the stage for statistical tolerancing in which manufacturing variation is modeled with probability distributions and kinematic variation is treated as a random variable. 72. We automate computation of kinematic variation with contact changes. such as a gap. Appendix B describes HIPAIR computation of contact zones. 17. and determining the parameters’ variability range [8. whose task is to ensure that the manufactured parts will assemble. It consists of identifying critical parameters. clearance. building a onedimensional tolerance chain based on conﬁgurations and contacts of parts. occurs at yC ¼ 90 and yC ¼ 270 where yL ¼ 0. Eliminating yF yields p4 sin yL þ p5 À p3 À p1 À p2 cos yC ¼ 0 and linearizing with yC ﬁxed yields d3 p4 cos yL ¼ Àq5 þ q3 þ q1 þ q2 cos yC À q4 sin yL : The d3 maximum is ð0:03 þ 0:01jcos yC j þ 0:01jsin yL jÞ=cos yL and the minimum is its negative. d3 ¼ 1:7 . 6.108 6 Tolerancing contact function is yF À p1 À p2 cos yC ¼ 0 and the follower-lever contact function is p4 sin yL þ p5 À p3 À yF ¼ 0. We have developed algorithms for kinematic tolerancing in the conﬁguration space paradigm [41. 81]. or play. HIPAIR handles ﬁxed-axis planar pairs with uniform offset tolerances. see Prisco [63]. . Tolerancing for assembly. For a survey of commercial computer-aided tolerancing (CAT) packages. We compute the variation in yL . The maximum variation. The algorithms use the linear Taylor series approximation described earlier. 73. 2]. The linear approximation is normally accurate. Current tolerancing principles and standards are described by the American Society of Mechanical Engineers [1. 75]. Kinematic variations for large displacements are studied in Chase et al. 80]. Popular tolerance speciﬁcations are parametric and geometric [66. but is sometimes very inaccurate at critical conﬁgurations. A variety of methods for worstcase and statistical tolerancing of mechanisms have been proposed [9]. The minimum variation. occurs at yC ¼ 0 and yC ¼ 180 where yL is extremal. In later work [44] we developed an exact algorithm based on constrained optimization. The most common kinematic tolerance analysis is tolerance chain or stack-up analysis for static and small displacements.

In section 7. the goal is to ﬁnd nominal parameter values and tolerance intervals that realize the kinematic function with the allowed variability. Conceptual design consists of selecting a design concept that captures the desired kinematic function. Analysis derives the kinematic function of a mechanism from a speciﬁcation of its parts’ shapes and motion constraints. and tolerancing steps. Parametric design consists of building a parametric model of the mechanism that encodes the shapes and conﬁgurations of parts. We discuss mechanisms composed of ﬁxed-axis higher pairs. we describe a parameter optimization algorithm that adjusts parameter values to ensure correct kinematic function for a given tolerance space. synthesis. In section 7.1 Kinematic Design Cycle We saw in chapter 1 that kinematic design is an iterative process with conceptual design. a kinematic function. Synthesis is the inverse process of analysis.2 we present a parameter synthesis algorithm that ﬁnds parameter values that realize a kinematic function. The goal is to design a mechanism that realizes a kinematic function.1a). and its allowed variability. It is inherently more difﬁcult because many mechanisms can realize the same kinematic function. Figure .3. Tolerancing derives the kinematic effect of manufacturing variation.7 Synthesis This chapter studies the design task of kinematic synthesis. parametric design.1. We illustrate this cycle with a driver-follower pair from an optical ﬁlter mechanism. We focus on parameter synthesis: given a parametric model of a mechanism. which is discussed further in section 8. analysis. The design requirements are to cover and uncover a lens with a ﬁlter (ﬁgure 7. 7. Synthesis is the inverse task of devising a mechanism that performs a speciﬁed function.1 we review the kinematic design cycle before focusing on parameter synthesis. In section 7.

1 Kinematic design scenario: (a) design requirements. (d) nominal partition. . (c) intended kinematic function. (b) nominal design. (f) failure instance. (g) failure partition. (e) contact zone detail.110 7 Synthesis Figure 7.

These considerations lead us to an interactive paradigm in which the designer reﬁnes an initial design instance through a sequence of design changes. The designer creates a parametric model and assigns parameter values and tolerance intervals. Each instance requires a time-consuming analysis. The cross-product of the intervals is the design space. decides how to change the . rotates it until the ﬁlter uncovers the lens. The designer examines the conﬁguration space partitions for design ﬂaws. then locks it in place. During conceptual design. A manual search of the design space is often impractical. Each point in the design space is a design instance. Counterclockwise rotation of the driver turns the follower clockwise. but the contact zone (ﬁgure 7. or can change the design concept. and re-locks it. During parametric design.1f–g shows a blocking instance and its partition. We seek a design instance that realizes a speciﬁed kinematic function in an optimal manner. The intended feature contacts are a pin and slot in the driving phase and concentric convex and concave arcs in the locking phase.2 Parameter Synthesis The input to our parameter synthesis algorithm is a parametric model of a mechanism with parameter intervals.1b).1c shows the intended kinematic function. can tighten the tolerance intervals. The designer can change the parameter values to remove the blocking. so the ﬁlter covers the lens. Clockwise rotation unlocks the follower. Figure 7. 7. The designer must examine many instances to ensure that a good design has not been overlooked. Figure 7. The design goals usually cannot be expressed with a single function because they are often incommensurate or conﬂicting. The entire design space cannot be searched because of its large dimension.2 Parameter Synthesis 111 7. Unlike tolerance spaces. We encode the design goals in objective functions that we minimize subject to the kinematic constraints.1e) indicates possible blocking.7. the geometry and rotation axes for the parts are chosen (ﬁgure 7. as is common with higher pairs.1d). The nominal function is correct (ﬁgure 7. owing to overlap between the upper and lower boundaries. the designer chooses a Geneva pair. The search is especially difﬁcult when the kinematic function is sensitive to small perturbations in the parameter values.2 summarizes the algorithm. Our solution is an optimization search. design spaces are generally too large for linearization of the contact curves to have acceptable accuracy.

. 5:75Þ. pÞj ¼ j3:9 À rA þ 0:5wB À 4j.2. and inputs the changes.3d) or by decreasing the slot width. pi Þ ¼ 0 with pi the initial design instance. whereas decreasing wB only changes the channel width. 7. The tail satisﬁes f ðt. 2:5Þ. Increasing rA changes the entire contact space because the A circle is involved in every contact. yA Þ and p ¼ ðrA . The objective function. from 1 to 1:15 (ﬁgure 7. pÞj with parameters p.2. The cycle repeats until the design is acceptable. We illustrate draggers with the circle-box pair (ﬁgure 7. h. The initial design instance is pi ¼ ð1. is obtained by setting c ¼ h in the contact equation. pÞ ¼ xA À rA þ 0:5wB À 4 ¼ 0 with c ¼ ðxA . is a conﬁguration that should lie on that curve. wB .3b) are from section 6.3a) and conﬁguration space partition (ﬁgure 7. partitions to remove the ﬂaws. We minimize the objective function by iterative optimization starting from p ¼ pi .3c) has a tail t ¼ ð3:75. The dragger (ﬁgure 7.2 Algorithm for parameter synthesis.1 Design Change A design change is speciﬁed with a dragger in conﬁguration space: an arrow whose tail. The algorithm translates the changes into an objective function and computes a local minimum starting from the current parameter values. jf ðh. The contact is between A and the left side of the B slot. Our example design change can be achieved by increasing the circle radius.3). rA . from 2:5 to 2:2 (ﬁgure 7.3e). Its value at p ¼ pi is j3:9 À 1 þ 1:25 À 4j ¼ 0:15. t. The objective function is jf ðh. lies on a contact curve with equation f ðc. Its equation is f ðc. 5:75Þ and head h ¼ ð3:9. wB Þ. The new parameter values achieve the requested design change when the minimum is zero and partially achieve the change when it is positive. The initial design instance (ﬁgure 7. pÞ ¼ 0 and whose head.112 7 Synthesis Figure 7.

The designer requests smaller play with an upward dragger on the bottom curve. which is often undesirable. (b) initial conﬁguration space partition. the number of edge loops that bound each face.7. A contact curve that enters or leaves a loop is a local change since the kinematic function is insensitive to which features generate it. A change in the free space topology implies a large change in kinematic function. 7. the driver pin engages the follower slot and rotates the follower. The play appears as the distance between the top and bottom contact curves that bound the channel (ﬁgure 7. The structure is the number of free faces. In the diagonal channel. The partition reveals excessive follower play in the driving mode. In the horizontal channels. the driver arc aligns with the complementary follower arc and prevents rotation of the follower. A local change in structure occurs . (e) wB ¼ 2:2 modiﬁcation.2 Parameter Synthesis 113 Figure 7. and the sequence of contact curves along each loop. (c) dragger. We illustrate these concepts with a driver-follower pair (ﬁgure 7.2. The initial partition of the conﬁguration space shows a correct function (ﬁgure 7.4b). (d) rA ¼ 1:15 modiﬁcation.3 Circle-box pair: (a) initial design instance.2 Structure Change Minimization of the dragger can change the free space structure.4).4c).

5b). and enters contact space. (c) detail with dragger. the new design instance is accepted. of the driver arc-follower arc tip crosses the pin-slot curve. a.4d). two contact curves (on the same loop or on different loops) are disjoint on one side of pc . The contact curve. and intersect on the other side of pc . and blocks the channel (ﬁgure 7. (e–f) topology change with detail. The algorithm adds penalty terms to the objective function to prevent the tangency and restarts the optimizer at the old instance. If the change is local. tangent at pc . The parametric synthesis algorithm prevents topology changes. The new free space is matched against the old one. where the structure changes. One penalty term prevents a from crossing a barrier point below the tangency and the other prevents c from crossing a barrier above it. (d) local change. (b) partition. The . In a topology change. If the structures match. c.4 Driver-follower pair: (a) detail of initial instance. Otherwise the algorithm searches the line segment in parameter space between the old and the new instances for the ﬁrst point. A topology change occurs when c hits the upper channel boundary. b.5a). the optimization resumes from pc . the tangent curves are a and c (ﬁgure 7.114 7 Synthesis Figure 7. In our example.4e–f). partway through the optimization (ﬁgure 7. pc . The barriers appear as a single ﬁlled circle because they are so close together (ﬁgure 7.

Initially. The spring rotates the pawl clockwise until its tip engages a ratchet slot. fn to match. Two edges match if their contact curves are formed by the same pair of part features. . . The ratchet. drives the cam via the pawl (ﬁgure 7. . per dragger. .6c).6). . This naive algorithm. . It remains to describe the matching algorithm. they must have the same length and e1 must equal fi for some i. The mechanism is the Dennis clutch from section 2. barriers (b). and ﬁnal partition (c). Partitions A and B match when they have the same number of free face edge loops and every A loop matches a single B loop. e3 ¼ fiþ2 . . We can match the partitions by matching every A loop with every B loop. en and f1 . The objective function is the sum of one term. jfi ðhi . revised objective is minimized and the design goal is achieved without changes in topology (ﬁgure 7.4 (ﬁgure 7. pÞj.6d) and rotates it clockwise. which takes Oðm 2 Þ time with m the total number of edges. en ¼ fiþn with the indices’ modulo n. which is mounted on a rotating shaft. The rotating cam pin hits the upper ﬁnger of the arm (ﬁgure 7. A constant-time algorithm is cited in the notes. We illustrate this using a mechanism with design ﬂaws in two pairs.2 Parameter Synthesis 115 Figure 7.3 Multiple Draggers A design change can be speciﬁed with multiple draggers in multiple partitions.6a). .6b). 7. . can be slow when m is large since it is used in the inner loop of the optimizer.5 Topology change (a).2. For edge loops e1 . The match succeeds when e2 ¼ fiþ1 . The algorithm minimizes the objective as before while checking every pair for structure changes.4c) is drawn with dashed lines for comparison. .5c). . . The operator releases the pawl by rotating the arm counterclockwise (ﬁgure 7. the pawl is disengaged from the ratchet and is locked by the arm (ﬁgure 7. which are corrected with two draggers in one partition and one in the other. The original channel (ﬁgure 7.7. The lower .

7a).8a). and locks it (ﬁgure 7. disengages it from the ratchet. The revised partition shows a correct function (ﬁgure 7.7c). ﬁnger of the arm hits the pawl (ﬁgure 7. The ﬁrst change in design ﬁxes a cam-arm design ﬂaw: when the operator rotates the arm. The arm rotates from p to q. the pawl tip can slide over a ratchet slot without engaging. but the path ends prematurely at q when the arm hits the cam’s rim. where the pin passes under the ﬁnger. where its pin hits the upper ﬁnger of the arm. A ratchet-pawl partition shows the design ﬂaw (ﬁgure 7. The intended path for the motion is the vertical from p to the release line.6f).6e). The designer raises the contact curve with two draggers (ﬁgure 7. where the pawl tip reaches the edge of a .6a). The designer achieves the intended function by parameter synthesis. The cam rotates the arm from r to s.7b). The cam rotates to its initial angle owing to inertia (ﬁgure 7. it hits the cam arm before it can release the pawl. The cam rotates from q to r. The intended motion path is from p. where it releases the pawl. The initial conﬁguration is p and the dashed line marks the angle at which the arm releases the pawl. The second design change ﬁxes a ratchet-pawl design ﬂaw: when the pawl spring is too weak.6 Dennis clutch mechanism: (a–f) conﬁgurations a–f.116 7 Synthesis Figure 7. The cam rotates to p to end the work cycle. Partition of the cam-arm conﬁguration space shows the design ﬂaw (ﬁgure 7.

In the revised partition (ﬁgure 7.3 Parameter Optimization 117 Figure 7. Figure 7.8b). to r. The goal is to ensure that every design instance has a correct kinematic function.8c).8 Ratchet-pawl: (a) faulty partition. The input is a parametric model and a tolerance space. . The algorithm searches the tolerance space for incorrect instances and then revises the nominal parameter values to exclude them. An instance is deemed correct when its conﬁguration space partitions match the nominal ones. The actual path is governed by the pawl’s spring and the parts’ inertias. where it engages. (c) correct partition.2. If the spring is too weak. 7. ratchet slot. as deﬁned in section 7. (c) correct partition.9). The designer lowers the right contact curve with a dragger (ﬁgure 7.2.7. the pawl tip hits the slot’s side and engages independently of the spring’s strength. the pawl tip can pass the ratchet slot and hit the top of the next tooth at s. (b) synthesis. (b) synthesis.3 Parameter Optimization The second synthesis algorithm is parameter optimization (ﬁgure 7. and its motion path is within a speciﬁed distance from the nominal one. to q. where it hits the slot side.7 Cam-arm: (a) faulty partition.

The parameters are p ¼ ða. We illustrate maximal variation with a circle-box pair (ﬁgure 7.10). The instance ð3:25. We could also loosen tolerances to reduce cost.118 7 Synthesis Figure 7. The circle’s radius is 1 and the box length is 8.10b) is ð3:25. 2:25Þ is maximal for both contacts and is incorrect. Both instances are correct in that the circle can pass through the channel (ﬁgure 7. Incorrect function is most likely to arise in such instances. Variation in a contact represents a maximal variation in its kinematic function. A maximal instance for the circle-left channel contact (ﬁgure 7. bÞ with nominal values p ¼ ð2:75. and (d) both channel sides. 2:75Þ. maximal instances for (b) left. (c) right. We could tighten tolerances to exclude incorrect instances that cannot be excluded by changing the nominal parameter values.10c) is ð2:75. 2:75Þ. A maximal instance for the circle-right channel contact (ﬁgure 7. Figure 7. Variation in two contacts represents a maximal interaction between them. Tighter intervals are an inferior solution because they often increase manufacturing cost.9 Algorithm for parameter optimization. 3:25Þ.10d). which is a separate research topic. Maximal Instances We examine the instances that maximize the variation of one or more contacts. .10 Circle-box pair: (a) nominal. Optimization of tolerance requires a design quality metric. The algorithm does not optimize tolerances.

3.7.3 Parameter Optimization 119 Figure 7. and revision of two instances using one (c) and two (d) parameters. The two partial instances in our example are compatible and their merge. In our example. Revision The tolerance space is revised to exclude the incorrect maximal instances. The second step forms the instances that maximize the variation in multiple contacts. We merge all compatible sets of partial instances. equals ai when bi is free. f Þ and ðf . the partial instances are ð3:25. The other design parameters are called free. The maximal instances are computed in two steps. They can be merged into a new partial instance whose ith element is free when ai and bi are free. is the joint maximum. Each boundary point is determined by the values of the parameters in its contact equation.11a shows incorrect instances c and d with closest instances a and b. The ﬁrst step collects the parameter values that maximize the variation in the individual contacts. Each incorrect instance is surrounded by a region of similar instances because its contact curves are continuous in the parameters. ð3:25.11 Parameter revision: (a) closest correct instances. We obtain the maximal instances by assigning the free parameters of the merges their nominal values. 3:25Þ for the left and right channels. hence it maximizes the variation in both contacts. Instead. These are the values that generate the contact zone boundary points in step 3 of section 6. bi is free. (b) revision of one instance. These values deﬁne a partial design instance. with f denoting a free parameter. the incorrect regions are shaded. . The merge assigns each partial instance its maximal parameter values. but computing it is impractical. or ai ¼ bi . Partial instances a and b are compatible when for every i either ai is free. 3:25Þ. and equals bi otherwise. which we ﬁnd by a bisection search. Figure 7. We would like to exclude the entire region. we exclude the closest incorrect instance on the line segment from the nominal design to the incorrect instance.

address these issues [29. Robust synthesis couples nominal parameter and tolerance synthesis so that nominal and tolerance changes are evaluated together [76]. Revisions v and w can be combined when vi and wi never have opposite signs. Kinematic synthesis has also been studied in the broader context of mechanism design. Most research has focused on linkages and other permanent contact mechanisms [25.120 7 Synthesis We would like to compute a minimal revision of the nominal design that excludes the closest incorrect instances from the tolerance space. Figure 7. 34. . see Erdman [21]. 64]. The nominal design is modiﬁed to reduce its sensitivity to variations of parts.11b). Parameter synthesis as an optimization problem has gained much acceptance as an approach for optimal design [61] and has been applied to optimization of cam mechanisms [4]. 27. Tolerances are then allocated to guarantee correct function and minimize cost. a more recent survey is presented in McCarthy and Joskowicz [58]. The constant-time partitionmatching algorithm appears in Kyung and Sacks [45]. among others. wi Þ otherwise. Specialized techniques for synthesis of cam and gear mechanisms are described in Gonzales-Palacios and Angeles [26] and Litvin [51].4 Notes Kinematic synthesis has been the subject of intense study for the past four decades. Incrementing the nominal parameter values by v ¼ dn excludes a from the tolerance space. The face that minimizes d yields the optimal revision (the dashed box). 57]. so we employ a heuristic. The ith element of the combination is maxðvi . a. Formal theories of mechanism design. KINSYN. Our work addresses parameter synthesis [45] and robust synthesis [46]. 43]. wi Þ when vi . but they have not been implemented because of the complexity of manipulating three-dimensional conﬁguration space. including conceptual and conﬁguration design. 7. This task is computationally intractable. The minimal revision for a single instance. 49. Let d be the perpendicular distance from a to a tolerance space face with inward normal n. The conﬁguration space paradigm has been used for the synthesis of higher-pair mechanisms [12. and the ADAMS/View packages. We exclude multiple instances by combining their minimal revisions. Software for synthesis of kinematic linkage includes Erdman’s LINCAGES-2000. The algorithms in this chapter extend in principle to general planar pairs. For a survey of earlier work.11c–d show combinations that revise one and two parameters. wi b 0 and is minðvi . SyMech. is computed as follows (ﬁgure 7.

The ﬁgure shows details of the top and middle driver slices and followers. When the driver shaft is rotated counterclockwise. Each slice consists of a driving pin and a locking arc.1). Section 8. Rotating the driver clockwise resets the ﬁlters to the initial state.1. the ﬁlters are off the lens. The driver consists of three slices that rotate together on a common shaft.1.2. The initial design scenario is discussed in section 7. The design concept is a Geneva mechanism with one driver and one follower per ﬁlter.8 Case Studies This chapter presents four case studies of actual mechanisms taken from industry. and three ﬁlters mounted on identical followers (ﬁgure 8. The second and third slices are rotated by 90 and 180 relative to the ﬁrst slice. 8.1 Optical Filter Mechanism The optical ﬁlter mechanism [76] is from Israel Aircraft Industries and was introduced in section 7. Each driver pin engages its follower slot and rotates the follower until the ﬁlter covers the lens. Section 8. the three followers are engaged in sequence. The mechanism must be robust and compact because it will be mounted on a vehicle. Section 8. describes the tolerance analysis of a selector mechanism for an automotive gearshift. They illustrate the use of the conﬁguration space method in the analysis and design of mechanisms.4 describes the redesign of a spatial asynchronous reverse gear pair from an automotive transmission. a driver. The followers are stacked on a shaft and rotate independently. The mechanism consists of a lens.3 describes the redesign of a torsional ratcheting MEMS device. The design task is to devise a mechanism to engage and reset the followers in the intended manner.1 describes the kinematic synthesis of an optical ﬁlter mechanism. Each driver slice drives the corresponding follower. The lens is attached to a ﬁxed frame (not shown). In the initial state. The parametric model has 25 . Section 8.

We assign nominal parameter values that produce correct function using the synthesis algorithm from section 7. Figure 8. the pin and locking arc radii.1 (a) Optical ﬁlter mechanism and (b–c) details of two driver-follower pairs. The width of the contact zone varies with the sensitivity of the nominal contact conﬁguration to the tolerance parameters. Figure 8.122 8 Case Studies Figure 8. including the centers of rotation. functional parameters.2 (a) Driver-follower conﬁguration space partition with details of (b) original and (c) tightened contact zones. We assign tolerances to the parameters and assess their effects.2. and the slot dimensions. The upper and lower zones of the diagonal channel intersect.2 shows a detail of the driverfollower contact zone in the area where the driver unlocks the follower and the pin enters the follower slot. which suggests that the tolerance space contains design instances that block. .

3 Gearshift mechanism. piston. we could tighten the tolerance intervals until the zones become disjoint. and P (not shown). For each gear setting. 3. we tolerance the two vertical line segments that are in contact with the cam .2 Manual Transmission Gearshift The gearshift selector mechanism [74] is from an an automotive automatic transmission from Ford Werke. the algorithm ﬁnds parameter values with no failures. the piston body opens and closes the appropriate conducts in the valve body. The cam has seven slots that represent the seven gear settings: 1. N. a translating piston. a rotating spring-loaded pin. so cam rotation causes piston translation. Variations in the pin. and a ﬁxed valve body. we tolerance the segments that form the slots and the pin that engages the piston. For the cam. The cam pin ﬁts in a slot in the left end of the piston. as shown in ﬁgure 8. Figure 8. We remove the blocking with the parameter optimization algorithm from section 7. We construct a tolerance model by adding variation parameters to the functional features of the parts. For the piston. D.8. 2. The pin then locks the cam. The ﬁrst iteration ﬁnds 146 blocking instances out of 700 candidates.3. If parameter optimization were to fail. Germany. 8.2c. which locks the piston.3 shows the four main parts: a rotating cam. The design task is to ensure correct function with manufacturing variation. R. The automobile driver selects a setting by rotating the cam with the gearshift (not shown) to place the spring-loaded pin in the appropriate slot.2 Manual Transmission Gearshift 123 Figure 8. and cam shapes and conﬁgurations affect the piston’s displacement and thus the valve opening. After 19 iterations.

5 for the pin. and 99 overall. The cam-piston free space is a narrow diagonal channel whose top and bottom boundaries represent contacts between the cam pin and the left and right vertical line segments of the piston slot. 8 for the piston.4a and 8. the piston offset along its axis of motion. has a worst-case variation of 0.4b and 8. .124 8 Case Studies Figure 8. The cam-piston contact space consists of six ‘‘valleys’’ where the pin is in the cam slots. We assign every parameter an independent tolerance of G0:1 mm. Figures 8. and the pin orientation. pin. yC .5a show the conﬁguration space partitions of the campiston and cam-pin pairs. there was no need to tolerance the orientation of its translation axis. The channel width quantiﬁes the functional play. The degrees of freedom are the cam orientation. xB . The model has 86 tolerance parameters for the cam. yC . separated by ‘‘hills’’ where it switches slots. xB . has a worst-case variation of 0:75 –1:03 . Figures 8. Line segments are toleranced by varying the coordinates of the two endpoints. The kinematic relation is nearly linear. we tolerance the circle. circle segments are toleranced by varying the radius and the center coordinates. The piston position.41 mm–0. yA .5b show details of the pair contact zones. For the pin.4 Cam-piston (a) conﬁguration space partition and (b) detail of contact zone.45 mm and the pin orientation. To account for variability in the position of the rotation axes. we also tolerance the centers of rotation of the cam and the pin. Since we chose the piston as the reference part of the assembly. We use tolerance analysis to determine the variation of the piston displacement for each cam setting.

3 Torsional Ratcheting Actuator 125 Figure 8.8. we examine the sensitivity to the individual tolerance parameters at the nominal gear 3 setting yA ¼ 21 . The ﬁrst iteration ﬁnds 331 design instances that allow excessive variation out of 715 candidates. The main factors in the cam-piston variation are the cam center’s horizontal position (25%) and vertical position (25%). a ratchet. The gear and the antireverse are mounted on the substrate with pin joints and the ratchet is attached to the driver with a pin joint.4. and the x coordinates of the piston vertical segments (10%).3 Torsional Ratcheting Actuator The torsional ratcheting actuator [70] is a MEMS device designed and fabricated at Sandia National Laboratories Albuquerque. The design task is to remove intermittent blocking failures. The driver is rotated 2:5 counterclockwise by an electrostatic . As described in section 6. yC ¼ 0 .6a). tooth base x position (25%). The cam-pin variation is evenly distributed among the parameters of the touching features and the parts’ centers of rotation. We use parameter optimization to make the piston close the correct valves despite variation in its locked positions. 8. After 150 iterations.5 Cam-pin (a) conﬁguration space partition and (b) detail of contact zone. xB ¼ 33 mm. The driver is attached to the substrate by springs that allow planar rotation but prevent translation. a ring gear. The mechanism consists of a driver. The worst-case variation of xB is 0. New Mexico. and an antireverse (ﬁgure 8. the algorithm ﬁnds parameter values with no failures.9 mm—roughly half from each pair.

7). The antireverse prevents the gear from rotating clockwise.6 Torsional ratcheting actuator: (a) image courtesy of Sandia National Laboratories. The contact zone shows that both contact curves have the correct slope for every design instance. (b) detail of the CAD model. which ﬁxes the ratchet’s center of rotation. We analyze the mechanism using the conﬁguration space method (ﬁgure 8.126 8 Case Studies Figure 8. The near-vertical . This contact prevents the gear from rotating clockwise since every direction in which yG decreases lies in blocked space. the springs restore the driver to its start orientation. comb drive. When the voltage drops. The steep contact curve to the left of this curve is due to the short side of a gear tooth and the side of the antireverse. The slanted contact curve that contains the displayed conﬁguration is due to the long side of a gear tooth and the top of the antireverse. The gear-antireverse partition shows that the pair functions correctly. Figure 8. The gear-ratchet pair has a three-dimensional conﬁguration space because the ratchet rotates around a point on the driver and the driver rotates around a point on the frame. we ﬁx the driver orientation at 0o .7e shows the conﬁguration space partition. The contacts are invariant when the driver and the ratchet are rotated by the same angle. so we analyze the gearratchet pair in a two-dimensional space whose coordinates are the gear orientation and the angle between the driver and the ratchet. The ratchet engages the inner teeth of the gear and rotates it counterclockwise. This contact causes the antireverse to follow the gear proﬁle when the gear is driven. Equivalently. which disengages the ratchet. Its outer teeth drive an external load.

8. (d–f) details of gear-ratchet pair. The contact zone (ﬁgure 8. contact curve to the left of the displayed conﬁguration is due to the short side of a gear tooth and the ratchet tip. . partition. The failure is intermittent because friction and inertia normally prevent jumps.7 Initial design: (a–c) details of gear-antireverse pair. escape the ratchet. This contact causes the gear to rotate with the driver. and contact zone. the gear tooth and ratchet slopes are larger. and jump to the next tooth. which implies that the gear can rotate clockwise. The contact curve to the right is due to the long side of the gear tooth and the ratchet back.7f) reveals a design ﬂaw that causes intermittent failures: the near-vertical contact curve can have a positive slope in some design instances. and contact zone. which makes the slope of the contact curve negative in every design instance. partition. This contact allows the ratchet to rotate clockwise and disengage the gear. In the revised design (ﬁgure 8.3 Torsional Ratcheting Actuator 127 Figure 8. We ﬁx the design ﬂaw with the parameter synthesis algorithm.8).

128 8 Case Studies Figure 8.52 mm. The tooth has involute sides. the idler and the reverse gear.62 mm and 27.9). Figure 8.4 Spatial Asynchronous Gear Pair The spatial asynchronous reverse gear pair [75] is from an automotive transmission from Getrag-Ford Transmissions. mounted on parallel axes (ﬁgure 8. The pair consists of two modiﬁed spur gears. the idler teeth have the same geometry with different dimensions. The spherical patches meet along a circular arc. A and B. and meet the involutes A and B along curves f and g. Germany.9a). Their pitch diameters are 65. that form a guiding chamfer. The reverse gear rotates around its axis and the idler rotates around and translates along its axis. The design task is to remove occasional gear blocking. The tooth top is not functional.9b shows the geometry of the reverse gear tooth. e. 8. The idler translation and the chamfer contact cause the the gears to rotate into alignment and to mesh. topped by spherical patches. Figure 8. (b) draggers. C and D.9b shows the contact point’s path on the reverse gear tooth. then slide along . The initial prototype usually functions correctly. (c) after.8 Gear-ratchet redesign: (a) before tooth and conﬁguration space partition (detail). The idler has 31 teeth and the reverse gear has 13 teeth. When the automobile driver shifts into reverse. The chamfer arcs e touch (point 1). the idler translates toward the reverse gear until a pair of chamfers make contact (the conﬁguration shown in ﬁgure 8.

9 (a) Asynchronous gear pair and (b) geometry of reverse gear tooth.8. .4 Spatial Asynchronous Gear Pair 129 Figure 8.

Initially. each other until the D patches touch (point 2). The idler translates (z decreases) until contact and then the gears rotate together. Figure 8. and the reverse gear rotation c. The designers observed occasional blocking in which the idler stops translating before the gears mesh. with contact curves and planar partitions replaced by contact surfaces and spatial partitions. Hence. The chamfer arcs e touch (point 4) then slide along each other until the C patches touch (point 5). The driving motion is idler translation in the negative z direction. owing to a contact between the C patches of an adjacent pair of teeth (point 6). The degrees of freedom are the idler rotation y and translation z. the free space is three-dimensional and the contact space is two-dimensional.10b shows an engaging path and a blocking path in the c ¼ 0 cross-section. The D patch contact ends when the involutes B mesh (point 3). The motion ends prematurely. owing to an interfering contact. The idler engages if the path reaches z ¼ 0 mm and blocks if the path ends in the valley. A path blocks .10 (a) Faculty conﬁguration space partition. and (b) cross-section at c ¼ 0 .10). The contact space consists of two ‘‘hills’’ separated by a sloping ‘‘valley’’ (ﬁgure 8. the idler is away from the reverse gear and the gear orientations y and c can take any value.130 8 Case Studies Figure 8. Figure 8. We have not discussed the construction of three-dimensional partitions for spatial parts.9b also shows the path of the blocking contact point. We use the conﬁguration space method to ﬁnd the initial conﬁgurations that lead to blocking and modify the design to eliminate blocking. The algorithm is analogous to the one for ﬁxed-axis pairs.

. We eliminate blocking by removing every second idler guiding chamfer.11 (a) Correct partition of conﬁguration space (b) with cross-section. but it has not been implemented for spatial parts. A manual search of the design space reveals a design instance with 0. One peak has disappeared. We eliminate blocking in two steps. Measuring the contact space valley shows that 4% of paths block. The parameter synthesis algorithm might ﬁnd a better design and would certainly be faster.11 shows the partition of the modiﬁed design with the original dimensions of the parts. but the valley remains. Figure 8. which is a conceptual redesign.5% blocking. The contact space peaks move closer together.4 Spatial Asynchronous Gear Pair 131 Figure 8. so there is no valley and thus no blocking.8. based on its initial y and c values.

.

For analysis.and three-dimensional conﬁguration space partitions to model the contacts in kinematic pairs. and comprehensive than Monte Carlo . It covers nominal kinematics and kinematic variation that is due to manufacturing variation. we developed efﬁcient algorithms to supports the core design tasks of analysis. to study them in depth. We developed computational geometry algorithms for the construction of two.4). The algorithms construct kinematic models from parametric descriptions of the parts’ shapes and degrees of freedom. contact changes. The main contribution of our work is support for higher-pair design. Within the conﬁguration space paradigm. compact geometric representation of the motion and interaction of parts. closed-form algebraic contact models for the most common planar feature contacts and outlined a general numerical contact model. including planar and spatial mechanisms with lower and higher pairs. Based on the representation of conﬁguration space. and synthesis. we have developed an efﬁcient computational approach to the kinematics of contacts between parts. and topology changes. Conﬁguration space is a complete. and to develop efﬁcient algorithms that support their design and analysis. we developed algorithms for parametric worst-case tolerance analysis that are more accurate. We systematically derived explicit.9 Conclusion We have presented the conﬁguration space paradigm for the kinematic design of mechanisms. tolerancing. efﬁcient. Our research strategy is to identify important mechanism classes. It provides a principled approach to modeling the kinematics of mechanisms uniformly and systematically. This paradigm supports robust and optimal kinematic design of mechanisms by automating key tasks in the design cycle (ﬁgure 1. we developed algorithms for kinematic and dynamical simulation of mechanisms with changes in contact. For tolerancing.

1). Other forms of local analysis should be considered. converting CAD shape models to our format. the extensions include three-dimensional contact zones for general planar pairs and local contact zones for mechanisms. We presented case studies of how they have helped designers detect and correct unexpected behaviors and design ﬂaws in automotive. Construction of a conﬁguration space partition is implemented for ﬁxedaxis pairs [42. Construction of a mechanism partition is impractical for all but the simplest multipair mechanisms. Another development direction is to integrate our kinematics software with multiphysics analysis. The coverage of mechanisms can be extended by adding planar and spatial shape features of parts by developing contact models for the new features and by handling pairs with more degrees of freedom. such as helicoids.134 9 Conclusion simulation. torii. Statistical . Research Directions We conclude with development and research directions. General spatial pairs have six-dimensional partitions. Reduction of dimensions. such as splines and involutes. and development of a graphical user interface. the extension is to surface patches. The main technical issues are software integration. we developed an interactive parameter synthesis algorithm and a parameter optimization algorithm. which will extend the conﬁguration space method to nonrigid parts. The most important development goal is to integrate the conﬁguration space method into a commercial CAD package (ﬁgure 1. For synthesis. For planar parts. The mechanism partition can be sampled by kinematic simulation. which are impractical to construct. As a small ﬁrst step. Closed-form solutions for the contact equations will most likely rarely be available. For spatial parts. and Bezier patches. is a possible alternative. for example by slicing or projection. as should reduction of dimensions. the prototype source code in appendix B provides a textual input format and a simple user interface. For tolerancing. Fast. The main research directions are to increase the coverage of mechanism types and to improve the support for design tasks. The algorithms are most useful for mechanisms with higher pairs and changes in the contact of parts. so numerical solutions will be required. This will allow designers to create and analyze mechanism models seamlessly within the conﬁguration space paradigm. 71]. robust construction of three-dimensional partitions is under development. the extension is to curve segments. and optical mechanisms. MEMS.

we compute a distribution for each contact zone region. Support for conﬁguration design and for incomplete. The goal is to develop a comprehensive taxonomy of this function. The kinematic descriptions should characterize the qualitative and quantitative working of mechanisms concisely and abstractly. The kinematic function is linearized around the nominal parameter values. In pair analysis.Research Directions 135 tolerancing can also be incorporated by considering the joint distribution of the tolerance parameters. and determining if a mechanism can be assembled. Kinematic synthesis is an open and fertile research area. We can visualize the partitions of the kinematic pairs in a mechanism. we have found that tolerance envelopes of the shapes of parts [60] are useful in quantifying functional errors. identifying unexpected collisions of parts. One approach is to summarize the function in terms of operating modes and mode transitions. A promising avenue is to match kinematic function to conﬁguration space partition regions and develop a symbolic and algebraic language to describe kinematic function [48]. The outputs are the distributions of the kinematic variation in the contact zones and along the motion’s path. . The main challenges are to detect qualitative patterns in three-dimensional pair partitions and to visualize mechanism partitions. but it is difﬁcult to determine the global topology from the projections. Simpliﬁcation and abstraction of kinematic function [37] is required to compare and classify mechanisms [38]. The natural approach is to ﬁnd subspaces that reveal the relevant interactions of parts and to visualize them in a perspicuous way. Statistical tolerance analysis lays the groundwork for allocating tolerances based on cost functions. Finally. whereas in mechanism analysis we compute a distribution along a nominal motion path. a taxonomy of kinematic function could be developed and would provide a functional index for a database of mechanisms. Interactive modiﬁcation using draggers can be extended to three-dimensional conﬁguration spaces. The systematic exploration and characterization of kinematic function is an important research topic. Based on this classiﬁcation. Intelligent projection techniques are needed to resolve this issue. The task is to compute the distribution of a kinematic function from the joint distribution of the tolerance parameters. abstract speciﬁcations would also be valuable. Visualization and interactive manipulation of conﬁguration space partitions is another important area of research. Other interaction paradigms can also be contemplated. The linearization speciﬁes the kinematic variation as a linear combination of given distributions. which are projections of the mechanism partition.

Contact patches generalize to narrow zones surrounding the nominal patch surfaces. In mechanical engineering. In robotics. This technique also helps probe the topology of the conﬁguration space partition without constructing it. and biomedical engineering. and robotic manipulation [54]. In computer graphics. .136 9 Conclusion Speciﬁc design tasks pose their own visualization problems. analysis and planning of grasp and compliant motion. Simulation raises the need to visualize the motions of parts that generate paths in conﬁguration space. 83] and part feeder design. One option is to animate the parts while tracing the corresponding conﬁgurations in the (full or projected) conﬁguration spaces. contact analysis occurs in assembly [86] and [82] ﬁxture design [10. In biomedicine. contact analysis supports kinematic analysis of musculoskeletal action and joint and implant modeling [35]. robotics. computer graphics. contact analysis occurs in path planning [69]. Tolerance analysis raises the need to visualize parametric families of partitions that represent the functional effects of manufacturing variations. and in control and interaction in virtual environments. The conﬁguration space paradigm presented in this book may facilitate other contact analysis tasks that arise in mechanical engineering. contact analysis occurs in physics-based modeling and simulation.

The right ﬁgure shows the conﬁguration space partition. we point out failure modes and establish the relation to other examples. the horizontal and vertical axes are the driver and follower conﬁgurations. 33 are planar ﬁxed-axis. The simulation starts from the dot and lasts for one driver period. A double thick-headed arrow indicates back-and-forth motion. and motion arrows. and kinematic function. 180 . conﬁguration parameters. 3 are general planar. The left ﬁgure shows the parts’ shapes. For ﬁxed-axis pairs. their typical conﬁgurations. The catalog consists of 24 higher pairs and 6 mechanisms containing 16 higher pairs. . The rotation angle is always measured in the standard counterclockwise direction. A kinematic simulation appears as a thick line. All the planar ﬁxed-axis pairs and three of the mechanisms are available as HIPAIR ﬁles. Unless otherwise speciﬁed. We begin each catalog entry with a description of the mechanism’s structure and kinematic function. and 4 are spatial ﬁxed-axis. It illustrates the relation between a part’s shape. The intended rotation of the part and translation directions are indicated with thick-headed arrows. We then describe the conﬁguration space partitions and explain their relation to the kinematic function. Of the 40 higher pairs. even when the arrow points clockwise. all angles are in ½À180 . In some cases. even when the arrow points left. The translation is always measured along the standard right-hand coordinate axis. We use the following conventions for the ﬁgures. its conﬁguration space partition. The part’s conﬁguration in the left ﬁgure is shown as a thick black dot.Appendix A: Catalog of Mechanisms This chapter contains a catalog of representative mechanisms and their conﬁguration space partitions.

138 Appendix A: Catalog of Mechanisms Contents 1 Offset three-arc cam pair 139 2 Centered three-arc cam pair 140 3 Six-arc cam pair 141 4 Unidirectional three-ﬁnger cam pair 142 5 Bidirectional three-ﬁnger cam pair 143 6 Geneva pair 144 7 Inverse Geneva pair 145 8 Intermittent cam pair 146 9 Interlock pair 147 10 Star indexer pair 148 11 Disk indexer pair 149 12 Lever indexer pair 150 13 Interlock drive pair 151 14 Ratchet pair 152 15 Escapement pair 153 16 Double-rack gears pair 154 17 Sector gears pair 155 18 Dwell gears pair 156 19 Double-sector gears pair 157 20 Reciprocating indexer pair 158 21 Spatial indexer pair 159 22 Spatial Geneva pair 160 23 Spatial orthogonal gear pair 161 24 Spatial bevel gears mechanism 162 25 Counter mechanism 163 26 Pawl indexer mechanism 164 27 Intermittent gear mechanism 166 28 Lever indexer mechanism 167 29 Movie ﬁlm advance mechanism 168 30 Camera shutter mechanism 169 .

A full rotation of the cam drives the follower up and down with two dwell periods in between.1 Offset Three-Arc Cam Pair 139 1 Offset Three-Arc Cam Pair The pair consists of a rotating cam with orientation yC that drives a vertically translating follower with position yF . The follower consists of a rectangular frame whose inner parallel horizontal line segments touch the cam. The pair is bidirectional. The contact point between the arc segment opposite the contact point and the follower lies on a circle of constant radius. The slanted left and right channel segments correspond to the driving periods. The conﬁguration space partition consists of a single narrow channel whose nearly constant vertical height is the follower’s backlash (play). . The dwell periods are at conﬁgurations where the common endpoint at the center of rotation touches the frame’s upper and lower horizontal line segments. The upper and lower horizontal channel segments correspond to the dwell period. The cam contour consists of three arc segments whose endpoints lie on a circle. Its boundaries are sinusoidal curves. The center of rotation coincides with the common endpoint of two incident arcs.

one cam arc segment touches one horizontal follower line segment. Its center coincides with the cam’s center of rotation. Although the pair is structurally similar to pair 1 (the offset three-arc cam pair). A full rotation of the cam drives the follower up and down three times at evenly spaced intervals. The short horizontal segments represent the dwell periods when the cam rotates inside the follower without pushing it. The conﬁguration space partition consists of a single narrow channel whose vertical width is the follower’s backlash. The next arc segment makes contact with the opposite vertex of the cam at the end of the dwell period. The follower consists of a rectangular frame whose inner horizontal line segments touch the cam. In each interval. The pair is bidirectional. whose boundaries are sinusoidal curves. . The vertical channel width is the follower’s backlash. the change in the cam rotation center yields a different kinematic function. The distance between the upper and lower contact points is constant. so the cam ﬁts tightly inside the follower without interference. The cam contour consists of three arc segments whose endpoints lie on a circle. The slanted left and right channel segments correspond to the driving periods. The cam arc segment breaks contact with one side of the follower at the start of each dwell period. The rising and falling segments represent the periods when the cam pushes the follower right and left. The transitions occur at the cam’s endpoints.140 Appendix A: Catalog of Mechanisms 2 Centered Three-Arc Cam Pair The pair consists of a rotating cam with orientation yC that drives a vertically translating follower with position yF .

A full rotation of the cam drives the follower left and right three times at evenly spaced intervals. . The slanted left and right channel segments correspond to the driving periods.3 Six-Arc Cam Pair 141 3 Six-Arc Cam Pair The pair consists of a rotating cam with orientation yC that drives a horizontally translating follower with position xF . the cam ﬁts tightly between the two pins without interference. The follower consists of two circular pins mounted on a rectangular frame. Pair 2 has a similar function. The pair is bidirectional. The cam’s contour consists of three convex circular arc lobes connected by three concave tangent circular arcs. The rising and falling segments of the kinematic simulation represent the periods when the cam pushes the follower right and left. but this pair has less backlash and no dwell. whose boundaries are sinusoidal curves. Since the distance between the left and right contacts is constant. The conﬁguration space partition consists of a single narrow channel whose nearly uniform vertical width is the follower’s backlash. The cam lobes alternately push the left and right pins.

Its clockwise kinematic function is similar to that of pairs 2 and 3.142 Appendix A: Catalog of Mechanisms 4 Unidirectional Three-Finger Cam Pair The pair consists of a rotating three-ﬁnger cam with orientation yC that drives a horizontally translating follower with position xF . It consists of an outer arc circle. The slanted channel boundary segments correspond to driving periods. The cam ﬁnger tips are half-circles. The conﬁguration space partition consists of a single channel with shifted. and a middle horizontal segment. mirror-symmetric upper and lower boundaries. The next ﬁnger makes contact with the other side of the cam at the end of the dwell period. with short dwell periods in between. The pair is thus unidirectional. A cam ﬁnger breaks contact with one side of the follower at the start of each dwell period. . The inner follower boundary is mirror symmetric. The kinematic function follows the thick line from right to left. The vertical channel boundary segments correspond to blocking conﬁgurations in which the cam cannot rotate. Counterclockwise rotation of the cam causes it to block when one of its ﬁnger line segments hits a horizontal segment of the follower. an upper horizontal segment. A full clockwise rotation of the cam drives the follower left and right three times. The horizontal segments represent the dwell periods when the cam does not touch the follower. a vertical segment. The cam ﬁnger tips alternately push the upper vertical segment of the follower right and the lower vertical segment left. The rising and falling segments are sinusoidal curves that represent the periods when the cam pushes the follower right and left.

A full counterclockwise rotation of the cam drives the follower in the same way. It consists of an outer arc circle. A full clockwise rotation of the cam drives the follower left and right three times with short dwell periods in between. The horizontal segments of the kinematic function line represent the dwell periods when the cam does not touch the follower. The cam ﬁngers alternately push the upper vertical segment of the follower right and the lower vertical segment left. The conﬁguration space partition is similar to those of pairs 2 and 3. an upper horizontal segment. a vertical segment. The next ﬁnger makes contact with the other side of the cam at the end of the dwell period.5 Bidirectional Three-Finger Cam Pair 143 5 Bidirectional Three-Finger Cam Pair The pair consists of a rotating three-ﬁnger cam with orientation yC that drives a horizontally translating follower with position xF . mirror-symmetric upper and lower boundaries. The inner follower boundary is mirror symmetric. The cam ﬁnger tips are half-circles. The slanted channel segments correspond to driving periods. . but the cam ﬁngers now push the lower slanted segment right and the upper ones left. The conﬁguration space partition consists of a single narrow channel with shifted. The pair is bidirectional. The rising and falling boundary segments are sinusoidal curves that represent the periods when the cam pushes the follower right and left (or left and right). A cam ﬁnger breaks contact with one side of the follower at the start of each dwell period. The free space channels are narrower than those of pair 4. and a middle slanted segment.

the pin engages the Geneva wheel slots and rotates it nonuniformly in the opposite direction. intermittent rotation of the wheel with four dwell periods and four drive periods. whose boundaries are sinusoidal curves. . As the driver rotates. The conﬁguration space partition consists of a single narrow channel whose nearly uniform vertical width is the wheel’s backlash. The pair is bidirectional. The slanted channel segments correspond to the driving periods. The locking arc segments of the driver engage those of the wheel during the dwell periods. The Geneva wheel consists of a cylindrical basis with four slots on which four locking arc segments are symmetrically mounted. A full rotation of the driver causes a nonuniform. thereby preventing the wheel from rotating. The driver consists of a driving pin and a concentric locking arc segment mounted on a disk (not shown).144 Appendix A: Catalog of Mechanisms 6 Geneva Pair The pair consists of a rotating driver with orientation yD and a rotating Geneva wheel with orientation yW .

The driver consists of a driving pin and a concentric locking arc segment. the pin engages the inverse Geneva wheel slots and rotates the wheel in the same direction. . As the driver rotates. thereby preventing the wheel from rotating. intermittent rotation of the wheel. The conﬁguration space partition consists of a single narrow channel whose nearly uniform vertical width is the wheel’s backlash. whose boundaries are sinusoidal curves. the channels are slanted in the opposite direction and the driving periods are longer. The slanted channel segments correspond to the driving periods. Compared with the pair 6 partition.7 Inverse Geneva Pair 145 7 Inverse Geneva Pair The pair consists of a rotating driver with orientation yD and a rotating inverse Geneva wheel with orientation yW . The Geneva wheel consists of a cylindrical base with three slots on which three locking arc segments are symmetrically mounted. The pair is bidirectional. with three dwell periods and three drive periods. The locking arc segments of the driver engage those of the wheel during the idle periods. A full rotation of the driver causes a nearly uniform.

The driver consists of a rectangular pin mounted on a base. The follower consists of two square pins symmetrically mounted on a disk. and a slanted segment where the driver rotates the follower for nearly half a turn.146 Appendix A: Catalog of Mechanisms 8 Intermittent Cam Pair The pair consists of a rotating driver with orientation yD and a rotating follower with orientation yF . The follower is idle during the second half of the cam rotation. The kinematic simulation has a horizontal segment in free space where the driver rotates and the follower is idle. The rectangular pin of the cam then engages the second square pin of the follower for another half turn. The strip boundaries correspond to the contact of the driver pin with one of the square follower pins. As the cam rotates. The pins then slide out of engagement because of the eccentricity of the axes of rotation. The pair is bidirectional. its rectangular pin pushes the follower square pin for half a turn. . The conﬁguration space partition consists of two slanted elongated strips that nearly span a full turn. The centers of rotation for both parts are offset.

The follower star consists of six arc segments whose centers coincide with the center of rotation of the lock. the follower turns one-sixth of a turn for each rotation of the driver lock. At the end of the channel. then rotating it. The pair is bidirectional. The driver lock locks the follower star at six orientations. . When the follower star is spring loaded one way and the driver rotates the other way. The orientation of the follower star can be changed by ﬁrst turning the lock so that the line segment faces it vertically.9 Interlock Pair 147 9 Interlock Pair The pair consists of a rotating driver lock with orientation yD and a rotating star-shaped follower with orientation yF . The driver lock consists of an arc segment centered at the center of rotation and of a line segment. the follower star turns until it enters the next horizontal channel. The narrow horizontal channels between slabs correspond to conﬁgurations in which the driver rotates and the follower is locked. The conﬁguration space partition consists of six identical slabs that span 360 .

148 Appendix A: Catalog of Mechanisms 10 Star Indexer Pair The pair consists of a rotating driver with orientation yD and a rotating starlike indexer with orientation yI . The pair is unidirectional. which is largest at transitions between drive and dwell periods. The conﬁguration space partition. The slanted channels correspond to the driving periods. is nearly identical to that of pair 11. it would not engage the driver slot and thus would not advance. The channel width is the backlash between the driver and the indexer. The indexer is spring loaded counterclockwise. so the indexer does not advance. The conﬁguration space partition consists of ten horizontal and ten slanted narrow channels. . The horizontal channels correspond to the dwell periods of the indexer. the driver slot passes the indexer pin before it can engage. The driver consists of a disk with a recess that allows the cusps of the indexer arc segment to pass underneath. If the spring is too weak. The indexer consists of ten arc segments whose centers coincide with the center of rotation of the driver. and thus the kinematic function. If the indexer were not spring loaded counterclockwise. A full counterclockwise rotation of the driver advances the indexer clockwise by one-tenth of a turn and locks it for the rest of the rotation.

the driver slot passes the indexer pin before it can engage. and thus the kinematic function. is nearly identical to that of pair 10. Continuous counterclockwise rotation of the driver causes intermittent clockwise rotation of the indexer. the indexer spring rotates the next indexer pin into the driver slot and the next drive period begins. . The slanted channels correspond to the driving periods. the driver slot engages one indexer pin and advances the indexer one-tenth of a turn. so the indexer does not advance. the outer arc of the driver engages two adjacent indexer pins and prevents rotation of the indexer. The conﬁguration space partition. When a dwell period ends. The indexer has ten circular pins evenly spaced on a disk and is spring loaded clockwise. The channel width is the play between the driver and the indexer. its conﬁguration would stay constant as the driver rotates. In dwell periods. The horizontal channels correspond to the dwell periods of the indexer. If the indexer were not spring loaded. If the spring is too weak. The conﬁguration space partition consists of ten horizontal and ten slanted narrow channels.11 Disk Indexer Pair 149 11 Disk Indexer Pair The pair consists of a rotating driver with orientation yD and a rotating indexer with orientation yI . which is largest at transitions between drive and dwell periods. In drive periods. The driver is a disk with a slot cutout that engages the indexer pins.

The indexer has eight trapezoidal pins evenly spaced on a circular base. the locking arc engages two adjacent indexer pins and prevents the rotation of the indexer. In dwell periods. The conﬁguration space partition consists of eight horizontal narrow channels and eight free space regions in between.150 Appendix A: Catalog of Mechanisms 12 Lever Indexer Pair The pair consists of a rotating driver with orientation yD and a rotating indexer with orientation yI . the driver pin engages one indexer pin and advances the indexer one-eighth of a turn. followed by a long horizontal segment. Unlike pairs 10 and 11. The free space regions have a narrow channel. The driver consists of a driving ﬁnger and a locking arc mounted on a disk (not shown). Continuous counterclockwise rotation of the driver causes intermittent clockwise rotation of the indexer. The pair is unidirectional. The conﬁguration space partitions are similar. spring loading the indexer is unnecessary. followed by a short slanted segment. The channels’ width is the play between the driver and the indexer. In drive periods. The kinematic simulation consists of a slanted segment where the driver pushes the indexer. The horizontal channels correspond to the dwell periods of the indexer. .

The top and bottom channels represent contacts with the leftmost and rightmost tooth. Then its locking arc engages the concave top of the tooth and locks the rack. The horizontal channels correspond to the dwell periods of the indexer. The channels’ width corresponds to the play between the driver and the indexer. The conﬁguration space partition consists of four horizontal and four slanted channels. The pair is bidirectional.13 Interlock Drive Pair 151 13 Interlock Drive Pair The pair consists of a rotating driver with orientation yD and a horizontally translating rack with position xR . The driver is a disk with a single tooth and two cutouts to allow the follower teeth to pass. Pair 7 has a similar partition. Continuously rotating the driver makes the rack translate with dwell periods. its tooth engages a rack tooth and pushes it. . The rack has ﬁve teeth. The tooth top is a concave arc segment whose radius is the same as that of the driver disk. At each driver rotation.

The pawl blocks clockwise rotation of the ratchet after at most one-sixteenth of a rotation. The notch slanting prevents simultaneous clockwise rotation of the ratchet and counterclockwise rotation of the pawl. as shown in the ﬁgure. following the proﬁle of the teeth. The lower boundary realizes the kinematic function. The pawl is a quadrangle whose slanted tip matches the shape of the ratchet teeth. It has one notch for each tooth of the ratchet. The upper boundary corresponds to conﬁgurations where the pawl side is in contact with the ratchet teeth to the right of the ratchet. The conﬁguration space partition consists of an upper and lower boundary. . The lower boundary corresponds to conﬁgurations where the pawl is above the ratchet. The ratchet consists of 16 triangular teeth.152 Appendix A: Catalog of Mechanisms 14 Ratchet Pair The pair consists of a rotating ratchet with orientation yR and a rotating pawl with orientation yP . Rotating the ratchet counterclockwise causes the pawl to rise and then fall under its own weight. Being unidirectional is the primary kinematic function.

The upper and lower boundaries correspond to contacts of the right and left anchor pallets with the teeth. The anchor consists of left and right triangular pallets that alternately engage the wheel teeth. The interleaved boundaries prevent the wheel from rotating freely. The wheel advances one tooth each oscillation. The timing is such that the wheel advances one tooth every second. the pallets alternately engage teeth on the left and right sides of the wheel. The wheel rotates counterclockwise.15 Escapement Pair 153 15 Escapement Pair The pair consists of a rotating wheel with orientation yW and a rotating anchor with orientation yA . the nearly horizontal segments on the boundary show that the anchor oscillates back and forth while the wheel follows it. The wheel consists of 30 slanted triangular teeth. The nearly vertical segments in free space show that the wheel rotates quickly in between. The ﬁgure shows a detail of the conﬁguration space partition. As the anchor oscillates. . Attached to the anchor is a pendulum (not shown) that oscillates with a constant period. It rotates at a constant velocity that is determined by the period of the anchor. In the kinematic simulation curve. owing to a torque acting on its hub.

The slanted segments correspond to the right and left motions of the follower. The follower has geared racks at the top and the bottom of its inner perimeter. The maximum displacement of the follower is equal to the perimeter of the sector gear. The sector gear alternately engages the upper and lower racks. The conﬁguration space partition consists of a narrow channel with three nearly linear segments: two right slanted and one left slanted. The channel width is the play between the driver and the indexer.154 Appendix A: Catalog of Mechanisms 16 Double-Rack Gears Pair The pair consists of a rotating sector gear with orientation yG and a horizontally translating follower with position xF . Continuous rotation of the sector gear causes the follower to move left and right without dwell. The pair is bidirectional. The upper and lower racks are offset with respect to each other. . The sector gear has teeth that span less than half of its circumference. pushing the follower left and right.

their rotations are independent. The channel width is the play between the two gears.17 Sector Gears Pair 155 17 Sector Gears Pair The pair consists of a rotating sector gear with orientation yA and a rotating full gear with orientation yB . The slanted channels correspond to the driving periods at each of the 16 possible relative orientations in which the gears are engaged. The horizontal segment of the kinematic simulation represents the dwell period when the sector gear turns and the full gear is at rest. with slight backlash and chatter. When the gears are engaged and one gear rotates in either direction. while the full gear has 16. The conﬁguration space partition consists of 16 slanted narrow channels and a free space region (right). Continuous rotation of the sector gear causes the full gear to alternately rotate half a turn and dwell. Two pairs of teeth are engaged at all times. . The slanted line segment represents the gears rotating in opposite directions. The gears have equal radii. The transmission ratio is almost linear. Continuous rotation of the full gear causes the half gear to rotate in the opposite direction by at most half a turn. When the gears are disengaged. the other gear rotates in the opposite direction by the same angle. The sector gear has 8 teeth. The pair is bidirectional.

The follower is a star-shaped disk mounted on a gear wheel. The channel width is the play between the driver and the follower gears. . The horizontal channels correspond to the dwell periods of the indexer. thereby locking it in a dwell position. When the sector disengages. As the driver rotates counterclockwise. The pair is bidirectional.156 Appendix A: Catalog of Mechanisms 18 Dwell Gears Pair The pair consists of a rotating driver sector gear with orientation yD and a rotating follower gear with orientation yF . The driver is a concentric arc segment mounted on a gear sector with ten trapezoidal teeth. The conﬁguration space partition is similar to those of pairs 9–12. It has ten outer locking arc segments and ten teeth. the concentric arc segment engages one of the ten concave arcs of the star-shaped disk. The slanted channels correspond to the driving periods. A full rotation of the driver advances the follower by one-tenth of a rotation. which is largest at transitions between drive and dwell periods. the driver sector gear engages and turns the gear wheel clockwise. The conﬁguration space partition consists of ten horizontal and ten slanted narrow channels. The pair is a combination of pairs 9 and 17.

The conﬁguration space partition consists of two types of slanted narrow channels and two free space regions. Part A has a large gear sector with 10 teeth on top and a small gear sector with 17 teeth below. The pair has a structure similar to pair 17. Each part consists of concentric large and small sector gears. The transmission is almost linear. Rotating A causes B to rotate once in the opposite direction. The corresponding small and larger gear sectors on top and bottom alternatively engage. The conﬁguration space partition is the overlay of two shifted versions of the pair 17 partition. Part B has a small gear sector with 10 teeth on top and a large gear sector with 18 teeth below. The slanted channels correspond to the driving periods at each relative orientation in which the gears engage. with slight play and chatter. The different inclinations of the channels correspond the gear ratios of 2:1 and 2:3. The channel width corresponds to the play between the two gears. The gear ratio is 2:3 when the lower gears segments mesh and is 2:1 when the upper gears segments mesh. The pair is bidirectional.19 Double-Sector Gears Pair 157 19 Double-Sector Gears Pair The pair consists of two rotating parts with orientations yA and yB . .

As the drive moves left and right. The follower consists of an inner ring with 64 triangular teeth whose shape is complementary to that of the driver teeth. it rotate the follower clockwise by one tooth per cycle. . The ﬁgure shows a detail of the conﬁguration space partition. The pair is unidirectional. The narrow passage between the two regions is the transition between the left and right contacts. The driver teeth alternately engage the left and right follower slots. The boundaries of the left and right triangular-shape free regions correspond to the driver tooth contact with the follower teeth. The driver has two triangular teeth slanted in opposite directions.158 Appendix A: Catalog of Mechanisms 20 Reciprocating Indexer Pair The pair consists of a reciprocating driver with position yD and a rotating follower with orientation yF .

The follower is a gear with 21 rectangular teeth. The horizontal channels correspond to the dwell periods of the follower. the full partition consists of 21 horizontal and slanted channels. The crossover rotates the follower. The ﬁgure shows a detail of the conﬁguration space partition. then the guides lock it for the remainder of the driver’s rotation. The driver consists of two cylindrical guides connected by a slanted crossover. The pair is bidirectional. A full rotation of the driver advances the follower by one tooth. The channel width is the play between the driver and the follower. The slanted channels correspond to the driving periods. .21 Spatial Indexer Pair 159 21 Spatial Indexer Pair The pair consists of a rotating driver with orientation yD and a rotating follower with orientation yF . The rotation axes of the parts are perpendicular.

. The pair is bidirectional. A full rotation of the driver causes a nonuniform. intermittent rotation of the wheel with four dwell periods and four drive periods. The cam cylinder engages a follower cutout during the idle periods. The follower is a hollow hemisphere with four evenly spaced slots and circular cutouts. The cam is a plate with a cylindrical pin and a half cylinder mounted on it. the pin engages the follower slots and rotates it nonuniformly in the opposite direction. As the cam rotates. The conﬁguration space partition is nearly identical (with a 90 shift) to that of the planar Geneva pair 6. The slanted channel segments correspond to the driving periods. The conﬁguration space partition consists of single narrow channel whose nearly uniform vertical width is the wheel’s backlash. The locking arc segments of the driver engage those of the wheel during the idle periods.160 Appendix A: Catalog of Mechanisms 22 Spatial Geneva Pair The pair consists of a rotating cam with orientation yA and a rotating follower with orientation yB . the pin engages the Geneva wheel slots and rotates it nonuniformly in the opposite direction. As the driver rotates. thereby preventing the wheel from rotating. The follower’s inner boundary consists of a spherical patch with four slots and four cutouts. preventing its rotation. whose boundaries are sinusoidal curves.

The channel boundaries are nearly linear. The rough edges reﬂect chatter and slight variations in the motion’s transmission ratio. When one gear rotates in either direction. .23 Spatial Orthogonal Gear Pair 161 23 Spatial Orthogonal Gear Pair The pair consists of identical toothed gears rotating around orthogonal axes with orientations yA and yB . The conﬁguration space consists of a single narrow channel that wraps around the vertical and horizontal axes. the other gear rotates in the opposite direction by the same angle. Two pairs of teeth are engaged at all times. Each gear consists of ﬁve cylindrical teeth mounted on a cylindrical base at evenly spaced orientations. The channel width shows the amount of gear backlash. The conﬁguration space partition is similar to that of the engaged (left) portion of the pair 17 partition. The pair is bidirectional. The transmission ratio is almost linear.

The transmission ratio is almost linear. A rotation of the driver gear alternately engages the right and left gears and turns them by half a turn. with slight play and chatter. They are identical with yD shifted by half a turn.162 Appendix A: Catalog of Mechanisms 24 Spatial Bevel Gears Mechanism The mechanism consists of three rotating bevel gears: an 8-tooth driver gear with orientation yD and two 15-tooth follower gears with orientations yA and yB around a common rotation axis. the other can rotate freely. The two driver-follower conﬁguration space partitions consist of 15 slanted narrow channels and a free space region. The driver gear is bidirectional. When the driver gear engages one follower gear. The slanted channels correspond to the driving periods at each of the 15 possible relative orientations in which the gears .

The conﬁguration space partitions are identical to that of pair 17. and a ﬁxed anchor. The channel width is the play between the two gears. a rotating gear with orientation yG . A torsional spring (not shown) rotates the pawl counterclockwise. 25 Counter Mechanism The mechanism consists of a rotating pinion with orientation yD . The gear consists of 72 trapezoidal teeth. The pawl consists of a ﬁnger and a notch on its left side.25 Counter Mechanism 163 engage. . The anchor is a square that prevents the counterclockwise rotation of the pawl. The free space corresponds to independent gear rotations. The pinion consists of a disk and a single tooth. a rotating pawl with orientation yP .

which in turn rotates the pawl clockwise. a rotating indexer with orientation yI . and of a slanted segment where the pinion rotates the gear clockwise by one-seventy-second turn. rotates the indexer counterclockwise by one-tenth of a turn. Both partitions consist of slanted elongated strips forming narrow channels. Reverse rotation is prevented by the pawl blocking against the anchor. and a rotating pawl with orientation yP . Forward rotation is limited to one tooth per cycle. The left tip engages the driver notch and the right tip engages the indexer pins. The indexer consists of a disk with ten evenly spaced circular pins. As the driver rotates clockwise. When . The ﬁgure shows details of the conﬁguration space partitions of the two pairs. The pawl consists of left and right tips. The kinematic simulation consists of horizontal segments in free space where the pinion rotates and the gear is idle. 26 Pawl Indexer Mechanism The mechanism consists of a rotating driver with orientation yD .164 Appendix A: Catalog of Mechanisms The pinion rotates clockwise and advances the gear by one tooth per rotation. The driver consists of a disk with a notch and a ﬁnger. its ﬁnger engages an indexer pin. and disengages.

which is horizontal. which allows the bottom indexer pin to rotate the right pawl arm out of the way (b).26 Pawl Indexer Mechanism 165 the driver is disengaged (a). Thus. When yI increases or decreases. indexer rotation in either direction causes clockwise rotation of the pawl. whereas the slanted curves permit it. and by the notch-left arm contact curves. its rim aligns with the left pawl arm. and the right pawl arm prevents indexer rotation by engaging two pins. The rest of free space consists of the regions to the left and right of the channels where the driver is disengaged. which prevents clockwise rotation. its notch aligns with the left pawl arm. The mechanism is unidirectional. which form a v-shape. which corresponds to clockwise pawl rotation. The horizontal curve blocks downward vertical motion. the left pawl arm returns to its rim and the right arm re-locks the indexer (c). The driver-indexer free space consists of ten diagonal channels where the ﬁnger engages the ten pins. . When it disengages. which form ten inverted v-shapes. The indexer-pawl free space is bounded from above by the pin-right arm contact curves. The negative slope indicates that the parts rotate in opposite directions. When the driver engages the indexer. yP decreases along one side of the v-shape. The driverpawl free space is bounded from below by the rim-left arm contact curve.

166 Appendix A: Catalog of Mechanisms 27 Intermittent Gear Mechanism The mechanism consists of a constant-breadth cam. The bottom row of ﬁgures shows details of the cross-sections of the gearfollower conﬁguration space partitions at the gear angles of the top ﬁg- . The cam and the gear are mounted on a ﬁxed frame and rotate around their centers. The follower is free and has thus three degrees of freedom. the follower rotates independently while the gear dwells. the follower rotates the gear 45 . Rotating the cam causes the follower to rotate in step while reciprocating along its length. the right pawl disengages at yC ¼ 82 (b). and a gear with inner square teeth. a square follower with two pawls. The mechanism has two general planar pairs: cam-follower and gear-follower. The right follower pawl engages a gear tooth at cam angle yC ¼ 0 (a). then the left pawl engages the gear at yC ¼ 90 and the cycle repeats (c).

In the middle region. 28 Lever Indexer Mechanism The mechanism consists of a rotating driver with orientation yD . free space once again consists of three regions and the middle region contains the snapshot conﬁguration in which the left pawl engages a gear tooth. a rotating pawl with orientation yP . a rotating indexer with orientation yI . the right follower pawl engages a gear tooth. The follower conﬁguration is ð0. respectively.28 Lever Indexer Mechanism 167 ures. The indexer is a gear with 24 trapezoidal teeth. In (c). a free lever with degrees of freedom ðxL . the pawl engages the tooth below and above. which shows that the follower can now cross over the two gear teeth. yL Þ. free space consists of three regions. In (b). 0Þ and the gear degrees of freedom are ðxG . In (a). 0. The pawl has a triangular tip shaped . and a frame. yL . the three regions have merged into a single region. yG Þ. The driver is an offcenter cylinder that acts as a cam. which contains the snapshot conﬁguration. In the region above and below. a rotating pin with orientation yN .

The pin is a rectangular block. and the length of the lever. As the driver turns clockwise. 29 Movie Film Advance Mechanism . the driver’s offset. The pawl prevents clockwise rotation of the indexer.168 Appendix A: Catalog of Mechanisms to follow the indexer teeth. The lever has a rounded triangular tip shaped to engage the indexer teeth. The right-hand ﬁgure is a detail of the cross-section of the indexer-lever partition. The indexer-pawl partition detail shows that the vertical boundary segment is what prevents clockwise rotation of the indexer. and a rectangular slot that ﬁts over the pin. a cylindrical hole that ﬁts over the cam. the lever tip traces a closed trajectory whose form is determined by the relative position of the driver and pin rotation axes. The mechanism is unidirectional. The mechanism advances the indexer wheel by one tooth (15 ) for every turn of the driver. The pair 14 partition is similar. This causes the indexer to rotate counterclockwise by 15 .

The coordinates of the ﬁlm-follower conﬁguration space partition are ðxB . and is spring loaded counterclockwise. which trips the curtain. As the driver rotates counterclockwise.2d). a rotating pawl with orientation yP . Figures A. a rotating ﬁlm counter (not shown) with orientation yC . and retracts. the user presses the release button.c. Loading ends when the driver engages the shutter in the lock. The shutter lock is spring loaded clockwise. which releases the shutter. The driver is a constant-breadth cam. yA Þ. and a vertically translating ﬁlm strip with position yS . The other cross-sections are similar. The ﬁlm is orthogonal to the ﬁgure’s plane. a rotating shutter with orientation yS .2b.d. yF . which advances the ﬁlm. Figure A.e and A. The driver consists of a cam. and a horizontally translating ﬁlm with position xF .2b). the user turns the wheel. The follower consists of a horizontal slot.2a. which rotates the driver. yF Þ. The mechanism alternately loads and exposes the ﬁlm frames. the follower tip engages the ﬁlm. The mechanism is bidirectional. and a counter wheel mounted on a shaft. The free space is a narrow spiral channel.30 Camera Shutter Mechanism 169 The mechanism consists of a rotating driver with orientation yD . a slotted wheel.f shows details of conﬁguration space partitions for three driver pairs. pushes it down one frame. yA . It consists of a rotating driver with orientation yD . a ﬁlm wheel. yB Þ.c. The follower is attached to the frame by a pin joint. The conﬁguration space partition for the driver-shutter lock shows how the shutter lock tip prevents the driver wheel from rotating when it is inside its slot (ﬁgure A. The boundary of the driver-shutter tip conﬁguration space partition shows how the driver cam raises and lowers the shutter tip (ﬁgure A. with rotated engagement curves.3a. 30 Camera Shutter Mechanism Figure A. which rotates away from the lens and exposes the ﬁlm. The shutter consists of a tip and a pin.e show details of six pairs. The shutter spring rotates the shutter. a follower with degrees of freedom ðxF . a rotating advance wheel with orientation yW . In the loading mode. Its cross-section consists of notches. yB . The conﬁguration space partition for the . The ﬁgure shows a yB ¼ 0 cross-section detail. a square in which the driver cam ﬁts. The coordinates of the driver-follower conﬁguration space partition are ðxA . a rotating shutter lock with orientation yL . which rotates the lock. In the exposure mode. and a ﬁnger that engages the ﬁlm notches.1a–b shows the shutter mechanism of a 35-mm ﬁlm camera.

.1 Camera shutter mechanism: (a) 3D view.170 Appendix A: Catalog of Mechanisms Figure A. (b) 2D view.

.2 Pairs and details of their conﬁguration space partitions: (a–b) driver-shutter tip. (c–d) driver-shutter lock. (e–f) driver-ﬁlm.30 Camera Shutter Mechanism 171 Figure A.

. (e–f) advance wheel-pawl.172 Appendix A: Catalog of Mechanisms Figure A.3 Pairs and details of their conﬁguration space partitions: (a–b) driver-ﬁlm counter. (c–d) shutter lock-shutter pin.

. The conﬁguration space partition for the driver counter-ﬁlm counter consists of narrow channels at each tooth orientation.2d) shows how the shutter lock locks and releases the shutter pin.2f) is similar to the conﬁguration space partition for pair 14. The conﬁguration space partition for the advance wheel-pawl (ﬁgure A.f shows details of conﬁguration space partitions for three driver pairs.30 Camera Shutter Mechanism 173 driver-ﬁlm is a single narrow channel that shows the nearly linear relation between the driver’s rotation and the ﬁlm advance with almost no play. Note that the driver counter locks the ﬁlm counter when not advancing it (ﬁgure A.3b. The notch in the conﬁguration space partition for the shutter lockshutter pin (ﬁgure A. Figure A.3b).d.

.

We describe installation.exe is a windows executable. and manipulation of the conﬁguration space. and the ex subdirectory. The windows can be resized. the graphical user interface (GUI). visualization.Appendix B: HIPAIR Software In this appendix.tar % make % hipair ex/3finger If the argument is omitted.1). and the input format. B. which are the same for both operating systems. It is free for education and research. bug reports. The archive hipair. we describe the HIPAIR mechanism design program built around computation.tar contains the source ﬁles. The parts window shows the parts in the current conﬁguration. % tar -xvf hipair. The ﬁle hipair. The program runs under Linux and Windows. In Windows.cpp and with glut installed.edu/archives/2008/eps/. create a project with the source ﬁle sufﬁx changed to . Each cspace window shows its conﬁguration space with the animation path in red.2 Graphical User Interface The program opens a parts windows and one cspace (conﬁguration space) window per pair (ﬁgure B. the . Send comments. The program is written in Ansi Cþþ using openGL and glut. Here is how to install and run the Linux version.1 Installation The website is http://www.purdue. which contains input ﬁles for most of the mechanisms in appendix A. and request for commercial licenses to Elisha Sacks (eps@cs. B. HIPAIR prompts for it and reads it from standard input.cs.edu).purdue.

Show/hide contact zones (z). Previous animation step (p). Set animation speed (s). or can animate the mechanism. Press. Exit (q). Save window in postscript (o). The program is controlled by the mouse. n n n n n n n n n n Start/stop animation (a). The animation speed is speciﬁed as a multiple of one-thirtieth of a second. Click the middle button in a cspace window to set its two conﬁguration parameters to the mouse’s position.1 Parts window (a) and cspace window (b) for ex/3ﬁnger. The menu entries can also be invoked by typing the letters in parentheses. The animation starts at the current step and ends at the last step or when interrupted. The program normally displays the current animation step. The next animation request resets the conﬁguration to the current animation step. . Restore initial viewing box (r). Click the right button to bring up this menu. The user can specify an arbitrary conﬁguration with the mouse. The user can increase or decrease the step. Draw parts in wireframe/ﬁlled (f). Next animation step (n). drag. and release the left button to zoom to a rectangle. Set contact zone width (w). current conﬁguration as a green dot. The user can set the contact zone width and can toggle the contact zone display.176 Appendix B: HIPAIR Software Figure B. and the contact zone in green when requested.

The second part is a circle of radius 1 whose origin is the circle’s center.3 Mechanisms A mechanism consists of planar parts that form higher kinematic pairs. Figure B. . Its boundary consists of four line segments. A boundary is a simple loop of line and circle segments. It has one degree of freedom: rotation around its origin. B. The part translates horizontally with initial position ð3.1 Parts A part is speciﬁed in a parts coordinate system. computes the part’s motions for given driving motions.3 Mechanisms 177 Figure B.B. but slices may overlap. a cylinder of 10 mm height is speciﬁed as a circle in the xy plane that is extruded over 0 a z a 10. A part has an initial position and orientation in world xy coordinates.3. The ﬁrst part is a unit square. This section explains these concepts. or translation along a line that passes through its initial position. The part rotates with initial position ð1. HIPAIR computes conﬁguration spaces for the pairs. A region has an outer boundary and may also have inner boundaries. 1Þ and orientation 0. Each part consists of a single slice with z range ½0. and computes contact zones that bound the kinematic variation for the given part tolerances. The region boundaries of a slice must be disjoint. For example. 1Þ and orientation 0. Its origin is the bottom left corner. which is ﬁxed at its initial position. 1.2a shows a simple mechanism composed of two parts. B.2 Square-circle pair (a) and its conﬁguration space partition (b). The part consists of regions in the xy plane that are extruded over intervals on the z axis.

the driving motion is clockwise rotation of the square by one full turn.2 Conﬁguration Spaces of Fixed-Axis Pairs Interactions between pairs of parts are modeled as conﬁguration spaces. .3 shows the square-circle contact zone for offsets of 0.4 Contact Zones of Fixed-Axis Pairs Variation in the shapes of parts is modeled as a zone around the nominal boundaries of the part where the actual boundaries are allowed to lie. their contact spaces vary in a zone around the nominal space. It forms a narrow band around the nominal con- Figure B. The conﬁguration space is a torus when both parts rotate and is a rectangle when both translate.178 Appendix B: HIPAIR Software B. The circle translates clear of the square.3 Kinematic Simulation Kinematic simulation takes the driving motion of a part as input and computes motions for the other parts that prevent overlap. Figure B. then stands still. The conﬁguration space is a two-dimensional manifold whose coordinates are the parts’ degrees of freedom. As the boundaries of the parts in a kinematic pair range over their zones. In our example. 3Þ. It is a cylinder whose coordinates are the square orientation y and the rectangle offset x. The motion’s path is the thick black curve in ﬁgure B.2b shows the conﬁguration space of the square-circle pair. B.3.3.3 Square-circle contact zone.2b. The large dot marks the displayed conﬁguration of ð0. blocked space where they overlap (the gray region). Conﬁguration space partitions into free space where the parts do not touch (the white region in the ﬁgure). called the contact zone of the pair.3.1 on both parts. B. The contact zone topology and geometry model the kinematic variation that is due to the parts’ variation. HIPAIR supports constant-width offsets. and contact space where they touch (the black curves). Figure B.

0 or 1 for a line or circle. parameters.4. B. and display data. Parameters 5–6 are the lower and upper bounds of the part’s motion parameter. The ﬁrst line speciﬁes the number of parts and pairs.2 Parts A part is speciﬁed by a name. Parameters 2–4 are the initial position and orientation of the part. A pair is speciﬁed by two part indices and the accuracy of the conﬁguration space computation. The motion parameter and its bounds are measured along this axis. The parts are assigned indices starting from zero. A boundary is speciﬁed by the number of segment groups followed by the groups.B. and 4 for translation along a slanted axis.4 Input Format 179 tact space. The parameters are seven doubles. The name is a character string. simulation data. MECHANISM PART SLICE BOUNDARY SGROUP SEGMENT LINE_SEGMENT ARC_SEGMENT PAIR ¼ ¼ ¼ ¼ ¼ ¼ 1 nparts npairs 0 0 PART Ã PAIR Ã name nslices color parameters SLICEþ nboundaries zlower zupper BOUNDARYþ ngroups SGROUPþ nsegments SEGMENT þ noffsets offset Ã LINE_SEGMENT or ARC_SEGMENT ¼ index 0 tx ty hx hy ﬂag ¼ index 1 tx ty hx hy ﬂag cx cy r s e ¼ index1 index2 accuracy B. ty Þ.4 Input Format The input is a mechanism. The color is three integers in the range ½0.1 Mechanisms The mechanism format is speciﬁed by the following BNF formulas. A group is a sequence of incident segments and a sequence of offsets. parameter 7 is the slope of the translation axis. A slice is speciﬁed by the number of boundaries. Parameter 1 is the motion type: 1 for translation along the x axis. which shows that variation in the parts merely perturbs the nominal kinematic function. the outer boundary. 2 for translation along the y axis. then come the parts. B. A segment is speciﬁed by a dummy index. a tail ðtx . the lower and upper z values. number of slices.4. 3 for rotation. color. then the pairs. For motion type 4. a head . 255 followed by a dummy integer. and slices. and the inner boundaries.

start angle s. 1:0Þ. A circle segment also has a center ðcx . and red green blue (RGB) color ð255. RGB color ð0. initial orientation 0:0 radians. Lines 3–11 describe the ﬁrst part. 0Þ. 0Þ. motion type 1 .’’ one slice. Lines 13–20 specify the circle: name ‘‘circle. The segments in the group are repeated noffset times and the ith copy is offset by the ith element of the offset sequence. initial position ð1:0.4 illustrates the ﬁle format with the square-circle mechanism from ﬁgure B. Lines 7–10: four line segments. explained next. Line 5: the slice has one boundary and has z extent ½0:0. 1:0.’’ one slice. Line 3: name ‘‘square. The ﬁrst line indicates two parts and one pair. and end angle e. hy Þ.2. Line 11: trivial shift sequence. ðhx . and rotation range ½Àp. The offset is along the part’s motion axis: the segments of a rotating part are rotated and the segments of a translating part are translated.180 Appendix B: HIPAIR Software Figure B. radius r. 0. Figure B. Line 4: motion type 3 (rotation). Offsets are optional since any boundary can be speciﬁed as one group with noffset 1 and offset 0. p radians. 255. and a ﬂag that is 1 when the part’s interior lies to the left when the segment is traversed from tail to head. Line 6: the boundary consists of one sgroup with four segments. cy Þ.4 Square-circle ﬁle format.

Figure B. The last line speciﬁes the one pair: part index 0 (the square). a driving pin. two circle segments. the slice has one boundary with two segments. 0. A part’s motion descriptor is a part index followed by a velocity.6 shows the follower speciﬁcations. p. (x translation). and a central pin. 1: a locking arc. Figure B. The inner boundary is one circle. and conﬁguration space accuracy 0. p=2.3 Simulation and Display Data The simulation data are speciﬁed by the following BNF formulas. The wheel has one slice.001. MOTIONS MOT_DESCR PART_MOT_DESCR CONFIG ¼ ¼ ¼ ¼ nm MOT_DESCR Ã CONFIG mtime nm_parts PART_MOT_DESCR Ã pindex velocity one double per part The number of motions is followed by one descriptor per motion. The driver has three slices with z interval ½0. A motion descriptor is the motion’s time. B. The three slices are connected by a plate (not shown) with z interval ½À1. 3p=2 radians. The conﬁguration space is a torus because both parts rotate. The offsets. initial position ð1:0. 5. initial orientation 0:0. 4:0Þ.4. the number of moving parts. translation range ½À5.5 shows a Geneva mechanism. 0.B.5 Geneva pair (a) and its conﬁguration space (b).4 Input Format 181 Figure B. part index 1 (the circle). generate four rotated copies of the six segments. then the descriptors of the part’s motion. The motion begins with the part’s motion . and the shift sequence. The outer boundary consists of a six-segment sgroup with four offsets.

0 seconds has the following ﬁle descriptor.0 1 1 3. parameters speciﬁed in CONFIGURATION.0 1 0 -1. then translating the circle with x velocity 3.0 seconds.6 Follower ﬁle format. .0 5.0 0 3 The display data are two dummy values followed by a part bounding box.0 for 7. the motion sequence of rotating the square with angular velocity À1. It is 0 0 -5 5 -5 5 in our example. The starting conﬁguration is y ¼ 0 and x ¼ 3. 2 7.182 Appendix B: HIPAIR Software Figure B. In the square-circle example.0 for 5.

conﬁguration variable position and orientation variables. free space subspace of conﬁguration space where parts are disjoint. conﬁguration space. conﬁguration space. contact parts whose interiors are disjoint and whose boundaries overlap. conﬁguration space.Glossary axis a ﬁxed line in space. . topology conﬁguration space regions and their adjacency relations. conﬁguration space partition decomposition of a conﬁguration space into free. contact space subspace of conﬁguration space where parts are in contact. blocked. conceptual design the task of selecting a design concept that captures the desired kinematic function. region subspace of conﬁguration space. conﬁguration position and orientation of one coordinate frame with respect to another. conﬁguration space. and contact spaces. blocked space subspace of conﬁguration space where parts overlap. conﬁguration space. boundary representation representation of a part’s shape describing the shape in terms of its features. conﬁguration space vector space that speciﬁes all possible conﬁgurations for a part or a mechanism. conﬁguration space. cross-section cross-section of a general planar pair conﬁgura- tion space in which the orientation of the moving part is ﬁxed.

edges. line-line. or faces in space. and line-vertex contacts. ﬁxed-axis motion rotation or translation along an axis that is ﬁxed in space. vertex-vertex. contact conﬁguration conﬁguration in which parts are in contact. cross-section two-dimensional slice of a part. mechanism whose parts move along axes that are ﬁxed in . kinematic analysis derivation of the kinematic function of a mechanism from speciﬁcation of the shapes of its parts and their motion constraints. design space hyperbox in a conﬁguration space that is the cross-product of one design interval per parameter. higher pair two parts not in permanent surface contact that move relative to each other. ﬁxed-axis pair kinematic pair composed of ﬁxed-axis parts. kinematic design process of designing a mechanism to achieve a desired kinematic function. general planar pair two parts whose relative motions are circumscribed to a plane. dynamical simulation computation of the motions of parts resulting from the input and external forces acting on the parts. contact curve zero set of contact equation in two variables. ﬁxed-axis part part with one degree of freedom (rotation or translation). kinematic function function describing the transformation of input motions into output motions by the contact of parts. contact equations equation in the conﬁguration variables of two parts whose zero set consists of contact conﬁgurations. Contact types between simple planar features include circle-circle. ﬁxed-axis mechanism space. degrees of freedom independent conﬁguration variables that are needed to specify the conﬁguration of a part or mechanism. circle-line.184 Glossary contact change transition from one pairwise feature contact to another. contact zone union of the contact spaces of the mechanisms in a tolerance space. HIPAIR open-source Cþþ software package that implements some of the kinematic design methods for mechanisms described in this book. feature element of a part’s boundary. contact type contact between two features of a part. circle-vertex. Simple features include points and line and arc segments in the plane and vertex.

parametric design search for values of parameters that achieve a design goal. nominal parameter values parameter values of the nominal model. kinematics branch of mechanics that studies the motions of parts independently of the forces acting on them. lower pair two parts in permanent surface contact that move relative to each other. kinematic simulation computation of compliant motions of parts resulting from an input driving motion. kinematic synthesis creation or modiﬁcation of parts’ shapes and motion constraints to achieve a desired kinematic function. mechanism design the process of creating or modfying a mechanism to achieve a desired function. linkage mechanism formed by lower pairs only. parameter real-valued variable. parametric tolerancing search for values of parameters that minimize design variation. The inverse of kinematic analysis.Glossary 185 kinematic pair two parts whose motions are constrained by contacts. kinematic tolerancing derivation and modiﬁcation of the kinematic variation of a mechanism that is due to the shape of its parts and variations in conﬁguration. . parametric synthesis synonym of parametric design. mechanism conﬁguration position and orientation of a mechanism’s parts. nominal model parametric model with parameter values that achieve the intended kinematic function in the absence of variation that is due to manufacturing. parametric model description of the shapes and conﬁguration of a mechanism’s parts in terms of their parameters. parametric optimization search for values of parameters that maximize a design quality metric. kinematic variation changes in the kinematic function of a mechanism that are due to variations in the shapes and conﬁguration of its parts. pair conﬁguration position and orientation of two parts. motion constraint motion ranges and relations induced by contact of parts. mechanism classiﬁcation classiﬁcation of mechanisms according to their structural and functional characteristics. mechanism assembly of moving and ﬁxed parts.

two translations). planar part part with a ﬁxed cross-section with respect to a plane. tolerance interval of allowable values for a parameter. subsumed contact contact prevented by other feature contacts. and edges between nodes represent contacts.186 Glossary part rigid solid with a ﬁxed shape. nominal value numerical value of a design parameter in the nominal design. topology graph graph representation of the contacts of parts in a mechanism. Each part is represented by a node. tolerance. . planar mechanism mechanism whose parts are planar. worst-case computation of the maximal variation from the nominal kinematic function over the tolerance space. tolerancing the task of assigning tolerances to the shapes and conﬁgurations of parts. tolerance analysis analysis of the variation in a design due to tolerances on the parameters of a parametric model. tolerance. tolerance space hyperbox in parameter space that is the cross-product of one tolerance interval per parameter. planar motion motions occuring in a plane (one rotation. part conﬁguration position and orientation of a part.

1998. Computational Kinematics. pages 170– 176. [11] Randy C. Moscow. Kluwer Academic Publishers. and Applications. 4(1):157–172. 1989. Brost. Boston. 1979. 9(1):92–112. 1994. Computing metric and topological properties of conﬁgurationspace obstacles.5. In H. Algorithmica.-S. Optimization of Cam Mechanisms. A computation method for the consequences of geometric errors in mechanisms. Kluwer Academic Publishers. Dordrecht. London.5M. A complete algorithm for synthesizing modular ﬁxtures for polygonal parts. IEEE Transactions on Robotics and Automation.-S. 12(1):31–46. Gunter Hommel. Kim. Geometric Product Speciﬁcation and Veriﬁcation: Integration of Functionality. pages 197–207. Generation of conﬁguration space obstacles: The case of moving algebraic surfaces. In Proc. 1994. Boston. Chapman and Hall. Bajaj and M. [7] Chandrajit L. [5] Ivan Artobolevsky. 1989. 1999. 1991. vols. International Journal of Robotics Research. Standards. editor. and Peter Kovacs. 2003. English translation. [9] Pierre Bourdet and Luc Matthieu. of the IEEE Conference on Robotics and Automation. Geometric Design Tolerancing: Theories. Bajaj and M. Dimensioning and Tolerancing Standard. New York. [2] American Society of Mechanical Engineers. Springer-Verlag. 1–4. New York. 1990. [10] Randy Brost and Kenneth Goldberg. Dordrecht. . MIR Publishers. IEEE Press. [6] Chandrajit L. 1996. ASME Y14. Generation of conﬁguration space obstacles: The case of moving algebraic curves. Mechanisms in Modern Engineering Design.References [1] American Society of Mechanical Engineers. Kim. [4] Jorge Angeles and Carlos Lopez-Cajun. ASME Y14. New York. Mathematical Deﬁnition of Dimensioning and Tolerancing Principles. London. [8] Eric Ballot and Pierre Bourdet. Elmaraghy. [3] Jorge Angeles.

NJ. chapter 7. editor. Pavese P. Wiley. 2000. Maki. 2nd ed. In H. Ciarlini. Kuhlmann. 1993. 2005. Artiﬁcial Intelligence. 1967. 3rd ed. 2000. Erdman. 56(2–3). The TTRS: 13 oriented constraints for dimensioning. vols. The design of shape interactions using motion constraints. 2004. Wiley-Interscience. ´ ´ ` [17] Andre Clement. 6(4):379–391. Kinzel. [14] Sao-Chyi Chen. M. A numerical method for the kinematic analysis of planar higher pairs in rolling contact. Advanced Mathematical Tools in Metrology III. Choset. R. 1992. [24] Boi Faltings. [26] Max Gonzales-Palacios and Jorge Angeles. 1990. G. Prentice Hall. 20(6):565–575. Englewood Cliffs. editors. Hutchinson. Richter. 44(1–2):89–120. [16] H. Mechanism Design: Analysis and Synthesis. 1993. Overmars. . McGraw-Hill. Schwarzkopf. Sandor. and Mechanical Controls. [19] A. Conference on Robotics and Automation. The creation of mechanisms according to kinematic structure and function. Basic tools for tolerance analysis of mechanical assemblies. Kluwer Academic Publishers. [13] Kenneth Chase. K. Cox and D. W. Mechanisms. Modern Kinematics: Developments in the Last Forty Years. tolerancing. [23] Boi Faltings. [22] Arthur G. New York. Boston. S. Artiﬁcial Intelligence. New York. Dordrecht. de Berg. Principles of Robot Motion: Theory. Manufacturing Engineering Handbook. Kavraki. Artiﬁcial Intelligence. and S. G. Berlin. and Implementations. M. pages 24–42. Caine. [18] M. [20] Bruce R. Springer-Verlag. MIT Press. M. Erdmann and George N. 1987. 31(3):295–353. 1997. 1997. M. Thrun. 1–2. Kantor. Alain Riviere. and O. and inspection. In Proc. Donald. editors. of the IEEE Int. Geng. 1985. and David J. Gary L. volume 45 of Series on Advances in Mathematics for Applied Sciences. Lynch. MA. A symbolic approach to qualitative kinematics. Dimarogonas. Freudenstein and E. D. Cambridge. Computational Geometry: Algorithms and Applications. Cam Synthesis. [21] Arthur G. London. Environment and Planning B. McGraw-Hill. Machine Design: A CAD Approach. pages 366–371. Burgard. and Catherine Valade. Mechanism and Machine Theory. E. World Scientiﬁc. [15] N. In F. 1979. Linkages. Algorithms. L. [25] F.188 References [12] Michael E. 1994. A search algorithm for motion planning with six degrees of freedom. Chironis. New York. van Kreveld. Qualitative kinematics in mechanisms.

Kinematic Synthesis of Linkages. 10(1):109–116. of the 11th Int. 35(3):279–291. Allyn and Bacon. New York. [29] S. Joint Conference on Artiﬁcial Intelligence. Research in Engineering Design. In Proc. A representation language for mechanical behavior. Jensen. International Journal of Robotics Research. Elisha Sacks. Kinematic analysis of spatial ﬁxedaxis higher pairs using conﬁguration spaces. 15(3):211–229. [41] Leo Joskowicz. New York. 1988. 1991.References 189 [27] R. 1989. [31] K. 1997. Computer-Aided Kinematics and Dynamics of Mechanical Systems. of the National Conference on Artiﬁcial Intelligence. . [38] Leo Joskowicz. 1964. Kinematic and Dynamic Simulation of Multibody Systems. 1989. and Leo Joskowicz. H. McGraw-Hill. Ingenious Mechanisms for Designers and Inventors. Oxford Engineering Science Series. Classical and Modern Mechanisms for Engineers and Inventors. Denavit. Artiﬁcial Intelligence. Taylor. 1989. Addanki. editors. Computational kinematics. Marcel Dekker. Industrial Press. Jones. 1996. P. From kinematics to shape: An approach to innovative design. Hartenberg and J. Springer-Verlag. [40] Leo Joskowicz and Elisha Sacks. 2002. [30] J. pages 1337–1342. [37] Leo Joskowicz. Reasoning about the kinematics of mechanical devices. Horton and F. 1993. Interference-free insertion of a solid body into a cavity: An algorithm and a medical application. [35] Leo Joskowicz and R. [32] Javier Garcia de Jalon and Eduardo Bayo. 1951. S. New York. 1(2):87–103. 29(2):147–157. H. pages 347– 352. A synthesis strategy for mechanical devices. Morgan Kauffman Publishers. 4(1):22–31. Rinderle. MA. 1991. Computer-Aided Design. and Vijay Srinivasan. Hoover and J. AAAI Press. International Journal of Artiﬁcial Intelligence in Engineering. 51(1–3):381–416. Clarendon Press. In Proc. Haug. [33] Preben W. [36] Leo Joskowicz. Artiﬁcial Intelligence in Engineering. Needham Heights. Kinematic tolerance analysis. [28] Edward J. vols. [42] Ku-Jim Kim. Kinematic Geometry of Mechanisms. New York. Hunt. Computer-Aided Design. Oxford. Simpliﬁcation and abstraction of kinematic behaviors. [34] Leo Joskowicz and S. 1978. Mechanism comparison and classiﬁcation for design. [39] Leo Joskowicz and Dorothy Neville. 1(3–4):149–167. 1990. Elisha Sacks. Research in Engineering Design. 1989. 1–4. 1996.

35(10):901–911. 31:621– 653. A. NJ. Engleword Cliffs. In Jean-Paul Laumond and Mark Overmars. Design representation and computational synthesis of mechanical motions. [54] Mathew T. Lin. [57] John M. pages 129–141. Kluwer Academic Publishers. A representation language for mechanical behavior. [44] Min-Ho Kyung and Elisha Sacks. Dinesh Manocha. C-32.190 References [43] Shridar Kota and Shean-Juinn Chiou. 2000. Litvin. Mechanics of Robotic Manipulation. 2001. ASME Press. Mason. 2006. McCarthy. MD. Cambridge. Peters. IEEE Press. MA. 35:567–575. and S. ´ ´ [52] Tomas Lozano-Perez. T. 1988. [48] Leo Joskowicz and Dorothy Neville. 2003. [45] Min-Ho Kyung and Elisha Sacks. MIT Press. [53] Martti Mantyla. Computer-Aided Design. 1991. MIT Press. 38(5):518–530. L. Springer-Verlag. [46] Min-Ho Kyung and Elisha Sacks. editors. Chan. Robot Motion Planning. 1987. [47] Jean-Claude Latombe. 10:109–116. Computer Science Press. Boston. Collision detection: Algorithms and applications. Robust parameter synthesis for planar higher pair mechanical systems. In Design theory and Methodology. Spatial planning: A conﬁguration space approach. Artiﬁcial Intelligence in Engineering. McCarthy. NJ. 2003. Nonlinear kinematic tolerance analysis of planar mechanical systems. [56] John M. A conﬁguration space approach to the automatic design of multiple-state mechanical devices. Li. Algorithms for Robotic Motion and Manipulation. Prentice Hall. In IEEE Transactions on Computers. [49] C. Parameter synthesis of higher kinematic pairs. Geometric Design of Linkages. Cambridge. MA. MA. MIT Press. Interdisciplinary Applied Mathematics Series. [51] Faydor L. W. Piscataway. [50] Ming C. McCarthy. 1994. College Park. Computer-Aided Design. Kinematics of Robot Manipulators. Introduction to Theoretical Kinematics. Boston. New York. Computer-Aided Design. MA. vol. 1997. An Introduction to Solid Modeling. K. pages 108–120. Computer-Aided Design. 1983. Jon Cohen. Cambridge. Tan. 1992. and Stefan Gottschalk. K. 1990. [55] John M. . 1999. Gear Geometry and Applied Theory. 1996.

[61] Panos Papalambros and Douglass Wilde. [63] Umberto Prisco and Giuseppe Giorleo. 1999. 2007. CRC Press. Formal Engineering Design Synthesis. In Proc. MA. Planar Multibody Dynamics.’’ PhD thesis. Principles of Optimal Design. Dhande. 1995. [71] Elisha Sacks and Leo Joskowicz. 6(4):269–274. Cambridge University Press. 2005. MA. Parametric kinematic tolerance analysis of planar mechanisms. Manufacturing Review. [65] Charles F. [70] Elisha Sacks and Steven M. K. Sandor. 13:619–629. 1963. Tolerance envelopes of planar mechanical parts with parametric tolerances. and George N. IEEE Transactions on Robotics and Automation. Computer-Aided Design. 2001. Barnes. Robot Manipulators: Mathematics. [59] Parviz E. . Cambridge. International Journal of Robotics Research. G. Hilton Head. Mechanism and Machine Theory. Paul. [60] Yaron Ostrovsky-Berman and Joskowicz. 29(5):333–342. [68] Elisha Sacks. Cagan. 19(3). [64] Rajan Ramaswamy. [67] Franz Reuleaux. England. Kinematic analysis of planar higher pair mechanisms. 1997. Kinematic synthesis. 37(5):531–544.References 191 [58] Michael McCarthy and Leo Joskowicz. In E. 1993. 18(1):59–63. 2003. Integrated Computer-Aided Engineering. Abingdon. 1981. Mathematical deﬁnition of tolerance speciﬁcations. 2002. [72] Elisha Sacks and Leo Joskowicz. Cambridge. Cambridge University Press. Conference on Modeling and Simulation of Microsystems. 1993. Dover Publications. editors. Requicha. SC. 2001. Sanjay G. MIT Press. [69] Elisha Sacks. [62] Richard P. Antonsson and J. Practical sliced conﬁguration spaces for curved planar pairs. 117(2(A)):269–277. Overview of current CAT systems. pages 321–362. Path planning for planar articulated robots using conﬁguration spaces and compliant motion. 1978. The Kinematics of Machinery: Outline of a Theory of Machines. ‘‘Computer tools for preliminary parametric design. of the Fourth Int. [66] Aristides A. Computer-aided kinematic design of a torsional ratcheting actuator. 9(4):373–387. and Control. New York. Nara Sciences and Technology Institute. Journal of Mechanical Design. Computer-Aided Design. Reinholtz. Massachussetts Institute of Technology. Nikravesh. 1988. Computational kinematic analysis of higher pairs with multiple contacts. Programming.

Berlin. [81] Daniel Whitney. Olivier Gilbert. [80] Herbert Voelcker. [79] Lung-Wen Tsai. Research in Engineering Design. In Proc. and Richard G. and Marek Jastrzebski. [77] W. Oxford University Press. Mathieu. 30(9):707–714. Leo Joskowicz. Ralf Schultheiss. Redesign of a spatial gear pair using conﬁguration spaces. Springer-Verlag. Manufacturing Review. pages 135–144. 17(11):1214–1224. Budynas. Multibody Systems Handbook. Ralf Schultheiss. A complete algorithm for ﬁxture loading. Geometric Product Speciﬁcation and Veriﬁcation: Integration of Functionality. Towards robust kinematic synthesis of mechanical systems. In 25th ASME Design Automation Conference. Ralf Schultheiss. New York. 1998. Mischke. 1993. [75] Elisha Sacks. 1998. 7th ed. 2001. 1994. Computer-assisted kinematic tolerance analysis of a gear selector mechanism with the conﬁguration space method. Leo Joskowicz. 1999. In P. and Uwe Hinze. 6(4):191–210. editors. Las Vegas. and Uwe Hinze. Charles R. McGraw-Hill. Parametric kinematic tolerance analysis of general planar systems. and Min-Ho Kyung. Shigley. [78] Joseph E. New York. International Journal of Robotics Research. CRC Press. of the 2002 Association of Mechanical Engineers Design Automation Conference. Whitney. Computer-Aided Design. Oxford. A current perspective on tolerancing and metrology. Springer. [74] Elisha Sacks. Boca Raton. FL. [82] Daniel E. 2003. 1990. 2004. Bourdet and L.. 2002. Leo Joskowicz. Enumeration of Kinematic Structures According to Function. [76] Elisha Sacks. . Representation of geometric variations using matrix transforms for statistical tolerance analysis. Montreal. [83] Kyeonah Yu and Kenneth Goldberg.192 References [73] Elisha Sacks and Leo Joskowicz. 2004. ASME Press. Schiehlen. England. 6(4):258–268. Mechanical Assemblies. Mechanical Engineering Design.

11. 67 curve. 64 contact. 178 CAD. 44 change. 62. 2. 42 rotating circle-rotating line. 57 rotating circle-rotating circle. 17 boundary representation. 72. 23. 67–69. 10. 57 cell. 1–10. 72 partition. 57 cross-section. 17. 146 offset three-arc. 58 part. 169 conceptual design. 121 blocked. 35. 36 moving circle segment-ﬁxed circle segment. 143 three-ﬁnger unidirectional. 33 boundary equations. 29. 37 general boundary segments. 2. 109 conﬁguration mechanism. 60. 60 conﬁguration. 27. 75 centered three-arc. 58 edge. 32 curve. 33 face-edge. 179 free.Index analysis. 46 moving line segment-ﬁxed circle segment. 16 variables. 82 axis. 1. 75 region. 54 equations. 20. 21. 113 vertex. 2. 57–60. 20 conﬁguration space. 53 face-face. 134 cam. 1–10. 55. 72 surface. 69 contact. 2. 2. 57 general pair. 141 three-ﬁnger bidirectional. 21 part. 8. 55. 140 intermittent. 57. 45 line segment-line segment. 37 edge-edge. 25 pair. 48 moving circle segment-ﬁxed line segment. 102. 47 multiple. 50 general planar. 52 ﬁxed-axis. 139 six-arc. 142 camera shutter. 65 ﬁxed-axis pair. 41 rotating circle-translating circle. 67 topology. 40 . 98. 69 mechanism. 64 face. 5. 17.

87–98. 154 dwell. 14 gear. 79. 38 type. 72 disk. 162 spatial orthogonal. 108. 29. 25 design. 95 escapement. 2. 10. 81. 37 translating line-translating line. 33. 26. 100 variation. 57 spatial. 41 segment-vertex. 3. 4. 26. 155 sector double. 160 HIPAIR. 83. 52 vertex-vertex. 25. 128 double rack. 38. 11 degrees of freedom. 166 sector.194 Index contact (cont. 33 spatial. 18. 107 linkage. 25 function. 29 conﬁguration. 151 kinematics analysis. 9 contact. 167 pawl. 11. 109 tolerancing. 38 translating circle-rotating line. 164 reciprocating. 55. 163 cross-section. 121 lever mechanism. 81 higher pairs. 158 spatial. 103 mechanism. 161 worm. 36 tangency curve. 22. 24 pairs. 67 feature. 15. 103. 98. 12 simple. 1. 148 interlock pair. 81 design. 135. 178 synthesis. 74–75. 75 manipulation. 61. 123 material conditions. 29. 52 subsumed. 150. 27. 181 planar inverse. 106 conventions. 175 indexer.) rotating circle-translating line. 1–3. 14. 147. 86. 1. 21 simulation. 159 star. 27 kinematics. 1 planar. 22 counter mechanism. 96. 36 zone. 2. 20 Dennis clutch. 156 intermittent. 36 space. 145 spatial. 16. 24 lower pairs. 134 zone computation. 149 lever. 102. 153 fastener. 109 ﬁxed-axis pairs. 175 manual transmission gearshift. 115 dragger. 122. 27. 5. 100. 8 ﬁxed-axis. 2. 101. 76. 29. 13. 75 asynchronous. 144. 2. 1–10. 103. 5. 179 classiﬁcation. 2. 82. 26 Geneva planar. 112 dynamical simulation. 37–43 tangency equations. 99. 73. 33 planar. 157 spatial bevel. 25 . 137 coordinate system.

81. 5 model. 175 volume representation. 90. 32. 27 torsional ratcheting actuator. 99 optimization. 13 synthesis. 109 tolerancing. 110. 94 orientation. 121 parametric design. 125. 113 tolerance analysis. 117 representation. 95 conﬁguration. 99 parametric. 152 Reuleaux. 135. 2. 99 revision. 115 maximal instances. 75 topology. 111 draggers. 16 force. 90 motion constraints. 88 sweep-line algorithm. 88. 1 ﬁxed-axis. 5. 87 solid modeling. 27. 94 velocity.Index 195 spatial. 16 spatial. 134 topology graph. 18 rotation. 12. 1. 114 structure change. 125 visualization. 14 torque. 99 part acceleration. 61. 100–103 model. 119 space. 134 design change. 11 state. 168 optical ﬁlter. 16 planar. 26 theory. 110. 1. 177 position. 11 . 8. 99 nominal. 99–108. 79 simulation. 99 tolerancing. 8. 118 parametric. 64 synthesis. 100 speciﬁcations. 99 worst-case. 18 translation. 18 movie ﬁlm advance. 93 ratchet.

- Automatic Blind Rivet Making Plant
- Automatic Wood Screw Making Plant
- Automatic Machine Screw Making Plant
- leksani
- AT710EN-R03 atomat
- AT710EN-R03 atomat
- 1307103 Roll Lathe Toss
- Iscar Grade Chart
- durbal2011catalog
- BENNING KATALOG CZ 070623
- Prospekt Hoener Fertigung GB
- 40467874-DIN-3972
- Profitherm Technical Presentation
- Hydraulic Control Circuit Examples
- practicalsheetm00tescgoog

Sign up to vote on this title

UsefulNot useful- Mechanisms in modern engineering design.pdf
- Kinematics of Machine
- 0132157802_machines
- Mechanical Movements Mekanizmalar
- Sandor, Arthur G. Erdman-Advanced Mechanism Design_ Analysis and Synthesis Vol. II (1984)
- Kinematics and Mechanisms
- Kinematics
- Ivan Artobolevsky Mehanizmy v Sovremennoi Teknike TOM III.pdf
- KM (1)
- Mechanisms
- M. Rades - Dynamics of Machinery 3
- 18424291 Kinematics of Machines
- Belt Conveyor Assembly Handbook
- Conveyor Catalog a 30
- Kinematic Analysis
- Kinematic
- Vehicle Vibration
- Slide Ch12 Kinematics of Particles
- Kinematics Dynamics
- Kinematics and Dynamics of Machines 1982 George H.martin Scanned Book
- Artobolevski-Planetarni Zupcasti Mehanizmi
- Kinematics of Machines - Rolland Theodore Hinkle, 1953
- Ivan Artobolevsky Mehanizmy v Sovremennoi Tehknike TOM V.pdf
- Mechanisms and Machine Theory
- Mechanics of Machines Cleghorn Answers
- Ivan Artobolevsky Mehanizmy v Sovremennoi Teknike TOM IV.pdf
- Mechanical Fastening, Joining, And Assembly
- Ivan Artobolevsky Mehanizmy v Sovremennoi Tehknike TOM VI,VII.pdf
- Mechanical Drafting
- Advanced Xilinx Fpga Design With Ise
- Kinematic

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.

scribd