Mechanism Design Visual and Programmable Approaches
Kevin Russell Qiong Shen Raj S. Sodhi
Mechanism Design Visual and Programmable Approaches
Mechanism Design Visual and Programmable Approaches Kevin Russell Qiong Shen Raj S. Sodhi
Boca Raton London New York
CRC Press is an imprint of the Taylor & Francis Group, an informa business
MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software.
CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2014 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 20131021 International Standard Book Number-13: 978-1-4665-7018-4 (eBook - PDF) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www. copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-7508400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com
To Willie J. Russell and in memory of Ella Russell Kevin Russell To my parents, Youlin Shen and Mantian Wang, without whom none of my success would be possible Qiong Shen To my parents, Rachpal S. and Pritpal K. Sodhi Raj S. Sodhi
Contents Preface.......................................................................................................................xi Authors...................................................................................................................... xv Chapter 1 Introduction to Kinematics.................................................................... 1 1.1 Kinematics..................................................................................1 1.2 Kinematic Chains and Mechanisms...........................................2 1.3 Mobility...................................................................................... 3 1.4 Summary....................................................................................5 References............................................................................................. 6 Additional Reading...............................................................................6 Chapter 2 Mobility of Mechanisms....................................................................... 7 2.1 Planar Mechanism Types........................................................... 7 2.2 Links, Joints, and Mechanism Mobility.....................................9 2.3 Number Synthesis..................................................................... 12 2.4 Grashof’s Criteria and Transmission Angle............................. 14 2.5 Summary.................................................................................. 17 Problems.............................................................................................. 17 References...........................................................................................20 Chapter 3 Kinematics of Planar Mechanisms..................................................... 21 3.1 3.2
Kinematic Analysis of Planar Mechanisms............................. 21 Four-Bar Mechanism Analysis................................................. 21 3.2.1 Four-Bar Displacement Equation................................ 21 3.2.2 Four-Bar Velocity Equation........................................ 22 3.2.3 Four-Bar Acceleration Equation.................................. 23 3.3 Slider-Crank Mechanism Analysis...........................................25 3.3.1 Slider-Crank Displacement Equation..........................25 3.3.2 Slider-Crank Velocity Equation..................................26 3.3.3 Slider-Crank Acceleration Equation........................... 27 3.4 Multiloop Mechanism Analysis............................................... 29 3.5 Kinematics of Mechanism Locations of Interest..................... 31 3.6 Solution Method for Vector Loop Kinematic Equations.......... 33 3.7 Planar Kinematic Modeling in MATLAB® and SimMechanics®.................................................................34 3.8 Summary.................................................................................. 38 Problems.............................................................................................. 39 References...........................................................................................44 Additional Reading.............................................................................44 vii
viii
Contents
Chapter 4 Kinematic Synthesis and Planar Four-Bar Motion Generation.......... 45 4.1 4.2 4.3
Introduction to Kinematic Synthesis........................................ 45 Branch and Order Defects........................................................ 47 Motion Generation: Three, Four, and Five Precision Positions.................................................................................... 49 4.4 Branch and Order Defect Elimination: Three, Four, and Five Precision Positions................................ 62 4.5 Summary..................................................................................66 Problems.............................................................................................. 67 References........................................................................................... 75 Chapter 5 Planar Four-Bar and Multiloop Path and Motion Generation............. 77 5.1 5.2 5.3 5.4 5.5
Path Generation versus Motion Generation............................. 77 Coupler Curves and Dwell Motion........................................... 78 Approximate Four-Bar Path and Motion Generation...............80 Alternate Four-Bar Kinematic Equations................................. 86 Alternate Approximate Four-Bar Motion and Path Generation Equations....................................................... 88 5.6 Constructing Cognates.............................................................92 5.7 Analytical and Approximate Multiloop Path and Motion Generation........................................................... 100 5.8 Summary................................................................................ 104 Problems............................................................................................ 105 References......................................................................................... 116 Chapter 6 Planar Four-Bar Function Generation............................................... 117 6.1 6.2
Introduction to Function Generation...................................... 117 Function Generation: Three, Four, and Five Precision Points.............................................................. 119 6.3 Approximate Function Generation......................................... 122 6.4 Velocity and Acceleration Constraints for Function Generation.......................................................... 125 6.5 Function Generation with Finite and Multiply Separated Positions................................................................. 127 6.6 Approximate Function Generation with Finite and Multiply Separated Positions........................................... 129 6.7 Summary................................................................................ 130 Problems............................................................................................ 131 References......................................................................................... 136 Additional Reading........................................................................... 136 Chapter 7 Spatial Mechanism Kinematics and Synthesis................................. 137 7.1 7.2
Introduction to Spatial Four-Bar Mechanisms....................... 137 RRSS and 4R Spherical Mechanism Analysis....................... 137
ix
Contents
7.3 7.4
RSSR and 4R Spherical Mechanism Analysis....................... 141 Approximate RRSS and 4R Spherical Motion and Path Generation...................................................................... 143 7.5 Approximate RSSR and 4R Spherical Function Generation.............................................................. 160 7.6 RSSR–SS Mechanism Analysis............................................. 166 7.7 R–S Dyad and Approximate RSSR–SS Motion Generation................................................................. 170 7.8 Spatial Kinematic Modeling in MATLAB® and SimMechanics®............................................................... 176 7.9 Summary................................................................................ 177 Problems............................................................................................ 178 References......................................................................................... 186 Chapter 8 Adjustable Planar and Spherical Four-Bar Mechanism Synthesis...... 187 8.1 8.2
Introduction to Adjustable Mechanism Synthesis.................. 187 Approximate Adjustable Planar Four-Bar Motion Generation.............................................................................. 190 8.3 Approximate Adjustable Planar Four-Bar Motion and Path Generation: Alternate Equations............................. 194 8.4 Approximate Adjustable Planar Four-Bar Function Generation.............................................................................. 199 8.5 Approximate Adjustable 4R Spherical Motion Generation......202 8.6 Approximate Adjustable 4R Spherical Motion and Path Generation: Alternate Equations.............................207 8.7 Summary................................................................................ 211 Problems............................................................................................ 212 References......................................................................................... 223 Appendix A: S olution Algorithm for Analytical Four-Position Synthesis and MATLAB® File User Instructions....................... 225 Appendix B: Solution Algorithm for Analytical Five-Position Synthesis and MATLAB® File User Instructions........................ 231 Appendix C: User Instructions for Chapter 5 MATLAB® Files...................... 239 Appendix D: User Instructions for Chapter 6 MATLAB® Files...................... 255 Appendix E: User Instructions for Chapter 7 MATLAB® Files...................... 263 Appendix F: User Instructions for Chapter 8 MATLAB® Files...................... 299 Appendix G: User Instructions for MATLAB® and SimMechanics® Files...... 327
Preface In kinematic synthesis, mechanism designs are produced to fulfill given design functions. Current textbooks on mechanism design deal mostly with analyzing existing mechanisms and devote only a chapter or two to synthesis, which is not enough to provide a comprehensive introduction. Most textbooks present mainly qualitative methods for kinematic synthesis, which are based on drafting techniques. Although qualitative methods are easy to implement, they are typically limited to two-dimensional, small-scale problems. In recent times, personal computers have facilitated the design of complex systems. Computation-based or quantitative methods are far more robust in terms of the type and scale of problems that one can consider. In addition, the computing technologies available today, both hardware and software, make quantitative methods very practical. This book, which is dedicated entirely to kinematic synthesis, is based on our teaching, research, and industry experience in mechanism design. The purpose of this textbook is to give the reader an introduction to kinematic synthesis that is both broad and practical. In terms of providing a broad introduction, this textbook presents applications of planar and spatial motion, path, and function generation methodologies (both classical and modern). Additional topics include number synthesis, synthesis using finite and multiply separated positions, and the synthesis of adjustable mechanisms (a more modern area of focus in kinematic synthesis). In terms of providing a practical introduction, this textbook considers some of the most basic planar and spatial single- and multiloop linkage systems. Chapters 1 and 2 include fundamental concepts in mechanism kinematics that are also considered in mechanism synthesis. Chapter 2 goes on to introduce number synthesis—a systematic approach where mechanism solutions are produced according to mechanism mobility. The kinematic analysis of planar four-bar and multiloop mechanisms is covered in Chapter 3. Analytical planar four-bar motion generation is covered in Chapter 4. Chapter 5 covers numerical motion and path generation of planar four-bar and multiloop mechanisms. Both analytical and numerical planar four-bar function generation are presented in Chapter 6. Chapter 7 covers the kinematic analysis and numerical synthesis of spatial four-bar and multiloop mechanisms for motion, path, and function generation. Chapter 8 introduces adjustable planar and spherical four-bar mechanism synthesis for motion and path generation. Appendices A through G include user instructions for each of the MATLAB® and SimMechanics® files that are available for download with this textbook. This work considers quantitative methods for kinematic analysis and synthesis exclusively. The commercial mathematical software package MATLAB and its mechanical simulation module SimMechanics are thoroughly integrated in this textbook for kinematic analysis and synthesis. Both MATLAB and SimMechanics are well established (and often the de facto standard for mathematical analysis and simulation)
xi
xii
Preface
in colleges and universities. A library of MATLAB and SimMechanics files has been developed for this textbook. This and additional material can be downloaded from the CRC website: http://www.crcpress.com/product/isbn/9781466570177. These files will help the reader apply any of the dozens of equation systems presented in this textbook for kinematic analysis and synthesis. The combination of theoretical breadth and depth provided in this work, in addition to the library of MATLAB and SimMechanics files (for immediate application in analysis and synthesis), make this textbook a valuable tool for engineering teaching, engineering research, and everyday engineering practice. Because this work is dedicated to kinematic synthesis—an advanced area in kinematics—it is hoped that the reader would have been exposed to the content covered in a typical undergraduate course in mechanism kinematics. In terms of MATLAB knowledge, the user should know how to launch MATLAB and open and run MATLAB files (these skills can be acquired easily using MATLAB help resources). Of course, the user should also have access to the MATLAB software package itself. All of the synthesis problems in this textbook were solved using the 2009 version of MATLAB (specifically version R2009b, win32). This was because the development of this textbook began in 2008, and we preferred to use a single version of MATLAB throughout this work. It is possible that the user could occasionally produce solutions that do not precisely match those in the textbook when using more recent versions of MATLAB. However, because an infinite number of mechanism solutions exist for a given synthesis problem in general, the user should not be at any disadvantage. By definition, kinematic synthesis is a creative means to produce mechanism solutions. There is an endless variety of possible mechanism solutions that the user is free to explore, realize, and evaluate for any given problem. Even though this work provides numerous synthesis examples and end-of-chapter synthesis problems, the user can invent his or her own specialized synthesis problems according to his or her interests. The resources in this textbook help make this possible. The textbook can be used • As a companion text (for synthesis topics) for an undergraduate course in kinematics • As a text for an undergraduate or graduate course in advanced (computerbased) kinematics • As a text for an undergraduate mechanical design course (where synthesized mechanisms are analyzed using statics/dynamics, stress analysis, machine design, computer aided engineering, etc.) We encourage the reader to explore the topics covered in this book and look forward to receiving valuable feedback, if any. We can be reached through e-mail at
[email protected]. We hope you enjoy utilizing this work as much as we have enjoyed preparing it. The authors would like to acknowledge the contributions of those who assisted in the review and evaluation of this textbook. In particular, we thank J. Angeles,
Preface
xiii
McGill University; B. Corves, RWTH Aachen University; A. Ghosal, Indian Institute of Science; T. Huang, Warwick University; W. Lee, National Pingtung University of Science and Technology; J. Merlet, INRIA; Y. Nakamura, University of Tokyo; T. Shoup, Santa Clara University; and K. Ting, Tennessee Technological University. Professor Sodhi wishes to thank Dr. Terry Shoup and Dr. Ken Waldron who helped him learn kinematics and mechanism design and introduced him to a lot of exciting concepts in mechanical engineering. MATLAB® is a registered trademark of The MathWorks, Inc. For product information, please contact: The MathWorks, Inc. 3 Apple Hill Drive Natick, MA, 01760-2098 USA Tel: 508-647-7000 Fax: 508-647-7001 E-mail:
[email protected] Web: www.mathworks.com Kevin Russell Qiong Shen Raj S. Sodhi
Authors Kevin Russell, PhD, PE, is an adjunct professor in the Department of Mechanical and Industrial Engineering at New Jersey Institute of Technology (NJIT). He teaches courses in kinematics, machine design, and mechanical design at NJIT. He was also a senior mechanical engineer at the US Army Research, Development and Engineering Center (ARDEC) at Picatinny, New Jersey. Dr. Russell’s responsibilities at ARDEC included the utilization of computer-aided design and modeling and simulation tools for small- and medium-caliber weapon system improvement, concept development, and failure investigations. A registered professional engineer in New Jersey, he holds several small- and medium-caliber weapon system patents and has published extensively in engineering journals in areas such as kinematic synthesis, theoretical kinematics, and machine design. Qiong Shen, PhD, obtained his doctorate degree by successfully completing a National Science Foundation (NSF)-funded multidisciplinary (genomics, microfluidics, robotics, real-time control, and fiber optics) research, which also resulted in a US patent. Besides professional work in supervisory control and data acquisitions and industrial networking and communication, Dr. Shen has been actively involved in extensive academic research in robotics and mechanism synthesis by applying most recent progresses in the fields of numerical optimization, machine learning, cloud computing, computer visualization, computer simulation, and virtual reality. Raj S. Sodhi, PhD, PE, is a professor in the Department of Mechanical and Industrial Engineering at NJIT. He has over 30 years of experience in research and education related to mechanical design, mechanism synthesis, and manufacturing engineering. He is the author or coauthor of over 100 refereed papers in scientific journals and conference proceedings. He was awarded the Society of Manufacturing Engineering’s University Lead Award in recognition of his leadership and excellence in the application and development of computer-integrated manufacturing. He also received the N. Watrous Procter & Gamble Award from the Society of Applied Mechanisms and Robotics for significant contributions to the science of mechanisms and robotics, and the Ralph R. Teetor New Engineering Educator Award from the Society of Automotive Engineers. Dr. Sodhi is a registered professional engineer in Texas.
xv
1
Introduction to Kinematics
1.1 KINEMATICS Kinematics is the study of motion without considering forces. In a kinematic analysis, positions, displacements, velocities, and accelerations are calculated for mechanical system components without regard to the loads that actually govern them. In comparison to other engineering design disciplines such as statics, where motion and governing loads are considered according to Newton’s first law F= M= 0 , and dynamics, where motion and governing loads are considered according to Newton’s second law F = ma, M = Iα , kinematics is the most fundamental
(∑ ∑
(∑
∑
)
)
engineering design discipline. Because it is often necessary in the design of a mechanical system to not only consider the motion of mechanical system components, but also the forces acting on them, the component material stress and strain responses to the forces (stress analysis), and the required component dimensions for the working stresses (machine design), such analyses often follow kinematic analyses. Figure 1.1 shows kinematics, statics and dynamics, stress analysis, and machine design in an ascending order of progression. This order follows the intended sequence of use of these disciplines in mechanical design. After a mechanical system has been determined to be kinematically feasible, the static and/or dynamic loads acting on the system components are considered next. After static and/or dynamic feasibility have been achieved, the stresses and strains produced in the mechanical system components are considered next. Lastly, machine design principles and methodologies are employed to ensure the material and dimensions of the mechanical system components (and subsequently the entire mechanical system) are satisfactory for the known working stresses.* As illustrated in Figure 1.1, kinematics is the most fundamental of the listed engineering design disciplines. When a design is not kinematically sound, evidence of this will often appear in the other engineering design disciplines. For example, a discontinuous displacement profile calculated in a kinematic analysis could be revealed as excessive acceleration in a dynamic analysis, which in turn could produce excessive dynamic forces. These dynamic forces would likely produce high stresses. These high stresses may require a material selection and/or component dimensions that make the overall component design impractical for the intended design application. * In addition to these traditional engineering factors considered in engineering design, nontraditional (sometimes called modern engineering) factors including producibility, cost, environmental impact, disposal, aesthetics, ergonomics, and human factors are often equally important.
1
2
Mechanism Design: Visual and Programmable Approaches Machine design
Stress analysis
Statics and dynamics
Kinematics
(Component dimensions for working stresses)
(Stresses, strains, and deflections)
(Static and dynamic forces)
(Motion without forces)
FIGURE 1.1 Kinematics in relation to other associated engineering design disciplines.
In kinematic analyses, the dimensions of mechanical system components are known and the positions, displacements, velocities, and accelerations of these components are calculated. Understanding the kinematic behavior of a given mechanical system is the scope of a kinematic analysis. In kinematic synthesis, mechanical system component positions, displacements, velocities, and accelerations are known and the mechanical system dimensions required to achieve these known quantities are calculated. The objective in kinematic synthesis is to calculate the mechanism dimensions required to achieve or even approximate known quantities. Kinematic synthesis is first introduced in Chapter 4 and is covered in detail in Chapters 4 through 8.
1.2 KINEMATIC CHAINS AND MECHANISMS This textbook focuses on the kinematic design of mechanical systems or mechanisms as they are commonly called. A kinematic chain, an overarching classification that includes mechanisms, is an assembly of links interconnected by joints where the motion of one link compels the motion of another link (which compels the motion of another link and so on depending on the number of mechanism links).*,† Complex mechanical systems such as an automobile engine, for example, can be comprised of multiple kinematic chains while a single kinematic chain can constitute an entire mechanical system in the case of a simple tool. Figure 1.2 illustrates a commonly used kinematic chain: a pair of shears. Moving the lower shear handle (link L2) toward the upper handle (link L1) or vice versa compels the motion of the remaining links, including the cutting link L3, which results in a cutting motion. Having one link compel the motion of another link in a controlled manner is important because the fundamental objective in the design of a mechanical system is to provide a controlled output motion in response to a supplied input motion. * Because a mechanism is an assembly of links, it is also called a linkage. † Links are generally assumed to be nondeforming or rigid in kinematics.
3
Introduction to Kinematics L3 L1 L4 L2
(a)
(b)
FIGURE 1.2 Cutting tool in (a) open and (b) closed positions.
One characteristic that distinguishes mechanisms from other kinematic chains is that the former has at least one “grounded” link [1]. A grounded link is one that is attached to a particular frame of reference. Some mechanisms have links that are permanently grounded through friction, gravity, or coupling members (e.g., bolts and welds), whereas, with our shears example, the grounded link can be established according to one’s own preferences.
1.3 MOBILITY The mobility or the number of degrees of freedom of a mechanism is the number of independent parameters required to uniquely define its position in space. Knowing the mobility of a mechanism is particularly important when formulating mathematical models for the kinematic analysis or synthesis of the mechanism because the models must include enough parameters to fully define the motion of each mechanism component. To fully define the position of a body in two-dimensional space at an instant in time requires three independent parameters. Considering the automobile on the road in Figure 1.3a where the road is the X–Y coordinate frame, the position of the automobile with respect to the X–Y coordinate frame can be defined given the X and Y linear coordinates of a point ( p ) on the automobile ( px , py ) and the angular position of the automobile about the Z-axis ( θz ) . Because three independent parameters are required to define the position of the body in the X–Y plane, an individual mechanism link restricted to planar motion can have a mobility of up to 3 or up to 3 degrees of freedom. To fully define the position of a body in three-dimensional space at an instant in time requires six independent parameters. Considering the aircraft in flight in Figure 1.3b, where the X–Y–Z coordinate frame is positioned in space, the position of the aircraft with respect to the X–Y–Z coordinate frame can be defined given the X, Y, and Z linear coordinates of a point ( p ) on the aircraft ( px , py , pz ) and angular position of the aircraft about the X, Y, and Z-axes ( θ x , θ y , θz ) . Because six independent parameters are required to define the position of the body in X–Y–Z space, an individual mechanism link restricted to spatial motion can have a mobility of up to 6 or up to 6 degrees of freedom.
4
Mechanism Design: Visual and Programmable Approaches
θz p(x, y)
Z Y
(a)
X
O
Z p(x, y, z)
(b)
θx X
θz O θy
Y
FIGURE 1.3 Automobile and aircraft with maximum (a) planar and (b) spatial degrees of freedom.
Example 1.1 Problem Statement: Figure E.1.1 illustrates two positions of a concept mechanism used to stamp parts. By rotating link a 0 − a1 to position a 0 − a j , the mechanism is displaced from its initial stamping position to its final stamping position. During stamping, a reaction force Fstamp is applied to the mechanism at point pj and the mechanism is maintained in a state of static equilibrium by the driving torque Tdriving and the stamping reaction force. Describe how the principles of kinematics, statics, stress analysis, and machine design can be used to evaluate the structural integrity of member b0 – b j during stamping. Known Information: Figure E.1.1, background knowledge of kinematics, statics, stress analysis, and machine design principles. Solution Approach: The mechanism in Figure E.1.1 can be modeled as a planar four-bar mechanism.* Kinematic analysis: Given the coordinates of a0, a1, b0, and b1, the driving link angular rotation required to achieve the final stamping position (aj and bj) can be calculated from the displacement equations for the planar four-bar mechanism. * Kinematic displacement, velocity, and acceleration equations for the planar four-bar mechanism are introduced in Chapter 3.
5
Introduction to Kinematics Part being stamped p1
bj
Stamp force Fstamp
Initial stamp position
pj
b1
a1 Final stamp position
aj
b0
a0
Driving torque Tdriving
FIGURE E.1.1 Initial and final positions of stamping mechanism. Static analysis: A static equilibrium equation can be formulated to calculate ) that acts on component b − b the columnar force (which we will call Fb 0 j 0b j [2]. For example, summing the moments about aj produces the equation =F Fb stamp × a j p j a j b j . 0b j Stress analysis: Given the columnar force on component b0 − b j along with its cross-section dimensions and material properties, the normal stress σ = F A ) can be calculated. Additionally, the buckling load (where σb b0 b j b0 b j 0b j for component b0 − b j (essentially a column with pinned ends) can also be calculated [3]. Machine design: Based on the values calculated for the normal stress and buckling load on component b0 − b j, it may be necessary to modify the cross-section dimensions of component b0 – b j and/or its material type to achieve an acceptable degree of structural integrity for use.
1.4 SUMMARY Kinematics—the study of motion without considering governing forces—is the most fundamental engineering discipline in mechanical system design. In mechanical system design, kinematic feasibility should be determined before considering other engineering design disciplines such as statics, dynamics, stress analysis, and machine design. Mechanical systems are comprised of kinematic chains—an assembly of interconnected links where the motion of one link compels the motion of another link in a controlled manner. Achieving controlled output motion in response to a supplied input motion is the fundamental objective in mechanical system design. Kinematic
6
Mechanism Design: Visual and Programmable Approaches
chain is an overarching classification that includes mechanisms (also called linkages). The presence of an established ground link is a primary characteristic that distinguishes mechanisms from kinematic chains. The mobility or the number of degrees of freedom of a mechanism is the number of independent parameters required to uniquely define its position in space. Knowing the mobility of a mechanism is important when formulating mathematical models for mechanism kinematics or synthesis because these models must include enough variables to fully define the motion of each mechanism component. An individual link restricted to planar motion can have up to 3 degrees of freedom and an individual link restricted to spatial motion can have up to 6 degrees of freedom.
REFERENCES 1. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 30–40. New York: McGraw-Hill. 2. Wilson, C.E. and J. Peter Sadler. 2003. Kinematics and Dynamics of Machinery, 3rd edn., Chapter 9. Upper Saddle River, NJ: Prentice Hall. 3. Ugural, A.C. and S.K. Fenster. 2009. Advanced Strength and Applied Elasticity, 4th edn., Chapter 11. Englewood Cliffs, NJ: Prentice Hall.
ADDITIONAL READING Myszka, D.H. 2005. Machines and Mechanisms: Applied Kinematic Analysis, 3rd edn., Chapter 1. Upper Saddle River, NJ: Prentice Hall. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., Chapter 1. Upper Saddle River, NJ: Prentice Hall. Wilson, C.E. and J. Peter Sadler. 2003. Kinematics and Dynamics of Machinery, 3rd edn., Chapter 1. Upper Saddle River, NJ: Prentice Hall.
2
Mobility of Mechanisms
2.1 PLANAR MECHANISM TYPES Figure 2.1a illustrates a planar four-bar mechanism. The four interconnected links in this mechanism are the crank (the driving link), coupler, follower, and ground.* A supplied input rotation to the crank link compels the motion of the coupler and follower links. Both the crank and follower links are connected to the ground link (or are grounded) and undergo pure rotation.† The planar fourbar mechanism is one of the most widely utilized kinematic chains in everyday devices (Figure 2.1b through d) including locking pliers, folding chairs, and doorways. Although the slider-crank mechanism (Figure 2.2a) is covered at a minimum in this textbook, this mechanism can be theoretically described as a planar four-bar mechanism having a follower link of infinite length (Figure 2.2b) [1]. The slidercrank mechanism is also among the most widely utilized kinematic chains in everyday applications. Among the many applications for the slider-crank mechanism is the crankshaft-connecting rod-piston linkage—a fundamental subsystem of the internal combustion engine (Figure 2.3). Attaching a grounded link pair or a dyad (the link pair c-d-e in Figure 2.4) to the coupler of the planar four-bar mechanism produces a multiloop planar six-bar mechanism. This particular type of multiloop planar six-bar mechanism is called a Stephenson type III mechanism [2]. Though not as commonly utilized in everyday devices as the planar four-bar mechanism, the latter includes two intermediate links that undergo complex motion. This capability enables the Stephenson III mechanism to deliver dual and simultaneous motion and path generation capabilities. Multiloop planar six-bar motion and path generation are introduced in Chapter 5. It should also be mentioned that loops a-b-c-d-e and g-f-c-d-e of the Stephenson type III mechanism in Figure 2.4, when considered as independent kinematic chains, are planar five-bar mechanisms.‡ The additional link in the planar fivebar mechanism enables it to produce link paths of a greater maximum order (and subsequently more complex curvature) than the link paths produced by planar fourbar mechanisms [3].§
* Because mechanisms are comprised of links, they are also called linkages. † The coupler undergoes complex motion—a combination of simultaneous rotation and translation. ‡ Because the planar five-bar mechanism has 2 degrees of freedom, it often includes a gear pair (connecting both grounded links) to remove a degree of freedom. Such planar five-bar mechanisms are called geared five-bar mechanisms. § As derived by Wunderlich (1963), the maximum order of a coupler curve m for a mechanism with (( n 2 )−1). n links connected with revolute joints only is m = 3 ⋅ 2
7
8
Mechanism Design: Visual and Programmable Approaches
Coupler
Follower
Crank Ground (a)
(b)
(c)
(d)
FIGURE 2.1 (a) Planar four-bar mechanisms as (b) lock pliers, (c) folding chair, and (d) doorway linkages.
(a)
(b)
∞
∞
FIGURE 2.2 (a) Slider-crank mechanism and (b) four-bar mechanism as slider-crank mechanism.
FIGURE 2.3 Slider-crank mechanism as crankshaft-connecting rod-piston linkage.
9
Mobility of Mechanisms d
c
f b
e g a
FIGURE 2.4 Multiloop planar six-bar mechanism (Stephenson type III mechanism).
2.2 LINKS, JOINTS, AND MECHANISM MOBILITY As explained in Chapter 1, a mechanism is an assembly of links and joints. The attachment points to adjacent links are called nodes. A link that has two nodes is called a binary link and a ternary link has three nodes. The Stephenson III six-bar mechanism in Figure 2.5 includes a ternary link as ground and a movable intermediate ternary link. The remaining links in this mechanism are all binary.
Binary
Binary
Ternary
Binary Binary Ternary
FIGURE 2.5 Link types in the Stephenson III mechanism.
10
Mechanism Design: Visual and Programmable Approaches δθX δX
Y Y Z Z
X
X
(b)
(a)
δθY δθX Y δX
(c)
Z
Y δθZ X
Z
X
(d)
δθX
FIGURE 2.6 (a) Revolute, (b) prismatic, (c) cylindrical, and (d) spherical joints.
Adjacent mechanism links are interconnected at their nodes by joints. Joint types differ by both the number and type of degree(s) of freedom (DOF). For planar mechanisms, the revolute joint (Figure 2.6a) is more commonly used than any other joint. Although the revolute joint is by far the dominant joint type used in practice as well as in the mechanisms in this textbook, Figure 2.6 includes other common joint types. The revolute joint (R) has one rotational DOF, the prismatic joint (P) has one translational DOF, the cylindrical joint (C) has two DOFs—one rotational and one translational, and the spherical joint (S) has three rotational DOFs. The cylindrical and spherical joints are utilized among the spatial mechanisms introduced in Chapters 7 and 8. The term lower pair describes joints like the R, P, C, and S joints where surface contact occurs (e.g., a ball surrounded by a socket for the S joint or a pin surrounded by a hole for the R joint). Lower pairs are also called full joints [4]. Gruebler’s equation (Equations 2.1 and 2.2) is used to determine the mobility (the DOF) of a mechanism. Equation 2.1 calculates the mobility of a planar mechanism. Since any individual planar mechanism link can have no more than 3 degrees of freedom, the maximum mobility of a planar mechanism with L links is 3L. Because the ground link is fully constrained, its mobility is subtracted from
11
Mobility of Mechanisms
the maximum mechanism mobility—resulting in 3 ( L − 1) . Each 1 DOF joint type removes 2 DOF—resulting in −2J1 (where J1 is the total number of 1 DOF joints).* Equation 2.2 calculates the mobility of a spatial mechanism. Since any individual spatial mechanism link can have no more than 6 degrees of freedom, the maximum mobility of a spatial mechanism with L links is 6L. Because the ground link is fully constrained, its mobility is subtracted from the maximum mobility—resulting in 6 ( L − 1) . Each 1 DOF joint type removes 5 DOF—resulting in −5J1. Likewise, each 2 and 3 DOF joint types remove 4 and 3 DOF, respectively. In this textbook, J4 = J5 = 0 since 4 and 5 DOF joints are not utilized.
DOF PLANAR = 3 ( L − 1) − 2 J1 − J 2 (2.1)
DOFSPATIAL = 6 ( L − 1) − 5J1 − 4 J 2 − 3J 3 − 2 J 4 − J 5 (2.2)
As explained in Section 1.2, the fundamental objective in mechanical system design is to produce specific controlled output motions for supplied input motions. Output motion control is maximized when the mechanical system has a single degree of freedom. Knowing the mobility of a mechanism enables the designer to determine if additional constraints are needed to reach the desired mobility (and if so, how many constraints are needed). Example 2.1 Problem Statement: Determine the mobility of the planar and spatial mechanisms illustrated in Figure E.2.1. Known Information: Figure E.2.1, Equations 2.1 and 2.2. Solution Approach: The planar mechanism illustrated in Figure E.2.1 includes eight links, eight revolute joints, and two prismatic joints (therefore L = 8, J1 = 10, and J2 = 0). Using these values in Gruebler’s equation for planar mechanisms (Equation 2.1) produces a mobility of 1. The spatial linkage illustrated in Figure E.2.1 includes six links, three revolute joints, three spherical joints, and one cylindrical joint (therefore L = 8, J1 = 3, J2 = 1, J3 = 3, and J4 = J5 = 0). Using these values in Gruebler’s equation for spatial mechanisms (Equation 2.2) produces a mobility of 2.
* The joint type J2 in Equation 2.1 includes cam joints, gear joints, and roller joints. These joints (also called half joints) can have a mobility of either 1 or 2 (depending on whether rolling and/or sliding motion occurs) and can subsequently remove either 2 or 1 DOF from the maximum mechanism mobility, respectively.
12
Mechanism Design: Visual and Programmable Approaches
S S S C
R Y
X
Y
Z (a)
R
X R
(b)
FIGURE E.2.1 (a) Planar and (b) spatial mechanisms.
2.3 NUMBER SYNTHESIS Given the number of mechanism links and the number and order of mechanism joints, mechanism mobility is calculated from Gruebler’s equation. An inverse application of Gruebler’s equation can also be considered. For example, Gruebler’s equation is useful in determining mechanism link and joint combinations (which result in alternate mechanism solutions) for a given mobility [5]. Number synthesis involves the determination of alternate mechanism solutions for a given mobility. Expressing Gruebler’s equations for planar and spatial mechanisms as functions of links and joints or as
f ( L, J1, J 2 ) = DOF PLANAR (2.3)
f ( L, J1, J 2 , J 3 , J 4 , J 5 ) = DOFSPATIAL (2.4)
show that for a given mobility, an indefinite number of link and joint combinations— alternate mechanisms—exist. Number synthesis offers not only a means to assist in the creative design of mechanisms but Equations 2.3 and 2.4 could also be implemented systematically [6,7]. By progressively increasing or decreasing the link and joint variables in Gruebler’s equation for a given mobility, tables of concept mechanism solutions are produced. Example 2.2 Problem Statement: Compile a table of single DOF planar mechanisms having 2, 3, and 4 links. Known Information: Equation 2.1, DOFPLANAR = 1, L = 2, 3, and 4.
13
Mobility of Mechanisms Solution Approach: For each value of variable L, variable J1 is incrementally increased and for each value of L and J1, the corresponding value for the remaining unknown J2 in Equation 2.1 is calculated. Using this systematic procedure, the resulting mechanism solutions in Table E.2.1 are calculated. Figure E.2.2 illustrates example mechanism configurations corresponding to mechanism solutions 1, 2, 5, 9, and 10 in Table E.2.1. Each of the mechanism solutions in this table does not necessarily represent a single mechanism configuration. For example, for mechanism solution 9 in Table E.2.1, two mechanism configurations are provided in Figure E.2.2.
TABLE E.2.1 Two, Three, and Four-Link Single DOF Planar Mechanisms
Solution 1
Solution 5
Mechanism Solution
L
J1
J2
1 2 3 4 5 6 7 8 9 10
2 2 3 3 3 4 4 4 4 4
0 1 0 1 2 0 1 2 3 4
2 0 5 3 1 8 6 4 2 0
Solution 2
Solution 9
Solution 10
Solution 9
FIGURE E.2.2 Example 2, 3, and 4-link single DOF planar mechanism configurations.
14
Mechanism Design: Visual and Programmable Approaches
2.4 GRASHOF’S CRITERIA AND TRANSMISSION ANGLE Grashof criteria are used to determine the link rotation behavior or link rotatability of four-bar mechanisms. These criteria are based on the lengths of the crank, coupler, follower, and ground links. Table 2.1 includes all of the Grashof and nonGrashof mechanism classifications. For the link length relationships in this table, variables S and L are the shortest and longest mechanism link lengths, respectively, and the remaining two link lengths are variables P and Q. Figure 2.7 illustrates the link rotations for the crank-rocker, double-crank (also called drag-link), double-rocker, and triple-rocker mechanisms. As illustrated, only
TABLE 2.1 Grashof and Non-Grashof Mechanisms Link Length Relationship
Shortest Link
Grashof type Crank-rocker Double-crank (drag-link) Double-rocker
S + L < P + Q S + L < P + Q S + L < P + Q
Crank Ground Coupler
Non-Grashof type Triple-rocker Change point
S + L > P + Q S + L = P + Q
(b)
(a)
Driver
(c)
(d)
FIGURE 2.7 Link rotations of Grashof mechanisms: (a) crank-rocker, (b) drag link (doublecrank), (c) double-rocker, and (d) non-Grashof triple-rocker.
15
Tin
τ
llow
er
τ
sin(τ
)
Tin Tout
(a)
Ffo
ollo co wer s(τ
F follower
F follower
Ff
τ
)
Mobility of Mechanisms
Tout
(b)
FIGURE 2.8 Planar four-bar mechanism with transmission angle and crank and follower loads.
the crank link can undergo a complete rotation in a crank-rocker mechanism while both the crank and follower links can undergo complete rotations in a double-crank mechanism. In the double-rocker mechanism, the shortest link—the coupler link— is the driving link and undergoes a complete rotation while no link rotates completely in the triple-rocker.* During the motion of a change point mechanism (not illustrated), specifically twice per revolution, all of the links become simultaneously aligned. During this (theoretical) state the output behavior of the change point mechanism is unpredictable [8]. Unlike the crank-rocker and drag-link mechanisms, the driving link in the doublerocker mechanism is not grounded. This characteristic can make the double-rocker mechanism less practical for design applications. When considering the doublerocker mechanism, the designer must overcome the technical challenges of affixing a drive system to a movable joint (and operating such a drive system).† When force and torque transmission between the crank and follower links are of concern in four-bar mechanism design, knowing the transmission angle is critical. The transmission angle is the angle between the coupler and follower links. Figure 2.8a illustrates a planar four-bar mechanism and the transmission angle τ. When an input torque Tin is applied to the crank link, this link transmits force to the coupler which subsequently transmits force to the follower Ffollower. One component of this follower force (Ffollow er sin τ in Figure 2.8b) is normal to the follower link and results in the output torque Tout. The other force component (Ffollow er cos τ) is a columnar load acting along the length of the follower. Both follower force components are functions of the transmission angle. Attempts are often made to minimize the columnar component of the follower force in four-bar mechanism * Figure 2.7c illustrates the path achieved by the shortest link in the double-rocker when a driver is applied to the leftmost joint of the shortest link. † Affixing a drive system (such as a motor or manual crank) to a grounded link joint (and operating such a system) can be more easily accomplished than to a nongrounded joint.
16
Mechanism Design: Visual and Programmable Approaches
design—particularly in applications where the forces and torques transmitted are substantial.* A transmission angle of 90° is optimum because the resulting follower force has only a normal component (Ffollow er cos τ = 0 when τ = 90°). A transmission angle range of 90° ± 50° is generally preferred by designers [9]. It can be observed from the equations in Figure 2.8b that as the transmission angle decreases, the columnar load component increases and the normal load component decreases. Example 2.3 Problem Statement: The link lengths for three planar four-bar mechanisms are given in Figure E.2.3 (all identical to the link dimensions given in mechanism #1) and the driving links are labeled with rotation arrows. Determine the Grashof type for each mechanism. Known Information: Figure E.2.3 and Table 2.1. Solution Approach: Because the shortest link in mechanism #1 is the ground link and the Grashof condition S + L < P + Q is true, this mechanism is a Grashof double-crank. Because the shortest link in mechanism #2 is the crank link and the Grashof condition S + L < P + Q is true, this mechanism is a Grashof crank-rocker. Because the shortest link in mechanism #3 is the coupler link and the Grashof condition S + L < P + Q is true, this mechanism is a Grashof double-rocker.
3
2
3
1 Mechanism #1
Mechanism #2
Mechanism #3
FIGURE E.2.3 Planar four-bar mechanism configurations (with dimensionless link lengths given for mechanism #1).
* Unlike follower normal loads (which links having revolute joints are designed to accommodate), follower columnar loads (Ffollow er cos τ in Figure 2.8b) can result in follower buckling and/or excessive bearing forces in the follower revolute joints.
Mobility of Mechanisms
17
2.5 SUMMARY The planar four-bar mechanism is one of the most widely utilized kinematic chains in everyday devices. The four interconnected links in this mechanism are the crank, coupler, follower, and ground links. The crank and follower links in the planar fourbar mechanism undergo pure rotation while the coupler link undergoes complex motion. Attaching a dyad to the coupler of this mechanism produces the Stephenson III mechanism—a particular type of multiloop planar six-bar mechanism. Although multiloop planar six-bar mechanisms are not as commonly utilized as the planar four-bar mechanism in everyday devices, they include at least two links that undergo complex motion (giving them a greater capacity for kinematic synthesis than planar four-bar mechanisms). Mechanism links are interconnected by joints. Both the planar four-bar mechanism and the Stephenson III mechanism include revolute joints—a joint having a single rotational degree of freedom. The prismatic joint has a single translational degree of freedom and is used where single degree of freedom sliding contact is needed. The cylindrical joint and spherical joint are other joint types utilized in this textbook for spatial mechanisms. Just as Gruebler’s equation is used to calculate mechanism mobility, number synthesis involves the determination of the mechanism links and joints (which constitute alternate mechanism solutions) required to achieve a prescribed mobility. This approach utilizes Gruebler’s equation and can be employed systematically by incrementally specifying links and joints. Number synthesis offers a means to assist in the creative design of mechanisms. Grashof criteria are used to determine the link rotation behavior of four-bar mechanisms. Determining link rotation behavior is important in design—particularly when coupling a drive system to the crank link. Knowing the transmission angle (the angle between the coupler and follower links) behavior is important when force and torque transmission between the crank and follower links are of concern in four-bar mechanism design. As the transmission angle decreases, the magnitude of the columnar load on the follower link increases and the magnitude of the load normal to the follower decreases (and vice versa). A transmission angle range of 90° ± 50° is generally preferred by designers.
PROBLEMS 2.1 Planar four-bar linkages have many everyday applications (some are illustrated Figure 2.1). Identify and describe four additional everyday applications for the planar four-bar linkage. 2.2 (a) Why is it important to know if a mechanism has a single degree of freedom? (b) Why is a crank-rocker mechanism more useful than a double-rocker mechanism? (c) Should the transmission angle for the planar four-bar linkage be close to 0°? Explain.
18
Mechanism Design: Visual and Programmable Approaches
3
3.5
4
2
4 2
1
1
FIGURE P.2.1 Planar four-bar linkages with dimensionless link lengths.
2.3 For the two linkages illustrated in Figure P.2.1, which (if any) of the links can undergo a complete rotation relative to the other links? How do you know? 2.4 Determine the number of links and the mobility of each of the three planar mechanisms in Figure P.2.2. 2.5 For the planar four-bar linkage illustrated in Figure P.2.3, L2 L1 = 1.5 and L3 L1 = 1.2, find the range of L0 L1 required for a drag link mechanism. 2.6 Compile a table of 1 DOF spatial mechanisms having 2, 3, and 4 links (let J4 = J5 = 0 in Equation 2.2). Illustrate some of these mechanism solutions. 2.7 Figure P.2.4 illustrates nine spatial mechanisms that include revolute (R), prismatic (P), cylindrical (C), and spherical (S) joints. Calculate the mobility of these mechanisms.
Cam joint Mechanism #1
Mechanism #2
FIGURE P.2.2 Planar mechanisms.
Mechanism #3
19
Mobility of Mechanisms
Coupler (L2)
Follower (L3) Crank (L1)
Ground (L0)
FIGURE P.2.3 Planar four-bar linkage. R
R
R
R
R
S
RRRR (Bennett’s linkage)
R
C
S S R R
R
4R Spherical
RSSR-SS
RCCC S
S
S
S
S C
S
S
C
R
R
R RSSR
C
R
S
S
RRSS
R
R
S
R
S
C R
R RRSC
RSSR-SC
R
P
R Spatial slider-crank
FIGURE P.2.4 Spatial mechanisms comprised of R, P, C, and S joints.
2.8 Euler’s buckling load ( F ) for a columnar member with pinned ends is F=
π2 EI L2
where E, I, and L are the modulus of elasticity, moment of inertia, and length, respectively, of the columnar member. Formulate an equation from Euler’s equation and Figure P.2.5 to calculate the transmission angle corresponding
20
er
ow
F foll
Ffollo
τ
wer sin(τ)
τ
Ffollowe cos( τ) r
Mechanism Design: Visual and Programmable Approaches
1/4 in. A 12 in.
A
1/4 in. Section A-A Material: aluminum
FIGURE P.2.5 Planar four-bar mechanism with transmission angle and crank and follower loads.
to the follower link buckling load. Calculate the transmission angle for a follower length of 12 in. (0.3048 m), a ¼ in. (0.635 cm) square follower cross section, a modulus of elasticity (for aluminum) of 10,000,000 psi (68.05 GPa) and a follower load ( Ffollower ) of 250 lbf (1112.05 N). 2.9 Maverick mechanisms are mechanisms that defy Gruebler’s equation (Gruebler’s equation will produce misleading results for maverick mechanisms). Passive degrees of freedom are localized DOFs that have no effect on the overall mechanism kinematics. Determine which mechanisms in Figure P.2.4 are maverick mechanisms and locate the passive DOFs from among the mechanisms in Figure P.2.4. 2.10 Compile a table of 2 DOF planar mechanisms having 4 and 5 links (considering cam or gear joints as J2). Illustrate one four-bar mechanism solution and one five-bar mechanism solution.
REFERENCES 1. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, p. 4. Englewood Cliffs, NJ: Prentice Hall. 2. Ibid., pp. 10–11. 3. Norton, R.L. 2008. Design of Machinery, 4th edn., p. 123. New York: McGraw-Hill. 4. Ibid., pp. 32–36. 5. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, p. 64. Englewood Cliffs, NJ: Prentice Hall. 6. Ibid., pp. 64–75. 7. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 42–46. New York: McGraw-Hill. 8. Ibid., p. 58. 9. Wilson, C.E. and J. Peter Sadler. 2003. Kinematics and Dynamics of Machinery, 3rd edn., p. 33. Upper Saddle River, NJ: Prentice Hall.
3
Kinematics of Planar Mechanisms
3.1 KINEMATIC ANALYSIS OF PLANAR MECHANISMS In a kinematic analysis, positions, displacements, velocities, and accelerations of mechanism link locations of interest are determined either qualitatively or quantitatively. In a quantitative kinematic analysis, equations that fully describe the motion and higher order quantities of each mechanism link are used.* As intended by the authors, the kinematic analysis methods presented in this text are all quantitative. Kinematic equations for the planar four-bar mechanism, slider-crank mechanism, and Stephenson III mechanism are formulated in this chapter. Displacement equations are formulated by taking the sum of the closed vector loop(s) in each mechanism [1]. Taking the first and second derivatives of the vector loop sum displacement equation ultimately produce equations that include velocity and acceleration terms, respectively, for the mechanism links.
3.2 FOUR-BAR MECHANISM ANALYSIS 3.2.1 Four-Bar Displacement Equation The planar four-bar mechanism consists of four links interconnected by revolute joints. As calculated from Gruebler’s equation for planar mechanisms (with L = 4 and J1 = 4), the planar four-bar mechanism has a single DOF. A single planar four-bar displacement equation is derived by taking the sum of the planar four-bar mechanism vector loop in Figure 3.1.† The equation produced from a clockwise vector loop sum is
W1e (
i θ+β j )
+ V1e (
i ρ+α j )
− U1e (
i σ+ γ j )
− G1 = 0 (3.1)
After expanding Equation 3.1 and grouping its real and imaginary terms as separate equations, the resulting planar four-bar mechanism displacement equations become f1 ( α j , γ j ) = W1 cos ( θ + β j ) + V1 cos ( ρ + α j ) − U1 cos ( σ + γ j ) − G1x = 0
f2 ( α j , γ j ) = W1 sin ( θ + β j ) + V1 sin ( ρ + α j ) − U1 sin ( σ + γ j ) − G1y = 0
(3.2)
* Qualitative methods include constructing and measuring mechanism schematics and polygons to determine the positions, velocities, and accelerations of mechanism link locations of interest. † This procedure for formulating kinematic equations for mechanisms is called the method of vector loop closure.
21
22
Mechanism Design: Visual and Programmable Approaches V1
ρ αj
U1 W1
βj
γj
iY
σ
θ X
G1
FIGURE 3.1 Planar four-bar mechanism displacement equation variables.
With the exception of the coupler and follower displacement angles (angles αj and γj, respectively), all other variables in the planar four-bar displacement equations are user-prescribed. Because equations f1 ( α j , γ j ) and f2 ( α j , γ j ) in Equation 3.2 both include the unknown displacement angles αj and γj, these equations form a set of nonlinear equations from which the unknown angles αj and γj are calculated.*,†
3.2.2 Four-Bar Velocity Equation A single planar four-bar velocity equation is derived by differentiating the planar four-bar displacement equation. Differentiating Equation 3.1 with respect to time produces
i θ+β i ρ+α i σ+ γ β jW1e ( j ) + α jV1e ( j ) − γ jU1e ( j ) = 0 (3.3)
After expanding Equation 3.3 and grouping its real and imaginary terms as separate equations, the planar four-bar mechanism velocity equation in matrix form becomes
V1 cos ( ρ + α j ) V1 sin ( ρ + α j )
W1 cos ( θ + β j ) −U1 cos ( σ + γ j ) α j = −β j (3.4) −U1 sin ( σ + γ j ) γ j W1 sin ( θ + β j )
By including the unknowns calculated from the displacement equations and the prescribed mechanism variables in Equation 3.4, this equation can be used to directly calculate the coupler and follower angular velocities α˙j and γ˙j, respectively.
* While analytical solutions are possible for sets of linear equations (e.g., Cramer’s rule), a numerical root-finding method (e.g., Newton’s method) must be used to solve sets of nonlinear equations. † It can be seen in the textbook reference Design of Machinery (Fourth Edition by R. L. Norton) that with a substantial amount of algebraic manipulation, analytical planar four-bar displacement equations can be formulated.
23
Kinematics of Planar Mechanisms
3.2.3 Four-Bar Acceleration Equation A planar four-bar acceleration equation is derived by differentiating the planar fourbar velocity equation. Time differentiation of Equation 3.3 produces
i θ+β jW1ei ( θ +β j ) + α 2jV1ei (ρ + α j ) + α jV1ei (ρ + α j ) − γ 2jU1ei ( σ + γ j ) − γ j U1ei ( σ + γ j ) = 0 β 2j W1e ( j ) + β
(3.5)
After expanding Equation 3.5 and grouping its real and imaginary terms as separate equations, the planar four-bar mechanism acceleration equation in matrix form becomes V1 cos ( ρ + α j ) V1 sin ( ρ + α j )
W cos ( θ + β j ) 2 U1 cos ( σ + γ j ) V1 cos ( ρ + α j ) j 1 = − β 2j + β + γ j − α 2j (3.6) W1 sin ( θ + β j ) U1 sin ( σ + γ j ) V1 sin ( ρ + α j )
(
j −U1 cos ( σ + γ j ) α −U1 sin ( σ + γ j ) γ j
)
By including the unknowns calculated from the displacement equations, the velocity equations and the prescribed mechanism variables in Equation 3.4, this equation can be used to directly calculate the coupler and follower angular accelerations α¨j and γ¨j, respectively. Example 3.1 Problem Statement: Determine if the two door linkage configurations in Table E.3.1 (Figure E.3.1a and b) will operate properly as the door closes. Known Information: Equation 3.2, Table E.3.1, and displacement angle range for crank link. Solution Approach: One way to determine the operability of the door linkage configurations is to calculate their coupler link (or follower link) displacement angles throughout the entire crank link rotation range and check for discontinuities among the coupler or follower displacement angle values.* Equation 3.2 is used to
TABLE E.3.1 Door Linkage Assembly Configurations (Dimensionless Link Lengths) Configuration 1 2
W1, θ
V1, ρ
U1, σ
G1x, G1y
10, −90° 8, −90°
8, 8.9743° 8, 1.4850°
9, −103.4799° 9, −120.0198°
10, 0 12.5, 0
* This discontinuity is often displayed numerically in commercial software as a complex number.
24
Mechanism Design: Visual and Programmable Approaches Header G1
Door closer
Door
U1
iY
V1 X 90°
Door
Hinge
Door closer
W1
Header
(a)
(b)
FIGURE E.3.1 (a) Door linkage and (b) kinematic model of four-bar door linkage. calculate the coupler and follower link displacement angles αj and γj, respectively. The crank rotation range corresponding to Figure E.3.1b is 0° (door fully open) to 90° (door fully closed). Figure E.3.2 illustrates the calculated coupler link displacement angles with respect to the door (or crank) rotation angle ( β ) as the door closes. With configuration 1, a discontinuity appears after the door rotates 84° (or as the crank exceeds an 84° displacement angle). These discontinuities physically correspond to a mechanism “lock-up” or binding position (requiring mechanism disassembly and reassembly to pass through).* Using configuration 1, the door cannot close completely. In contrast, configuration 2 produces a coupler displacement angle curve that is continuous throughout the entire 90° door rotation range. Using configuration 2, the door closes completely.
* The lock-up state of the mechanism is associated with the circuit defect—a condition requiring mechanism disassembly and reassembly to pass through.
25
Kinematics of Planar Mechanisms 0° –15°
Config. 1 Config. 2
–30° –45° –60° –75° α –90° –105° –120° –135° –150° –165° –180° 0°
9° 18° 27° 36° 45° 54° 63° 72° 81° 90° β
FIGURE E.3.2 Coupler displacement angles for configurations 1 and 2.
3.3 SLIDER-CRANK MECHANISM ANALYSIS 3.3.1 Slider-Crank Displacement Equation The planar slider-crank mechanism consists of four links interconnected by revolute joints with the slider link connected to ground by a prismatic joint. As calculated from Gruebler’s equation for planar mechanisms (with L = 4 and J1 = 4), the planar slider-crank mechanism (like the planar four-bar mechanism) has a mobility of 1 or a single DOF. Taking the clockwise sum of the slider-crank mechanism vector loop in Figure 3.2 produces
W1e (
i θ+β j )
+ V1e (
i ρ+α j )
− U1 − G j = 0 (3.7)
26
Mechanism Design: Visual and Programmable Approaches αj ρ W1
βj iY
θ X
V1
U1 Gj
FIGURE 3.2 Slider-crank mechanism displacement equation variables.
As illustrated in Figure 3.2, vector U1 only has an imaginary component and vector Gj only has a real component (the sliding distance in the x-direction of the slider).* After expanding Equation 3.7 and grouping the real and imaginary terms as separate equations, the slider-crank displacement equations become f1 ( α j , G jx ) = W1 cos ( θ + β j ) + V1 cos ( ρ + α j ) − G jx = 0
f2 ( α j ) = W1 sin ( θ + β j ) + V1 sin ( ρ + α j ) − U1y = 0
(3.8)
With the exception of the coupler displacement angle and slider displacement magnitude (variables αj and Gjx, respectively), all other variables in the slider-crank displacement equations are user-prescribed. Unlike Equation 3.2 which requires a numerical solution (at least in its given form), an analytical solution can be produced for Equation 3.8. The imaginary term equation f2 ( α j ) can be rearranged so that
U1y − W1 sin ( θ + β j ) α j = sin −1 − ρ (3.9) V1
The coupler angle solutions from Equation 3.9 are used in f1 ( α j , G jx ) and the corresponding sliding distances Gjx are calculated.
3.3.2 Slider-Crank Velocity Equation A slider-crank velocity equation is derived by differentiating the displacement vector loop sum equation. Differentiating Equation 3.7 with respect to time produces
i θ+β i ρ+α β jW1e ( j ) + α jV1e ( j ) − G jx = 0 (3.10)
After expanding Equation 3.10 and grouping the real and imaginary terms as separate equations, the slider-crank velocity equation in matrix form becomes
* Having a zero U1 produces an in-line slider crank (a nonzero U1 produces an offset slider crank).
27
Kinematics of Planar Mechanisms
V1 cos ( ρ + α j ) V1 sin ( ρ + α j )
W1 cos ( θ + β j ) −1 α j = −β j (3.11) 0 G jx W1 sin ( θ + β j )
By including the unknowns calculated from the displacement equations and the prescribed mechanism variables in Equation 3.11, this equation can be used to directly calculate the coupler angular velocity and slider velocity α˙j and G˙ jx, respectively.
3.3.3 Slider-Crank Acceleration Equation A slider-crank acceleration equation is derived by differentiating the velocity vector loop sum equation. Time differentiation of Equation 3.10 produces
i θ+β jW1ei ( θ +β j ) + α 2jV1ei (ρ + α j ) + α jx = 0 (3.12) jV1ei (ρ + α j ) − G β 2j W1e ( j ) + β
After expanding Equation 3.12 and grouping the real and imaginary terms as separate equations, the slider-crank acceleration equation in matrix form becomes V1 cos ( ρ + α j ) V1 sin ( ρ + α j )
j −1 α j = − β 2j + β 0 G jx
(
W1 cos ( θ + β j )
) W sin ( θ + β ) − α
1
j
2 j
V1 cos ( ρ + α j ) V1 sin ( ρ + α j ) (3.13)
By including the unknowns calculated from the displacement equations, the velocity equations, and the prescribed mechanism variables in Equation 3.13, this equation can be used to directly calculate the coupler angular acceleration and slider acceleration α¨j and G¨jx, respectively. Example 3.2 Problem Statement: Plot the displacement, velocity, and acceleration profiles for the piston in the crankshaft-connecting rod-piston linkage (Figure E.3.3).
Y
W1
V1
X
Gj
FIGURE E.3.3 Crankshaft-connecting rod-piston linkage.
28
Mechanism Design: Visual and Programmable Approaches
TABLE E.3.2 Slider-Crank Mechanism Assembly Configuration (Dimensionless Link Lengths) W1, θ
V1, ρ
β˙
β¨
1, 45°
1.5, −28.1255°
100 rad/s
0 rad/s2
The mechanism assembly configuration and driving link parameters are given in Table E.3.2. Known Information: Equations 3.8, 3.9, 3.11, 3.13 and Table E.3.2. Solution Approach: As illustrated in Figure E.3.3, the crankshaft-connecting rodpiston linkage is an in-line slider crank mechanism (therefore U1 = 0). Because variable Gx corresponds to piston displacement, the displacement, velocity, and acceleration profiles of the piston can be produced by calculating and plotting Gx, G˙x, and G¨x, respectively. The outputs calculated from Equation 3.9 are used in Equation 3.11 to calculate G˙x. The outputs calculated from Equations 3.9 and 3.11 are used in Equation 3.13 to calculate G¨x. Figure E.3.4 illustrates the piston displacement, velocity, and acceleration profiles with respect to the crank rotation angle ( β ) over a 720° crank rotation range.
Gjx
2.5
73.6
2.1
44.2
1.7
.
Gjx
1.3 0.9 0.5
(a)
14.7 –14.7 –44.2
0°
120° 240° 360° 480° 600° 720° β
(b)
–73.6 0°
120° 240° 360° 480° 600° 720° β
3544 1635 .. –274 Gjx –2182
–4091 –6000 (c)
0°
120° 240° 360° 480° 600° 720° β
FIGURE E.3.4 Piston (a) displacement, (b) velocity, and (c) acceleration profiles.
29
Kinematics of Planar Mechanisms
3.4 MULTILOOP MECHANISM ANALYSIS Figure 3.3 includes several planar multiloop six-bar mechanism classifications. In particular, this figure includes mechanism classifications introduced by Watt and Stephenson [2]. In comparison to the planar four-bar mechanism, which has only one link (the coupler link) that undergoes complex motion, planar multiloop six-bar mechanisms can have at least two links that undergo complex motion. The ability to achieve this motion can be particularly useful for rigid-body guidance in motion-specific tasks and path-specific tasks. Also, with the Watt II and Stephenson III mechanisms, three links undergo pure rotation (as opposed to only two links with the planar four-bar mechanism). Additionally, the Watt and Stephenson six-bar mechanisms all have a single degree of freedom. Given these qualities, the Watt and Stephenson mechanisms can provide potential solutions for tasks requiring multiple, simultaneously guided rigid bodies. Planar rigid-body guidance and planar six-bar rigid-body guidance are covered in detail in Chapters 4 and 5, respectively.
Watt I
Stephenson I
Watt II
Stephenson II
FIGURE 3.3 Watt and Stephenson six-bar mechanisms.
Stephenson III
30
Mechanism Design: Visual and Programmable Approaches
Example 3.3 Problem Statement: Derive displacement, velocity, and acceleration equations for the Stephenson III mechanism. Known Information: Vector loop closure method and established notation for mechanism dyad variables. Solution Approach: To derive complete displacement equations for a mechanism using the vector loop closure method, the user must establish vectors for each mechanism loop and notation for all vector loop variables. Once the mechanism vector loops and variables have been established, the procedure merely involves taking the vector loop sum to derive a displacement equation for each vector loop and grouping the real and imaginary terms as separate equations. Differentiating a displacement equation produces a velocity equation (and so on for acceleration). The Stephenson III mechanism is a planar four-bar mechanism with an additional dyad attached to the coupler link (Figure E.3.5). As a result, the planar four-bar displacement equation in Section 3.2 along with a displacement equation for the additional dyad (the U1* − V1* dyad in Figure E.3.5) can be used to model the entire Stephenson III mechanism. Taking the clockwise sum of the vector loop that includes variables U1, S1, V1*, U1*, and G1* produces
(
)
i σ+ γ i ψ+α i ρ* + α j *) i σ* + γ j *) f α*j ,γ*j = U1e ( j ) + S1e ( j ) + V1*e ( − U1*e ( − G1* = 0 (3.14)
Velocity and acceleration equations are derived by taking the first and second derivatives of the displacement equation, respectively. Differentiating Equation 3.14 with respect to time produces
(
)
i (σ i (ρ + α j ) i σ+ γ i ψ+α f α *j , γ *j = γ jU1e ( j ) + α j S1e ( j ) + α *j V1*e − γ *j U1*e *
Sj
*
+ γ *j
) = 0 (3.15)
V*1
ρ*
V*j
*
α*j S1
U*j
αj
U*1
ψ γ*j Uj
γj
σ*
U1 σ
iY
G*1
X
FIGURE E.3.5 Stephenson III mechanism dyad displacement equation variables.
31
Kinematics of Planar Mechanisms Differentiating Equation 3.15 with respect to time produces
(
)
j S1e i ( ψ + α j ) *j , γ *j = γ 2j U1e i ( σ + γ j ) + γ jU1e i ( σ + γ j ) + α 2j S1e i ( ψ + α j ) + α f α
( )
( + α *j V1*e 2
i ρ* + α*j
( )
) + α *V *ei (ρ* + α*j ) − γ * 2 U*ei ( σ* + γ*j ) − γ*U*ei ( σ* + γ*j ) = 0 j 1 1 j j 1
(3.16)
Grouping the real and imaginary terms in these kinematic equations as separate equations produces sets of nonlinear simultaneous equations from which the unknown displacement, velocity, and acceleration variables are calculated numerically.
3.5 KINEMATICS OF MECHANISM LOCATIONS OF INTEREST In kinematic analyses it is often necessary to calculate the positions, displacements, velocities, and accelerations of particular mechanism link locations that are not directly specified in the kinematic equations. For example, knowing the path traced by a particular point on the coupler link is critical in four-bar path generator design and analysis.* To derive a displacement equation of any location of interest on a mechanism, a vector loop equation that includes the mechanism location of interest is formulated. The velocities and accelerations of the mechanism location of interest can be calculated from velocity and acceleration equations—the first and second derivatives, respectively, of the vector loop displacement equation. Example 3.4 Problem Statement: Plot the path traced by point p on the level-luffing crane (Figure E.3.6). The mechanism assembly configuration is given in Table E.3.3. Known Information: Equation 3.2 and Table E.3.3. Solution Approach: Because the given planar four-bar mechanism configuration is a non-Grashof type, it cannot exhibit full crank link rotation. Using Equation 3.2, the crank rotation range and corresponding coupler rotation range are calculated. The vector loop equation to define point p on the crane is
p j = W1e (
i θ +β j )
(
i ρ* + αj
+ L1e
) (3.17)
After expanding Equation 3.17 and grouping the real and imaginary terms, the resulting displacement equation for the luffing crane point becomes
(
pxj = W1 cos ( θ + β j ) + L1 cos ρ* + α j
(
pyj = W1 sin ( θ + β j ) + L1 sin ρ* + α j
)
) (3.18)
* A path generator (introduced in Chapter 5) is a mechanism designed to achieve or approximate a given series of coupler path points.
32
Mechanism Design: Visual and Programmable Approaches V1
W1
L1 p
iY X
FIGURE E.3.6 Level-luffing crane mechanism.
TABLE E.3.3 Level-Luffing Crane Mechanism Assembly Configuration for (Dimensionless Link Lengths) W1, θ 1.96, 47.4041°
V1, ρ
U1, σ
G1x, G1y
L1, ρ*
0.33, −51.6935°
2.09, 63.7721°
0.6075, 0.6909
1.19, −51.6935°
The prescribed βj values and calculated αj values from Equation 3.2—the fourbar displacement equations—are included in Equation 3.18 to calculate the path traced by p. In this particular mechanism configuration the angles for V1 and L1 are identical because both vectors are parallel.* Figure E.3.7 illustrates the path traced by the coupler point p using Equation 3.18 for the crank displacement angle range β j = 10 , 9 , − 32 . Figure E.3.8 illustrates the level-luffing crane configuration with the calculated path. The lightly shaded section of curve in this figure is useful for leveling applications because this section maintains a near-constant level.
* The angles for V1 and L1 (angles ρ and ρ*) turn out to be identical in this example problem. Identical values for these angles are not required.
33
Kinematics of Planar Mechanisms 1.70 1.36 py
1.02 0.68 0.34 0 1.13
1.55
1.97
2.39
2.81
3.23
px
FIGURE E.3.7 Path traced by point p on the level-luffing crane mechanism.
p iY
Section of curve for leveling applications X
FIGURE E.3.8 Level-luffing crane mechanism with calculated coupler curve path.
3.6 SOLUTION METHOD FOR VECTOR LOOP KINEMATIC EQUATIONS The displacement, velocity, and acceleration equations presented in this chapter each form a set of two nonlinear equations having two unknown variables. Using a rootfinding method (a method for calculating the unknown variables in a set of nonlinear equations), the kinematic equations formulated in this chapter are solved numerically [3].* The Newton–Raphson method is one of the most common root-finding methods. A Newton–Raphson method flowchart for a system of two equations and two unknowns is illustrated in Figure 3.4. * Although a root-finding method could be applied to the slider-crank displacement model in Section 3.3, it is not necessary because an algebraic solution formulation for the coupler angle is provided.
34
Mechanism Design: Visual and Programmable Approaches
Initial values V1, V2 ∂f1 ∂V1 ∂f2 ∂V1
∂f1 ∂V2 ∂f2 ∂V2
δV1 δV2
=–
f1(V1, V2) f2(V1, V2)
V1 = V1 + δV1
V2 = V2 + δV2
f1(V1,V2) < ε and
No
f2(V1,V2) < ε Yes V1, V2
FIGURE 3.4 Newton–Raphson method flowchart (for two equations and two unknowns).
Given a system of two equations (f1 and f 2) having two unknowns (V1 and V2) where f1 (V1, V2 ) = 0 and f2 (V1, V2 ) = 0 , Figure 3.4 begins with specifying initial values for the unknown variables. The unknown variable residuals δV1 and δV2 are then calculated (by computing the product of the inverted Jacobian and the negative column matrix of f1 (V1, V2 ) and f2 (V1, V2 )). Updated values for the unknown variables are calculated by adding the variable residuals to the unknown variables and f1 and f 2 are calculated using the updated variables. As shown in Figure 3.4, the variables are updated repeatedly until the values calculated from the two equations (with the latest variable values) are smaller than a specified error term ε. Although one can codify Figure 3.4 to solve the kinematic models in this chapter, the Newton–Raphson method (among other root-finding formulas) is employed in some of today’s commercial mathematical analysis software including Mathcad®, Mathematica®, and MATLAB®.
3.7 PLANAR KINEMATIC MODELING IN MATLAB® AND SIMMECHANICS® SimMechanics® is a multibody mechanical modeling and simulation package that complements MATLAB. A library of MATLAB and SimMechanics files is available
35
Kinematics of Planar Mechanisms
for download at www.crcpress.com to conduct displacement, velocity, and acceleration analyses on the planar four-bar mechanism, the slider-crank mechanism, and the Stephenson III mechanism. With these files, the user inputs the mechanism link dimensions and driving link parameters (e.g., crank displacements, velocities, and/or accelerations) and measures the calculated displacements, velocities, and/or accelerations of the mechanism locations of interest. Additionally, the motion of the mechanism itself is simulated. The MATLAB and SimMechanics file user instructions for the four-bar, slider-crank, and Stephenson III mechanisms are given in Appendices G.1, G.2, and G.3, respectively. The MATLAB and SimMechanics files enable the user to efficiently conduct planar four-bar, slider-crank, and Stephenson III mechanism kinematic analyses. It should be noted that the principle of vector loop closure is applied in the MATLAB and SimMechanics files. Example 3.5 Problem Statement: Plot the path traced at the tip of the coupler vector L1 of the planar four-bar mechanism in Figure E.3.9 for a complete crank link rotation. Also simulate the motion of this mechanism. Known Information: Figure E.3.9, Appendix G.1 MATLAB, and SimMechanics files. Solution Approach: The values for vectors W1, V1, U1, G1, and L1 given in Figure E.3.9 were specified in the Appendix G.1 MATLAB file. The default values for the crank link rotation range (1°…360°) and crank rotation increment (1°) were also used. After running the Appendix G.1 MATLAB file, a graphical user interface appears where the motion for the given four-bar mechanism is simulated and files are written (in a format that is compatible with Microsoft® Excel) that include calculated coupler and follower link displacement, velocity, and acceleration data at each crank link rotation increment. Figure E.3.10 illustrates the given planar four-bar mechanism and the calculated coupler point path traced.
L1=1.5ei60° V1=1.5ei4.241°
W1=ei90°
U1=1.5ei88.2046°
G1=1.5e–i15°
FIGURE E.3.9 Planar four-bar mechanism.
36
Mechanism Design: Visual and Programmable Approaches
L1 V1 W1
G1
FIGURE E.3.10 Planar four-bar mechanism and coupler point path.
Example 3.6 Problem Statement: Plot slider position, velocity, and acceleration versus crank angular displacement plots for the slider-crank mechanism in Figure E.3.11 for a complete crank rotation. The angular velocity and acceleration of the crank link are 1 rad/s and 0.1 rad/s2, respectively. Also simulate the motion of this mechanism. Known Information: Figure E.3.11, Appendix G.2 MATLAB, and SimMechanics files. Solution Approach: The values for vectors W1, V1, U1, and G1 given in Figure E.3.11 were specified in the Appendix G.2 MATLAB file. The default values for the crank rotation range (1°…360°) and crank rotation increment (1°) were used in addition to the specified crank angular velocity and angular acceleration. After running the Appendix G.2 MATLAB file, a graphical user interface appears where the motion of the given slider-crank mechanism is simulated and files are written (in a format that is compatible with Microsoft Excel) that include the position, velocity, and acceleration data for the slider link at each crank rotation increment. Figure E.3.12 illustrates the slider position, velocity, and acceleration versus crank displacement angle plots for the given slider-crank mechanism.
V1=3e–i33.5573°
W1=ei90° G1=2.5ei0°
FIGURE E.3.11 Slider-crank mechanism.
U1=0.6583e–i90°
37
Kinematics of Planar Mechanisms
Gjx
3.9
1.01
3.5
0.57
3.1 2.7
. 0.14 Gjx –0.30
2.3
–0.73
1.9 0°
60°
(a)
120° 180° 240° 300° 360°
–1.17 0°
60°
120° 180° 240° 300° 360°
(b)
β
β
0.82 0.38 .. –0.06 Gjx –0.50 –0.94 –1.38 0° (c)
60°
120° 180° 240° 300° 360° β
FIGURE E.3.12 Slider (a) position, (b) velocity, and (a) acceleration plots.
Example 3.7 Problem Statement: Attaching the dyad to the planar four-bar mechanism in Example 3.5 (resulting in the Stephenson III mechanism in Figure E.3.13), deter* mine the positions of vector V1 over a complete crank rotation (at 45° rotation increments). Also simulate the motion of this mechanism. Known Information: Example 3.5, Figure E.3.13, Appendix G.3 MATLAB, and SimMechanics files. Solution Approach: The vector values from Example 3.5 and the values for vectors V1* and U1* given in Figure E.3.13 were specified in the Appendix G.3 MATLAB file. The default values for the crank rotation range (1°…360°), crank rotation increment (1°) were also used. After running the Appendix G.3 MATLAB file, a graphical user interface appears where the motion of the given Stephenson III mechanism is simulated and files are written (in a format that is compatible with Microsoft Excel) that include angular position, velocity, and acceleration data for the U1* − V1* dyad at each crank rotation increment. One way to define the position of vector V1* is to calculate its starting point (W1 + L1) and its displacement angle. Table E.3.4 includes this data for vector V1* at 45° crank rotation increments.
38
Mechanism Design: Visual and Programmable Approaches
V1*= 3.5e–i24.0302°
L1 V1 W1
U1 G1 U1*= 3.5ei67.2115° G1*= 2.2923e–i59.8309°
FIGURE E.3.13 Stephenson III mechanism.
TABLE E.3.4 Position Data for Stephenson III Mechanism Dyad Vector V1* Crank Rotation Increment 45° 90° 135° 180° 225° 270° 315°
W1 + L1
V1* Displacement Angle
−0.0757, 2.0677 −0.7655, 1.4816 −1.1601, 0.7229 −1.0975, 0.0225 −0.6342, −0.0356 0.9087, 1.4972 1.3718, 2.0518
7.5767° 18.4380° 30.6990° 42.2680° 43.5600° 10.6880° −1.2540°
3.8 SUMMARY The method of vector loop closure is employed in this chapter to formulate kinematic equations for the planar four-bar mechanism, slider-crank mechanism, and Stephenson III mechanism. With this method, a sum of the closed loop of mechanism link vectors is taken (where the vectors are expressed in complex form), expanded, grouped into real and imaginary components, and expressed as a set of two equations to calculate two unknown mechanism variables. With this approach, equations that fully describe the position, displacement, velocity, and acceleration of
39
Kinematics of Planar Mechanisms
each mechanism link are formulated. Taking the first and second derivatives of the mechanism displacement equations produces velocity and acceleration equations, respectively. The unknown variables calculated from these kinematic equations can be used in additional vector loop equations to calculate the positions, displacements, velocities, and accelerations of additional mechanism locations of interest. The Newton–Raphson method is a classical approach to solve vector loop kinematic equations. Appendix G MATLAB and SimMechanics files are available for download at www.crcpress.com from which the user can conduct displacement, velocity, and acceleration analyses on planar four-bar mechanisms, slider-crank mechanisms, and Stephenson III mechanisms as well as simulate mechanism motion.
PROBLEMS 3.1 Derive vector loop-based displacement, velocity, and acceleration equations for the Watt II mechanism in Figure P.3.1. Include displacement velocity and acceleration equations for rigid-body points A and B. 3.2 Figure P.3.2 illustrates a Watt II mechanism used in a concept adjustable chair. Calculate the corresponding angular displacements of the head-rest V1 * and leg-rest V1 components for a given 20° angular displacement of the base-rest component (hint: solve Watt II mechanism as two planar four-bar linkages). The base rest includes vectors U and W* .
( )
( )
( ) 1
( ) 1
3.3 Produce piston velocity versus crankshaft rotation plots for the engine linkage illustrated in Figure P.3.3 at crankshaft speeds of 1000, 1750, and 3500 rpm (104.72, 183.26, and 366.52 rad/s). The ratio of the coupler length to the crank length is 3:1. 3.4 Derive vector loop-based displacement, velocity, and acceleration equations for the Watt I mechanism in Figure P.3.4. Include displacement velocity and acceleration equations for rigid-body points A, B, and C. 3.5 Calculate the rotation range of the designated coupler link in the planar fourbar folding chair linkage from the fully opened position to the fully closed position illustrated in Figure P.3.5. A B
FIGURE P.3.1 Watt II mechanism (with rigid-body points A and B).
40
Mechanism Design: Visual and Programmable Approaches
He
ad
res
Leg rest
t st
e re
Bas
V1 Upright chair position
W1
U1
W1* G1*
U 1*
G1
V1*
Kinematic model of chair
Reclined chair position
W1 = 14.4058 e i106.7890°
W1* = 5.6205 e i55.8312°
V1 = 8.4720 e –i82.2800°
V1* = 7.3182 e–i75.5803°
U1 = 5.6205 e i124.1688°
U1* = 5.8371 e –i70.3427°
G1 = 0.7581 e i79.0948°
G1* = 4.2959 e i45.4161°
FIGURE P.3.2 Watt II mechanism used in an adjustable chair.
Y
W1
V1
X
GJ
FIGURE P.3.3 Slider-crank mechanism used in a crankshaft-connecting rod-piston mechanism.
3.6 Determine if the two folding chair linkage designs illustrated in Figure P.3.6 will produce properly folded chairs and if not, why? 3.7 Produce a velocity magnitude versus crank angular displacement plot and an acceleration magnitude versus crank angular displacement plot for point p of the leveling crane illustrated in Figure P.3.7 over a −35° crank rotation range (where crank angular velocity and acceleration are −1 rad/s and −0.1 rad/s2, respectively).
41
Kinematics of Planar Mechanisms B
A
C
FIGURE P.3.4 Watt I mechanism (with rigid-body points A, B, and C).
W1 = 0.9e i114.9258° V1 = 1.7e
V1
i150.8005°
U1 = 1.6e i74.2502° G1 = 2.3e i177.3687°
U1
W1 G1 Fully opened position
101.7001°
Fully closed position
FIGURE P.3.5 Folding chair linkage in (left) fully opened and (right) fully closed positions.
42
Mechanism Design: Visual and Programmable Approaches
Design #1
V1
W1 = 2.4007e i114.9258°
U1
V1 = 2.4220e i161.9564°
W1
U1 = 2.8463e i74.2502°
G1
G1 = 4.0916e i177.3687°
Design #2
V1
W1 = 1.6011e i114.9258°
U1
V1 = 3.3512e i135.6149°
W1
U1 = 4.6515e i74.2502°
G1
G1 = 4.3855e i188.9315°
FIGURE P.3.6 Folding chair linkage designs.
V1
L1
W1
p U1 Link vectors W1 = 7 at 57.4041° G1
V1 = 1 at –71.9051°
L1 = 2.9 at –71.9051° U1 = 7.5 at 73.7351° G1 = 3 at –48.6752°
FIGURE P.3.7 Leveling crane.
43
Kinematics of Planar Mechanisms
3.8 Derive vector loop-based displacement, velocity, and acceleration equations for the Stephenson I mechanism in Figure P.3.8. Include displacement velocity and acceleration equations for rigid-body points A, B, and C. 3.9 Figure P.3.9 illustrates a planar four-bar mechanism used as a brake. Calculate the driver displacement angles corresponding to the minimum and maximum transmission angle (and subsequently the minimum and maximum buckling load). From Figure 3.1, a transmission angle (τ) equation is U ⋅ V = U V cos τ. C B
A
FIGURE P.3.8 Stephenson I mechanism (with rigid-body points A, B, and C).
Normal breaking force Brake pad
τ
V1 W1 U1
Link lengths Crank=coupler=follower Ground=2
75.84° G1
FIGURE P.3.9 Planar four-bar linkage used as a braking mechanism.
44
Mechanism Design: Visual and Programmable Approaches A C B
FIGURE P.3.10 Stephenson II mechanism (with rigid-body points A, B, and C).
3.10 Derive vector loop-based displacement, velocity, and acceleration equations for the Stephenson II mechanism in Figure P.3.10. Include displacement velocity and acceleration equations for rigid-body points A, B, and C.
REFERENCES 1. Kimbrell, J.T. 1991. Kinematics Analysis and Synthesis, Chapter 2. New York: McGraw-Hill. 2. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 10–16. Englewood Cliffs, NJ: Prentice Hall. 3. Chapra, S.C. and R.P. Canale. 1998. Numerical Methods for Engineers, Chapters 5–8. New York: McGraw-Hill.
ADDITIONAL READING Norton, R.L. 2008. Design of Machinery, 4th edn., Chapter 4. New York: McGraw-Hill. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, p. 64. Englewood Cliffs, NJ: Prentice Hall. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., Chapter 5. Upper Saddle River, NJ: Prentice Hall. Wilson, C.E. and J. Peter Sadler. 2003. Kinematics and Dynamics of Machinery, 3rd edn., Chapter 2. Upper Saddle River, NJ: Prentice Hall.
4
Kinematic Synthesis and Planar Four-Bar Motion Generation
4.1 INTRODUCTION TO KINEMATIC SYNTHESIS In kinematic synthesis, the objective is to calculate the mechanism dimensions required to achieve or approximate prescribed mechanism output parameters.* Calculated mechanism dimensions include link lengths, link positions, and joint coordinates.† Prescribed mechanism output parameters include link positions, path points, and displacement angles. Because the calculated outputs in kinematic synthesis are basically mechanism dimensions, kinematic synthesis is also called dimensional synthesis [1]. In contrast to kinematic analysis—where mechanism dimensions are known and the resulting mechanism output parameters are calculated—in kinematic synthesis, mechanism output parameters are known and the corresponding mechanism dimensions are calculated (Figure 4.1) [2]. Kinematic synthesis includes three distinct subcategories: motion generation, path generation, and function generation (Figure 4.2). In motion generation, mechanism dimensions are calculated to achieve or approximate prescribed rigid-body positions while the prescribed output parameters are rigid-body path points in path generation.‡ In function generation, mechanism dimensions are calculated to achieve or approximate prescribed link displacement angles. Chapters 4 through 6 are dedicated to planar motion, path, and function generation, respectively. An overview of published research in kinematic synthesis will reveal a substantial assortment of qualitative and quantitative methods for motion, path, and function generation [3]. Qualitative methods include graphical techniques which can provide a wealth of information with virtually no computational effort [4]. Quantitative methods include mathematical models that can be solved analytically or numerically by way of solution algorithms and root-finding methods [5]. As intended by the authors, the kinematic synthesis methods presented throughout this textbook are all quantitative.
* Another basic description of kinematic synthesis is the design of a mechanism to produce a desired output motion for a given input motion. † Mechanism links are also called “rigid-bodies” because they are generally assumed rigid (nondeforming) in kinematic synthesis. ‡ In four-bar motion and path generation, the coupler link is the rigid-body for which positions and path points are prescribed.
45
46
Mechanism Design: Visual and Programmable Approaches
sm output para me ani ch
1 1
Y
l1
(x0,y0)
l4
X
l3 (x3,y3)
s ter
M e
anism dimension ech s M (x2,y2) l (x ,y ) 2
Displacements, velocities, accelerations, etc.
Kinematic analysis
output p ara nism m ha c e
anism dimension ech s M (x2,y2) (x ,y ) l2
rs ete
M
(a)
Displacements, velocities, accelerations, etc.
1 1
Kinematic synthesis
l1
Y
(x0,y0)
(b)
FIGURE 4.1 (a) Kinematic analysis versus (b) kinematic synthesis.
l4
X
l3 (x3,y3)
47
Kinematic Synthesis and Planar Four-Bar Motion Generation Prescribed parameters -body position gid s p1 Ri pj αj
pn
Synthesized mechanism Kinematic synthesis pj
αn
Motion generation
y path p -bod oin gid ts Ri pj p1
pn
pn
αj
p1
αn
pj pn
p1
Path generation
Li
s
lar displacem ngu en a t nk
γj
βj
Function generation
where γj = f (βj)
γj
βj where γj = f (βj)
FIGURE 4.2 Subcategories of kinematic synthesis.
4.2 BRANCH AND ORDER DEFECTS Although motion and path generation ensure that the synthesized mechanisms will achieve or approximate prescribed rigid-body output parameters, they do not guarantee the following: • The synthesized mechanism will achieve or approximate the prescribed rigid-body output parameters without a change in its original assembly configuration (thus requiring mechanism disassembly). • The synthesized mechanism will achieve or approximate the prescribed rigid-body output parameters in the intended order.
48
Mechanism Design: Visual and Programmable Approaches c
b
1
2 3
1*
a (a)
c*
d (b)
FIGURE 4.3 (a) Four-bar assembly configurations and (b) branch defect.
These two uncertainties are defects inherent in motion and path generation: mechanism synthesis requiring rigid-body positions and rigid-body path points, respectively. The first noted defect is commonly called a branch defect [6]. Figure 4.3a illustrates the two assembly configurations of a planar four-bar mechanism: configurations a-b-c-d and a-b-c*-d.* In kinematic synthesis, a branch represents the rigid-body positions or path points that are achieved by a single mechanism assembly configuration. When both mechanism assembly configurations are required to achieve all of the rigid-body positions or path points, this can introduce a potential design problem because the mechanism would require disassembly and reassembly from one assembly configuration to the other during operation to achieve all of the prescribed rigid-body outputs.† Figure 4.3b illustrates a planar four-bar branch defect. In this figure, rigid-body positions 1-2-3 are achieved by planar four-bar configuration a-b-c-d while position 1* is achieved by configuration a-b-c*-d. So if the design application requires that this mechanism achieve the positions in the order 1*-1-2-3 continuously, this would not be possible with a single mechanism assembly configuration due to the given branch defect. The second noted defect is commonly called an order defect [7]. When rigid-body positions or path points are prescribed, it is typically desired that the synthesized mechanism achieve the prescribed rigid-body output in the given order in which they were prescribed. If, for example, the rigid-body path points are prescribed in the order 1-2-3-4-1 (Figure 4.4a) but the synthesized mechanism achieves the points in the order 1-2-4-3-1 (Figure 4.4b) this can present a potential problem—especially if the prescribed point order is required to trace a particular coupler curve. As shown in Figure 4.4, the order in which the rigid-body path points are achieved determines the profile of the path achieved. Branch and order defect elimination by way of constraint equations, graphical methods, or particular prescribed values are often employed in motion and * The assembly configurations a-b-c-d and a-b-c*-d of the planar four-bar mechanism are called the open and crossed configurations, respectively. † The branch defect is distinct from the circuit defect (which was briefly noted in Example 3.1 in Chapter 3) although the branch and circuit defect both require mechanism disassembly. With the circuit defect, the mechanism is reassembled in another position of the same assembly configuration (and not from one assembly configuration to another as with the branch defect).
49
Kinematic Synthesis and Planar Four-Bar Motion Generation 3
2
1
4
(a)
3
2
1 (b)
4
FIGURE 4.4 Paths associated with point orders (a) 1–2–3–4–1 and (b) 1–2–4–3–1.
path generation models to produce motion and path generator solutions that are branch defect–free and order defect–free. Several branch and order defect elimination approaches and/or constraints are introduced in Chapters 5, 7, and later in this chapter also.
4.3 MOTION GENERATION: THREE, FOUR, AND FIVE PRECISION POSITIONS Figure 4.5a illustrates a planar four-bar mechanism and several coupler positions achieved by the mechanism. The location and orientation or the position of the coupler is defined by the coordinates of rigid-body point pj and rigid-body displacement angle αj. In motion generation (or quantitative motion generation to be more exact) the mechanism dimensions required to achieve or approximate precision positions are calculated.* To further convey motion generation, Figure 4.5b illustrates the operation sequence of an aircraft landing gear. For effective operation, the aircraft landing gear should be guided from within the airframe to a position where the Airframe
Airframe
p1 pj αj pN
αj
αN
αn Ground (a)
(b)
FIGURE 4.5 (a) Four-bar mechanism and coupler positions and (b) aircraft landing gear example. * Prescribed rigid-body positions are also called precision positions.
50
Mechanism Design: Visual and Programmable Approaches δj
iY pj1 pj Sj
Z1
αj
X
p1
S1
ψ
φ
Zj αj
U1
W1 Wj
βj
Uj θ
γj
σ
FIGURE 4.6 Four-bar mechanism in starting and displaced (dashed) positions.
wheels can properly contact ground. The planar four-bar motion generation equations presented in this section are useful for calculating the four-bar mechanism dimensions required to achieve a set of three, four, or five precision positions. Figure 4.6 illustrates both dyads of a planar four-bar mechanism in a starting position (position 1) and a displaced position (position j). The left- and right-side dyads include the vector chains W-Z and U-S, respectively. By taking the vector sum between the starting and displaced positions for each dyad, vector loop closure equations are derived [8,9]. After taking the counterclockwise vector sum for each dyad (starting with W1 for the left-side dyad and U1 for the right-side dyad), the vector loop closure equations for the four-bar mechanism dyads become
W1eiθ + Z1eiφ + Pj1eiδ j − Z1e (
i φ+ α j )
− W1e (
= 0 (4.1)
U1eiσ + S1eiψ + Pj1eiδ j − S1e (
− U1e (
= 0 (4.2)
i ψ+α j )
i θ+β j )
i σ+ γ j )
where Pj1e j = p j − p1. After factoring the terms for the starting dyad position, the resulting standard form loop closure equations become iδ
(
)
(
)
W1eiθ eiβ j − 1 + Z1eiφ eiα j − 1 = Pj1eiδ j (4.3)
51
Kinematic Synthesis and Planar Four-Bar Motion Generation
(
)
(
U1eiσ eiγ j − 1 + S1eiψ ei
αj
)
iδ − 1 = Pj1e j (4.4)
Expanding Equation 4.3 and grouping the real and imaginary terms as separate equations produces the equation set W1 cos θ ( cos β j − 1) − W1 sin θ sin β j + Z1 cos φ ( cos α j − 1) − Z1 sin φ sin α j = Pj1 cos δ j
W1 sin θ ( cos β j − 1) + W1 cos θ sin β j + Z1 sin φ ( cos α j − 1) + Z1 cos φ sin α j = Pj1 sin δ j
(4.5)
After specifying W1 cos θ = W1x , W1 sin θ = W1y , Z1 cos φ = Z1x , and Z1 sin φ = Z1y , Equation 4.5 becomes W1x ( cos β j − 1) − W1y sin β j + Z1x ( cos α j − 1) − Z1y sin α j = Pj1 cos δ j
W1y ( cos β j − 1) + W1x sin β j + Z1y ( cos α j − 1) + Z1x sin α j = Pj1 sin δ j
(4.6)
Likewise, after separating the real and imaginary terms in the right-side dyad Equation 4.4 and specifying U1 cos σ = U1x , U1 sin σ = U1y , S1 cos ψ = S1x , and S1 sin ψ = S1y , the equation becomes U1x ( cos γ j − 1) − U1y sin γ j + S1x ( cos α j − 1) − S1y sin α j = Pj1 cos δ j
U1y ( cos γ j − 1) + U1x sin γ j + S1y ( cos α j − 1) + S1x sin α j = Pj1 sin δ j
(4.7)
When expressed in matrix form for N precision positions (where j = 2, 3, … N), Equations 4.6 and 4.7 become the following equations, respectively:
cos α j − 1 − sin α j Pj1 cos δ j cos β j − 1 − sin β j W1x sin β cos β − 1 sin α cos α − 1 j j j j W1y Pj1 sin δ j (4.8) = Z1x cos α N − 1 − sin α N P cos δ N cos β N − 1 − sin β N Z1y N 1 PN 1 sin δ N sin β N cos β N − 1 sin α N cos α N − 1
cos α j − 1 − sin α j Pj1 cos δ j cos γ j − 1 − sin γ j U1x sin γ cos γ − 1 sin α cos α − 1 j j j j U1y Pj1 sin δ j = (4.9) S1x cos α N − 1 − sin α N P cos δ N cos γ N − 1 − sin γ N S1y N 1 sin γ N PN 1 sin δ N cos γ N − 1 sin α N cos α N − 1
52
Mechanism Design: Visual and Programmable Approaches
TABLE 4.1 Maximum Number of Solutions for Equation 4.8 for Three, Four, and Five Precision Positions Number of Precision Positions (N ) 3 4 5
Number of Equations
Total Number of Unknowns
Number of Free Choices
Number of Solutions
4 6 8
(6) W1x, W1y, Z1x, Z1y, β2, β3 (7) W1x, W1y, Z1x, Z1y, β2, β3, β4 (8) W1x, W1y, Z1x, Z1y, β2, β3, β4, β5
2 1 0
Infinite Infinite Finite
Although as written, Table 4.1 includes the design variables for the left-side dyad only, this table also corresponds to the right-side dyad (replacing variables W1x, W1y, Z1x, Z1y, and βj with U1x, U1y, S1x, S1y, and γj, respectively). With three precision positions (N = 3 in Table 4.1), Equation 4.8 forms a set of four linear simultaneous equations with four scalar unknown variables that can be calculated using Cramer’s rule. Angles β2 and β3 are the two “free choices” that can be prescribed along with the precision positions (for the right-side dyad, the corresponding free choices are angles γ2 and γ3). With three precision positions, the resulting mechanism not only achieves the precision positions precisely, but does so according to the prescribed dyad displacement angles β and γ. This is known as motion generation with prescribed timing. Prescribed timing offers a solution to the order problem because, by prescribing the dyad displacement angles along with the precision positions, the intended order in which the synthesized mechanism is to achieve the precision positions is ensured. Beyond three precision positions, however, the number of simultaneous equations exceeds the number of scalar dyad unknowns in Equations 4.8 and 4.9. Beyond three precision positions, these equations are no longer square and subsequently cannot be solved by Cramer’s rule. For motion generation with four precision positions, this textbook includes an algorithm (described in Appendix A.1) to analytically calculate β3 and β4 for a prescribed value of β2 [10]. Given the four precision positions, β2, and the algorithm-calculated values for β3 and β4, any four of the resulting six simultaneous equations from Equation 4.8 can be used to solve for W1x, W1y, Z1x, and Z1y. Given a range of β2 values (where 0 ≤ β2 ≤ 2π), a corresponding range of values for W1 and Z1 can be calculated using the algorithm described in Appendix A.1. Knowing that the ungrounded mechanism joints or moving pivots of a planar four-bar mechanism correspond to −Z1 and the grounded mechanism joints or fixed pivots correspond to − ( Z1 + W1 ) , a locus of moving and fixed pivots can be produced from a range of W1 and Z1 solutions (calculated from a range of β2 values). The resulting moving and fixed pivot loci are known as Burmester circle and center points, respectively, and confirm the existence of an infinite number of planar fourbar mechanism solutions given four precision positions as shown in Table 4.1 [11]. A planar four-bar mechanism can be constructed from any two pairs of circle points
Kinematic Synthesis and Planar Four-Bar Motion Generation
53
and center points.* Appendix A.2 includes user instructions for the MATLAB® file to calculate Burmester circle and center points. The MATLAB file itself is available for download at www.crcpress.com. Example 4.1 Problem Statement: Synthesize a planar four-bar mechanism to guide the landing gear through the three precision positions in Figure E.4.1. Known Information: Equations 4.8 and 4.9 and Table E.4.1. Solution Approach: From the prescribed coupler points pj, vectors Pj1 and vector angles δj are calculated.† These variables along with the prescribed dyad displacement angles in Table E.4.1 are used in Equations 4.8 and 4.9 to calculate (through Cramer’s rule) the dyad vectors for the planar four-bar mechanism (W1, Z1, U1, and S1). Table E.4.2 includes the calculated planar four-bar mechanism dyad components. Figure E.4.2 illustrates the resulting planar four-bar mechanism. Being an analytically calculated result, this mechanism achieves the precision positions precisely. p3
α3
p31 p2
iY p1
p21
δ3
δ2
X α2
FIGURE E.4.1 Three precision positions and position parameters for a landing gear. * One circle point–center point pair corresponds to the W1 − Z1 dyad and the U1 − S1 dyad corresponds to the other pair. † P = p − p and δ is the angle vector P makes with the positive x-axis. j1 j 1 j j1
54
Mechanism Design: Visual and Programmable Approaches
TABLE E.4.1 Landing Gear Precision Position Parameters and Dyad Displacement Angles Precision Position 1 2 3
pj
αj [deg.]
βj [deg.]
γj [deg.]
0, 0 0.292, 0.734 0.299, 1.461
−51.7124 −84.9734
18 38
−40 −87
TABLE E.4.2 Calculated Four-Bar Mechanism Dyad Variables W1 2.0580, −0.8057
Z1
U1
S1
−0.1323, 0.1190
0.5805, −1.8616
−1.5051, 1.3402
W1
iY
X Z1 S1
U1
FIGURE E.4.2 Synthesized planar four-bar motion generator.
Example 4.2 Problem Statement: Synthesize a planar four-bar mechanism to guide the landing gear through the four precision positions in Figure E.4.3. Known Information: Appendix A.2 MATLAB file and Table E.4.3. Solution Approach: Precision position variables Pj1 and δj (calculated from the pj values in Table E.4.3) and αj are used in the MATLAB file. The circle and center points illustrated in Figure E.4.4 correspond to the β2-β3-β4 solution for the first mechanism branch (as opposed to the alternate β2 - β3̃ - β4̃ solution for the second mechanism branch).* * The Appendix A.2 MATLAB file calculates circle and center point solutions for both mechanism branches.
Kinematic Synthesis and Planar Four-Bar Motion Generation p4 p3
p2 iY p1
X
FIGURE E.4.3 Four precision positions and position parameters for a landing gear.
TABLE E.4.3 Landing Gear Precision Position Parameters and Dyad Displacement Angles Precision Position 1 2 3 4
pj
αj [deg.]
0, 0 0.292, 0.734 0.251, 1.227 0.299, 1.461
−51.7124 −66.9732 −84.9734
Table E.4.4 includes the mechanism dyad components for the circle and center point pairs selected from the calculated circle and center point curves (also illustrated in Figure E.4.5). To achieve positions 2, 3, and 4, vector W1 (the designated driver link) is rotated by 248°, 242.6542°, and 216.7028° (β2, β3, and β4), respectively. Figure E.4.6 illustrates the resulting planar four-bar mechanism. Because the circle and center points are calculated analytically, the resulting mechanism achieves the precision positions precisely.
55
56
Mechanism Design: Visual and Programmable Approaches 2.80
Center points Circle points
2.40 2.00 1.60 1.20
Y
0.80 0.40 0.00 –0.40 –0.80 –0.20 –1.60 –2.00 –0.35 0.00 0.35 0.70 1.05 1.40 1.75 2.10 2.45 2.80 3.15 X
FIGURE E.4.4 Calculated circle and center points.
TABLE E.4.4 Selected Four-Bar Mechanism Dyad Variables W1 −0.4749, 0.8960
Z1
U1
S1
−0.9778, −1.9919
−0.3579, 1.4148
−1.1992, −2.4951
Kinematic Synthesis and Planar Four-Bar Motion Generation
Center points Circle points U1 p4
W1
p3 p2 iY p1
X
FIGURE E.4.5 Four-bar mechanism selection from circle and center points. S1 U1
W1
Z1 iY X
FIGURE E.4.6 Synthesized planar four-bar motion generator.
57
58
Mechanism Design: Visual and Programmable Approaches
With five precision positions, not only is Cramer’s rule inapplicable for Equation 4.8, but a finite number of solutions exists as shown in Table 4.1. Appendix B.1 includes an algorithm to analytically calculate β2 ∼ β5 [12]. As conveyed in Appendix B.1, for motion generation with five precision positions, four, two, or no real values exist for β2 ∼ β5. This corresponds to the existence of four, two, or no circle–center point pairs (mechanism dyad solutions) or six, two, or no motion generator solutions, respectively. Appendix B.2 includes user instructions for the MATLAB file to calculate circle and center points for five position synthesis. The MATLAB file itself is available for download at www.crcpress.com. Example 4.3 Problem Statement: Synthesize a planar four-bar mechanism to guide the landing gear through the five precision positions in Figure E.4.7. Known Information: Appendix B.2 MATLAB file and Table E.4.5. Solution Approach: Precision position variables Pj1 and δj (calculated from the pj values in Table E.4.5) and αj are used in the MATLAB file. In this particular problem, only a single mechanism solution exists from the Appendix B.2 MATLAB file results. Table E.4.6 includes the calculated planar fourbar mechanism dyad components. To achieve positions 2, 3, 4, and 5, vector W1 (the designated driver link) is rotated by −15.8812°, −27.5064°, −43.6940°, and −52.5036° (β2, β3, β4, and β5), respectively. Figure E.4.8 illustrates the synthesized
p5 p4 p3
p2 iY p1
X
FIGURE E.4.7 Five precision positions and position parameters for a landing gear.
59
Kinematic Synthesis and Planar Four-Bar Motion Generation
TABLE E.4.5 Landing Gear Precision Position Parameters and Dyad Displacement Angles Precision Position 1 2 3 4 5
pj
αj [deg.]
0, 0 0.203, 0.415 0.397, 0.848 0.385, 1.182 0.182, 1.460
−25 −40 −70 −90
TABLE E.4.6 Calculated Four-Bar Mechanism Dyad Variables W1 −5.8413, 0.2719
V1
U1
S1
2.6938, 0.3748
−0.1794, −0.4477
−0.8392, −0.5832
U1
Z1
S1
iY P1
X
W1
FIGURE E.4.8 Synthesized planar four-bar motion generator. planar four-bar mechanism. Because the circle and center points are calculated analytically, the resulting mechanism achieves the precision positions precisely. A circuit defect exists between the third and fourth positions. Figure E.4.9 is a plot of the follower displacement angle versus the crank displacement angle throughout the motion sequence of the synthesized landing gear mechanism. The discontinuity in this plot is evidence of the circuit defect and requires mechanism disassembly and reassembly between the third and fourth positions to achieve all five precision positions. Another solution option for planar four-bar synthesis with five precision positions is to divide a five precision position problem into two or more four precision position problems, calculate the circle and center point loci for these problems,
60
80
Pos. 3
60 Pos. 4
Pos. 2
40
20
–60 Pos. 5
–50
–40
–30
–20
Crank displacement angle (deg.)
–10
Follower displacement angle (deg.)
Mechanism Design: Visual and Programmable Approaches
0 Pos. 1 –20
–40
FIGURE E.4.9 Follower versus crank displacement angle for synthesized planar four-bar motion generator.
and overlap them to find common intersection points among the curves. If common intersection points exist, a common solution exists that achieves all five precision positions. Dividing the five precision positions in Example 4.3 into three four position synthesis problems (1-2-3-4, 1-2-3-5, and 1-2-4-5) and plotting the center point loci, reveals two common intersection points—the two fixed pivot solutions for Example 4.3 (Figure E.4.10). Plotting the circle point loci also reveals two common intersection points—the two moving pivot solutions for Example 4.3 (Figure E.4.11).
61
Kinematic Synthesis and Planar Four-Bar Motion Generation iY
1-2-3-4 1-2-3-5 1-2-4-5
2.5 2 1.5 1
U1
0.5
–2.5
–2
–1.5
–1
Z1
–0.5
S1 0
0.5
1
1.5
2
2.5
3
X
W1
–0.5 –1
FIGURE E.4.10 Center point solutions for five-position synthesis problem in Example 4.3. iY
1-2-3-4 1-2-3-5 1-2-4-5
2.5 2 1.5 1
U1
0.5
–2.5
–2
–1.5
–1
Z1
S1 0
–0.5 –0.5
0.5
1
1.5
2
2.5
3
X
W1
–1
FIGURE E.4.11 Circle point solutions for five-position synthesis problem in Example 4.3.
62
Mechanism Design: Visual and Programmable Approaches
4.4 BRANCH AND ORDER DEFECT ELIMINATION: THREE, FOUR, AND FIVE PRECISION POSITIONS Although branch and order defects are inherent in motion and path generation, several conventional practices and construction methods are used to produce motion and path generators that are branch and order defect–free. These practices and construction methods include prescribed timing, Filemon’s construction, and Waldron’s construction. Motion and path generation with prescribed timing prevents order defects because with this practice, each coupler position and its corresponding dyad displacement angles are prescribed. The planar four-bar motion generation equation sets in Section 4.3 (Equations 4.8 and 4.9) include displacement angle variables for both mechanism dyads (angles β and α for dyad W-Z and angles γ and α for dyad U-S). By specifying both the precision positions and the corresponding dyad displacement angles, the order in which the precision positions are achieved is maintained. Prescribed timing is used in Example 4.1. In the early 1970s Filemon introduced a construction method to ensure that planar four-bar motion generator solutions selected from circle- and centerpoints are branch defect–free [13,14]. Filemon’s work shows that as long as the moving pivot of the mechanism driving link is selected outside the wedge-shaped region produced using her construction method, the resulting planar four-bar motion generator will pass through all of the precision positions without disassembly (a nonbranching solution).* Filemon’s construction assumes that an output link has already been selected. The follower link moving pivot and fixed pivot will be defined as b1 and b0, respectively, where b1 = −S1 and b0 = − ( S1 + U1 ) . Relative inverse displacements of the follower link are taken to sweep a planar wedge-shaped region (with angles ∠b0 j b1b0).† The positions that the follower fixed pivot can take relative to the follower moving pivot are computed as b0 j = M j b0 (4.10)
where
1 M j = 0 0
0 1 0
0 cos α j 0 sin α j 1 0
− sin α j cos α j 0
Pj1x Pj1y 1
−1
j = 2, 3,… (4.11)
T
and b0 = ( b0 x , b0 y ,1) .. Given the precision position variables αj and Pj1, Equation 4.10 calculates the ground link displacements of the inverted four-bar mechanism. When selecting the input link (having already constructed the wedge-shaped region) the moving pivot for the input * Filemon’s construction ensures that there will be no change of branch if the motion generator solution is a Grashof crank-rocker or drag-link mechanism. † If the angle of the wedge-shaped region is 180° or greater, the region will fill the entire 2D space (and no solution will be available under Filemon’s construction).
Kinematic Synthesis and Planar Four-Bar Motion Generation
63
link should be chosen from outside the region. Filemon’s construction can be applied in motion generation with three, four, and five precision positions (and beyond). Example 4.4 Problem Statement: Calculate a nonbranching landing gear mechanism for Example 4.1 using Filemon’s construction. Known Information: Example 4.1 and Equation 4.10.
Solution Approach: The calculated follower (U1 − S1) in Example 4.1 is the selected output link in this example. From Table E.4.1 in Example 4.1 the coupler displacement angles αj and the x- and y-components of the coupler point vectors Pj1 are known.* Using this data in Equation 4.10, the two positions of the fixed pivot b0 (b02 and b03) are calculated (Figure E.4.12). The line passing through b1 and b02 and the line passing through b1 and b03 form the borders for the planar wedge-shaped region. The moving pivot for the driving link dyad ( W1 − Z1 ) must lie outside the wedgeshaped region. Figure E.4.13 illustrates the ( W1 − Z1 ) solution from Equation 4.8 with β2 = 10° and β3 = 40°. The four-bar motion generator in this figure, a Grashof crank-rocker, is branch defect– free.
b0 iY
b03
b02 X U1
S1
b1
FIGURE E.4.12 Wedge-shaped region borders formed by b02 and b03 (form U1).
* Because Pj1 = pj − p1, if p1 is specified to p1 = 0, 0 , then the x- and y-components of the precision point vectors Pj1 are identical to the x- and y-components of the precision points pj.
( )
64
Mechanism Design: Visual and Programmable Approaches
iY
W1 X
Z1 U1
S1
FIGURE E.4.13 Wedge-shaped region with calculated dyads W1 − Z1 and U1 − S1.
In the mid-1970s Waldron introduced a feasible region construction method for selecting nonbranching planar four-bar motion generators for three precision positions [15,16]. Waldron’s work shows that follower link moving pivots selected outside the three circles produced using his construction method as well as follower link moving pivots selected in regions where any two circles overlap result in nonbranching motion generator solutions. Once a suitable follower link dyad is calculated according to Waldron’s construction method, a corresponding suitable crank link dyad is calculated according to Filemon’s construction. Given three precision positions, three rotation centers or poles exist to rotate from position 1 to 2 (pole p12), position 1 to 3 (pole p13), and position 2 to 3 (pole p23) [17]. These poles form a triangle (called a pole triangle) ∆p12 p13p23 [18]. The reflection of pole p23 about the triangle side p12p13 produces a new pole (called an image pole) p′23 . In Waldron’s construction, each side of the triangle ∆p12 p13p23 is equal to a diameter of each circle. The rotation pole equation corresponding to the two rigid-body positions in Figure 4.6 is defined as
P eiδk − P eiδ j i pole p jk = Pj1e δ j − k1i ( α − α ) j1 (4.12) e k j − 1
where P11 = δ1 = α1 = 0 [19]. Equation 4.12 is used to calculate pole p12, pole p13, and pole p23.
Kinematic Synthesis and Planar Four-Bar Motion Generation
Example 4.5 Problem Statement: Calculate a nonbranching landing gear mechanism for Example 4.1 using Waldron’s construction and Filemon’s construction. Known Information: Example 4.1 and Equation 4.12. Solution Approach: Table E.4.7 includes pole p12, p13, and p23 calculated using Equation 4.12 with the equation variable data provided in Example 4.1. Reflecting pole p23 about the triangle edge containing pole p12 and p13 produces the image pole (pole p′23 in Figure E.4.14 and Table E.4.7). Figure E.4.15 includes the three circle diagram resulting from Waldron’s construction. Suitable follower link moving pivots lie either outside the three circles or in regions where any two of the three circles overlap. It can be determined from Figure E.4.15 that the follower link dyad (the U1 − S1 dyad) solution from Example 4.1 is satisfactory since its moving pivot lies outside the three circles. The crank link dyad (the W1 − Z1 dyad) solution from Example 4.4 is also satisfactory since its moving pivot lies outside the wedge-shaped region. The resulting four-bar motion generator, a Grashof crank-rocker, is branch defect–free.
TABLE E.4.7 Calculated Rotation Poles Pole p12 Pole p13 Pole p23 Pole p′23
0.9032, 0.0657 0.9471, 0.5673 1.5126, 1.0857 0.4802, 1.1761
Pole p΄23
Pole p23
Pole p13 iY
Pole p12 X
FIGURE E.4.14 Calculated poles with image pole.
65
66
Mechanism Design: Visual and Programmable Approaches Pole p΄23
Pole p13 iY Pole p12
X
U1 S1
FIGURE E.4.15 Three-circle diagram with calculated dyad U1 − S1.
4.5 SUMMARY In kinematic analysis, mechanism dimensions are known and the objective is to calculate the resulting mechanism displacements, velocities, and/or accelerations. In kinematic synthesis, mechanism displacements, velocities, and accelerations are prescribed and the objective is to calculate the mechanism dimensions required to achieve them. Kinematic synthesis includes three subcategories: motion generation, path generation, and function generation. In motion generation, mechanism link positions are prescribed (specifically coupler link positions for the planar four-bar mechanism). In planar four-bar path generation, coupler link path points are prescribed while crank and follower displacement angles are prescribed in planar four-bar function generation. Prescribed coupler positions are commonly called precision positions. Branch defects and order defects are inherent in planar four-bar motion generation. A mechanism having a branch defect does not achieve its precision positions in a single assembly configuration (called a branch). A mechanism having an order defect does not achieve its precision positions in the intended order. Prescribed timing, Filemon’s construction, and Waldron’s construction are commonly employed methods to eliminate order and branch defects. Simultaneous equation sets for planar four-bar motion generation are formulated using vector loop closure for the starting and displaced position of a mechanism dyad. These equation sets are applicable for three, four, and five precision positions. The solution algorithms for four and five position synthesis have been codified in the Appendix A.2 and B.2 MATLAB files, respectively. A locus of fixed and moving pivots (called Burmester center and circle points) can be produced given four precision positions. Burmester points confirm the existence
Kinematic Synthesis and Planar Four-Bar Motion Generation
67
of an infinite number of planar four-bar mechanism solutions for four position synthesis. Center and circle point loci can also be used to produce four-bar mechanism solutions for five position synthesis.
PROBLEMS 4.1 Synthesize two planar four-bar mechanisms for the three hatch positions in Figure P.4.1. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges. 4.2 Synthesize two planar four-bar mechanisms for the three load–unload bucket positions in Figure P.4.2. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges. 4.3 Synthesize two planar four-bar mechanisms for the three wing positions in Figure P.4.3. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges. 4.4 Synthesize two planar four-bar mechanisms for the three lower cutting blade positions in Figure P.4.4. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges. 4.5 Synthesize two planar four-bar mechanisms for the three brake pad positions in Figure P.4.5. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges. 4.6 Synthesize two planar four-bar mechanisms for the three stamping part positions in Figure P.4.6. Through displacement analyses, determine if the two mechanisms are circuit and branch defect–free over the crank rotation ranges.
Y
X
p1
p1 = (0, 0)
p2 = (0.2346, –2.7010)
Hatch fully closed
p3 = (1.9797, –3.9146) p2
60° p3 90°
FIGURE P.4.1 Three hatch positions.
Hatch fully opened
68
Mechanism Design: Visual and Programmable Approaches p3 p2 –107° –70°
Unloading bucket position
Y X
p1
p1 = (0, 0)
p2 = (2.4696, 3.1993)
Loading bucket position
p3 = (5.5634, 3.8500)
FIGURE P.4.2 Three load–unload bucket positions.
Fully folded position
–90° –35° p1 = (0, 0)
Y
p2 = (0.4438, –0.4703) p3 = (0.2690, –0.2284)
p1
X p3 p2
Fully extended position
FIGURE P.4.3 Three wing positions.
4.7 Produce and plot the circle and center points (for both mechanism branches) for the precision positions given in Table P.4.1. 4.8 Produce and plot the circle and center points (for the first mechanism branch) at the β2 values β2 = 15°, 30°…150° for the folding wing positions in Figure P.4.7. Determine if a mechanism solution exists among the circle and center points that is order defect–free (hint: consider results in the file beta_vs_theta.csv).
Kinematic Synthesis and Planar Four-Bar Motion Generation
69
Upper blade
Y p2 p1
p3 Lower blade (tool closed) X
50°
22° p1 = (0, 0) p2 = (0.6947, 0.3449)
Lower blade (tool open)
p3 = (1.0111, 0.6790)
FIGURE P.4.4 Three lower cutting blade positions.
Fully applied brake pad p2
p3
Y
20°
X p1 10°
p1 = (0, 0) p2 = (–0.9434, 0.3771) p3 = (–1.9429, 0.5095)
Fully released brake pad
FIGURE P.4.5 Three brake pad positions.
4.9 Synthesize a planar four-bar mechanism for the four loading–unloading bucket positions in Figure P.4.8 using Burmester curves and Filemon’s construction. Verify that the mechanism is branch defect–free and determine (through a displacement analysis) if it is circuit defect–free over the crank rotation range. 4.10 Synthesize a planar four-bar mechanism for the four hatch positions in Figure P.4.9 using Burmester curves and Filemon’s construction. Verify that the mechanism is branch defect–free and determine (through a displacement analysis) if it is circuit defect–free over the crank rotation range.
70
Mechanism Design: Visual and Programmable Approaches Y
p1
X p2
p1 = (0, 0) p2 = (1.2902, –0.3695)
–45°
p3 = (3.0434, –0.9153) p3 –90°
Stamp fully applied
FIGURE P.4.6 Three stamping part positions.
TABLE P.4.1 Precision Positions Position 2 3 4
αj [deg.]
Pj1
δj [deg.]
30 60 90
3.4525 4.2202 4.3416
10.0080 13.7070 14.6764
4.11 Repeat Problem 4.4 using Waldron’s construction to verify that the mechanisms are branch defect–free. 4.12 Repeat Problem 4.5 using Waldron’s construction to verify that the mechanisms are branch defect–free. 4.13 Synthesize a planar four-bar mechanism for the five digger bucket positions in Figure P.4.10. Determine (through a displacement analysis and/or Filemon’s construction) if the mechanism is branch, order, and circuit defect–free over the crank rotation range. 4.14 Synthesize a planar four-bar mechanism for the five latch positions in Figure P.4.11. Determine (through a displacement analysis and/or Filemon’s construction) if the mechanism is branch, order, and circuit defect–free over the crank rotation range.
Kinematic Synthesis and Planar Four-Bar Motion Generation
Fully folded position p1 = (0, 0) –70° –90°
–35°
p2 = (0.4438, –0.4703) p3 = (0.4867, –0.1123) p4 = (0.2690, –0.2284)
Y
p1
p3
X
p4 p2
Fully extended position
FIGURE P.4.7 Folding wing positions.
Unloading bucket position
p4 –90°
p3
Y
–60°
p2 –30°
p1 X
p1 = (0,0) p2 = (0.9135, 0.4067) p3 = (1.7321, 1.0000) p4 = (2.4575, 1.7207) Loading bucket position
FIGURE P.4.8 Four load–unload bucket positions.
71
72
Mechanism Design: Visual and Programmable Approaches Y
X
p1 Hatch fully closed
p1 = (0, 0)
p2 = (0.2174, –1.3345)
p2
p3 = (0.7851, –2.2510) p4 = (1.9797, –3.9146)
30° p3
60° p4 90°
Hatch fully opened
FIGURE P.4.9 Four hatch positions.
p1 = (0,0) p2 = (0.8373, –1.9327) p3 = (1.8479, –2.8558) p4 = (3.6267, –2.2960) p5 = (3.4071, –0.8077)
Y X
p1
p5 p2
90° p4 p3
80°
27° 75°
FIGURE P.4.10 Five digger bucket positions.
73
Kinematic Synthesis and Planar Four-Bar Motion Generation
p1 = (0,0) p2 = (1.1274, 0.8390) p3 = (2.4426, 1.0108) p4 = (2.4137, 1.5017) p5 = (2.5843, 2.0777)
–30° p5
–50° –60°
p4 p3
Y p2 p1
–15°
Latch fully applied
X
FIGURE P.4.11 Five latch positions.
p1
pe
rip
Y
G
p2
X p3
p1 = (0,0) p2 = (0.6349, –0.0880) p3 = (1.0746, –0.3584) p4 = (1.4166, –0.5648) p5 = (1.6606, –0.7273)
lly
u rf
n pe
–15°
o
–30°
–45° p4
p5
–60°
Gripper fully closed
FIGURE P.4.12 Five gripper positions.
4.15 Synthesize a planar four-bar mechanism for the five gripper positions in Figure P.4.12. Determine (through a displacement analysis and/or Filemon’s construction) if the mechanism is branch, order, and circuit defect–free over the crank rotation range. 4.16 Synthesize a planar four-bar mechanism for the five assembly component positions in Figure P.4.13. Determine (through a displacement analysis and/or Filemon’s construction) if the mechanism is branch, order, and circuit defect– free over the crank rotation range.
74
Mechanism Design: Visual and Programmable Approaches
180° Fully assembled position
150°
p5
120°
p4 p3
p1 = (0,0) p2 = (–0.3627, 0.5346) p3 = (–0.3461, 1.0239) p4 = (–0.7684, 1.5824) p5 = (–0.7517, 2.1459)
Y
p2 p1
60° X
FIGURE P.4.13 Five assembly component positions.
4.17 Synthesize a planar four-bar mechanism for the five stamping part positions in Figure P.4.14. Determine (through a displacement analysis and/or Filemon’s construction) if the mechanism is branch, order, and circuit defect–free over the crank rotation range. 4.18 Verify the solution in Problem 4.13 by overlapping Burmester curves for precision positions 1–2–3–4, 1–2–3–5, and 1–2–4–5. Y
p1
p2
–20°
X p3
p1 = (0,0)
p2 = (0.4562, 0.2532) p4
p3 = (1.2902, –0.3695) p5
p4 = (2.2468, –0.5436) p5 = (3.0434, –0.9153)
–90°
–45°
Stamp fully applied
FIGURE P.4.14 Five stamping part positions.
–75°
Kinematic Synthesis and Planar Four-Bar Motion Generation
75
4.19 Verify the solution in Problem 4.15 by overlapping Burmester curves for precision positions 1–2–3–4, 1–2–3–5, and 1–2–4–5. 4.20 Verify the solution in Problem 4.17 by overlapping Burmester curves for precision positions 1–2–3–4, 1–2–3–5, and 1–2–4–5.
REFERENCES 1. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, p. 51. Englewood Cliffs, NJ: Prentice Hall. 2. Martin, G.H. 1969. Kinematics and Dynamics of Machines, p. 319. New York: McGraw-Hill. 3. Erdman, A.G. 1993. Modern Kinematics: Developments in the Last Forty Years, Chapters 4–5. New York: John Wiley and Sons. 4. Kimbrell, J.T. 1991. Kinematics Analysis and Synthesis, Chapter 7. New York: McGraw-Hill. 5. Ibid., Chapter 8. 6. Mallik, A.K., A. Ghosh, and G. Dittrich. 1994. Kinematic Analysis and Synthesis of Mechanisms, pp. 306–307. Boca Raton, FL: CRC Press. 7. Ibid., pp. 307–308. 8. Norton, R.L. 2008. Design of Machinery, 4th edn., Chapter 5. New York: McGraw-Hill. 9. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 179–180. Englewood Cliffs, NJ: Prentice Hall. 10. Ibid., pp. 180–183. 11. Kimbrell, J.T. 1991. Kinematics Analysis and Synthesis, pp. 189–192. New York: McGraw-Hill. 12. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 199–204, 261–263. Englewood Cliffs, NJ: Prentice Hall. 13. McCarthy, M.J. 2000. Geometric Design of Linkages, pp. 110–111. New York: Springer. 14. Filemon, E. 1972. Useful ranges of centerpoint curves for design of crank-and-rocker linkages. Mechanism and Machine Theory 7: 47–53. 15. McCarthy, M.J. 2000. Geometric Design of Linkages, pp. 111–112. New York: Springer. 16. Waldron, K.L. 1976. Elimination of the branch problem in graphical Burmester mechanism synthesis for four finitely separated positions. Transactions of the ASME, Journal of Engineering for Industry 98: 176–182. 17. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, p. 76. Englewood Cliffs, NJ: Prentice Hall. 18. McCarthy, M.J. 2000. Geometric Design of Linkages, pp. 51–52. New York: Springer. 19. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 198–199. Englewood Cliffs, NJ: Prentice Hall.
5
Planar Four-Bar and Multiloop Path and Motion Generation
5.1 PATH GENERATION VERSUS MOTION GENERATION Figure 5.1a illustrates a planar four-bar mechanism and the curve traced by coupler point p1. In quantitative path generation, the mechanism dimensions required to achieve or approximate prescribed coupler path points are calculated.* To further convey the concept of path generation, Figure 5.1b illustrates a level-luffing crane, a mechanism including a hook that remains at a constant level during motion. For effective operation, the extremity of the level-luffing crane should follow a horizontal path. The planar four-bar path generation equations presented in this chapter are useful for calculating the planar four-bar mechanism dimensions required to approximate precision points. There is a distinct difference between path generation and motion generation. In motion generation, precision positions are achieved or approximated while precision points are achieved or approximated in path generation. Because coupler path points rather than coupler positions are prescribed in path generation, coupler displacement angles are not of particular concern. The planar four-bar motion generation equations presented in Chapter 4 can be directly applied for path generation for three, four, and five precision points since the mechanisms calculated from these equations achieve prescribed coupler points in addition to prescribed coupler displacement angles. Because coupler displacement angles are required in the Chapter 4 equations, the user is free to specify the coupler displacement angles arbitrarily. Path generation beyond five precision points, however, requires the use of a numerical optimization method for solution calculation. One reason for this is because no analytical solution method is available for Equations 4.8 and 4.9 beyond five precision positions. Another reason is because the inclusion of the coupler displacement angles among the unknown mechanism variables to be calculated (rather than being specified variables in motion generation) makes Equations 4.8 and 4.9 nonlinear. In this chapter, path generation equations where coupler displacement angles are included among the unknowns to be calculated are presented.
* In path generation, the prescribed rigid-body path points are also called precision points.
77
78
Mechanism Design: Visual and Programmable Approaches
pj
p1
pN
(a)
p
(b)
FIGURE 5.1 (a) Four-bar mechanism and coupler path points, and (b) level-luffing crane mechanism.
5.2 COUPLER CURVES AND DWELL MOTION Unlike the crank and follower links of the planar four-bar mechanism, which undergo pure rotation, and the slider link of the slider-crank mechanism, which undergoes pure translation, the coupler links of both mechanisms undergo complex motion: a combination of simultaneous rotation and translation. The complex motion of the coupler link enables it to trace curves of higher orders than the crank and follower links. Planar four-bar and slider-crank mechanisms, for example, can produce coupler curves of up to order six.* Although the specific features of the coupler curve desired depend on the particular mechanical design application, there are certain coupler curve features that are more common over a range of design applications. Straight lines and circular arcs are among the most basic but widely used curve features in design applications. Figure 5.2 includes the Robert’s straight-line linkage as well as a linkage that traces a circular arc [1].† The shape of a coupler curve is determined by the mechanism link length proportions and the specific coupler point location from which the curve is traced. As a result, a planar four-bar linkage can produce an infinite variety of distinct coupler curves. A coupler curve atlas includes a variety of coupler curves and their corresponding four-bar mechanism link proportions [2]. Coupler curve atlases can provide designers with judicious mechanism dimension starting points for design applications. Figure 5.3 illustrates several planar four-bar coupler curve variations with coupler point locations (Figure 5.3a) and link length proportions (Figure 5.3b). * As derived by Wunderlich (1963), the maximum order of a coupler curve m for a mechanism with n ( n 2 )−1 . links connected with revolute joints only is m = 3 ⋅ 2 † Other straight-line tracing linkages include the Watt, Chebyschev, Evans, Hart, Peaucellier, and Hoeken straight-line linkages.
79
Planar Four-Bar and Multiloop Path and Motion Generation
(a)
(b)
FIGURE 5.2 (a) Robert’s approximate straight-line mechanism and (b) circular arc mechanism. p q r
q r p
a-b-c-d e-b-c-f e-b-c-d
p
c
c
b
b f
a
a d
(a)
e d
(b)
FIGURE 5.3 Coupler curve variation with (a) coupler point location and (b) link–length ratio.
One coupler curve feature of interest is the dwell region [3]. This region is distinct because it has constant curvature—a curve of constant radius. A dwell region could be either a circular arc or a straight line segment on a coupler curve.* The fourbar mechanism in Figure 5.4 traces a curve having both dwell region types. Dwell regions are often of interest to designers because, having constant curvature, they produce no radial displacement. This zero radial output motion for a nonzero rotational input motion (supplied by the crank link) is called dwell motion and is particularly useful in many design applications. A common example of dwell motion is observed in cam-follower systems [4–6]. Although dwell motion is commonly produced through cam-follower systems, linkage-based mechanism systems offer a design alternative for achieving dwell motion. * An arc has a constant finite radius while a straight line has constant radius of infinity.
80
Mechanism Design: Visual and Programmable Approaches ar arc dwell Circul
Straight-line dwell
FIGURE 5.4 Planar four-bar coupler curve dwell regions.
5.3 APPROXIMATE FOUR-BAR PATH AND MOTION GENERATION As shown in Table 4.1, the user can specify a maximum of five precision positions using the analytical motion/path generation equations in Chapter 4. There will be occasions, however, when five precision points or positions are not enough to adequately describe the desired coupler curve or coupler position sequence. As previously explained, beyond five precision positions Equations 4.8 and 4.9 require the use of a numerical optimization method to calculate the unknown mechanism dyad variables. Using analytical motion/path generation equations, mechanism solutions are calculated algebraically and precision positions/points are achieved precisely by the calculated mechanism solutions. In numerical optimization–based motion and path generation, the precision positions and points are approximated by the calculated mechanism solutions.* Because mechanism solutions calculated numerically approximate the prescribed mechanism output, structural error—finite differences between the prescribed and achieved mechanism output—will exist [7]. Numerical optimization may be more favorable as analytical solution methods become more complex or limited. For example, the analytical solution algorithm for five position synthesis in Appendix B.1 includes a substantial computation schedule and beyond five precision positions, no analytical solution algorithm exists. Numerical optimization may also be more favorable because the equation systems formulated for the use of numerical optimization can include constraints to eliminate order and branch defects. As explained in Chapter 4, these defects are commonly encountered in analytical motion and path generation. The motion and path (and function) generation equation systems presented from this chapter through the rest of the textbook are either unconstrained or constrained * As a result, the phrase approximate synthesis is sometimes used to describe synthesis via numerical optimization.
81
Planar Four-Bar and Multiloop Path and Motion Generation
nonlinear equation systems. The trust-region interior-reflective Newton method was employed to solve unconstrained nonlinear equation systems [8,9].* The trust-region interior-point method was employed to solve constrained nonlinear equation systems [10]. In this textbook, both methods are implemented in the commercial mathematical analysis software MATLAB®. This textbook includes a library of MATLAB files (which are available for download at www.crcpress.com) for each type of numerical optimization problem presented. An objective function is derived for the W-Z dyad by taking the sum of the squares of Equation 4.6. For N precision points, this objective function is expressed as
f (X) =
N
∑
j =2
W cos β − 1 − W sin β + Z cos α − 1 − Z sin α − P cos δ 2 ) 1y j 1x ( ) 1y j j j j1 j 1x ( 2 + W ( cos β − 1) + W sin β + Z ( cos α − 1) + Z sin α − P sin δ 1y j 1x j 1y j 1x j j1 j (5.1)
(
)
(
)
where X = (W1x, W1y, Z1x, Z1y, α2 … α 4, β2 … β4) when four precision points are prescribed and X = (W1x, W1y, Z1x, Z1y, α2 … α5, β2 … β5) when five precision points are prescribed. For N precision points, X = (W1x, W1y, Z1x, Z1y, α2 … αN, β2 … βN).† Likewise, an objective function is derived for the U-S dyad by taking the sum of the squares of Equation 4.7. For N precision points, this objective function is expressed as
f (X) =
N
∑ j =2
( (
)
2 U1x cos γ j − 1 − U1y sin γ j + S1x cos α j − 1 − S1y sin α j − Pj1 cos δ j + U cos γ − 1 + U sin γ + S cos α − 1 + S sin α − P sin δ 1y 1x 1y 1x j j j j j1 j
( (
)
(
)
)
(
)
)
2
(5.2) where X = (U1x, U1y, S1x, S1y, γ2 … γ4) when four precision points are prescribed and X = (U1x, U1y, S1x, S1y, γ2 … γ5) when five precision points are prescribed. For N precision points, X = (U1x, U1y, S1x, S1y, γ2 … γN). The αj values calculated from Equation 5.1—the left-side dyad—are used as prescribed values in Equation 5.2—the rightside dyad. As presented, Equations 5.1 and 5.2 are for path generation. By prescribing both the coupler points and coupler displacement angles, Equations 5.1 and 5.2 can be used for motion generation. Using Equation 5.1 for motion generation where the dyad displacement angles βj are calculated, X = (W1x, W1y, Z1x, Z1y, β2 … β 4) when four precision positions are prescribed and X = (W1x, W1y, Z1x, Z1y, β2 … β5) when five precision positions are prescribed. For N precision positions, X = (W1x, W1y, Z1x, Z1y, β2 … β N). * This method was also used to solve the sets of linear and nonlinear equations presented in Chapters 5 through 8. † The unknown objective function variables to be calculated are denoted by X = … . ( )
82
Mechanism Design: Visual and Programmable Approaches
To eliminate order defects, Inequality (5.3) should accompany Equation 5.1 as an inequality constraint for the driver dyad: β j > β j −1 j = 2, 3… (5.3) β N < 2π
As expressed, Inequality (5.3) constrains the crank to counterclockwise rotation. To constrain the crank to clockwise rotation, the inequality β j < β j −1 should be used instead. Equation 5.1 used in combination with Inequality (5.3) produces a constrained nonlinear equation system. Equation 5.2 produces an unconstrained nonlinear equation system. Appendices C.1 and C.2 include MATLAB file user instructions for the equation systems presented in this section for approximate planar four-bar motion generation and path generation, respectively. Example 5.1 Problem Statement: Synthesize a four-bar mechanism to approximate the landing gear precision positions in Example 4.3 of Chapter 4. Known Information: Example 4.3 (Chapter 4) and Appendix C.1 MATLAB files. Solution Approach: Using the Appendix C.1 MATLAB files (where N = 5), initial values of −1 were specified for the components of dyads W1 − Z1 and U1 − S1. Initial W1 − Z1 dyad rotation angles of β2 = 15°, β3 = 30°, β4 = 45°, and β5 = 60° and initial U1 − S1 dyad rotation angles γ2 = −10°, γ3 = −40°, γ4 = −60°, and γ5 = −70° were also specified in the MATLAB files. Table E.5.1 includes the dyad components calculated. Table E.5.2 includes the β2 … β5 values calculated for the W1 − Z1 dyad and the positions achieved by the synthesized motion generator (Figures E.5.1 and E.5.2). Unlike analytical five position synthesis, the user can calculate an indefinite number of mechanism solutions with numerical motion generation—nearly a unique mechanism solution for each set of initial values. This infinite solution space ensures the existence of a mechanism solution that is also free of circuit and branch defects (as previously noted, Inequality (5.3) ensures order defect elimination). As illustrated by the continuous coupler angle versus crank angle profile in Figure E.5.3 and shown by the achieved results in Table E.5.2, this mechanism solution is free of circuit, branch, and order defects over the calculated crank rotation range.
TABLE E.5.1 Calculated Four-Bar Mechanism Dyad Variables W1x, W1y 0.6487, −0.5615
Z1x, Z1y
U1x, U1y
S1x, S1y
−0.2837, 0.1361
−0.1786, −0.4501
−0.8398, −0.5824
83
Planar Four-Bar and Multiloop Path and Motion Generation
TABLE E.5.2 Precision Positions and Achieved Landing Gear Positions for Motion Generator Precision Positions Precision Position 1 2 3 4 5
pj 0, 0 0.203, 0.415 0.397, 0.848 0.385, 1.182 0.182, 1.460
Achieved Positions αj [deg.] −25 −40 −70 −90
βj [deg.]
pj
αj [deg.]
22.5907 49.5448 72.5368 102.1906
0, 0 0.241, 0.392 0.366, 0.847 0.397, 1.189 0.184, 1.461
−22.840 −42.489 −70.127 −90.131
U1
iY W1
p1
S1 X
Z1
FIGURE E.5.1 Synthesized planar four-bar motion generator.
84
Mechanism Design: Visual and Programmable Approaches
p3 p2
iY
iY
X
Position 2
X
Position 3
p5 p4
iY
iY
X
X
Position 5
Position 4
FIGURE E.5.2 Precision positions (dashed lines) and achieved landing gear positions.
Follower displacement angle (deg.)
80
Pos. 3
60 Pos. 2
Pos. 4
40
20 Pos. 1 0 –20
20
40
60
80
Crank displacement angle (deg.)
100
Pos. 5
FIGURE E.5.3 Follower versus crank displacement angle for synthesized planar four-bar motion generator.
85
Planar Four-Bar and Multiloop Path and Motion Generation
Example 5.2 Problem Statement: Synthesize a four-bar mechanism to approximate the precision points in Table E.5.3. Known Information: Table E.5.3 and Appendix C.2 MATLAB files. Solution Approach: Using the Appendix C.2 MATLAB files (where N = 8), initial values of −1 were specified for the components of dyads W1 − Z1 and U1 − S1. Initial W1 − Z1 dyad rotation angles of 10° and 10°…70° were specified for αj and βj, respectively, in the MATLAB files. Initial U1 − S1 dyad rotation angles of −10°…−70° were also specified for γj. Table E.5.4 includes the dyad components calculated. Table E.5.5 includes the calculated values for βj, αj and the points achieved by the synthesized path generator (Figure E.5.4). This level-luffing crane has an unorthodox configuration in comparison to the conventional configuration illustrated in Figure 5.1b. This is the result of including αj among the unknown variables to be calculated. To produce a more orthodox crane mechanism configuration, the user could also prescribe αj (thus becoming a motion generation problem).
TABLE E.5.3 Precision Points and Dyad Rotation Angles for Level-Luffing Crane Precision Point 1 2 3 4 5 6 7 8
pj
βj [deg.]
γj [deg.]
0, 0 −1, 0 −2, 0 −3, 0 −4, 0 −5, 0 −6, 0 −7, 0
10 20 30 40 50 60 70
−10 −20 −30 −40 −50 −60 −70
TABLE E.5.4 Calculated Four-Bar Mechanism Dyad Variables W1x, W1y 2.0200, 1.6678
Z1x, Z1y
U1x, U1y
S1x, S1y
−11.0596, −13.3031
2.0200, −10.1090
1.5204, −14.5886
86
Mechanism Design: Visual and Programmable Approaches
TABLE E.5.5 Calculated Coupler Displacement Angles (α j ) and Path Points Achieved by Synthesized Mechanism Precision Point
βj [deg.]
αj [deg.]
pj
1 2 3 4 5 6 7 8
55.3466 72.2160 86.5525 100.3515 114.9012 132.1346 191.5322
5.1685 4.1478 2.3858 0.1020 −2.7101 −6.2758 −16.5672
0, 0 −1.0005, 0.0004 −2.0000, 0.0000 −2.9987, −0.0010 −3.9999, −0.0001 −5.0017, −0.0016 −5.9989, −0.0010 −7.0000, 0.0001
U1
W1 S1 Z1 iY X p1
FIGURE E.5.4 Synthesized planar four-bar path generator.
5.4 ALTERNATE FOUR-BAR KINEMATIC EQUATIONS Suh and Radcliffe introduced displacement equations for the planar four-bar mechanism [11].* This alternate kinematic model is based on the following constant length * A spatial form of these planar four-bar displacement equations is presented in Section 7.2 for the k inematic analysis of the RRSS and 4R Spherical mechanisms.
87
Planar Four-Bar and Multiloop Path and Motion Generation p1 p b1 a1 α0
α
a
b
θ a0
Y X
b0
FIGURE 5.5 Four-bar mechanism in starting and displaced positions (alternate kinematic model).
equation for the follower link: T
T
( b − b0 ) ( b − b0 ) − ( b1 − b0 ) ( b1 − b0 ) = 0 (5.4)
The rotation of the crank link (link a0 − a1 Figure 5.5) is given by
a = Rθ ( a1 − a 0 ) + a 0 (5.5)
The global displacement of coupler (and follower) pivot b1 is expressed as
b = Rα ( b1′ − a ) + a (5.6)
where
b′1 = Rθ ( b1 − a 0 ) + a 0 (5.7)
Matrices Rθ and Rα are planar rotation matrices with crank and coupler link rotation angles θ and α. Substituting Equation 5.6 into Equation 5.4 produces
E cos(α) + F sin (α) + G = 0 (5.8)
88
Mechanism Design: Visual and Programmable Approaches
where T
E = ( a − b0 )
{ I − Q ( b′ − a )} * (5.9) 1
T
F = ( a − b0 )
G = ( a − b0 )
T
0 P = 1 0
{
{ P ( b′ − a )} (5.10) 1
b′ − a T b′ − a + a − b T a − b ) ( 1 ) ( 0 ) ( 0 ) 1 ( 1 Q ( b1′ − a ) + (5.11) 2 T − ( b1 − b0 ) ( b1 − b0 )
}
−1 0 0
0 0 0 and Q = 0 0 0
0 0 0
0 0 1
Two coupler link rotation angle solutions exist for Equation 5.8. These two coupler rotation angle solutions (α) are †
α1,2
−F ± E 2 + F 2 − G 2 (5.12) = 2 tan G−E −1
The coupler rotation angle α calculated from Equations 5.12 is actually the coupler link rotation with respect to the crank link (or the change in this angle between the initial mechanism position and the displaced mechanism position). This angle is included in Figure 5.5. The global displacement of an arbitrary coupler point p1 can be expressed as
p = Rα ( p′ − a ) + a (5.13)
where
p′ = Rθ ( p1 − a 0 ) + a 0 . (5.14)
Mechanism variables a0, a1, b0, b1, and p1 are 3 × 1 vectors containing x- and y-components (with the z-components all being zero).
5.5 ALTERNATE APPROXIMATE FOUR-BAR MOTION AND PATH GENERATION EQUATIONS Until now, the motion generation equations presented in this textbook were derived using the vector-loop closure method for mechanism dyads. The unknown * Matrix I in Equation 5.9 is a 2 × 2 identity matrix. † Because the planar four-bar mechanism has two configurations or branches for a given crank position (the open and crossed configurations), two α solutions exist (angles α1 and α2) in Equations 5.12 for every value of θ.
89
Planar Four-Bar and Multiloop Path and Motion Generation p1 pj b1 a1
bj
aj
aj
a0
Y X
b0
FIGURE 5.6 Four-bar mechanism in starting and displaced positions (alternate synthesis model).
variables to be solved using these models are the dyad vector components and displacement angles. Suh and Radcliffe presented a set of nonlinear equations for the synthesis of planar four-bar motion generators [12]. The unknown variables to be solved in these equations are the mechanism dyad fixed and moving pivot components. The mechanism fixed pivots a0 and b0 and moving pivots a1 and b1 are illustrated in Figure 5.6. Equation 5.15 is a constant length constraint. It constrains the crank and follower lengths to a constant value through each precision position.* T
T ( a j − a 0 ) ( a j − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0 (5.15)
T
T
In Equation 5.15, a 0 = a0 x , a0 y ,1 and a1 = a1x , a1y ,1 . Also in Equation 5.15, a j = D j a1 and
cosα j D j = sin α j 0
−sin α j cosα j 0
p jx − p1x cosα j + p1ysin α j p jy − p1xsin α j − p1ycosα j 1
j = 2, 3, 4 (5.16)
Matrix (5.16) defines the displacement of the coupler by a point p and an angular displacement α. Given four precision positions, Equation 5.15 forms a set of three * Unlike the vector-loop closure equations, Equation 5.15 does not include crank/follower link rotation angle variables and subsequently does not include crank rotation angle constraints.
90
Mechanism Design: Visual and Programmable Approaches
nonlinear equations to solve for three of the four unknown variables for a single dyad with an arbitrary choice of one variable. The arbitrary choice of a single variable enables the user to calculate unique crank and follower dyad solutions more easily. Although as presented, Equation 5.15 includes dyad variables a0 and a1, it can be used directly to calculate dyad variables b0 and b1. Appendix C.3 includes the MATLAB file user instructions for this equation system for approximate four-bar motion generation. Although Equation 5.15 forms a set of three nonlinear equations for four position synthesis, in the Appendix C.3 MATLAB file, they are solved as an unconstrained nonlinear equation system for N precision positions.* Equation 5.15 can be a viable alternative to Equations 5.1 and 5.2 particularly for four position synthesis. Because Equation 5.15 does not include crank/follower rotation angle variables, the user must determine the crank link rotation angles required to approximate the precision positions after calculating a mechanism solution. This can be accomplished using the mechanism displacement equations in Section 3.2, 5.4 or the Appendix G.1 MATLAB and SimMechanics® files. Equation 5.15 has limited use for motion or path generation since it lacks a grounded link rotation angle variable and subsequently an order constraint. An alternate equation system, a constrained nonlinear equation system, for planar four-bar path generation (for N precision points) incorporates the objective function f (X) =
N
∑ j =2
†
2 p j − p (5.17)
where X = ( a 0 , a1, b0 , b1, θ2 … θ N , α 2 … α N ) . In Equation 5.17 the precision points are defined by pj and the coupler points achieved by the synthesized mechanism (using Equation 5.13) are defined by p. In this objective function, the squared norms of the differences between pj and p are to be minimized. Along with the objective function, two types of equality constraint equations are used. To ensure the constant length of the follower link (link b0 − b1), Equation 5.4 is included for precision points 2…N. Likewise, to ensure the constant length of the crank link (link a0 − a1), Equation 5.18 is included for precision points 2…N: T
T
( a − a 0 ) ( a − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0 (5.18)
Equations 5.4 and 5.18 include both Equations 5.5 and 5.6 from the alternate planar four-bar kinematic equations to calculate displaced moving pivots a and b. To produce planar four-bar path generator solutions that are order defect–free, Inequality (5.19) is included for precision points 2…N. The crank rotation angle in these equations is defined by θ as shown in Figure 5.5:
* This unconstrained equation system is the squared sum of Equation 5.15 for precision positions 2 … N. † The length of a vector u is called the norm of u. The norm of a vector u = u , u ( x 2 y ) in 2D 2space is 2 u = ux 2 + uy 2 . The squared norm of a vector difference u−v is u − v = ( ux − vx ) + ( uy − vy ) .
Planar Four-Bar and Multiloop Path and Motion Generation
θ j > θ j −1 θN < 2π
91
j = 2, 3… N (5.19)
As written, Inequality (5.19) ensures counterclockwise crank link rotation. The inequality θ j < θ j −1 can be used instead to ensure clockwise crank link rotation. To produce planar four-bar path generator solutions that are branch defect–free, Inequality (5.20) is included for precision points 2…N:
( b − b0 ) × ( a − b0 ) ⋅ ( b1 − b0 ) × ( a1 − b0 ) > 0 (5.20)
A change in branch would result in a change in sign in the product of the cross products from positive to negative. By constraining the product of these cross products to a positive value, Inequality (5.20) constrains the mechanism to a single branch. Inequality (5.20) includes both Equations 5.5 and 5.6 from the alternate planar four-bar kinematic equations to calculate displaced moving pivots a and b. By ensuring a constant direction cross product between link b0 − b and distance b0 − a, a single four-bar mechanism configuration is ensured throughout the precision points. This combination of objective function, equality constraints, and inequality constraints allow for the direct minimization of the difference between the precision points and the achieved points while producing mechanism solutions that are free of order defects and branch defects. Because Equations 5.5, 5.6, and 5.13 are included in this constrained nonlinear equation system (to calculate the displaced moving pivots a and b and the displaced coupler point p), displacement angles θ and α are among the unknown variables to be calculated.* Appendix C.5 includes the MATLAB file user instructions for the constrained nonlinear equation system presented in this section for approximate four-bar path generation with branch and order defect elimination. As presented, this constrained nonlinear equation system is useful for planar four-bar path generation. By defining the orientation of the coupler link with a line having coupler point variables p and q as endpoints, the following planar four-bar motion generation objective function is formed for precision positions 2…N: f (X) =
N
∑{ p − p j =2
j
2
+ qj −q
2
} (5.21)
where X = ( a 0 , a1, b0 , b1, θ2 … θ N , α 2 … α N ) .† For planar four-bar motion generation with branch and order constraints, Equation 5.21 replaces Equation 5.17. Appendix * It can be observed from Equation 5.12 that the coupler displacement angle α is actually a function of the crank displacement angle θ in the alternate planar four-bar displacement equations. In the constrained nonlinear equation systems, however, both angles are calculated simultaneously. Because α and θ are calculated, Equations 5.8 through 5.12 are not used in the constrained equation systems. Equation 5.4 does constrain α and θ such that an “α (θ)” relationship is ensured. † In this motion generation equation, the coupler link rotation variable α is not prescribed because the precision position is defined by two points rather than a point and an angle.
92
Mechanism Design: Visual and Programmable Approaches
C.4 includes the MATLAB file user instructions for the constrained nonlinear equation system presented in this section for approximate planar four-bar motion generation with branch and order defect elimination.
5.6 CONSTRUCTING COGNATES For a given planar four-bar path generator, there are alternate four-bar mechanisms of different dimensions that will trace coupler curves identical to the given path generator. These alternate mechanisms are called cognates [13,14]. A well-known schematic to construct two cognates for a given four-bar mechanism is the Cayley diagram. The construction of this schematic begins by repositioning the crank and follower links of the given four-bar mechanism so that the crank, coupler, and follower links are collinear (mechanism O 1 -A 1 -B1 -O 2 in Figure 5.7). Next, lines are constructed that are parallel to all sides of the links in the original linkage. In Figure 5.7 the two newly constructed cognates are visible (mechanisms O 1 -A 2 -B 2 -O 3 and O 2 -A 3 -B 3 -O 3). After constructing the Cayley diagram, the fixed pivots of the original four-bar linkage are returned to their original placements—making this linkage and the cognates movable (as positioned in the Cayley diagram, mechanism O 1 -A 1 -B1 -O 2 and cognates are immovable). When returning the fixed pivots of the original planar four-bar mechanism, the crank, coupler, and follower lengths of the cognates should be maintained. The repositioned Cayley diagram is called a Robert’s diagram (Figure 5.8a). Figure 5.8b illustrates the three separate cognates. All three cognates will trace the same curve at coupler point C.
O3 7
8
B3
B2
9
6
A2
A3
C
10 O1 ~
O1
5 3
2 A1
4
O2
B1 ~
O2
FIGURE 5.7 Cayley diagram construction.
93
Planar Four-Bar and Multiloop Path and Motion Generation ~
O3
8
7
~
B2
~
~
O3
O3
8
7
~
B2
~
B3
~
9
B3
C
A2
~
O2
2
A1
6
~
~
O1
~
O1
2
A1
O2
(a)
~
3
10
5 4
C
C
A2
A3 B1
C
~
~
3
10
9
6
~
A3 B1
5 4
~
O2
~
O2
(b)
FIGURE 5.8 (a) Robert’s diagram and (b) separate cognates.
Example 5.3 Problem Statement: Synthesize a planar four-bar mechanism to approximate the first four landing gear precision positions in Example 4.3 from Chapter 4. Known Information: Example 4.3 (Chapter 4) and Appendix C.3 MATLAB files. Solution Approach: Using the Appendix C.3 MATLAB files (where N = 4), prescribed values of a0x = −2 and a0x = b0x = 1 are used. Table E.5.6 includes the initial and calculated values for the remaining dyad variables a1y, a1, b1y, and b1.* The synthesized planar four-bar motion generator is illustrated in Figure E.5.5. Table E.5.7 includes the coupler positions achieved by the synthesized mechanism. In Figure E.5.6, the landing gear positions achieved by the synthesized motion generator (at link a0 − a1 angular displacements of 9.3°, 17.6°, and 20.8°) are illustrated. Because Equation 5.15 includes no constraints to eliminate branch and order defects, branch and order defect–free solutions are calculated through trial and error using the Appendix C.3 MATLAB files.
TABLE E.5.6 Initial and Calculated Values for Planar Four-Bar Mechanism Variables Variable a0y a1 a0y = b0y a1 = b1
Initial Values
Calculated Values
0.5 0.1, −0.5 1 1, 1
2.8512 0.0366, 0.4008 1.0524 0.8258, 0.5871
* Because the same Appendix C.3 MATLAB files used to calculate a1y and a1 are also used to calculate b1y and b1, when calculating the latter a 0y = b 0y and a1 = b1.
94
Mechanism Design: Visual and Programmable Approaches a0
Y a1 p1
b0 b1 X
FIGURE E.5.5 Synthesized planar four-bar motion generator.
TABLE E.5.7 Achieved Landing Gear Positions for Synthesized Motion Generator Position 1 2 3 4
pj
αj [deg.]
0, 0 0.203, 0.414 0.397, 0.848 0.385, 1.179
−24.993 −40.000 −69.682
95
Planar Four-Bar and Multiloop Path and Motion Generation
Y p2
Y
p3 X
X
Position 3
Position 2
p1 Y X
Position 4
FIGURE E.5.6 Landing gear precision positions (dashed lines) and achieved positions.
Example 5.4 Problem Statement: Synthesize a branch and order defect–free planar four-bar path generator to approximate the curve in Figure E.5.7. Also construct the cognates for the path generator. Known Information: Table E.5.8 (pprescribed) and Appendix C.5 MATLAB files. Solution Approach: Table E.5.8 includes the coordinates of pj illustrated in Figure E.5.7. Table E.5.9 includes the initial values and calculated values for the planar fourbar mechanism variables using the Appendix C.5 MATLAB files (where N = 12). Table E.5.8 also includes the points achieved by the synthesized planar four-bar
96
Mechanism Design: Visual and Programmable Approaches p12
5
p11 4
p10 p9
pjy
3 p8 2
p7
1 p1
p3
p2
0
1
p4
p6
p5
2
3
pjx
4
5
6
FIGURE E.5.7 Precision points for coupler curve.
TABLE E.5.8 Precision Points and Points Achieved by the Synthesized Path Generator Point 1 2 3 4 5 6 7 8 9 10 11 12
pprescribed
pachieved
0, 0 0.8116, 0.0509 1.6087, 0.2025 2.3771, 0.4518 3.1032, 0.7937 3.7743, 1.2213 4.3787, 1.7257 4.9063, 2.2968 5.3482, 2.9229 5.6975, 3.5913 5.9491, 4.2884 6.1, 5
0, 0 0.8118, 0.0431 1.6094, 0.1992 2.3756, 0.4543 3.1008, 0.7970 3.7742, 1.2224 4.3803, 1.7234 4.9093, 2.2939 5.3498, 2.9218 5.6947, 3.5934 5.9406, 4.2909 6.1076, 4.9992
motion generator (Figures E.5.8 and E.5.9). The order of the crank angle solutions in Table E.5.9 match the order of the achieved coupler points in Table E.5.8 (order defect–free over the crank rotation range). Also, the coupler angle solutions in Table E.5.9 have no discontinuities such as a sudden change in sign (branch defect–free over the crank rotation range). The cognates for the synthesized path generator were constructed using the method described in Section 5.5. The resulting Cayley diagram is illustrated in
Planar Four-Bar and Multiloop Path and Motion Generation
97
TABLE E.5.9 Initial and Calculated Values for Planar Four-Bar Mechanism Variables Variable
Initial Values
Calculated Values
a0 a1 b0 b1 θ2 ∼ θ12
1, −1 1, 1 3, 3 −3, −3 20°, 35°, 45°, 55°, … 125° 1°, 2°, 3°, … 11°
−0.4648, 2.9634 −0.8563, 4.8655 0.7517, 5.3268 −0.0617, 0.7729 44.1659°, 74.8973°, 101.699°, 125.5975°, 147.2174°, 167.0412°, 185.6848°, 203.6535°, 221.6092°, 240.7808°, 273.5414° −18.4491°, −30.5656°, −42.3044°, −54.2046°, −66.3867°, −78.8610°, −91.7953°, −105.4281°, −120.3211°, −137.9633°, −175.5122°
α2 ∼ α12
b0
a1
a0
b1
Y p1
X
FIGURE E.5.8 Synthesized planar four-bar path generator.
Figure E.5.10 and Figure E.5.11 illustrates the resulting Robert’s diagram. The separate cognates are illustrated in Figure E.5.12.* Like the original path generator, - A -B - O trace the same coupler curve. 1 - A 2 - B2 - O 3 and O mechanisms O 2 3 3 3
* Coupler point “C” in Figures E.5.10 through E.5.12 is identical to the prescribed coupler point p1 in Figure E.5.8.
98
Mechanism Design: Visual and Programmable Approaches p12
5 4
pjy
p11
Achieved curve
p10 p9
3 p8 2
p7
1 p1
p2
0
p4
p3 1
2
p5
3
p6
pjx
4
5
6
FIGURE E.5.9 Precision points and achieved coupler curve. O1 ~ O2
A1
~ O1 A2
B1 C B2
O2 B3
A3
O3
FIGURE E.5.10 Cayley diagram for synthesized planar four-bar path generator. (To illustrate, and subsequently label, the mechanism links and joints in Figures E.5.10 through E.5.12 more clearly, these figures have an aspect ratio of x = 4.8 and y = 1 or 4.8:1.)
99
Planar Four-Bar and Multiloop Path and Motion Generation ~ O2 A1
A3
B3
~ O3
~ O1
B1 B2 C
A2
FIGURE E.5.11 Robert’s diagram for synthesized planar four-bar path generator. (To illustrate, and subsequently label, the mechanism links and joints in Figures E.5.10 through E.5.12 more clearly, these figures have an aspect ratio of x = 4.8 and y = 1 or 4.8:1.) ~ O2
A1
~ O1
B3
~ O3 ~ O3
B1
~ O1
~ O2 A3
C
C B2 C
A2
FIGURE E.5.12 Synthesized planar four-bar path generator (center) and (top, bottom) cognates. (To illustrate, and subsequently label, the mechanism links and joints in Figures E.5.10 through E.5.12 more clearly, these figures have an aspect ratio of x = 4.8 and y = 1 or 4.8:1.)
100
Mechanism Design: Visual and Programmable Approaches
5.7 ANALYTICAL AND APPROXIMATE MULTILOOP PATH AND MOTION GENERATION Figure 5.9 illustrates Watt and Stephenson planar six-bar mechanism classifications. Unlike planar four-bar mechanisms, in which only one link (the coupler link) undergoes complex motion, Watt and Stephenson mechanisms include at least two links that undergo complex motion.* With this capability, these multiloop six-bar mechanisms can simultaneously guide rigid bodies (for multiple simultaneous motion and path generation applications) while having a single degree of freedom. Like the planar four-bar mechanism, vector-loop equations are produced for multiloop mechanisms by taking the vector sum between the starting and displaced positions for each dyad (and triad if necessary) [15]. Figure 5.10 includes the starting and displaced positions of a Stephenson III six-bar mechanism. As illustrated, three vector loops are formed from the triad and two dyads of the mechanism. After taking the counterclockwise sums of the U1 − S1 dyad loop, the U*1 − S*1 dyad loop, and the W1 − Z1 − Z*1 triad loop in Figure 5.10, the general vector-loop equations become * * * i(ψ U1*eiσ + S1*eiψ + Pj*1 eiδ j − S1*e
*
+ α*j
) − U *ei( σ* + γ*j ) = 0 (5.22) 1
5 6
3
3
4
5 4
2
6
2 1
Watt I
1
1
6
6
5
2
3 3
4
Stephenson I
4
2
1
1
1
1 Watt II
1
5 3 5
1 Stephenson II
2
1
4
1
6
1
Stephenson III
FIGURE 5.9 Watt and Stephenson six-bar mechanisms. * The Watt I, Stephenson I, and Stephenson II mechanisms include three links that undergo complex motion.
101
Planar Four-Bar and Multiloop Path and Motion Generation iY p*j
p*j1
Z*j
Pj1
pj
Zj
Wj
S*1
ψ*
p1 Sj
Z1
αj
X
α*j
φ*
δj
p*1
S*j
Z*1
α*j
δ*j
U*1
U*j
S1 ψ
αj
γ*j
φ
βj
σ*
Uj γ U1 j
W1
σ
θ
FIGURE 5.10 Stephenson III mechanism in starting and displaced positions.
U1 eiσ + S1 eiψ + Pj1e
iδ j
− S1 e
(
i ψ+α j
) − U ei( σ + γ j ) = 0 (5.23) 1
* i(φ +α j ) i(φ+ α j ) i θ+β δ* W1eiθ + Z1eiφ + Z1*eiφ + Pj*1 ei j − Z1*e − Z1 e − W1e ( j ) = 0 (5.24) where * i ( φ* + α*j ) iδ iδ iδ* P e j = p − p and P*e j = p* − p* = Z *e + P e j − Z *eiφ *
j1
1
j
j1
j
*
1
1
j1
1
After factoring the starting position dyad vector terms, the resulting standard form loop-closure equations become
U1 eiσ e
)
(
(
)
* * * * * U1*eiσ eiγ j − 1 + S1*eiψ eiα j − 1 = Pj*1 eiδ j (5.25)
(
)
iγ j
iα iδ − 1 + S1 eiψ e j − 1 = Pj1e j (5.26)
W1eiθ eiβ j − 1 + Z1eiφ e
iα j
(
)
* * * iδ − 1 = Pj*1 eiδ j − Z1*eiφ eiα j − 1 = Pj1e j (5.27)
102
Mechanism Design: Visual and Programmable Approaches
Expanding Equation 5.25 and grouping the real and imaginary terms into separate equations produce
(
)
(
)
U1* cos σ* cos γ*j − 1 − U1* sin σ* sin γ*j + S1* cos ψ* cos α*j − 1 − S1* sin ψ* sin α*j = Pj*1 cos δ*j
(
)
(
)
U1* sin σ* cos γ*j − 1 + U1* cos σ* sin γ*j + S1* sin ψ* cos α*j − 1
(5.28)
+ S1* cos ψ* sin α*j = Pj*1 sin δ*j
After setting U1* cos σ* = U1*x , U1* sin σ* = U1*y , S1* cos ψ* = S1*x , and S1* sin ψ* = S1*y , Equation 5.28 can be rewritten as
( ) ( ) (5.29) * * * * * * * * * * U ( cos γ − 1) + U sin γ + S ( cos α − 1) + S sin α = P sin δ U1*x cos γ*j − 1 − U1*y sin γ*j + S1*x cos α*j − 1 − S1*y sin α*j = Pj*1 cos δ*j
1y
1x
j
j
1y
1x
j
j
j1
j
An objective function is derived for the U* − S* dyad by taking the sum of the squares of Equation 5.29. For N precision positions, this objective function is expressed as
f (X) =
N
∑ j =2
(
)
(
)
2 * * * * * * * * * * U1x cos γ j − 1 − U1y sin γ j + S1x cos α j − 1 − S1y sin α j − Pj1 cos δ j 2 * * * * * * * * * * + U1y cos γ j − 1 + U1x sin γ j + S1y cos α j − 1 + S1x sin α j − Pj1 sin δ j
(
)
(
)
(5.30) * * With this equation X = (U1*x , U1*y , S1*x , S1*y , γ 2 … γ 4 ), for four precision positions and X = (U1*x , U1*y , S1*x , S1*y , γ*2 … γ*5 ), when five positions are prescribed. For N precision * * positions where N is greater than 5, X = (U1*x , U1*y , S1*x , S1*y , γ 2 … γ N ). For path generation, the rigid-body displacement angles α*j (Figure 5.10) are included among the unknown mechanism variables. Equation 5.30 is used in combination with Equation 5.1, Inequality (5.3), and Equation 5.2 to synthesize a Stephenson III motion or path generator. Because Equation 5.30 is identical in form to Equations 5.1 and 5.2, the MATLAB files used to calculate the U−S dyad of the planar four-bar mechanism (the Appendix C.1 and C.2 MATLAB files) can be used directly to calculate the U* − S* dyad. If the dyad notation presented in Section 5.5 is adopted for the Stephenson III mechanism, the Appendix C.3 MATLAB files can also be used to synthesize this mechanism.
Planar Four-Bar and Multiloop Path and Motion Generation
103
Example 5.5 Problem Statement: Using the Appendix C.3 MATLAB files, synthesize a Stephenson III mechanism to achieve the gripper precision positions in Figure E.5.13. Known Information: Figure E.5.13 and Appendix C.3 MATLAB files. Solution Approach: The angle values −30°, −55°, and −75° were assigned to α2, α3, and α 4, respectively. The angle values −5°, −10°, and −15° were assigned to α*2 , α*3 , and α*4, respectively. Two unique solutions (for dyads a0 − a1 and b0 − b1) are calculated using the Appendix C.3 MATLAB files (where N = 4) and the pj − αj precision positions. A single solution (for dyad b*0 − b1*) is calculated using the Appendix C.3 MATLAB files (where N = 4) and the p*j − α*j precision positions. Table E.5.10 includes the initial values and calculated values for the Stephenson III mechanism dyads. The specified values for dyad components a0x, b0x, and b0*x are −2, 1, and −2, respectively. The synthesized mechanism achieves precision positions 2, 3, and 4 precisely at a0 − a1 angular displacements of 6.5993°, 12.1015°, and 19.4369°, respectively. This mechanism solution is free of circuit, branch, and order defects over the calculated crank rotation range (Figure E.5.14).
p1 = p1* = (0, 0) –30°
p2 = p2* = (0.1815, 0.4882) p3 = p3* = (0.3910, 0.9207)
–55°
p4 = p4* = (0.6647, 1.4078) –75°
p4 Y
p3
–15°
p2 p1
–5° X
FIGURE E.5.13 Gripper precision positions.
–10°
104
Mechanism Design: Visual and Programmable Approaches
TABLE E.5.10 Initial and Calculated Values for Stephenson III Mechanism Variables Prescribed Values
Calculated Values
b0* y
1 1, 1 1 1, 1 1
2.4721 0.3485, 0.2174 0.5595 0.8823, 0.3465 0.7200
b1*
1, 1
5.5390, −1.7938
Variable a0y a1 b0y b1
a0
b*0
Y
p1
b0 a1
b1 X
b*1
FIGURE E.5.14 Synthesized Stephenson III mechanism.
5.8 SUMMARY What distinguishes path generation from motion generation is that coupler path points (called precision points) are achieved in path generation while coupler positions (called precision positions) are achieved in motion generation. The analytical motion generation equations in Chapter 4 have limited use in motion and path generation. A coupler curve atlas includes a wide array of coupler curves and their corresponding four-bar mechanism link proportions. Such information can provide designers with judicious starting points for design applications. Two of the most commonly used coupler curve features are straight lines and circular arcs. These features constitute dwell regions and result in a cam-like zero radial output motion for a nonzero crank supplied input motion.
Planar Four-Bar and Multiloop Path and Motion Generation
105
While analytical motion and path generation equations enable one to calculate mechanism solutions that precisely achieve the precision positions and precision points, respectively, they become more limited and ultimately inadequate as the number of precision positions and points increases. Under such a condition, numerical optimization methods to calculate mechanism solutions to approximate prescribed parameters are more useful. This chapter includes two types of equation systems to be optimized for motion and path generation: unconstrained nonlinear equation systems and constrained nonlinear equation systems. In this textbook, the trust-region interior reflective Newton method is employed in MATLAB to calculate solutions for the unconstrained equation systems and the trust-region interior point method is employed in MATLAB to calculate solutions for the constrained equation systems. The constrained nonlinear equation systems include constraints to eliminate branch and order defects. The constrained and unconstrained equation systems presented in this chapter are solved using the Appendix C MATLAB files. For a given planar four-bar path generator, there are alternate four-bar mechanisms (called cognates) that will trace identical coupler curves. The Cayley diagram is a well-known schematic to construct two cognates for a given four-bar mechanism. While the planar four-bar mechanism includes a single member (the coupler link) that undergoes complex motion, planar multiloop mechanisms such as the Stephenson III type include at least two links that undergo complex motion. Like the planar four-bar mechanism, vector-loop equations were formulated for this mechanism for motion and path generation.
PROBLEMS 5.1 Using the Appendix C.1 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the four digger bucket positions in Figure P.5.1. Through a displacement analysis, determine if the synthesized
Y p1
p1 = (0, 0) p2 = (0.8373, –1.9327) p3 = (1.8479, –2.8558) p4 = (3.4071, –0.8077)
X p4 p2
90° p3 27°
75°
FIGURE P.5.1 Four digger bucket positions.
106
Mechanism Design: Visual and Programmable Approaches –15°
p1 = (0, 0)
p2 = (1.1274, 0.8390) p3 = (2.4426, 1.0108)
–30°
p4 = (2.4137, 1.5017)
–50° p4
Y p2 p1
p3
Latch fully applied
X
FIGURE P.5.2 Four latch positions.
5.2
5.3
5.4 5.5
mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism. Using the Appendix C.1 and C.3 MATLAB files, synthesize two order, branch, and circuit defect–free planar four-bar mechanisms (one mechanism for each set of MATLAB files) for the four latch positions in Figure P.5.2. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect–free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. Using the Appendix C.2 and C.5 MATLAB files, synthesize two branch and circuit defect–free planar four-bar mechanisms (one mechanism for each set of MATLAB files) for the five precision points given in Table P.5.1. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect–free over the crank rotation ranges and also determine the points achieved by the synthesized mechanisms. Produce the Cayley diagram for the planar four-bar path generator solution calculated from the Appendix C.5 MATLAB files in Problem 5.3. Using the Appendix C.2 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the five precision points given in
TABLE P.5.1 Precision Points Point 1 2 3 4 5
Point Coordinates 0, 0 2.675, −0.182 6.051, −1.019 9.250, −3.100 10, −5
107
Planar Four-Bar and Multiloop Path and Motion Generation
TABLE P.5.2 Precision Points Point
Point Coordinates
1 2 3 4 5
0, 0 0.574, 3.339 2.792, 6.931 5.965, 9.150 10, 10
Table P.5.2. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.6 Using the Appendix C.1 and C.3 MATLAB files, synthesize order, branch, and circuit defect–free planar four-bar mechanisms (one mechanism for each set of MATLAB files) for the four gripper positions in Figure P.5.3. Through a displacement analysis, determine if the synthesized mechanisms are order, branch, and circuit defect–free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 5.7 Using the Appendix C.1 and C.3 MATLAB files, synthesize order, branch, and circuit defect–free planar four-bar mechanisms (one mechanism for each set of MATLAB files) for the four assembly component positions in Figure P.5.4. Through a displacement analysis, determine if the synthesized mechanisms are order, branch, and circuit defect–free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 5.8 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the eight precision points given p1 = (0, 0) p2 = (0.6349, –0.0880)
en
–15°
ly ul rf pe
G
Y
p1
–30°
rip
p4 = (1.7166, –0.3648)
op
p3 = (1.0746, –0.3584)
p2
X
–45°
p3 p4
FIGURE P.5.3 Four gripper positions.
Gripper fully closed
108
Mechanism Design: Visual and Programmable Approaches
180°
Fully assembled position
120°
p4 p3
p1 = (0, 0)
p2 = (–0.3627, 0.5346) p3 = (–0.3461, 1.0239)
Y
p2 p1
p4 = (–0.7517, 2.1459)
60° X
FIGURE P.5.4 Four assembly component positions.
TABLE P.5.3 Precision Points Point 1 2 3 4 5 6 7 8
Point Coordinates 0, 0 0.1350, 0.1350 0.2701, 0.2701 0.4051, 0.4051 0.5401, 0.5401 0.6752, 0.6752 0.8102, 0.8102 0.9452, 0.9452
in Table P.5.3. Through a displacement analysis, determine if the synthesized mechanisms is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.9 Produce the Cayley diagram for the planar four-bar path generator solution in Problem 5.8. 5.10 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the eight precision points given in Table P.5.4. Through a displacement analysis, determine if the synthesized mechanisms is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.11 Using the Appendix C.1 and C.3 MATLAB files, synthesize order, branch, and circuit defect–free planar four-bar mechanisms (one mechanism for each set of MATLAB files) for the four stamping part positions in Figure P.5.5. Through a displacement analysis, determine if the synthesized mechanisms are order,
Planar Four-Bar and Multiloop Path and Motion Generation
109
TABLE P.5.4 Precision Points Point
Point Coordinates
1 2 3 4 5 6 7 8
0, 0 0.1302, 0.3365 0.5, 0.5 0.6674, 0.5 0.8854, 0.5 1.0529, 0.5 1.4227, 0.3365 1.5529, 0
Y
p1
X p2
p1 = (0, 0)
p2 = (1.2902, –0.3695)
p3 –45°
–75°
p3 = (2.2468, –0.5436)
p4 –90°
p4 = (3.0434, –0.9153)
Stamp fully applied
FIGURE P.5.5 Four stamping part positions.
branch, and circuit defect–free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 5.12 Using the Appendix C.3 MATLAB files, synthesize an order, branch, and circuit defect–free planar four-bar mechanism for the four load–unload bucket positions in Figure P.5.6. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism. 5.13 Repeat Problem 4.13 in Chapter 4 using the Appendix C.4 MATLAB files to synthesize a planar four-bar mechanism. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data.
110
Mechanism Design: Visual and Programmable Approaches p3 p2
–107° p4
–70°
–127° Y p1
Unloading bucket position
X Loading bucket position
p1=(0, 0) p2=(2.4696, 3.1993) p3=(5.5634, 3.8500) p4=(7.1872, 2.7677)
FIGURE P.5.6 Four load–unload bucket precision positions.
5.14 Repeat Problem 4.14 in Chapter 4 using the Appendix C.4 MATLAB files to synthesize a planar four-bar mechanism. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. 5.15 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect-free planar four-bar mechanism for the five precision points given in Table P.5.5. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.16 Produce the Cayley diagram for the planar four-bar path generator solution in Problem 5.8. 5.17 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the five precision points given in Table P.5.6. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. TABLE P.5.5 Precision Points Point 1 2 3 4 5
Point Coordinates 0, 0 0.7018, 0.5425 0.8604, 0.6534 0.9713, 0.8331 1, 1
Planar Four-Bar and Multiloop Path and Motion Generation
111
TABLE P.5.6 Precision Points Point 1 2 3 4 5
Point Coordinates 0, 0 1, −0.5 0, −1 −1, −0.5 0, 0
5.18 Repeat Problem 4.15 in Chapter 4 using the Appendix C.4 MATLAB files to synthesize a planar four-bar mechanism. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. 5.19 Repeat Problem 4.16 in Chapter 4 using the Appendix C.4 MATLAB files to synthesize a planar four-bar mechanism. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. 5.20 Repeat Problem 4.17 in Chapter 4 using the Appendix C.4 MATLAB files to synthesize a planar four-bar mechanism. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. 5.21 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the five precision points given in Table P.5.7. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.22 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the six precision points given in Table P.5.8. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism.
TABLE P.5.7 Precision Points Point 1 2 3 4 5
Point Coordinates 0, 0 0.2792, 0.6931 1, 1 0.9162, 0.2415 0, 0
112
Mechanism Design: Visual and Programmable Approaches
TABLE P.5.8 Precision Points Point 1 2 3 4 5 6
Point Coordinates 0, 0 1, −0.5 0, −0.8228 −0.7898, −0.8228 −0.9250, −0.3100 0, 0
TABLE P.5.9 Precision Points Point 1 2 3 4 5 6
Point Coordinates 0, 0 1, 1 1.7694, 0.4582 1.7694, −0.4582 1, −1 0, 0
5.23 Using the Appendix C.5 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the six precision points given in Table P.5.9. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the points achieved by the synthesized mechanism. 5.24 Using the Appendix C.4 MATLAB files, synthesize a branch and circuit defect– free planar four-bar mechanism for the seven digger bucket positions in Figure P.5.7. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism. 5.25 Using the Appendix C.4 MATLAB files, synthesize a branch and circuit defect–free planar four-bar mechanism for the four loader bucket positions in Figure P.5.8. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism.
113
Planar Four-Bar and Multiloop Path and Motion Generation p6
p7
75° 45°
p5
Y
105° p1
X
p4
p2
90° p3
27°
75°
p1 = (0, 0) p2 = (0.8373, –1.9327) p3 = (1.8479, –2.8558) p4 = (3.4071, –0.8077) p5 = (3.6136, 1.5299) p6 = (0.9435, 3.2126) p7 = (–0.4414, 2.7270)
FIGURE P.5.7 Seven digger bucket positions. p3
–25°
p2
p4 –75°
Y –10°
p1
X
p1 = (0, 0)
p2 = (1.7491, 2.3668) p3 = (4.4059, 4.4460) p4 = (8.0148, 2.3004)
FIGURE P.5.8 Four loader bucket precision positions.
5.26 Using the Appendix C.4 MATLAB files, synthesize a branch and circuit defect– free planar four-bar mechanism for the six golf club positions in Figure P.5.9. The additional rigid-body point q1 can be selected arbitrarily and its displaced values (e.g., q2,q3 …) calculated from the known precision position data. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism.
114
Mechanism Design: Visual and Programmable Approaches Y p1
p2
X
55° p3
–73°
105°
p6
165° –130° p4 p5
p1 = (0, 0) p2 = (–5.2712, –0.2125) p3 = (–8.9671, –4.2108) p4 = (–7.7905, –9.6713) p5 = (–1.6841, –12.5390) p6 = (4.4420, –7.5103)
FIGURE P.5.9 Six golf club positions. p1 = p*1 = (0, 0) p2 = p*2 = (0.1705, 0.0907) p3 = p*3 = (0.5370, –0.0924) p4 = p*4 = (0.8791, –0.1412) –10°
–20°
–30° –5°
Y
p1
p2
–10° –15°
X p3
p4
FIGURE P.5.10 Two groups of four adjustable seat positions.
5.27 Synthesize a Stephenson III mechanism for the two groups of four adjustable seat positions illustrated in Figure P.5.10 using either the Appendix C.1 or C.3 MATLAB files. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism. 5.28 Synthesize a Stephenson III mechanism for the two groups of four cutting tool positions illustrated in Figure P.5.11 using either the Appendix C.1 or C.3 MATLAB files. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism.
115
Planar Four-Bar and Multiloop Path and Motion Generation –15°
p1 = p*1 = (0, 0) p2 = p*2 = (0.25, –0.1) p3 = p*3 = (0.5, –0.25)
–30°
p4 = p*4 = (0.75, –0.25)
Y
–45° X
p1 p2
p3
p4
45° 30°
15°
FIGURE P.5.11 Two groups of four cutting tool positions.
5.29 Repeat Example 5.5 (in Section 5.7) using the Appendix C.1 MATLAB files. 5.30 Synthesize a Stephenson III mechanism to for the two groups of four digger arm positions illustrated in Figure P.5.12 using the Appendix C.1 MATLAB files. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect–free over the crank rotation range and also determine the positions achieved by the synthesized mechanism. 25° 35°
Y p1
60°
p1 = p*1 = p2 = p*2 = p3 = p*3 = p4 = p*4 =
X
(0, 0) (0.6397, –0.6005) (1.4148, –1.0654) (2.8010, –0.8675)
p2 p4
p3
75°
50° 15°
FIGURE P.5.12 Two groups of four digger arm positions.
116
Mechanism Design: Visual and Programmable Approaches
REFERENCES
1. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 140–147. New York: McGraw-Hill. 2. Hrones, J.A. and G.L. Nelson. 1951. Analysis of the Fourbar Linkage. Cambridge, MA: MIT Technology Press. 3. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 147–152. New York: McGraw-Hill. 4. Ibid., Chapter 8. 5. Myszka, D.H. 2005. Machines and Mechanisms: Applied Kinematic Analysis, 3rd edn., Chapter 9. Upper Saddle River, NJ: Prentice Hall. 6. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., Chapter 8. Upper Saddle River, NJ: Prentice Hall. 7. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 53–54, 62. Englewood Cliffs, NJ: Prentice Hall. 8. Nocedal, J. and S.J. Wright. 2006. Numerical Optimization, pp. 73–91. New York: Springer. 9. Powell, M.J.D. 1970. A new algorithm for unconstrained optimization. In: Nonlinear Programming, J.B. Rosen, O.L. Mangasarian, and K. Ritter (eds.), pp. 31–66. London, U.K.: Academic Press. 10. Nocedal, J. and S.J. Wright. 2006. Numerical Optimization, pp. 578–593. New York: Springer. 11. Suh, C.H. and C.W. Radcliffe. 1978. Kinematics and Mechanisms Design, pp. 83–85. New York: John Wiley and Sons. 12. Ibid., pp. 51, 52, 129–132. 13. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 132–137. New York: McGraw-Hill. 14. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., pp. 318–320. Upper Saddle River, NJ: Prentice Hall. 15. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 112–114. Englewood Cliffs, NJ: Prentice Hall.
6
Planar Four-Bar Function Generation
6.1 INTRODUCTION TO FUNCTION GENERATION In function generation, the mechanism dimensions required to achieve or approximate prescribed link displacement angles are calculated.* The displacement angles are commonly defined according to a mathematical function. In four-bar function generation, the angular displacements of both the crank and follower links are typically specified where the angular displacement of the follower link is a function of the crank link angular displacement (Figure 6.1a).† To further convey function generation, Figure 6.1b illustrates a four-bar lawn sprinkling mechanism (where the sprinkler is affixed to the follower link). For effective operation, the sprinkler should oscillate within a particular range to avoid oversprinkling or undersprinkling the lawn area. The planar four-bar function generation models presented in this chapter are useful for calculating the planar four-bar mechanism dimensions required to achieve or approximate prescribed link angular displacements, velocities, and accelerations. As explained earlier, the precision points in four-bar function generation are commonly crank and follower displacement angles where the follower angles are defined as a function of the crank angles. In Figure 6.1a, the crank displacement angles βj correspond to the independent function variable “x” and the follower displacement angles γj correspond to a user-defined function f(x) [1,2]. The curve in Figure 6.2 represents an example function to be achieved through function generation. From this function, precision points (pj) are selected. Because only a finite number of precision points can be prescribed through analytical function generation, the resulting function generator will achieve f(x) at pj or simply f(xj) as opposed to achieving the function continuously. The abscissa and ordinate ranges for the function are ∆x and ∆y, respectively, and the corresponding crank and follower displacement angle ranges are ∆β and ∆γ, respectively (Figure 6.2). Linear relationships between the crank and follower precision points and the specific function precision points can be expressed as β j − β1 ∆β = x j − x1 ∆x
γ j − γ1 ∆γ = y j − y1 ∆y
(6.1)
* In addition to link angular displacements, derivative quantities such as angular velocities and angular accelerations are among the prescribed parameters that are considered in function generation. † Prescribed displacement angles are also called precision points in function generation.
117
118
Mechanism Design: Visual and Programmable Approaches Sprinkler Clamping screw
Input link γj
βj
Where γj = f(βj) (a)
(b)
FIGURE 6.1 (a) Four-bar mechanism in starting and displaced positions; (b) lawn sprinkling mechanism.
Y
pN+1
yN+1
pN
yN
pj
yj ∆y
p3
y3 p2
y2 y1 y0
p1 p0 x0
x1
x2 ∆x
FIGURE 6.2 Function curve with precision points.
x3
xj xN xN+1
X
119
Planar Four-Bar Function Generation
Angles β1 and γ1 are zero because they are the displacement angles in the starting mechanism position. Solving for βj and γj, Equation 6.1 can be expressed as Equation 6.2 where βj and γj are the crank and follower precision points corresponding to the coordinates xj and yj of the function precision points pj. Crank and follower link displacement angles are among the precision points for the planar four-bar function generation equations in this chapter:* βj =
∆β ( x j − x1 ) ∆x
∆γ γj = ( y j − y1 ) ∆y
(6.2)
6.2 FUNCTION GENERATION: THREE, FOUR, AND FIVE PRECISION POINTS The general vector-loop closure equation for the four-bar mechanism in Figure 6.3 in the jth position is W1e (
i θ+β j )
+ V1e (
i ρ+α j )
− U1e (
i σ+ γ j )
− G1 = 0 (6.3)
Being always inline with the x-axis, vector G1 only has the real component G1x. Because the mechanism link proportions affect its link rotation angles (which are of interest in function generation) and not the scale of the mechanism, a single mechanism link length variable can be specified. After specifying G1x = 1 and moving it to the right-side of the equation, Equation 6.3 becomes
ρ
V1 U1
αj W1 βj
iY
γj
θ X
σ G1
FIGURE 6.3 Four-bar mechanism in starting and (dashed) displaced positions. * Chebyshev spacing is a classic and commonly employed technique for selecting precision points. For N precision points (where x0 ≤ xj ≤ xN+1), the Chebyshev spacing equation to calculate the function’s independent variables is x j = 1 / 2 ( x N +1 + x0 ) − 1 / 2 ( x N +1 − x0 ) cos ( 2 j − 1) π / 2 N j = 1, 2 … N .
120
Mechanism Design: Visual and Programmable Approaches
W1e (
i θ+β j )
+ V1e (
i ρ+α j )
− U1e (
i σ+ γ j )
= 1. (6.4)
Expanding Equation 6.4 and grouping the real and imaginary terms as separate equations produces W1 cos θ cos β j − W1 sin θ sin β j + V1 cos ρ cos α j − V1 sin ρ sin α j − U1 cos σ cos γ j + U1 sin σ sin γ j − 1 = 0 W1 sin θ cos β j + W1 cos θ sin β j + V1 sin ρ cos α j + V1 cos ρ sin α j − U1 sin σ cos γ j
− U1 cos σ sin γ j = 0.
(6.5)
After setting W1 cos θ = W1x, W1 sin θ = W1y, V1 cos ρ = V1x, V1 sin ρ = V1y, U1 cos σ = U1x, and U1 sin σ = U1y, Equation 6.5 can be rewritten as W1x cos β j − W1y sin β j + V1x cos α j − V1y sin α j − U1x cos γ j + U1y sin γ j − 1 = 0 W cos β j + W1x sin β j + V1y cos α j + V1x sin α j − U1y cos γ j − U1x sin γ j = 0. 1y
(6.6)
When expressed in matrix form for three precision points, Equation 6.6 becomes 1 0 cos β2 sin β2 cos β3 sin β3
0 1 − sin β2 cos β2 − sin β3 cos β3
1 0 cos α 2 si n α 2 cos α 3 sin α3
0 1 − sin α 2 cos α 2 − sin α 3 cos α3
−1 0 − cos γ 2 − sin γ 2 − cos γ 3 − sin γ 3
0 W1x 1 −1 W1y 0 sin γ 2 V1x 1 = . (6.7) − cos γ 2 V1y 0 sin γ 3 U1x 1 − cos γ 3 U1y 0
The first two rows in Equation 6.7 are the result of displacement angles β1, α1, and γ1 (corresponding to the initial mechanism position) all being zero in Equation 6.6. Therefore, with three precision points, Equation 6.6 forms Equation 6.7—a set of six linear equations to calculate the scalar components of link variables W1, V1, and U1. In addition to prescribing the crank and follower displacement angles, the coupler displacement angles α2 and α3 are also prescribed in Equation 6.7. Equation 6.6 can also form a set of equations for four position synthesis (where α4 is prescribed) and five position synthesis (with no free choices). Table 6.1 includes the numbers of precision points, equations, variables, and free choices for planar four-bar function generation with three, four, and five precision points.* * Unlike the equation set for three-position synthesis, the four- and five-position synthesis equation sets cannot be solved analytically because the inclusion of αj among the unknown variables makes them nonlinear.
121
Planar Four-Bar Function Generation
TABLE 6.1 Maximum Number of Solutions for Equation 6.7 for Three, Four, and Five Precision Points Number of Precision Points
Number of Equations
3
6
4
8
5
10
Number of Unknowns
Number of Free Choices
Number of Solutions
2
Infinite
1
Infinite
0
Finite
(8) W1x, W1y, V1x, V1y, U1x, U1y, α2, α3 (9) W1x, W1y, V1x, V1y, U1x, U1y, α2, α3, α4 (10) W1x, W1y, V1x, V1y, U1x, U1y, α2, α3, α4, α5
Example 6.1 Problem Statement: Synthesize a planar four-bar sprinkler mechanism to achieve a follower rotation range of 60° for a corresponding crank rotation range of 180°. Known Information: Equation 6.7. Solution Approach: The crank and follower rotation ranges have been equally divided into the displacement angles given in Table E.6.1. This table also includes arbitrarily specified coupler link displacement angles. Table E.6.2 includes the function generator variables calculated using Equation 6.7. The synthesized function generator is illustrated in Figure E.6.1. Because the function generator was calculated analytically, it achieves the precision points precisely.
TABLE E.6.1 Four-Bar Sprinkler Mechanism Precision Points Precision Point 1 2 3
βj [deg.]
γj [deg.]
αj [deg.]
0 90 180
0 30 60
0 −5 10
TABLE E.6.2 Calculated Four-Bar Function Generator Variables W1 0.2670, 0.0816
V1
U1
1.0598, 0.4564
0.3268, 0.5380
122
Mechanism Design: Visual and Programmable Approaches Clamping screw
Spray area V1 W1
U1
G1
FIGURE E.6.1 Synthesized planar four-bar function generator.
6.3 APPROXIMATE FUNCTION GENERATION Beyond three precision points, the number of scalar equations produced from Equation 6.6 exceeds the number of unknown scalar variables in W1, V1, and U1 and the total number of equations exceeds the total number of mechanism variables beyond five precision points (Table 6.1). In both cases, approximate function generation (where numerical optimization is used to calculate mechanism solutions) would be favorable. Equation 6.8 is an objective function formed from Equation 6.6 for N precision points (where α1 = β1 = γ1 = 0). For Equation 6.8, X = (W1x, W1y, V1x, V1y, U1x, U1y, α2 … α 4) when four precision points are prescribed and X = (W1x, W1y, V1x, V1y, U1x, U1y, α2 … α5) when five precision points are prescribed. For N precision points where N is greater than 5, X = (W1x, W1y, V1x, V1y, U1x, U1y, α2 … αN): N
f (X) = ∑
j =1
(W1x cosβ j − W1y sin β j + V1x cosα j − V1y sin α j − U1x cosγ j + U1y sin γ j − 1)2 2 + (W1ycosβ j + W1x sin β j + V1ycosα j + V1x sin α j − U1ycosγ j − U1x sin γ j )
(6.8)
Appendix D.1 includes user instructions for the MATLAB® files for Equation 6.8— the unconstrained nonlinear equation system presented in this section for approximate planar four-bar function generation. The MATLAB files themselves are available for download at www.crcpress.com. Example 6.2 Problem Statement: Synthesize a planar four-bar dial mechanism to approximate the six flow rate (Q) and pump head (h) readings corresponding to the data points given in Figure E.6.2.
123
Planar Four-Bar Function Generation h
2 2 h=0.0017q h = 0.0017Q
1088
Pump head (ft)
833
612
425 272 153
300 400
500
600
700 800
Q
Flow rate (gpm)
FIGURE E.6.2 Pump head versus flow rate curve with selected data points. Known Information: Figure E.6.2, Equation 6.2, and Appendix D.1 MATLAB files. Solution Approach: From the data provided in Figure E.6.2, ∆x = 500 gal/min and ∆y = 935 ft. The values for ∆β and ∆γ were arbitrarily prescribed to 60°. Table E.6.3 includes the known Q and h values and the values calculated for β and γ using Equation 6.2. Table E.6.4 includes the function generator variables calculated using the Appendix D.1 MATLAB files (where N = 6). Initial value of W1 = U1 = (−1,−1), V1 = (−1,1), and 20°, 40°…100° for α2 … α6, respectively, were specified. Table E.6.5 includes the precision points and the displacement angles achieved by the synthesized function generator (Figure E.6.3).
124
Mechanism Design: Visual and Programmable Approaches
TABLE E.6.3 Precision Points and Calculated Data for Planar Four-Bar Dial Mechanism Precision Point
Q(xj)a
h(yj)
βj [deg.]
γj [deg.]
1 2 3 4 5 6
300 400 500 600 700 800
153 272 425 612 833 1088
0 12 24 36 48 60
0 7.636 17.455 29.455 43.636 60
a
In this example, six values for Q were specified at evenly spaced 100 gpm increments. Values for this variable could have been specified using the Chebyshev spacing equation presented in Section 6.1 also.
TABLE E.6.4 Calculated Four-Bar Function Generator Variables W1 0.8614, −2.7762
V1
U1
α2 ∼ α6 [deg.]
−0.7711, 1.0229
−0.9096, −1.7535
21.080, 42.177, 63.543, 84.973, 105.963
TABLE E.6.5 Precision Points and Achieved Angles for the Planar Four-Bar Dial Mechanism Prescribed
Achieved
βj [deg.]
γj [deg.]
γj [deg.]
0 12 24 36 48 60
0 7.636 17.455 29.455 43.636 60
0 7.673 17.450 29.436 43.687 59.996
125
Planar Four-Bar Function Generation iY X G1
U1
800
W1 700
153
Pump head (ft)
V1 272
612
1088 933
425
500
600 Flow rate (gpm)
400 300
FIGURE E.6.3 Synthesized planar four-bar function generator.
6.4 VELOCITY AND ACCELERATION CONSTRAINTS FOR FUNCTION GENERATION In addition to link displacement angles, it is also possible to synthesize a function generator to achieve or approximate prescribed link angular velocities and accelerations. Angular displacements (being discrete, finitely separated quantities) are called finitely separated positions (FSPs) and derivative quantities such as angular velocities and accelerations are multiply separated positions (MSPs). Figure 6.4 illustrates the function generator angular velocity and angular acceleration variables—the first and second derivatives of angular displacements β, α, and γ. By differentiating, expanding, and separating vector-loop Equation 6.4, mechanism velocity and acceleration constraint equations are derived for the planar fourbar function generator. Differentiating Equation 6.4 yields
i θ+β i ρ+α i σ+ γ β jW1e ( j ) + α jV1e ( j ) − γ jU1e ( j ) = 0 (6.9)
126
Mechanism Design: Visual and Programmable Approaches
αj
βj
βj
αj αj
γ γj γj j
βj
Where γj = f (βj)
FIGURE 6.4 Planar four-bar function generator with angular velocity and acceleration variables.
Expanding Equation 6.9 and grouping the real and imaginary terms into separate equations produce β j (W1x cos β j − W1y sin β j ) + α j (V1x cos α j − V1y sin α j ) − γ j (U1x cos γ j −U U1y sin γ j ) = 0
β j (W1x sin β j + W1y cos β j ) + α j (V1x sin α j + V1y cos α j ) − γ j (U1x sin γ j + U1y cos γ j ) = 0
(6.10)
Equation 6.10 constitutes planar four-bar function generator velocity constraints and γ ). Differentiating Equation 6.9 yields β, (introducing link velocity terms α,
iβ 2j W1e (
i θ+β j )
jW1e ( +β
i θ+β j )
+ iα 2jV1e (
i ρ+α j )
jV1e ( +α
i ρ+α j )
− iγ 2jU1e (
i σ+ γ j )
− γ jU1e (
i σ+ γ j )
=0
(6.11)
Expanding Equation 6.11 and grouping the real and imaginary terms into separate equations produce j (W1x cos β j − W1y sin β j ) + α 2j (V1x sin α j − V1y cos α j ) β 2j (W1x sin β j − W1y cos β j ) + β j (V1x cos α j − V1y sin α j ) − γ 2j (U1x sin γ j −U1y cos γ j ) − γ j (U1x cos γ j −U1y sin γ j ) = 0 +α j (W1x sin β j + W1y cos β j ) + α 2j (V1x cos α j − V1y sin α j ) β 2j (W1x cos β j − W1y sin β j ) + β
j (V1x sin α j + V1y cos α j ) − γ 2j (U1x cos γ j −U1y sin γ j ) − γ j (U1x sin γ j + U1y cos γ j ) =0. +α (6.12)
Planar Four-Bar Function Generation
127
Equation 6.12 constitutes planar four-bar function generator acceleration and γ in addition to β, constraints—introducing link angular acceleration terms α, β, and γ introduced in Equation 6.10. the link angular velocity terms α,
6.5 FUNCTION GENERATION WITH FINITE AND MULTIPLY SEPARATED POSITIONS As presented in Table 6.1, three precision points for planar four-bar function generation produce a set of six scalar equations to calculate mechanism variables W1, V1, and U1. A set of six equations to calculate mechanism variables W1, V1, and U1 can also be formed from Equation 6.6 (with β = α = γ = 0) and any combination of Equations 6.6, 6.10, and/or 6.12. With such an equation set, the user can specify not only link angular displacements (FSPs), but also corresponding link angular velocities and/or accelerations (MSPs). This equation set can be solved using Cramer’s rule. The resulting planar four-bar mechanism will precisely achieve the prescribed angular displacements, velocities, and/or accelerations. Example 6.3 Problem Statement: Given a constant driving link angular velocity of 1 rad/s and angular acceleration of zero, synthesize a planar four-bar mechanism to achieve a follower angular velocity and acceleration of −0.75 rad/s and −0.1 rad/s2, respectively. = 0 rad/s2, γ = −0.75 Known Information: Equations 6.6, 6.10, 6.12, β = 1 rad/s, β γ = −0.1 rad/s2. rad/s, and Solution Approach: A set of six equations to calculate mechanism variables W1, V1, and U1 is formed from Equations 6.6 (with β = α = γ = 0), 6.10, and 6.12.* When expressed in matrix form, these equations become 1 0 1 0 −1 0 W 1 1x 0 1 0 1 0 −1 W 0 1y β c −β sβ α cα −α sα − γ c γ γ sγ β V1x = 0 . β cβ β sβ V1y 0 α sα α cα − γ s γ − γ c γ cβ −β 2cβ − β sβ α 2sα + α cα −α 2cα − α sα − γ 2s γ − γc γ γ 2c γ + γsγ U1x 0 β 2sβ + β 2 sβ −β 2sβ + β cβ α 2cα + α cα − γ 2c γ − γs γ γ 2s γ − γc γ U1y 0 sα −α 2sα + α β cβ + β
(6.13) In Equation 6.13, cang = cos(ang) and sang = sin(ang). The angular velocity and accel eration of the coupler link were arbitrarily specified as α = −1.5 rad/s and α = −1 rad/s2.
* To ensure the function generator solution forms a closed loop, Equation 6.6 (with β = α = γ = 0) must be included in the solution equation set.
128
Mechanism Design: Visual and Programmable Approaches
0.3 0.2 0.1 0 –0.1
γ (rad/s)
γ
γ (rad/s2) 1.5 1
γ
0.5 50
100 150 200 250 300 350 β (deg.)
0 –0.5 –1
–0.2
–1.5
–0.3
–2.0
–0.4
–2.5
–0.5
–3.0
–0.6
–3.5 –4.0
–0.7
–4.5
–0.8
FIGURE E.6.4 Follower angular velocity and acceleration profiles for synthesized function generator.
U1
γ = 0.75 rad/s
V1 iY
γ = 0.1 rad/s2
β = 1 rad/s X
W1
FIGURE E.6.5 Synthesized planar four-bar function generator.
Solving Equation 6.13 using Cramer’s rule produces W1 = (0.2818, 0.0540), V1 = (−0.3424, 0.1260), and U1 = (−1.0605, 0.1801). Plotting the follower angular velocity and acceleration profiles (Figure E.6.4) of the planar four-bar function generator solution (Figure E.6.5) confirms that the prescribed MSPs are achieved precisely at β = 0.
129
Planar Four-Bar Function Generation
6.6 APPROXIMATE FUNCTION GENERATION WITH FINITE AND MULTIPLY SEPARATED POSITIONS Using Equation 6.8 as an objective function and Equation 6.10 and/or 6.12 as constraints for each prescribed MSP, a constrained nonlinear equation system can be formulated to synthesize a planar four-bar function generator to approximate the prescribed FSPs and MSPs.* From this equation system, mechanism variables W1, ( β ) , V1, and U1 are calculated that approximate prescribed relationships α ( β ) , α γ ( β ) , and/or γ ( β ) as well as the conventional prescribed α(β) and γ(β) relationships. Appendix D.2 includes MATLAB file user instructions for a constrained nonlinear equation system comprised of Equations 6.8 and 6.10. From this equation system, FSPs and angular velocity MSPs are approximated. The MATLAB files themselves are available for download at www.crcpress.com. Example 6.4 Problem Statement: Synthesize a planar four-bar mechanism to drive an oscillating paddle. The paddle should approximate an angular displacement and velocity of 35° and 0.7 rad/s, respectively, at a crank angular displacement of 90°. The paddle should also approximate an angular displacement and velocity of 70° and 0 rad/s, respectively, at a crank displacement of 180°. The angular velocity of the crank link is a constant 1 rad/s. Known Information: β2 = 90°, β3 = 180°, β = 1 rad/s, γ2 = 35°, γ3 = 70°, γ 2 = 0.7 rad/s, γ 3 = 0 rad/s, and Appendix D.2 MATLAB files. Solution Approach: Initial values of α2 = α3 = 10° and arbitrary values of α 2 = α 3 = −0.3 rad/s were specified in Appendix D.2 MATLAB files (where N = 3). Initial values of W1 = V1 = U1 = (1,1) produce a solution of W1 = (−0.1776, 0.1013), V1 = (0.6883, −0.0403), and U1 = (−0.4893, 0.0610). Table E.6.6 includes the follower FSPs and MSPs approximated by the synthesized function generator. These FSPs and MSPs were achieved in the alternate branch of the calculated mechanism solution illustrated in Figure E.6.6. In the alternate branch, V1 = (0.6851, −0.0778) and U1 = (−0.4925, 0.0235).
TABLE E.6.6 Follower FSPs and MSPs Approximated by Synthesized Mechanism Precision Point 2 3
βj [deg.]
γj [deg.]
γ j [rad/s]
90 180
39.3341 70.3421
0.6038 0.0018
* The number of velocity constraints and/or acceleration constraints in the function generation model depends on the type and number of MSPs prescribed.
130
Mechanism Design: Visual and Programmable Approaches
iY
Oscillating paddle U1
V1 W1
X
70.3421°
FIGURE E.6.6 Synthesized planar four-bar function generator.
6.7 SUMMARY The objective in function generation is to calculate the mechanism dimensions required to achieve or approximate prescribed link displacement angles. For the planar four-bar linkage, displacement angles are typically specified for the crank and follower links. Often the displacement angles are related by a mathematical function (where the crank and follower displacement angles are particular input and output function values, respectively). Equations for analytical function generation are derived for the planar four-bar mechanism by taking the vector-loop sum of the entire mechanism. The resulting equations can be used to calculate the dimensions of a planar four-bar mechanism to precisely achieve three prescribed crank and follower displacement angle pairs (also called precision points). Beyond three precision points, analytical function generation is not feasible. In this chapter, an unconstrained nonlinear equation system is produced for N precision points by taking the squared sum of the planar four-bar vector-loop equation. In addition to link displacement angles (or FSPs), it is also possible to synthesize function generators to achieve or approximate prescribed link angular velocities and/ or accelerations (or MSPs). Differentiating, expanding, and separating the planar four-bar vector-loop equation produces velocity and acceleration equations (after the first and second derivatives, respectively). Any combination of the velocity equation and/or the acceleration equation and the initial position vector-loop equation produces an equation set to analytically calculate the mechanism dimensions required to precisely achieve prescribed FSPs and/or MSPs. Using the objective function from the unconstrained equation system along with the derived velocity equation as a constraint produces a constrained nonlinear equation system to calculate the mechanism dimensions required to approximate N prescribed FSPs and velocity MSPs. The constrained and unconstrained equation systems presented in this chapter are solved using the Appendix D MATLAB files.
Planar Four-Bar Function Generation
131
PROBLEMS 6.1 Using Equation 6.7, synthesize a planar four-bar mechanism for a 75° total wiper blade rotation range (Figure P.6.1) and a 45° total crank rotation range (where the wiper blade is affixed to the follower link). 6.2 Using Equation 6.7, synthesize a planar four-bar mechanism for a 75° wheel rotation range (Figure P.6.2) and a 50° crank rotation range (where the wheel is affixed to the follower link). 6.3 Using Equation 6.7, synthesize a planar four-bar mechanism for a 90° valve rotation range (Figure P.6.3) and a 40° crank rotation range (where the valve is affixed to the follower link).
75° wiper blade rotation range
FIGURE P.6.1 Wiper blade rotation range.
75° wheel rotation range
FIGURE P.6.2 Wheel rotation range.
132
Mechanism Design: Visual and Programmable Approaches
90° valve rotation range
Pipe
Pipe
FIGURE P.6.3 Valve rotation range.
130° hatch rotation range
FIGURE P.6.4 Hatch rotation range.
6.4 Using Equation 6.7, synthesize a planar four-bar mechanism for a 130° hatch rotation range (Figure P.6.4) and a 60° crank rotation range (where the hatch is affixed to the follower link). 6.5 Using Equation 6.7, synthesize a planar four-bar mechanism (see Figure E.6.3) to measure spring energy with respect to spring deflection according to the equation SPRING ENERGY = f(x) = 1/2kx2. The spring rate (k) is 1.75 lbf/in. (218.91 N/m) and the spring deflection range is 1.25 in. ≤ x ≤ 4.75 in. (0.032 m ≤ x ≤ 0.121 m). 6.6 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = cosx over the range 0 ≤ x ≤ π/2 at six precision points (Chebyshev spacing optional). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism.
133
Planar Four-Bar Function Generation
6.7 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = logx over the range 5 ≤ x ≤ 30 at six precision points (Chebyshev spacing optional). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.8 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = x2 over the range 5 ≤ x ≤ 10 at six precision points (Chebyshev spacing optional). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.9 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = tan x over the range 0 ≤ x ≤ π/4 at six precision points (Chebyshev spacing optional). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.10 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f ( x ) = x over the range 0 ≤ x ≤100 at six precision points (Chebyshev spacing optional). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.11 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism (see Figure E.6.3) to measure vehicle speed with respect to transmission gear according to the data in Table P.6.1. Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.12 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism (see Figure E.6.3) to measure fluid velocity with respect to fluid pressure at six precision points according to the equation VELOCITY = f ( x ) = 2 x ρ. The fluid density (ρ) is 1000 kg/m3 (62.4 lbm/ft3) and the pressure range is 1000 Pa ≤ x ≤ 6000 Pa (0.145 psi ≤ x ≤ 0.870 psi). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.13 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = cosx over the range 0 ≤ x ≤ π/2 at 10 precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism.
TABLE P.6.1 Transmission Gears and Corresponding Vehicle Speeds Transmission Gear 1 2 3 4 5 6
Vehicle Speed [km/h] 35 78 125 155 190 215
134
Mechanism Design: Visual and Programmable Approaches
6.14 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = tan x over the range 0 ≤ x ≤ π/4 at 10 precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.15 Using the Appendix D.1 MATLAB files, synthesize a planar four-bar mechanism for the function f(x) = log x over the range 1 ≤ x ≤ 20 at 10 precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 6.16 Formulate an analytical FSP–MSP function generation matrix that considers two FSPs and one velocity MSP. 6.17 Formulate an analytical FSP–MSP function generation matrix that considers two FSPs and one acceleration MSP. 6.18 Using the analytical FSP–MSP function generation matrix in Example 6.3 synthesize a planar four-bar mechanism to achieve a follower angular velocity and acceleration of γ = 1.15 rad/s and γ = −0.15 rad/s2, respectively, for a crank angu lar velocity and acceleration of β = 2 rad/s and β = 0.5 rad/s2, respectively, and a coupler angular velocity and acceleration of α = 0.65 rad/s and α = 0.10 rad/s2, respectively. 6.19 Using the analytical FSP–MSP function generation matrix in Problem 6.16 synthesize a planar four-bar mechanism to achieve a follower angular displacement and velocity of γ2 = π/4 rad and γ 2 = 1.15 rad/s and a coupler angular displacement and velocity of α2 = π/18 rad and α 2 = 0.25 rad/s. The angular displacement and constant angular velocity for the crank are β2 = π/6 rad and β = 1 rad/s. 6.20 Using the analytical FSP–MSP function generation matrix in Problem 6.17 synthesize a planar four-bar mechanism to achieve a follower angular displacement, velocity, and acceleration of γ2 = π/4 rad, γ 2 = 1.15 rad/s, and γ 2 = 0.15 rad/ s2 and a coupler angular displacement, velocity, and acceleration of α2 = π/18 2 = 0.025 rad/s2. The angular displacement, constant rad, α 2 = 0.25 rad/s, and α angular velocity, and constant angular acceleration for the crank are β2 = π/6 rad, β = 1 rad/s, and β = 0.1 rad/s2. 6.21 Using the Appendix D.2 MATLAB files, synthesize a planar four-bar mechanism for the valve rotation range in Problem 6.3 at three precision points (including the initial position). The valve angular velocities are γ 2 = 2 rad/s and γ 5 = 0.2 rad/s for a constant crank angular velocity of β = 1.5 rad/s. Through displacement and velocity analyses, determine the displacement angles achieved by the synthesized mechanism. 6.22 Using the Appendix D.2 MATLAB files, synthesize a planar four-bar mechanism for the hatch rotation range in Problem 6.4 at three precision points (including the initial position). The valve angular velocities are γ 3 = 1 rad/s and γ 6 = 0.5 rad/s for a constant crank angular velocity of β = 1 rad/s. Through displacement and velocity analyses, determine the displacement angles achieved by the synthesized mechanism.
135
Planar Four-Bar Function Generation
TABLE P.6.2 MSPs for Function Generator MSP
Follower Angular Acceleration γ
Coupler Angular Acceleration α
0.25 0.35 0.45 0.35 0.25
0.15 0.35 0.55 0.35 0.15
2 3 4 5 6
6.23 Using the Appendix D.2 MATLAB files, synthesize a planar four-bar mechanism for the precision points in Problem 6.6 and the MSPs in Table P.6.2 and a constant crank angular acceleration of β = 0.75 rad/s2. Through displacement and velocity analyses, determine the displacement angles achieved by the synthesized mechanism. 6.24 Using the Appendix D.2 MATLAB files, synthesize a planar four-bar mechanism for precision points 2 through 4 in Problem 6.7 and the MSPs in Table P.6.3 and a constant crank angular velocity of β = 1.35 rad/s. Through displacement and velocity analyses, determine the displacement angles achieved by the synthesized mechanism. 6.25 Using the Appendix D.2 MATLAB files, synthesize a planar four-bar mechanism for precision points 2 through 4 in Problem 6.12 and the MSPs in Table P.6.4 and a constant crank angular velocity of β = 1.5 rad/s. Through displacement and velocity analyses, determine the displacement angles achieved by the synthesized mechanism. TABLE P.6.3 MSPs for Function Generator MSP 2 3 4
Follower Angular Velocity γ 2 2.25 2.5
TABLE P.6.4 MSPs for Function Generator MSP 2 3 4
Follower Angular Velocity γ 0.15 0.35 0.55
136
Mechanism Design: Visual and Programmable Approaches
REFERENCES 1. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 52–53. Englewood Cliffs, NJ: Prentice Hall. 2. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., pp. 287–288. Upper Saddle River, NJ: Prentice Hall.
ADDITIONAL READING Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 127–133. Englewood Cliffs, NJ: Prentice Hall. Waldron, K.J. and G.L. Kinzel. 2004. Kinematics, Dynamics and Design of Machinery, 2nd edn., pp. 283–294. Upper Saddle River, NJ: Prentice Hall. Norton, R.L. 2008. Design of Machinery, 4th edn., pp. 256–259. New York: McGraw-Hill.
7
Spatial Mechanism Kinematics and Synthesis
7.1 INTRODUCTION TO SPATIAL FOUR-BAR MECHANISMS Planar mechanisms are restricted to motion in two-dimensional or planar space. Spatial mechanisms can execute three-dimensional or spatial motion. Spatial mechanism motion is predominantly determined by the degrees of freedom of the mechanism joints used and spatial orientation of the joints. The cylindrical joint (Figure 2.6c) can enable spatial mechanism motion because this joint has a translational DOF along the z-axis in addition to the planar rotational DOF about the z-axis. The spherical joint (Figure 2.6d) can enable spatial mechanism motion because this joint has rotational DOFs about the x- and y-axes in addition to the planar rotational DOF about the z-axis. Even revolute and prismatic joints, though possessing only a single DOF, will enable spatial mechanism motion when positioned to have joint axes (or lines of action in the case of prismatic joints) that are skewed to the x–y plane. Because spatial mechanisms have the capacity to exhibit spatial motion, they offer a greater variety of possible motions and are structurally more general than planar mechanisms. Because the equations for spatial mechanism analysis and synthesis are often much larger in scale and greater in complexity than those for planar mechanisms however (not to mention the actual design of spatial mechanisms vs. planar mechanisms), their applications in practice are often limited. In practice, it is not uncommon to find complicated planar mechanism solutions when in fact a simpler spatial mechanism solution is possible. It is therefore an ongoing task to devise simple methods of calculation, to produce design aids with diagrams, and to set design standards for spatial mechanisms [1]. Like planar mechanisms, there are also many different types of spatial mechanisms. This chapter considers three types of four-bar spatial mechanisms: the RRSS, 4R Spherical, and RSSR mechanisms (Figure 7.1a through c, respectively). The RRSS, 4R Spherical, and RSSR are among the more basic four-bar spatial mechanisms in terms of the types of joints used and the required linkage assembly conditions for motion.
7.2 RRSS AND 4R SPHERICAL MECHANISM ANALYSIS The revolute–revolute–spherical–spherical mechanism or RRSS mechanism (Figure 7.1a) is a spatial, four-link mechanism with a mobility of 2 (with L = 4 and J1 = J3 = 2). Although one DOF of the RRSS mechanism enables it to be crank driven, the other DOF is produced by the follower link. The follower link 137
138
Mechanism Design: Visual and Programmable Approaches
S R
R R
Y
Y X
R
X
Z
Z
R
S
(a)
R
(b)
S S
Y X Z
R
R
(c)
FIGURE 7.1 (a) RRSS, (b) 4R Spherical, and (c) RSSR mechanisms.
(link b 0 − b1 in Figure 7.2) is bounded by spherical joints. As a result, this link can rotate about its own axis of symmetry. This DOF is called a passive degree of freedom. Passive DOFs generally do not contribute to the overall kinematic motion of a mechanism.* Suh and Radcliffe presented displacement equations for the RRSS mechanism [2]. The following follower link constant length equation forms the basis for the RRSS displacement equations: T
T
( b − b0 ) ( b − b0 ) − ( b1 − b0 ) ( b1 − b0 ) = 0 (7.1)
The rotation of the crank and coupler links (links a0 − a1 and a1 − b1, respectively, in Figure 7.2) and the rotation of the crank moving pivot joint axis ua1 about the crank fixed pivot joint axis ua0 (by rotation angle θ) are given by
a = Rθ, ua 0 ( a1 − a 0 ) + a 0 (7.2)
* The passive DOFs associated with the RSSR and RRSS mechanisms generally do not contribute to mechanism motion because the effects of these DOFs are typically highly localized.
139
Spatial Mechanism Kinematics and Synthesis p1 b1
a1
ua1 α Y X
ua0
Z
a0
θ
b0
FIGURE 7.2 RRSS mechanism.
ua = R θ, ua 0 ua1 (7.3)
b′1 = R θ, ua 0 ( b1 − a 0 ) + a 0 (7.4)
The global displacement of the follower moving pivot b1 is expressed as b = R α, ua ( b′1 − a ) + a (7.5)
In Equation 7.5, the general rotation matrix about an arbitrary axis u by an arbitrary rotation angle δ is
(
)
ux2 1 − cos ( δ ) + cos ( δ ) ux uy 1 − cos ( δ ) = R δ, u + uzsin ( δ ) ux uz 1 − cos ( δ ) − u sin ( δ ) y
(
ux uy 1 − cos ( δ ) − uzsin ( δ )
(
)
uy2 1 − cos ( δ )
(
(
)
uy uz 1 − cos ( δ )
+ cos ( δ )
)
)
(
+ ux sin ( δ )
)
(
)
(
)
ux uz 1 − cos ( δ ) + uy sin ( δ ) uy uz 1 − cos ( δ ) (7.6) − ux sin ( δ ) uz2 1 − cos ( δ ) + cos ( δ )
(
)
Substituting Equation 7.5 into Equation 7.1 produces E cos(α) + F sin(α) + G = 0
(7.7)
In Equation 7.7 T
E = ( a − b0 )
{ I − Q ( b′ − a )} * (7.8) ua
* Variable I in Equations 7.8 and 7.20 is a 3 × 3 identity matrix.
1
140
Mechanism Design: Visual and Programmable Approaches T
F = ( a − b0 )
T
G = (a − b 0)
{
{ P ( b′ − a )} (7.9) ua
1
b′ − a T b′ − a + a − b 0 )T ( a − b 0 ) 1 ( 1 ) ( 1 ) ( Qua ( b1′ − a ) + (7.10) T 2 − b − b b − b ( ) ( ) 1 0 1 0
}
0 = Pua uaz −uay
−uaz 0 uax
ua y −uax (7.11) 0
uax ua y uay2 uay uaz
uax uaz uay uaz (7.12) uaz2
and
ua x2 Qua = uax uay uax uaz
The two coupler link rotation angle solutions (α) for Equation 7.7 are
α1,2 = 2 tan −1
−F ± E 2 + F 2 − G 2 * (7.13) G−E
The global displacement of an arbitrary RRSS coupler point p1 is expressed as
p = Rα, ua ( p1′ − a ) + a (7.14)
where
p′1 = Rθ,ua 0 ( p1 − a 0 ) + a 0 (7.15)
RRSS variables a0, a1, ua0, ua1, b0, b1, and p1 are 3 × 1 vectors containing x-, y-, and z-components. The revolute–revolute–revolute–revolute spherical mechanism or 4R Spherical mechanism (Figure 7.3) is a single DOF four-bar mechanism that exhibits spherical motion—a unique type of spatial motion.† Contrary to Gruebler’s equation, from which a mobility of −2 is calculated for the 4R Spherical mechanism (with L = J1 = 4), it actually has a mobility of 1.‡ Because the links of the 4R spherical mechanism are circular arcs (with all links having a common center) and * Because four-link mechanisms have two assembly configurations (the open and crossed configurations), there are two α solutions (or two branches) for every θ value. † While planar mechanisms have planar-surface workspaces and most spatial mechanisms have volume workspaces, spherical mechanisms have spatial-surface workspaces. ‡ Mechanisms like the 4R Spherical mechanism, having true DOFs that are contrary to Gruebler’s equation, are called paradoxes or maverick mechanisms.
141
Spatial Mechanism Kinematics and Synthesis b1 ua1
p1
α a1
Y X Z
ua0
b0
a0
θ
FIGURE 7.3 RRSS mechanism configured as a 4R Spherical mechanism.
the mechanism joint axes all intersect at that common center, the links of this mechanism have spherical surface workspaces. The displacement equations for the RRSS mechanism can be applied directly to the 4R Spherical mechanism. This application is particularly useful for verifying 4R Spherical motion or path generator solutions. To apply the RRSS displacement equations, the user specifies the appropriate 4R Spherical mechanism values for a0, a1, b0, b1, the coupler link points of interest (p1, q1, r1 …), ua0 and ua1.
7.3 RSSR AND 4R SPHERICAL MECHANISM ANALYSIS The revolute–spherical–spherical–revolute mechanism or RSSR mechanism (Figure 7.4) is a spatial, four-bar mechanism having 2 degrees of freedom—the rotation of the coupler link (link a1 − b1) about its own axis of symmetry being a passive DOF. Suh and Radcliffe presented displacement equations for the RSSR mechanism [3]. The following coupler link constant length equation forms the basis for the RSSR displacement equations: T
T
( a − b ) ( a − b ) − ( a1 − b1 ) ( a1 − b1 ) = 0 (7.16) b1 a1 Y X Z a0 ua0
θ
FIGURE 7.4 RSSR mechanism.
b0
ub0 φ
142
Mechanism Design: Visual and Programmable Approaches
The rotation of the crank and follower links (link a0 − a1 and b0 − b1 in Figure 7.4) about their fixed pivot joint axes by crank and follower rotation angles θ and ϕ, respectively, are given by
a = Rθ,ua 0 ( a1 − a 0 ) + a 0 (7.17)
b = Rφ,ub0 ( b1 − b0 ) + b0 (7.18)
where rotation matrices Rθ,ua 0 and Rφ,ub0 are Equation 7.6 with corresponding joint axis ua0 and rotation angles θ and ϕ. Substituting Equations 7.17 and 7.18 into Equation 7.16 produces E cos(ϕ) + F sin(ϕ) + G = 0
(7.19)
In Equation 7.19 T
E = ( a − b0 )
{ I − Q
ub0
T
F = ( a − b0 )
T
G = ( a − b0 )
{Q
ub0
}
( b1 − b0 )
}
( b1 − b0 ) (7.20)
{ P ( b − b )} (7.21) ub0
1
0
T T 1 ( a1 − b1 ) ( a1 − b1 ) − ( a − b0 ) ( a − b0 ) (7.22) + 2 − ( b1 − b0 )T ( b1 − b0 )
In Equations 7.20 through 7.22, matrices Qub0 and Pub0 are identical in form to Equations 7.11 and 7.12. The two follower link rotation angle solutions (ϕ) for Equation 7.19 are
φ1,2 = 2 tan −1
* −F ± E 2 + F 2 − G 2 (7.23) G−E
Variables a0, a1, ua0, b0, b1, and ub0 are 3 × 1 vectors containing x-, y-, and z-components. Just as the RRSS displacement equations are applicable for 4R Spherical displacement modeling, the RSSR displacement equations can also be applied to the 4R Spherical mechanism (Figure 7.5). The latter application is particularly useful for verifying 4R Spherical function generator solutions.† To apply the RSSR displacement equations, the user specifies the appropriate 4R Spherical mechanism values for a0, a1, b0, b1, ua0, and ub0. * Because four-link mechanisms have two assembly configurations (the open and crossed configurations), there are two ϕ solutions (or two branches) for every θ value. † In 4R Spherical function generation, prescribed crank and follower rotation angles (angles θ and φ, respectively) are approximated.
143
Spatial Mechanism Kinematics and Synthesis b1 a1 Y X Z ua0
θ
a0
b0
φ
ub0
FIGURE 7.5 RSSR mechanism configured as a 4R Spherical mechanism.
7.4 APPROXIMATE RRSS AND 4R SPHERICAL MOTION AND PATH GENERATION The RRSS mechanism includes a revolute–revolute crank link and a spherical– spherical follower link. Suh and Radcliffe introduced motion generation equations to calculate the R–R and S–S dyad variables to approximate spatial precision positions. Equations 7.24 through 7.29 encompass the constraint equation set for the R–R dyad (Figure 7.6) [4]. Equations 7.24 and 7.25 are orthogonality constraints between the R–R link and its revolute joint axes (axes ua0 and ua1, respectively). Equations 7.26 and 7.27 are unit vector constraints for ua0 and ua1. Equations 7.28 and 7.29
uaj aj
r1 q1
qj
rj
pj
p1
s1
sj
a1 ua1
θ1j Y Z
ua0
X
a0
FIGURE 7.6 Revolute–revolute (R–R) dyad at rigid-body positions 1 and j.
144
Mechanism Design: Visual and Programmable Approaches
constrain the scalar length of the R–R link to a constant magnitude throughout each precision position:* T
j = 1,2,3 … (7.24)
T
j = 1,2,3 … (7.25)
( ua 0 ) ( a j − a 0 ) = 0
( ua j ) ( a j − a 0 ) = 0 T
( ua 0 ) ( ua 0 ) − 1 = 0 (7.26)
( ua1 ) ( ua1 ) − 1 = 0 (7.27)
T
T
T ( a j − a 0 ) ( a j − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0
j = 2,3 … (7.28)
T
( a j + ua j ) − ( a 0 + ua 0 ) ( a j + ua j ) − ( a 0 + ua 0 ) T
− ( a1 + ua1 ) − ( a 0 + ua 0 ) ( a1 + ua1 ) − ( a 0 + ua 0 ) = 0
j = 2,3 … (7.29)
In R–R dyad motion generation equations T
T
T
a 0 = a0 x, a 0 y , a0 z ,1 , a1 = a1x , a1y, a1z ,1 , ua 0 = ua0 x, ua0 y ,uua0 z , 0 , T
ua1 = ua1x , ua1y , ua1z , 0 , a j = D1j a1, and ua j = Rua 0, θ1 j ua1
Matrix [D1j] defines the coupler displacement from precision position 1 to precision position j. It is expressed as
px j py D1j = j pz j 1
qx j qy j qz j 1
rx j ry j rz j 1
s x j p1x s y j p1y sz j p1z 1 1
q1x q1y q1z 1
r1x r1y r1z 1
s1x s1y s1z 1
−1 †
(7.30)
where the precision position is defined by the x-, y-, and z-coordinates of p, q, r, and s. Matrix Rua 0, θ1 j defines the rotation of ua1 about ua0 by R–R displacement angle θ and is expressed as * The constant twist constraint (uaj)T (ua0) = (ua1)T (ua0) j = 2, 3 and constant moment constraint (ua0)T ((aj − a0) × uaj) = (ua0)T ((a1 − a0) × ua1) j = 2, 3 can also be used in place of Equations 7.28 and 7.29. † Precision position variables p, q, r, and s should not be proportional (i.e., chosen from the same plane).
145
Spatial Mechanism Kinematics and Synthesis
ua0x ua0y vθ1 j
ua02x vθ 1j + c θ1 j ua ua v 0x 0 y θ1 j Rua 0, θ1 j = +ua0 zsθ1 j ua0x ua0 z vθ1 j − ua0y sθ 1j
−ua0 zsθ1 j ua02y vθ1 j + c θ1 j
ua0y ua0 z vθ1 j + ua0x sθ1 j
ua0 x ua0 z vθ1 j +ua0y sθ1 j ua0y ua0 z vθ1 j (7.31) −ua0 x sθ1 j 2 ua0 z vθ1 j + c θ1 j
In Matrix (7.31), vθ1 j = 1 − cos ( θ j ) , cθ1 j = cos ( θ j ) , and s θ1 j = sin ( θ j ) . Equations 7.24 through 7.29 form a set of 12 nonlinear equations to solve for the 12 unknown R–R dyad variables in a0, a1, b0, b1, ua0, and ub0 given three precision positions. Only a constant length constraint equation is required to synthesize the S–S link (Figure 7.7) [5]. It is expressed as T
T ( b j − b0 ) ( b j − b0 ) − ( b1 − b0 ) ( b1 − b0 ) = 0
j = 2,3 … (7.32)
where bj = [D1j]b1 and matrix [D1j] is identical to Equation 7.30. In this S–S dyad motion generation equation b0 = [b 0x, b 0y, b 0z, 1]T and b1 = [b1x, b1y, b1z, 1]T. Equation 7.32 forms a set of six nonlinear equations to solve for the six unknown S–S dyad variables in b0 and b1 given seven precision positions. Appendices E.1 and E.2 include user instructions for the MATLAB® files to solve the R–R and S–S dyad motion generation equations presented in this section, respectively. Although the
rj
qj sj
pj
p1
q1
r1 s1
b1
bj
Y X Z
b0
FIGURE 7.7 Spherical–spherical (S–S) dyad at rigid-body positions 1 and j.
146
Mechanism Design: Visual and Programmable Approaches
aj
pj
qj rj
p1
q1 r1
a1
Y X Z a0
FIGURE 7.8 Spherical R–R dyad at rigid-body positions 1 and j.
R–R and S–S dyad equations form sets of nonlinear equations for three and six position synthesis, respectively, in the Appendices E.1 and E.2 MATLAB files, they are solved as constrained and unconstrained nonlinear equation systems, respectively, for an indefinite number of precision positions. The 4R Spherical mechanism includes R–R crank and follower links configured so that the fixed and moving pivot joint axes intersect at a common point—the center of a sphere. Suh and Radcliffe introduced a motion generation equation to calculate the spherical R–R dyad variables to approximate a group of precision positions. Equations 7.33 through 7.35 encompass the constraint equation set for the spherical R–R dyad (Figure 7.8) [6]. Equation 7.33 constrains the chord length of the spherical R–R link to a constant magnitude throughout each precision position. Equations 7.34 and 7.35 constrain a0 and a1 to a sphere of unit radius: T
T ( a j − a 0 ) ( a j − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0
j = 2,3 … (7.33)
T
( a 0 ) ( a 0 ) − 1 = 0 (7.34)
( a1 ) ( a1 ) − 1 = 0 (7.35)
T
In the spherical R–R dyad motion generation equations a0 = [a0x, a0y, a0z, 1]T, a1 = [a1x, a1y, a1z, 1]T, and aj = [D1j]a1. Matrix [D1j] defines the coupler displacement from precision position 1 to precision position j. It is expressed as [D1j] = [Dj][D1]−1 where
147
Spatial Mechanism Kinematics and Synthesis
px j py D1 j = j pz j 1
qx j qy j qz j 1
0 p1x 0 p1y 0 p1z 1 1
rx j ry j rz j 1
q1x
q1y q1z 1
r1x r1y r1z 1
−1 0 * 0 (7.36) 0 1
The precision position is defined by the x-, y-, and z-coordinates of p, q, and r. Equations 7.33 through 7.35 form a set of five nonlinear equations to solve for five of the six unknown spherical R–R dyad variables in a0 and a1 (with one arbitrary variable choice) for four precision positions. Appendix E.3 includes user instructions for the MATLAB files to solve the spherical R–R equations presented in this section for 4R Spherical motion generation. Although the spherical R–R dyad equations form a set of nonlinear equations for four position synthesis, in the Appendix E.3 MATLAB files, they are solved as a constrained nonlinear equation system for an indefinite number of precision positions. Planar four-bar motion and path generation equation systems with branch and order constraints were presented in Section 5.5. Similar equation systems can also be formulated for spatial RRSS and 4R Spherical motion and path generation. By defining the spatial position of the coupler link by coupler point variables p, q, and r, an objective function to minimize the squared norms of the differences between the precision positions and the positions achieved by the synthesized mechanism can be expressed as f (X) =
N
∑{ p − p j =2
j
2
2
+ q j − q + rj − r
2
} (7.37)
where X = (a0, a1, ua0, ua1, b0, b1, θ2 … θN, α2 … αN) for the RRSS mechanism and for the 4R Spherical mechanism, X = (a0, a1, b0, b1, θ2 … θN, α2 … αN). In Equation 7.37, variables pj, q j, and rj define the precision positions and p, q, and r define the coupler positions achieved by the synthesized mechanism (using Equation 7.14). As presented, Equation 7.37 can be used for RRSS and 4R Spherical motion generation. For RRSS and 4R Spherical path generation, the terms ║q j − q║2 and ║rj − r║2 are removed from Equation 7.37. Along with the objective function, several types of equality constraints are required for the RRSS mechanism. To ensure the constant length of the crank and follower links, Equation 7.1 along with the equation T
T
( a − a 0 ) ( a − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0 (7.38)
* To avoid producing proportional matrices, precision position variables p, q, and r should not all lie on a common line and p1, q1, and r1 should not all be selected from a common coordinate system plane.
148
Mechanism Design: Visual and Programmable Approaches
are included for precision positions 2…N. Equations 7.38 and 7.1 include Equations 7.2 and 7.5, respectively, to calculate the displaced moving pivots a and b. Equations 7.39 and 7.40 ensure that the crank link is orthogonal to the fixed pivot and moving pivot joint axes and are included for precision positions 2…N. Unit vector Equations 7.41 and 7.42 are included for the RRSS fixed and moving pivot joint axes. Equation 7.43 ensures a constant moving pivot joint axis orientation with respect to the crank link and is included for precision positions 2…N. Equations 7.39 through 7.43 include Equations 7.2 and/or 7.3 to calculate the displaced moving pivot a and the displaced moving pivot joint axis ua: T
( ua 0 ) ( a − a 0 ) = 0 (7.39)
( ua ) ( a − a 0 ) = 0 (7.40)
( ua 0 ) ( ua 0 ) − 1 = 0 (7.41)
( ua1 ) ( ua1 ) − 1 = 0 (7.42)
T
T
T
T
( a + ua ) − ( a 0 + ua 0 ) ( a + ua ) − ( a 0 + ua 0 ) T
− ( a1 + ua1 ) − ( a 0 + ua 0 ) ( a1 + ua1 ) − ( a 0 + ua 0 ) = 0 (7.43)
To produce RRSS linkage solutions that are order defect–free, Inequality (7.44) is included for precision positions 2…N:
θ j > θ j −1 θN < 2π
j = 2, 3… (7.44)
As written, Inequality (7.44) ensures counterclockwise crank link rotation. The inequality θj < θj−1 can be used instead of Inequality (7.44) to ensure clockwise crank link rotation. To produce RRSS linkage solutions that are branch defect–free, Inequality (7.45) is included for each of precision positions 2…N.
( b − b0 ) × ( a − b0 ) ⋅ ( b1 − b0 ) × ( a1 − b0 ) > 0 (7.45)
A change in branch would result in a change in sign in the product of the cross products from positive to negative. By constraining the product of these cross products to a positive value, Inequality (7.45) constrains the mechanism to a single branch. Inequality (7.45) includes Equations 7.2 and 7.5 to calculate the displaced moving pivots a and b. This combination of objective function, equality constraints, and
Spatial Mechanism Kinematics and Synthesis
149
inequality constraints allow for the direct minimization of the difference between the prescribed and achieved RRSS coupler points while producing RRSS solutions that are free of order defects and branch defects. Like the planar four-bar constrained nonlinear equation systems in Section 5.5, RRSS displacement angles θ and α are among the unknown variables calculated.* Appendices E.5 and E.6 include user instructions for the MATLAB files to solve the constrained nonlinear equation systems presented in this section for RRSS motion and path generation. As written, the presented constrained nonlinear equation system is for the synthesis of RRSS motion and path generators. To synthesize 4R Spherical motion and path generators with branching and order constraints, Equations 7.39 through 7.43 are replaced with Equations 7.46 through 7.49. These equations constrain the 4R Spherical fixed and moving pivots to a sphere of unit radius: T
( a 0 ) ( a 0 ) − 1 = 0 (7.46)
( a1 ) ( a1 ) − 1 = 0 (7.47)
( b0 ) ( b0 ) − 1 = 0 (7.48)
( b1 ) ( b1 ) − 1 = 0 (7.49)
T
T
T
Appendices E.7 and E.8 include user instructions for the MATLAB files to solve the constrained nonlinear equation systems presented in this section for 4R Spherical motion and path generation. Example 7.1 Problem Statement: Synthesize a branch and order defect–free RRSS mechanism for the solar panel positions in Table E.7.1. Known Information: Table E.7.1 and Appendix E.5 MATLAB files. Solution Approach: Table E.7.1 includes the spatial coordinates of p, q, and r for five solar panel positions (Figure E.7.1). Table E.7.2 includes the initial and calculated values for the RRSS mechanism variables using the Appendix E.5 MATLAB files (where N = 5). Table E.7.3 includes the solar panel positions achieved by the synthesized RRSS motion generator (Figures E.7.2 and E.7.3). As indicated by the continually ascending order of the crank angle solutions and the continuity in the order of the coupler angle solutions, the RRSS motion generator solution is free of branch and order defects. * It can be observed from Equation 7.13 that the coupler displacement angle α is actually a function of the crank displacement angle θ in the RRSS and 4R Spherical displacement equations. In the constrained nonlinear equation systems, however, both α and θ are calculated simultaneously. Because α and θ are calculated, Equations 7.7 through 7.13 are not used in the constrained equation systems. Equation 7.1 does constrain α and θ such that an “α(θ)” relationship is ensured.
150
Mechanism Design: Visual and Programmable Approaches
TABLE E.7.1 Solar Panel Positions Precision Position 1 2 3 4 5
p
q
r
1.7321, 0, −1 1.2247, 1.2247, −1 0, 1.7321, −1 −1.2247, 1.2247, −1 −1.7321, 0, −1
1.2321, 0, −1.8660 0.8712, 0.8712, −1.8660 0, 1.2321, −1.8660 −0.8712, 0.8712, −1.8660 −1.2321, 0, −1.8660
1.9486, 0, −1.1250 1.3778, 1.3778, −1.1250 −0.0631, 1.9416, −1.1210 −1.4308, 1.3048, −1.1168 −1.9258, −0.1117, −1.1118
4
5
Z Y
X
2
1
3
FIGURE E.7.1 Solar panel precision positions.
TABLE E.7.2 Initial and Calculated RRSS Mechanism Variables Variable a0 a1 ua0 ua1 b0 b1 θ2 ∼ θ5 α2 ∼ α5
Initial
Calculated
0, 0, 0 0, 1, 0 0, 0, 1 0, 0, 1 1, 0, 0 1, 5, 0 20°, 35°, 45°, 55° 1°, 2°, 3°, 4°
−0.0576, 0.2890, −1.4112 0.1452, −2.5421, −1.1800 −0.0003, 0.0814, 0.9967 0.3040, 0.0992, 0.9475 0.0851, 0.4570, 0.5096 1.7725, 5.1566, 0.6499 42.4393°, 93.9696°, 148.7616°, 200.0833° 4.6796°, 8.7453°, 6.9091°, 2.5668°
151
Spatial Mechanism Kinematics and Synthesis
TABLE E.7.3 Solar Panel Positions Achieved by Synthesized RRSS Mechanism Position 1 2 3 4 5
p
q
r
1.7321, 0, −1 1.2618, 1.2362, −1.0395 −0.0172, 1.7426, −1.0255 −1.2449, 1.2460, −1.0108 −1.7268, −0.0075,−0.9670
1.2321, 0, −1.8660 1.0573, 1.0502, −1.4561 −0.0177, 1.4524, −1.4327 −1.0386, 1.0607, −1.4268 −1.4796, 0.0152, −1.4010
1.9486, 0, −1.1250 1.4000, 1.3925, −1.1772 −0.0788, 1.9399, −1.1661 −1.4477, 1.3126, −1.1411 −1.9221,− 0.1112,−1.0837
b1
b0 Z
ua1 a1
Y
X
ua0 a0
FIGURE E.7.2 Synthesized RRSS motion generator.
152
Mechanism Design: Visual and Programmable Approaches
Position 2
Position 3
Position 4
Position 5
FIGURE E.7.3 Prescribed (transparent) and achieved solar panel positions 2 through 5.
Example 7.2 Problem Statement: Synthesize a branch and order defect–free 4R Spherical mechanism for the folding aircraft wing positions in Table E.7.4. Known Information: Table E.7.4 and Appendix E.7 MATLAB files. Solution Approach: Table E.7.4 includes the spatial coordinates of p, q, and r for five folding wing positions (Figure E.7.4). Table E.7.5 includes the initial and calculated values for the 4R Spherical mechanism variables using the Appendix E.7 MATLAB files (where N = 5). Table E.7.6
TABLE E.7.4 Folding Wing Positions Precision Position 1 2 3 4 5
p
q
r
−0.2081, 0.1675, 0.8227 0.1442, 0.0859, 0.8486 0.5009, 0.0166, 0.7050 0.7676, −0.0298, 0.3977 0.8637, −0.0462, −0.0095
0.2272, 0.1665, 0.8179 0.5013, 0.2482, 0.6598 0.6727, 0.3175, 0.4415 0.7554, 0.3639, 0.2124 0.7769, 0.3803, −0.0095
0, 0.3087, 0.8080 0.2613, 0.2946, 0.7702 0.5104, 0.2616, 0.6475 0.7179, 0.2147, 0.4321 0.8041, 0.1737, 0.1319
153
Spatial Mechanism Kinematics and Synthesis
includes the folding wing positions achieved by the synthesized 4R Spherical motion generator (Figures E.7.5 and E.7.6). As indicated by the continually ascending order of the crank angle solutions and the continuity in the order of the coupler angle solutions, the 4R Spherical motion generator solution is free of both branch and order defects. 1
Y
2 Z
X
3 4
5
FIGURE E.7.4 Folding wing precision positions.
TABLE E.7.5 Initial and Calculated 4R Spherical Mechanism Variables Variable a0 a1 b0 b1 θ2 ∼ θ5 α2 ∼ α5
Initial
Calculated
1, 1, 1 1, 1, 1 0, 1, 0 0, 0, 1 20°, 35°, 45°, 55° 1°, 2°, 3°, 4°
0.2612, 0.7274, 0.6346 −0.0151, 0.9879, 0.1552 0.1793, 0.9837, 0.0172 −0.1761, 0.2162, 0.9603 21.4862°, 72.7302°, 125.7724°, 167.9044° 10.3474°, −0.8845°, −25.0715°, −51.3018°
TABLE E.7.6 Folding Wing Positions Achieved by Synthesized 4R Spherical Mechanism Position 1 2 3 4 5
p
q
r
−0.2081, 0.1675, 0.8227 0.1392, 0.0910, 0.8488 0.5095, 0.0110, 0.6989 0.7745, −0.0338, 0.3837 0.8636, −0.0434, 0.0240
0.2272, 0.1665, 0.8179 0.5138, 0.2118, 0.6629 0.6620, 0.3317, 0.4472 0.7437, 0.3742, 0.2349 0.7770, 0.3781, −0.0424
0, 0.3087, 0.8080 0.2781, 0.2850, 0.7679 0.5056, 0.2585, 0.6524 0.7157, 0.2045, 0.4407 0.8352, 0.1825, 0.1318
154
Mechanism Design: Visual and Programmable Approaches b1
Y X
a0 a1
Z b0
FIGURE E.7.5 Synthesized 4R Spherical motion generator.
Position 2
Position 4
Position 3
Position 5
FIGURE E.7.6 Prescribed (transparent) and achieved folding wing positions 2 through 5.
Example 7.3 Problem Statement: Synthesize a branch and order defect–free 4R Spherical mechanism for the curve points in Figure E.7.7. Known Information: Table E.7.7 and Appendix E.8 MATLAB files. Solution Approach: Table E.7.7 includes the spatial coordinates of p, for the coupler curve points in Figure E.7.7. Table E.7.8 includes the initial and calculated values for the 4R Spherical mechanism variables using the Appendix E.8 MATLAB files (where N = 12).
155
Spatial Mechanism Kinematics and Synthesis
Z 8
1 6 23 4 5
9
12 11 10
7 X
Y
FIGURE E.7.7 Prescribed spherical curve points.
TABLE E.7.7 Precision Points and Points Achieved by Synthesized Mechanism Point 1 2 3 4 5 6 7 8 9 10 11 12
pprescribed
pachieved
0.7071, 0.0000, 0.7071 0.7057, 0.0186, 0.7083 0.6999, 0.0414, 0.7130 0.6852, 0.0718, 0.7248 0.6515, 0.1129, 0.7502 0.5652, 0.1746, 0.8063 0.4509, 0.2238, 0.8641 0.3340, 0.2561, 0.9071 0.2181, 0.2764, 0.9360 0.1432, 0.2845, 0.9479 0.0609, 0.2894, 0.9553 0.0000, 0.2905, 0.9569
0.7071, 0.0000, 0.7071 0.7113, 0.0238, 0.7025 0.7058, 0.0497, 0.7066 0.6877, 0.0783, 0.7217 0.6489, 0.1127, 0.7525 0.5647, 0.1631, 0.8091 0.4492, 0.2157, 0.8670 0.3330, 0.2565, 0.9074 0.2227, 0.2835, 0.9328 0.1373, 0.2945, 0.9457 0.0600, 0.2928, 0.9543 0.0062, 0.2787, 0.9604
Table E.7.7 also includes the curve points achieved by the synthesized 4R Spherical motion generator (Figure E.7.8). As indicated by the continually ascending order of the crank angle solutions and the continuity in the order of the coupler angle solutions, the 4R Spherical path generator solution is free of both branch and order defects.
156
Mechanism Design: Visual and Programmable Approaches
TABLE E.7.8 Initial and Calculated 4R Spherical Mechanism Variables Variable
Initial
Calculateda
a0 a1 b0 b1 θ2 ∼ θ12
1, 0, 0 −0.7071, −0.7071, 0 −1, 0, 0 0, 0, 1 10°, 20°, 30°, 40°, … 110°
α2 ∼ α12
10°, 20°, 30°, 40°, … 110°
0.8601, 0.0594, 0.5066 −0.9926, 0.0019, −0.1214 0.2455, 0.9010, −0.3576 0.3949, −0.2052, 0.8955 11.4648°, 23.5699°, 36.6304°, 51.2915°, 69.3625°, 85.6361°, 99.3745°, 112.5142°, 124.0080°, 136.9630°, 149.5347° 6.8033°, 14.1362°, 22.6045°, 33.5374°, 50.6569°, 70.3540°, 89.2279°, 107.8638°, 123.9111°, 141.3291°, 157.4634°
The achieved curve in Table E.7.1 actually corresponds to the alternate mechanism branch (the branch associated with angle α2 in Equation 7.13) of the solution in Table E.7.2. For the alternate branch solution, b1 = (0.8766, 0.3913, 0.2812).
a
a1 b1 Z
6 1 23 4 5
7 X
8
9
12 11 10 Y
a0 b0
FIGURE E.7.8 Synthesized 4R Spherical path generator, precision points, and achieved points.
Example 7.4 Problem Statement: Using the Appendices E.1 and E.2 MATLAB files, synthesize an RRSS mechanism for the first three precision positions in Example 7.1. Known Information: Example 7.1, Table E.7.9, Appendices E.1 and E.2 MATLAB files. Solution Approach: Table E.7.10 includes the initial and calculated values for the RRSS mechanism variables from the Appendices E.1 and E.2 MATLAB files (where N = 3). In this example, S–S dyad variable b1 was specified to b1 = (1, −1, 0) and the R–R dyad rotation variables θ2 and θ3 were specified to 50° and 90°, respectively. Table E.7.11 includes the solar panel positions achieved by the synthesized RRSS
157
Spatial Mechanism Kinematics and Synthesis
TABLE E.7.9 Solar Panel Positions (with Point s Included for Matrix [7.30]) Precision Position 1 2 3
p
q
r
s
1.7321, 0,−1 1.2247, 1.2247, −1 0, 1.7321,−1
1.2321, 0,−1.8660 0.8712, 0.8712, −1.8660 0, 1.2321,−1.8660
1.9486, 0,−1.1250 1.3778, 1.3778, −1.1250 −0.0631, 1.9416, −1.1210
1.7321, 2, −1 −0.1895, 2.6390, −1 −1.9353, 1.2951, −0.7477
TABLE E.7.10 Initial and Calculated RRSS Mechanism Variables Variable a0 a1 ua0 ua1 b0
Initial Value
Calculated Result
0, 0, −1 0, −2, 1 0, 0, 1 0.7, 0, 0.7 1, 0, 0
0.0182, 0.0017, 2.6199 −2.3005, 0.6206, 2.6255 0.0025, 0.0003, 0.9999 0.0025, 0.0003, 0.9999 −0.3398, 0.1405, −2.4133
TABLE E.7.11 Solar Panel Positions Achieved by Synthesized RRSS Mechanism Position
p
1
1.7321, 0, −1
2
1.1305, 1.3046, −0.9989 0.3323, 1.6606, −0.9971
3
q
r
1.2321, 0, −1.8660 0.8062, 0.9247, −1.8652 0.2899, 1.1641, −1.8640
1.9486, 0, −1.1250 1.2704, 1.4700, −1.1238 0.3494, 1.8767, −1.1216
s 1.7321, 2, −1 −0.3951, 2.5978, −0.9949 −1.6612, 1.8212, −0.9915
motion generator (Figure E.7.9). Positions 2 and 3 are achieved at the specified crank rotation angles θ2 and θ3 (Figure E.7.10). The equation sets formulated from Equations 7.24 through 7.32 include no constraints to ensure that branch defect– free solutions are calculated.* With these equation sets, branch defect–free solutions can be calculated through trial and error. * Order defect–free solutions are ensured because the R–R dyad rotation angles are prescribed (prescribed timing).
158
Mechanism Design: Visual and Programmable Approaches ua0 a0
Z
X
a1 Y
b1 ua1
b0
FIGURE E.7.9 Synthesized RRSS motion generator.
Position 2
Position 3
FIGURE E.7.10 Precision positions (transparent) and achieved solar panel positions 2 and 3.
159
Spatial Mechanism Kinematics and Synthesis
Example 7.5 Problem Statement: Using the Appendix E.3 MATLAB files, synthesize a 4R Spherical mechanism for the first four precision positions in Example 7.2. Known Information: Example 7.2 and Appendix E.3 MATLAB files. Solution Approach: Table E.7.12 includes the initial and calculated values for the 4R Spherical mechanism variables from the Appendix E.3 MATLAB files (where N = 4). In this example, S–S dyad variables a0x and b0x were specified to a0x = 0 and b0x = 0.5. Table E.7.13 includes the folding wing positions achieved by the synthesized 4R Spherical motion generator (Figure E.7.11). Positions 2, 3, and 4 are achieved at crank rotation angles of 29°, 47.5°, and 54.5°, respectively (Figure E.7.12). The equation sets formulated from Equations 7.33 through 7.35 include no constraints to ensure that branch and order defect–free solutions are calculated. With these equation sets, branch and order defect–free solutions can be calculated through trial and error.
TABLE E.7.12 Initial and Calculated 4R Spherical Mechanism Variables Variable
Initial Value
Calculated Result
1, 1 1, 1, 1 1, 1 1, 1, 1
0.7998, 0.6003 0.5684, 0.3819, 0.7287 0.7552, 0.4239 0.2101, 0.7615, 0.6132
a0y, a0z a1 b0y, b0z b0
TABLE E.7.13 Folding Wing Positions Achieved by Synthesized 4R Spherical Mechanism Position 1 2 3 4
p
q
r
−0.2081, 0.1675, 0.8227 0.1384, 0.0891, 0.8492 0.4964, 0.0163, 0.7082 0.7683, −0.0329, 0.3960
0.2272, 0.1665, 0.8179 0.4976, 0.2489, 0.6624 0.6714, 0.3156, 0.4449 0.7575, 0.3608, 0.2106
0, 0.3087, 0.8080 0.2570, 0.2970, 0.7707 0.5074, 0.2611, 0.6500 0.7197, 0.2119, 0.4304
160
Mechanism Design: Visual and Programmable Approaches
a0 Y
Z
a1
b1 X b0
FIGURE E.7.11 Synthesized 4R Spherical motion generator.
Position 2
Position 3
Position 4
FIGURE E.7.12 Precision positions (transparent) and achieved folding wing positions 2 through 4.
7.5 APPROXIMATE RSSR AND 4R SPHERICAL FUNCTION GENERATION Because the crank and follower links of the RSSR mechanism include revolute joints as fixed pivots (and subsequently, a controlled follower rotation for a supplied crank rotation), this mechanism is useful for spatial function generation applications. Suh and Radcliffe introduced function generation equations to calculate the RSSR moving pivot variables to approximate precision points.
161
Spatial Mechanism Kinematics and Synthesis
b1 a1 Y
b0 a0 Z
ua0
θ1j
φ1j
1.0 Z
X α
ub0
FIGURE 7.9 RSSR function generator.
Equation 7.50 encompasses the constraint equation set for the RSSR function generator [7]. As illustrated in Figure 7.9, the fixed pivot joint axis ua0 lies on the z-axis and the fixed pivot joint axis ub 0 intersects the x-axis at x = 1. The revolute joint unit vectors are defined as ua0 = (0, 0, 1) and ub 0 = (0, −sin α, cos α). Once moving pivots a1 and b1 are known, fixed pivots a0 and b 0 can be determined by analytic geometry in accordance to Figure 7.9. As illustrated in this figure, the fixed pivot a0 is the point of intersection of ua0 and an orthogonal line that includes a1. Likewise, the fixed pivot b 0 is the point of intersection of ub 0 and an orthogonal line that includes b1. T
T ( a j − b1 ) ( a j − b1 ) − ( a1 − b1 ) ( a1 − b1 ) = 0
j = 2,3 … (7.50)
In this RSSR function generation model, a1 = [a1x, a1y, a1z, 1]T, b1 = [b1x, b1y, b1z, 1]T, and aj = [D1j]a1. Matrix [D1j] defines the relative rotations of the moving pivot a1 (by crank displacement angle θ1j) and the moving pivot b1 (by displacement angle ϕ1j) from position 1 to position j. This matrix is expressed as
d11 j d21 j D1j = D−φ1 j D θ1 j = d31 j 0
where d11 j = cos θ1 j cos φ1 j + sin θ1 j cos α sin φ1 j d12 j = − sin θ1 j cos φ1 j + cos θ1 j cos α sin φ1 j d13 j = sin α sin φ1 j
d12 j d22 j d32 j 0
d13 j d23 j d33 j 0
d14 j d24 j (7.51) d34 j 1
162
Mechanism Design: Visual and Programmable Approaches
d14 j = 1 − cos φ1 j
(
d21 j = − cos θ1 j cos α sin φ1 j + sin θ1 j sin 2 α (1 − cos φ1 j ) + cos φ1 j
(
d22 j = sin θ1 j cos α sin φ1 j + cos θ1 j sin α (1 − cos φ1 j ) + cos φ1 j 2
d23 j = − sin α cos α (1 − cos φ1 j ) d24 j = cos α sin φ1 j d31 j = − cos θ1 j sin α sin φ1 j − sin θ1 j sin α cos α (1 − cos φ1 j )
)
)
d32 j = sin θ1 j sin α sin φ1 j − cos θ1 j sin α cos α (1 − cos φ1 j )
d33 j = cos2 α (1 − cos φ1 j ) + cos φ1 j d34 j = sin α sin φ1 j
Matrices D− φ1 j and D θ1 j are identical in form to Equation 7.31. Given six precision points, Equation 7.50 forms a set of six nonlinear equations to calculate the components of a1 and b1 for the RSSR function generator. Appendices E.9 and E.10 include user instructions for the MATLAB files to solve the equations presented in this section for RSSR function generation. Although Equation 7.50 forms a set of nonlinear equations for six precision points, in the Appendices E.9 and E.10 MATLAB files, they are solved as unconstrained nonlinear equation systems in MATLAB for an indefinite number of precision points. Suh and Radcliffe also introduced function generation equations to calculate the 4R Spherical mechanism moving pivot variables to approximate precision points. Equations 7.52 through 7.54 encompass the constraint equation set for the 4R Spherical function generator [8]. As illustrated in Figure 7.10, the fixed pivot a0 lies on the x-axis at a0 = (1, 0, 0) and the fixed pivot b0 is offset from a0 by the clockwise rotation α in the x–y plane: T
T ( a j − b1 ) ( a j − b1 ) − ( a1 − b1 ) ( a1 − b1 ) = 0
j = 2,3 … (7.52)
T
( a1 ) ( a1 ) − 1 = 0 (7.53)
b1
a1
Z
a0 X
α
θ1j a0 = (1, 0, 0) a0 = (cos α, sin α, 0)
FIGURE 7.10 4R Spherical function generator.
b0 Y
φ1j
163
Spatial Mechanism Kinematics and Synthesis T
( b1 ) ( b1 ) − 1 = 0 (7.54)
In this 4R Spherical function generation model, a1 = [a1x, a1y, a1z, 1]T, b1 = [b1x, b1y, b1z, 1]T, and aj = [D1j]a1. Matrix [D1j] defines the relative rotations of the moving pivot a1 (angle θ1j) and the moving pivot b1 (angle ϕ1j) from position 1 to position j. It is expressed as
d11 j d21 j D1 j = D−φ1 j Dθ1 j = d31 j 0
d12 j d22 j d32 j 0
d13 j d23 j d33 j 0
d14 j d24 j (7.55) d34 j 1
where d11 j = cos2 α + sin 2 α cos φ1 j d12 j = sin α cos αco s θ1 j (1 − cos φ1 j ) − sin α sin θ1 j sin φ1 j
d13 j = − sin α cos α cos θ1 j (1 − cos φ1 j ) − sin α sin θ1 j sin φ1 j d14 j = 0 d21 j = sin α cos α (1 − cos φ1 j )
d22 j = sin 2 α cos φ1 j + cos2 α cos φ1 j cos θ1 j + cos α sin θ1 j sin φ1 j d23 j = − sin 2 α cos θ1 j − cos2 α sin θ1 j cos φ1 j + cos α cos θ1 j sin φ1 j d24 j = 0 d31 j = sin α sin φ1 j d32 j = sin θ1 j cos φ1 j − cos α cos θ1 j sin φ1 j d33 j = cos θ1 j cos φ1 j + cos α cos θ1 j sin φ1 j d34 j = 0 Matrices D− φ1 j and D θ1 j are identical in form to Equation 7.31. Given four precision points, Equations 7.52 through 7.54 form a set of six nonlinear equations to calculate the components of a1 and b1 for the 4R Spherical function generator. Appendix E.11 includes user instructions for the MATLAB files to solve the equations presented in this section for 4R Spherical function generation. Although these equations form a set of nonlinear equations for four precision points, in the Appendix E.11 MATLAB files, they are solved as a constrained nonlinear equation system for an indefinite number of precision points. Example 7.6 Problem Statement: Synthesize an RSSR steering mechanism to produce a wheel rotation range of 120° for a corresponding driver rotation range of 80°. The angular offset between the driver and wheel rotation axes (α) is 90°. Known Information: Rotation ranges and Appendix E.10 MATLAB files. Solution Approach: The crank and follower rotation ranges have been arbitrarily divided into the precision points given in Table E.7.14. Because the rotation axes
164
Mechanism Design: Visual and Programmable Approaches
TABLE E.7.14 Precision Points and Achieved Displacement Angles for RSSR Steering Mechanism Prescribed Precision Point 2 3 4 5
Achieved
θj [deg.]
ϕj[deg.]
ϕj[deg.]
−40 −20 20 40
−60 −30 30 60
−59.9622 −30.0143 29.9939 60.0014
TABLE E.7.15 Calculated RSSR Function Generator Variables a1 0.3356, −0.0708, −0.4023
b1y, b1z −2.3885, 0.7300
for the driver and wheel are 90° apart, α = 90°. Using the Appendix E.10 MATLAB files (where N = 5) with b1x = 1, α = 90°, and initial values of a0 = [1, 0, 1], b1y = −2, and b1z = 1, Table E.7.15 includes the calculated mechanism solution. Calculating the point of intersection of ua0 and an orthogonal line that includes a1 produces a0 = [0, 0, −0.4023]. Calculating the point of intersection of ub0 and an orthogonal line that includes b1 produces b0 = [1, −2.3885,0]. The RSSR displacement equations in Section 7.3 were used to calculate the displacement angles achieved by the synthesized mechanism. Table E.7.14 also includes the b0 − b1 displacement angles achieved by the synthesized RSSR function generator (Figures E.7.13 and E.7.14).
165
Spatial Mechanism Kinematics and Synthesis
ua0 a0
Y a1
X
Z
b0 ub0
b1
FIGURE E.7.13 Synthesized RSSR steering mechanism (in neutral position).
FIGURE E.7.14 Synthesized RSSR steering mechanism at extreme positions.
Example 7.7 Problem Statement: Synthesize a 4R Spherical mechanism to produce a camera rotation range of 80° for a corresponding crank rotation range of 180°. The angular offset between the crank and follower link rotation axes (α) is 45°. Known Information: Rotation ranges and Appendix E.11 MATLAB files. Solution Approach: For prescribed crank rotation increments of 45°, 90°, 135°, and 180°, the prescribed follower rotation increments are 20°, 40°, 60°, and 80°.* * As illustrated in Figure 7.10, ua0 = (1, 0, 0) and ub 0 = (cos α, sin α, 0).
166
Mechanism Design: Visual and Programmable Approaches
TABLE E.7.16 Initial and Calculated 4R Spherical Mechanism Variables Variable a1 b1
Initial Value
Calculated Result
0.7, 0, 0.7 0, 0.7, 1
0.9083, −0.3824, 0.1695 −0.0166, −0.1928, 0.9811
b1 Initial position
a1 X
Z Y
a0
b0 Final position
FIGURE E.7.15 Synthesized 4R Spherical camera rotation mechanism at initial and final positions. Table E.7.16 includes the initial and calculated values for the 4R Spherical mechanism (Figure E.7.15) using the Appendix E.11 MATLAB files (where N = 5). With this solution, the prescribed crank rotation increments produce follower rotation increments of 19.7355°, 40.4167°, 59.6464°, and 80.2690°.
7.6 RSSR–SS MECHANISM ANALYSIS As presented in Section 7.3, the RSSR linkage is a spatial four-bar linkage having 2 degrees of freedom. The passive DOF of the coupler link about its own axis of symmetry makes the RSSR linkage ineffective for spatial rigid-body guidance.* The RSSR linkage is often utilized in function generation applications. Extending the coupler of the RSSR linkage and affixing a S–S dyad to the extended coupler produces the revolute–spherical–spherical–revolute–spherical–spherical or RSSR–SS linkage (Figure 7.11). The additional S–S dyad makes the RSSR–SS * Having a passive DOF, full RSSR coupler motion control is not achievable.
167
Spatial Mechanism Kinematics and Synthesis
S
Passive DOF
S
S
S
Passive DOF
S
S R R
R
(a)
R
(b)
FIGURE 7.11 (a) RSSR and (b) RSSR–SS linkages.
linkage more structurally sound than four-bar mechanisms (and subsequently more suitable for supporting rigid-body forces). Unlike the S–S dyad of the RSSR linkage, the coupler-like S–S–S link of the RSSR–SS linkage has no passive DOF and is therefore suitable for rigid-body guidance*. The RSSR–SS linkage is a particular type of spatial multiloop mechanism, which can potentially offer simpler, lower-cost design alternatives to applications that are achievable by more complex and costly parallel manipulators [9]. The RSSR–SS linkage with mechanism variables are illustrated in Figure 7.12. From the RSSR displacement equations in Section 7.3, the displacements of RSSR– SS moving pivots a1 and b1 are calculated. For a complete RSSR–SS displacement b1
c1
p1 a1
c0
b0
φ
ub0
a0 θ
ua0
FIGURE 7.12 RSSR–SS linkage with mechanism variables. * While the coupler-like S–S–S link of the RSSR–SS mechanism has no passive DOF, the grounded S–S link does.
168
Mechanism Design: Visual and Programmable Approaches
equation set, however, equations to calculate the displacements of follower moving pivot c1 and rigid-body point p1 are also required [10]. The displacement of the RSSR–SS rigid body can be divided into three distinct rigid-body rotations. The first rotation is about the fixed pivot joint axis ua0 by rotation angle α. The second rotation is about a vector that includes the displaced moving pivot a (which we will call vector w) by a rotation angle ω. The third rigid-body rotation is about the displaced RSSR coupler unit vector ua (where ua = (b − a)/|b − a|) by a rotation angle γ. For the first rotation (Figure 7.13a), RSSR–SS dyad a 0 − a1 − c1 is treated as the RRSS linkage driving link dyad where ua1 = (b1 − a1)/|b1 − a1|. Based on the RRSS displacement equations presented in Section 7.2, the first rotations of c1, p1, and ua1 become
c1′ = Rθ, ua 0 ( c1 − a 0 ) + a 0 (7.56)
p′1 = Rθ, ua 0 ( p1 − a 0 ) + a 0 (7.57)
ua′1 = Rθ, ua 0 ua1 (7.58)
For the second rotation (Figure 7.13b), unit vector ua′1 is rotated to unit vector ua (about vector w by rotation angle ω). Vector w is defined as w=
ua′1 × ua (7.59) ua′1 × ua
and the cosine and sine of rotation angle ω are cos ω = ua1′ ⋅ ua and sin ω = ua1′ × ua (7.60)
c΄1
c1 p΄1
a
p1
b΄1
ua΄1 a1
b1
a
α
ua0
(b)
c˝1
b΄1 p΄1
ua1
a0 (a)
c˝1
c΄1
ua΄1
p˝1
c b
γ
ua ω
p
a w
(c)
FIGURE 7.13 RSSR–SS (a) α-ua0, (b) ω-w, and (c) γ-ua rigid-body rotations.
b
p˝1 ua
169
Spatial Mechanism Kinematics and Synthesis
Based on the RRSS displacement equations in Section 7.2, the second rotations of c1 and p1 become
c′′1 = Rω,w ( c′1 − a ) + a (7.61)
p′′1 = Rω,w ( p′1 − a ) + a (7.62)
For the third rotation (Figure 7.13c), moving pivot c′′1 and coupler point p′′1 are rotated about unit vector ua by rotation angle γ. Based on the RRSS displacement equations, the final rotations of c1 and p1 become
c = Rγ,ua ( c′′1 − a ) + a (7.63)
p = Rγ,ua ( p′′1 − a ) + a (7.64)
where γ1,2 = 2 tan −1
−X ± W 2 + X 2 − Y 2 * (7.65) Y −W
and T
W = (a − c0 )
{ I − Q ( c′′ − a )} (7.66) †
ua
T
X = (a − c0 )
1
{ P ( c′′ − a )} (7.67) ua
1
‡
T
Y = (a − c0 )
{
c′′ − a T c′′ − a + a − c 0 )T ( a − c 0 ) 1 ( 1 ) ( 1 ) ( Qua ( c′′1 − a ) + (7.68) T 2 − c − c c − c ( ) ( ) 1 0 1 0
}
RSSR–SS variables c1 and p1 are 3 × 1 vectors containing x-, y-, and z-components. Equations 7.63 and 7.64 calculate the displacements of RSSR–SS follower moving pivot c1 and rigid- body point p1, respectively, and complete the RSSR–SS displacement equation set.
* Like four-link mechanisms, there are two RSSR–SS assembly configurations and subsequently two γ solutions (or two branches) for every θ value. † Variable I in Equation 7.66 is a 3 × 3 identity matrix. ‡ Matrices R θ,ua 0 , [Rω,w], and [Rγ,ua] are identical in form to Matrix (7.6).
170
Mechanism Design: Visual and Programmable Approaches
7.7 R–S DYAD AND APPROXIMATE RSSR–SS MOTION GENERATION The RSSR–SS mechanism includes two revolute–spherical or R–S dyads in addition to an S–S dyad. Suh and Radcliffe introduced motion generation equations to calculate the R–S dyad variables to approximate a group of precision positions. Equations 7.69 through 7.71 encompass the constraint equation set for the R–S dyad (Figure 7.14). Equation 7.69 constrains the scalar length of the R–S link to a constant magnitude throughout each prescribed rigid-body position. Equation 7.70 is an orthogonality constraint between the R–S link and its revolute joint axis. Equation 7.71 is a unit vector constraint for ua0: T
T ( a j − a 0 ) ( a j − a 0 ) − ( a1 − a 0 ) ( a1 − a 0 ) = 0 T
( ua 0 ) ( a j − a 0 ) = 0
j = 1,2,3 … (7.70)
T
j = 2,3 … (7.69)
( ua 0 ) ( ua 0 ) − 1 = 0
(7.71)
In this R–S dyad motion generation model, a0 = [a 0x, a 0y, a 0z, 1]T, a1 = [a1x, a1y, a1z, 1]T, ua0 = [ua 0x, ua 0y, ua 0z, 0]T, and aj = [D1j]a1. Matrix [D1j] (which is identical to Matrix [7.30]) defines the rigid-body displacement from position 1 to position j. Equations 7.69 through 7.71 form a set of eight nonlinear equations to solve for 11 of the 12 unknown R–S dyad variables in a0, a1, ua0, and ub0 (with one arbitrary variable choice) for four precision positions. Appendix E four includes user instructions for the MATLAB files to solve the R–S dyad equations presented in this section for approximate RSSR–SS motion generation. Although these equations form a set
qj
q1
pj
s1 r1
sj rj aj
a1
Y Z
X
ua0 a0
FIGURE 7.14 R–S dyad at rigid-body positions 1 and j.
p1
171
Spatial Mechanism Kinematics and Synthesis
of nonlinear equations for four position synthesis, in the Appendix E.4 MATLAB files, they are solved as a constrained nonlinear equation system for an indefinite number of precision positions. Example 7.8 Problem Statement: Using the Appendices E.2 and E.4 MATLAB files, synthesize an RSSR–SS mechanism for the component positions in Table E.7.17 (illustrated in Figure E.7.16). Known Information: Table E.7.17 and Appendices E.2 and E.4 MATLAB files. Solution Approach: Table E.7.18 includes the initial and calculated values for the RSSR–SS mechanism (Figure E.7.17) using the Appendices E.2 and E.4 MATLAB files (where N = 3). In these files, a0x = 0, b0x = 5, and c1 = (0, 1, −5). Positions 2 and 3 in Table E.7.19 are achieved at link a0 − a1 rotation angles of −36.1° and −63.7°.
TABLE E.7.17 Component Positions Precision Position 1 2 3
p
q
r
s
0, 0, 0 0.75, 0.75, 0.5 1.5, 1.5, 1
1, 0, 0 1.7159, 1.0088, 0.5 2.366, 2, 1
0, 1, 0 0.5154, 1.6254, 0.0774 1.2132, 1.9967, 0.1808
0, 0, 1 0.6406, 1.1582, 1.4063 1.0904, 2.2094, 1.5736
r3
r2 r1
p3
p2
Y
X
p1
s2
Z s1
FIGURE E.7.16 Component positions.
s3
q2
q1
q3
172
Mechanism Design: Visual and Programmable Approaches
TABLE E.7.18 Initial and Calculated RSSR-SS Mechanism Variables Variable a0y, a0z a1 ua0 b0y, b0z b1 ub0 c0
Initial
Calculated
−1, −1 1, 1, 1 0.5, 0.5, 0.5 −1, −1 1, 1, 1 0.5, 0.5, 0.5 −5, 5, −5
2.7393, 0.1387 1.5731, 5.0229, 5.2658 0.9365, 0.1057, −0.3344 −1.6047, 1.8753 1.0890, 0.7391, −0.1681 −0.4308, 0.0657, 0.9000 1.4713, 2.6829, −0.3571
a1
ub0 b0 c0
a0
r1
ua0
b1
s1 Z X Y
q1
p1 c1
FIGURE E.7.17 Synthesized RSSR–SS mechanism.
TABLE E.7.19 Component Positions (Represented by p, q, and r Only) Achieved by Synthesized RSSR–SS Mechanism Precision Position 1 2 3
p
q
r
0, 0, 0 0.7549, 0.7573, 0.5033 1.6895, 1.4323, 1.2897
1, 0, 0 1.7204, 1.0176, 0.5051 2.4681, 1.8486, 0.8202
0, 0, 1 0.5204, 1.6304, 0.0758 1.0637, 1.8920, 0.6595
173
Spatial Mechanism Kinematics and Synthesis
In Sections 5.5 and 7.4, displacement equations for the planar four-bar mechanism, the RRSS mechanism, and the 4R Spherical mechanism are included in constrained nonlinear equation systems for motion and path generation with order and branch defect elimination. Unfortunately, the scale and complexity of the RSSR–SS displacement equations presented in Section 7.6 make the direct inclusion of those equations into a constrained equation system for RSSR–SS motion generation impractical (specifically in terms of solution run times in MATLAB). Therefore, an alternate formulation was developed for the synthesis of RSSR–SS motion generators with branch and order defect elimination. For RSSR–SS motion generation, an objective function is formulated from the summation of Equations 7.72 and 7.73 for precision positions 2…N. Equations 7.72 and 7.73 are constant length constraints for the R–S dyads a0 − a1 and b0 − b1: T
j = 2,3 … (7.72)
T
j = 2,3 … (7.73)
(a j − a ) (a j − a ) = 0
(b j − b) (b j − b) = 0
In these equations, aj = [D1j]a1 and bj = [D1j]b1 where [D1j] is Matrix (7.30). Also variables a and b in these equations include Equations 7.17 and 7.18, respectively (where dyad rotation angle variables θj and ϕj used in place of θ and ϕ). Equations 7.70 and 7.71 are included as constraints for dyads a0 − a1 and b0 − b1. Additional equality constraints include Equations 7.74 through 7.76 as constant length constraints for the S–S dyad c0 − c1 and distances c1 − a1 and c1 − b1, respectively, for precision positions 2…N. In Equation 7.74, cj = [D1j]c1: T
j = 2,3 … (7.74)
T
j = 2,3 … (7.75)
T
j = 2,3 … (7.76)
T ( c j − c 0 ) ( c j − c 0 ) − ( c1 − c 0 ) ( c1 − c 0 ) = 0
T ( c j − a ) ( c j − a ) − ( c1 − a 1 ) ( c1 − a 1 ) = 0
T ( c j − b ) ( c j − b ) − ( c1 − b1 ) ( c1 − b1 ) = 0
For order defect elimination, Inequality (7.44) is included and Inequalities (7.77) and (7.78) are included for precision positions 2…N for branch defect elimination. Inequality (7.77) considers the RSSR–SS mechanism loop a1 − b1 − b0 and Inequality (7.78) considers the mechanism loop c 0 − c1 − 1/ 2 ( a1 + b1 ). A change in branch would result in a change in sign in the product of the cross products from positive to negative. By constraining the product of these cross products to a positive value, both inequalities constrain the mechanism to a single branch.
( b j − b0 ) × ( a j − b0 ) ⋅ ( b1 − b0 ) × ( a1 − b0 ) > 0
j = 2,3 … (7.77)
174
Mechanism Design: Visual and Programmable Approaches
1 1 1 1 ( c j − c 0 ) × a j + b j − c 0 ⋅ ( c1 − c 0 ) × a1 + b1 − c 0 > 0 2 2 2 2
j = 2,3 … (7.78)
This combination of objective function, equality constraints, and inequality constraints allow for the direct minimization of the RSSR–SS dyad length differences while producing solutions that are free of order defects and branch defects. The unknown variables to be calculated in this equation system are X = (a0, a1, ua0, b0, b1, ub0, c0, c1, θ2 … θN, ϕ2 … ϕN). Appendix E.12 includes user instructions for the MATLAB files to solve the constrained nonlinear equation systems presented in this section for RSSR–SS motion generation. Example 7.9 Problem Statement: Using the Appendix E.12 MATLAB files, synthesize an RSSR– SS mechanism for the component positions in Table E.7.20. Known Information: Table E.7.20 and Appendix E.12 MATLAB files. Solution Approach: Table E.7.21 includes the initial and calculated values for the RSSR–SS mechanism using the Appendix E.12 MATLAB files (where N = 4). Table E.7.22 includes the positions achieved by the synthesized RSSR–SS mechanism (Figure E.7.18).
TABLE E.7.20 Component Positions Precision Position 1 2 3 4
p
q
r
s
−0.5, −0.5, −0.5 0, 0, 0 0.75, 0.75, 0.5 1.5, 1.5, 1
0.4513, −0.7549, −0.3264 1, 0, 0 1.7159, 1.0088, 0.5 2.366, 2, 1
−0.2412, 0.4659, −0.5 0, 1, 0 0.5154, 1.6254, 0.0774 1.2132, 1.9967, 0.1808
−0.6677, −0.4551, 0.4848 0, 0, 1 0.6406, 1.1582, 1.4063 1.0904, 2.2094, 1.5736
175
Spatial Mechanism Kinematics and Synthesis
TABLE E.7.21 Initial and Calculated RSSR–SS Mechanism Variables Variable
Initial
Calculated
a0 a1 ua0 b0 b1 ub0 c0 c1 θ2 ∼ θ4 ϕ2 ∼ ϕ4
1, 1, 1 1, 1, 1 0.5, 0.5, 0.5 1, 1, 1 1, 1, 1 0.5, 0.5, 0.5 1, 1, 1 1, 1, 1 30°, 60°, 90° 20°, 40°, 60°
−14.7999, −0.9062, 7.4462 −20.2367, −12.0928, −7.1126 −0.8317, −0.2445, 0.4985 −15.468, 13.6181, −1.9321 0.2141, −0.7169, −0.2269 −0.3123, −0.2321, 0.9212 19.5057, −9.917, −0.6177 0.7626, −0.4143, −0.3189 18.9939°, 49.3658°, 78.0126° 2.6021°, 6.1927°, 9.5855°
TABLE E.7.22 Component Positions (Represented by p, q, and r Only) Achieved by Synthesized RSSR–SS Mechanism Precision Position 1 2 3 4
p
q
r
−0.5, −0.5, −0.5 −0.0011, 0.0027, −0.0072 0.753, 0.7518, 0.5216 1.4996, 1.5014, 1.0022
0.4513,−0.7549,−0.3264 0.9989, 0.0007, 0.0022 1.72, 1.0053, 0.4952 2.3667, 1.9995, 0.9998
−0.2412, 0.4659, −0.5 −0.0105, 0.0128, 0.9927 0.6759, 1.1416, 1.4392 1.0938, 2.2106, 1.5787
a0
b0
ua0
ub0
a1
b1 p1
r1
q1
c1
s1
c0
FIGURE E.7.18 Synthesized RSSR–SS mechanism.
176
Mechanism Design: Visual and Programmable Approaches
7.8 SPATIAL KINEMATIC MODELING IN MATLAB® AND SIMMECHANICS® A library of MATLAB and SimMechanics® files is available for download at www. crcpress.com to conduct RRSS, RSSR, 4R Spherical, and RSSR–SS kinematic analyses. With these files, the user inputs the mechanism link dimensions and driving link displacement angles and measures the calculated displacements of the mechanism locations of interest. The MATLAB and SimMechanics files enable the user to efficiently conduct spatial mechanism kinematic analysis and simulation. User instructions for the RRSS, RSSR, 4R Spherical, and RSSR–SS mechanism MATLAB and SimMechanics files are given in Appendices G.4 through G.7, respectively. Example 7.10 Problem Statement: Using the MATLAB and SimMechanics files in Appendices G.4, G.6, and G.7, calculate the rigid-body positions of the mechanism solutions in Examples 7.1, 7.2, and 7.9 at crank displacement angles of 15°, 30°, 45°, and 60°. Known Information: Mechanism solutions from Examples 7.1, 7.2, and 7.9 and the Appendices G.4, G.6, and G.7 MATLAB and SimMechanics files. Solution Approach: Tables E.7.23 through E.7.25 includes the rigid-body positions calculated using the MATLAB and SimMechanics files in Appendices G.4, G.6, and G.7, respectively. In these files, the values 15, 15, and 60 were specified for the variables start_ang, step_ang, and stop_ang, respectively.
TABLE E.7.23 Rigid-Body Positions Calculated for RRSS Solution in Example 7.1 θ 15° 30° 45° 60°
p
q
r
1.6836, 0.4924,−1.0207 1.4978, 0.9345,−1.0344 1.2064, 1.2895,−1.04 0.85, 1.5395,−1.0386
1.1817, 0.355,−1.8746 1.0318, 0.6632,−1.8765 0.8117, 0.8986,−1.8715 0.5566, 1.0529,−1.8615
1.888, 0.554,−1.1507 1.6725, 1.0523,−1.169 1.336, 1.4526,−1.1782 0.9238, 1.7326,−1.1791
TABLE E.7.24 Rigid-Body Positions Calculated for 4R Spherical Solution in Example 7.2 θ 15° 30° 45° 60°
p
q
r
0.0681, 0.1071, 0.8556 0.2169, 0.0734, 0.8341 0.3315, 0.0478, 0.7975 0.4315, 0.0265, 0.7492
0.4661, 0.1944, 0.7023 0.5581, 0.2353, 0.6176 0.6086, 0.2747, 0.55 0.641, 0.3086, 0.4922
0.2281, 0.2878, 0.7832 0.3288, 0.2822, 0.7486 0.3981, 0.2767, 0.7163 0.4573, 0.2683, 0.6834
177
Spatial Mechanism Kinematics and Synthesis
TABLE E.7.25 Rigid-Body Positions Calculated for RSSR–SS Solution in Example 7.9 θ 15° 30° 45° 60°
p
q
r
−0.1054,−0.0986,−0.0918 0.2786, 0.2766, 0.1988 0.6467, 0.6441, 0.4501 1.0142, 1.0195, 0.6969
0.8932,−0.1444,−0.0654 1.2734, 0.3778, 0.1834 1.6218, 0.8646, 0.4247 1.9565, 1.3532, 0.6702
−0.0601, 0.9002,−0.0739 0.1762, 1.2633, 0.0726 0.4304, 1.562, 0.1177 0.7223, 1.7996, 0.1435
7.9 SUMMARY Just as planar mechanisms are configured so that mechanism motion is restricted to two-dimensional space, spatial mechanisms are configured to exhibit motion in three-dimensional space. Spatial mechanism motion is determined in part by the mobility of the mechanism joints used and the spatial orientation of the joints. The four-bar spatial mechanisms considered in this chapter are the RRSS, 4R Spherical, and RSSR mechanisms. Suh and Radcliffe presented displacement equations for the RRSS and RSSR mechanisms. These displacement equations can be directly applied to the 4R Spherical mechanism. To apply these models to the latter mechanism, the user should specify the appropriate 4R Spherical mechanism values to their corresponding RRSS and RSSR variables. Suh and Radcliffe introduced motion generation equations to synthesize R–R, S–S, and spherical R–R dyads. As formulated, these equations can be used to synthesize RRSS motion generators to approximate three precision positions and 4R Spherical motion generators to approximate four precision positions. In this chapter, constrained nonlinear equation systems are formulated to synthesize RRSS and 4R Spherical motion and path generators with branch and order defect elimination to approximate N precision positions and precision points. Suh and Radcliffe introduced function generation equations to synthesize RSSR and 4R Spherical mechanisms to approximate six and four precision points, respectively. In this chapter, constrained nonlinear equation systems are formulated to synthesize RSSR and 4R Spherical function generators to approximate N precision points. In addition to spatial four-bar mechanisms like the RRSS, RSSR, and 4R Spherical mechanisms, this chapter also considers the RSSR–SS mechanism—a particular type of spatial multiloop mechanism. Spatial multiloop mechanisms like the RSSR–SS are more structurally sound than four-link mechanisms. In this chapter, displacement equations are formulated for the RSSR–SS mechanism. These equations include the RSSR displacement model by Suh and Radcliffe. From the RSSR displacement equations, the displacements of the RSSR–SS moving pivots a1 and b1 are calculated. The displacements of the RSSR–SS moving pivot c1 and rigid-body points are calculated from the RSSR–SS displacement equations.
178
Mechanism Design: Visual and Programmable Approaches
Suh and Radcliffe introduced motion generation equations to synthesize R–S dyads to approximate four precision positions. Using these equations in combination with the S–S dyad motion generation equations enables the user to synthesize RSSR–SS mechanisms to approximate four precision positions. Constrained nonlinear equation systems were formulated to synthesize RSSR–SS motion and path generators to approximate N precision positions and precision points. These equation systems presented in this chapter are solved using the Appendix E MATLAB files. Appendix G MATLAB and SimMechanics files are available for download at www.crcpress.com from which the user can conduct RRSS, RSSR, 4R Spherical, and RSSR–SS displacement analyses and motion simulations.
PROBLEMS 7.1
7.2
7.3
7.4
Using the Appendices E.1 and E.2 MATLAB files, synthesize an order, branch, and circuit defect–free RRSS mechanism for the three-component position coordinates in Table P.7.1 (and illustrated in Figure P.7.1). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. Using the Appendix E.6 MATLAB files, synthesize an order, branch, and circuit defect–free RRSS mechanism for the tool path coordinates in Figure P.7.2. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. Using the Appendix E.5 MATLAB files, synthesize an order, branch, and circuit defect–free RRSS mechanism for the six antenna position coordinates in Table P.7.2 (and illustrated in Figure P.7.3). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. Using the Appendix E.6 MATLAB files, synthesize an order, branch, and circuit defect–free RRSS mechanism for the tool path coordinates in Figure P.7.4. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism.
TABLE P.7.1 Coordinates for Three Component Positions Precision Position 1 2 3
p
q
r
s
0, 0, 0 0.75, 0.75, 0.5 1.5, 1.5, 1
1, 0, 0 1.7159, 1.0088, 0.5 2.3660, 2, 1
0, 1, 0 0.5154, 1.6254, 0.0774 1.2132, 1.9967, 0.1808
0, 0, 1 0.6406, 1.1582, 1.4063 1.0904, 2.2094, 1.5736
179
Spatial Mechanism Kinematics and Synthesis r3 r2 r1
p3
p2
Y X
p1
s3
q2
q1
q3
s2
Z s1
FIGURE P.7.1 Three component positions. p1 = (0, 0, 0)
p2 = (–0.342, –0.1, 0.0603) p3 = (–0.6428, –0.2, 0.234) p4 = (–0.866, –0.3, 0.5)
p5
p5 = (–0.9848, –0.3, 1.1736)
p4
Z p3 Y p2
p1
X
FIGURE P.7.2 Five tool path points and point coordinates.
TABLE P.7.2 Coordinates for Six Antenna Positions Precision Position 1 2 3 4 5 6
p
q
r
2, 0, 0 1.9021, 0.6180, 0 1.6180, 1.1756, 0 1.1756, 1.6180, 0 0.6180, 1.9021, 0 0, 2, 0
3, 0, 0 2.8387, 0.9224, −0.1736 2.3783, 1.7279, −0.3420 1.6846, 2.3187, −0.5 0.8548, 2.6307, −0.6428 0, 2.6428, −0.7660
2, 0, 1 2.0673, 0.6717, 0.9848 1.8947, 1.3766, 0.9397 1.4695, 2.0225, 0.8660 0.8167, 2.5134, 0.7660 0, 2.7660, 0.6428
180
Mechanism Design: Visual and Programmable Approaches r6
r5
r4 r3
p6
p5 q6
q5
r2 q4
p4
p3 Z
Y
r1 q2
p2 X p1
q1
FIGURE P.7.3 Six antenna positions. p5 p1 = (0, 0, 0) p2 = (0.5, 0.25, 0)
p4
p3 = (1, 0.5, 0) p4 = (1, 0.35, 1) p5 = (0, –0.25, 0.5)
Z X
p1 Y
p2
p3
FIGURE P.7.4 Five tool path points and point coordinates.
7.5
7.6
Using the Appendix E.5 MATLAB files, synthesize an order, branch, and circuit defect–free RRSS mechanism for the seven-component position coordinates in Table P.7.3 (and illustrated in Figure P.7.5). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. Using the Appendix E.3 MATLAB files, synthesize an order, branch, and circuit defect–free 4R Spherical mechanism for the four panel position coordinates in Table P.7.4 (and illustrated in Figure P.7.6). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism.
181
Spatial Mechanism Kinematics and Synthesis
TABLE P.7.3 Coordinates for Seven Component Positions Precision Position 1 2 3 4 5 6 7
p
q
r
−0.75, −0.75, −0.5 −0.375, −0.375, −0.25 0, 0, 0 0.375, 0.375, 0.25 0.75, 0.75, 0.5 1.1250, 1.1250, 0.75 1.5, 1.5, 1
0.2159, −1.0088, −0.5 0.6164, −0.5055, −0.25 1, 0, 0 1.3664, 0.5055, 0.25 1.7159, 1.0088, 0.5 2.0489, 1.5077, 0.75 2.3660, 2, 1
−0.5154, 0.1254, −0.0774 −0.2476, 0.5929, −0.0336 0, 1, 0 0.2476, 1.3429, 0.0336 0.5154, 1.6254, 0.0774 0.8318, 1.8327, 0.1072 1.2132, 1.9967, 0.1808
r7
r1
r3
r2
Z
Y
p3
X
p2
p1
r4
q7
r6
r5
p6
p5
q6
p7 q5
p4
q4 q3
q2 q1
FIGURE P.7.5 Seven component positions.
TABLE P.7.4 Coordinates for Four Solar Panel Positions Precision Position 1 2 3 4
p
q
r
1.4489, 0, 0.3882 1.2990, 0.7386, 0.1302 0.7500, 1.2941, 0.1132 0, 1.5, 0
2.4148, 0, 0.6470 2.1651, 1.2310, 0.2171 1.2500, 2.1568, 0.1887 0, 2.5, 0
1.4489, 1, 0.3882 0.8660, 1.3904, 0.7529 0.3170, 1.4677, 0.9977 0, 1.5, 1
182
Mechanism Design: Visual and Programmable Approaches r3
r4
q3
r2
q4
p4
q2
r1
p3 p2
Z
Y
q1
p1
X
FIGURE P.7.6 Four solar panel positions.
TABLE P.7.5 Coordinates for Eight Landing Gear Positions Precision Position 1 2 3 4 5 6 7 8
7.7
7.8
p
q
r
1.5, 0, 0 1.4624, 0.3338, 0 1.3515, 0.6508, 0 1.1727, 0.9352, 0 0.9352, 1.1727, 0 0.6508, 1.3515, 0 0.3338, 1.4624, 0 0, 1.5, 0
2.5, 0, 0 2.4373, 0.5563, 0 2.2524, 1.0847, 0 1.9546, 1.5587, 0 1.5587, 1.9546, 0 1.0847, 2.2524, 0 0.5563, 2.4373, 0 0, 2.5, 0
1.5, 1, 0 1.2456, 1.2837, 0.2250 0.9615, 1.4606, 0.4384 0.6882, 1.5428, 0.6293 0.4539, 1.5566, 0.7880 0.2701, 1.5348, 0.9063 0.1311, 1.5087, 0.9781 0, 1.5, 1
Using the Appendix E.7 MATLAB files, synthesize an order, branch, and circuit defect–free 4R Spherical mechanism for the eight landing gear position coordinates given in Table P.7.5 (and illustrated in Figure P.7.7). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. Using the Appendix E.8 MATLAB files, synthesize an order, branch, and circuit defect–free 4R Spherical mechanism for the path coordinates in Figure P.7.8. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism.
183
Spatial Mechanism Kinematics and Synthesis Z X
p1 q1
p2
q2 r1
q3
Y r5
r6
r7
r8
r4
p3
r3 r2
p5
p6
p7
p8
q4 q5 q6
q8
q7
FIGURE P.7.7 Eight landing gear positions. p5
p4 p3
p1 = (0, 1.25, 0)
p2 = (0.3382, 1.1548, 0.3382) p3 = (0.625, 0.8839, 0.625)
p2
p4 = (0.8166, 0.4784, 0.8166)
Z Y
p5 = (0.8839, 0, 0.8839)
p1
X
FIGURE P.7.8 Five path points and point coordinates.
7.9
Using the Appendix E.8 MATLAB files, synthesize an order, branch, and circuit defect–free 4R Spherical mechanism for the path coordinates in Figure P.7.9. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. 7.10 Using the Appendix E.11 MATLAB files, synthesize a 4R Spherical mechanism for the displacement angles in Table P.7.6. Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism.
184
Mechanism Design: Visual and Programmable Approaches p5 p4 p1 = (0, 1.25, 0) p2 = (0.3382, 1.1548, 0.3382) p3 = (0.8166, 0.4784, 0.8166) p4 = (0.8839, 0, 0.8839)
p6
p5 = (0, 0, 1.25) p6 = (–0.8166, 0.4784, 0.8166)
Z p7
X
p3
p7 = (–0.3382, 1.1548, 0.3382)
p1
Y
p2
FIGURE P.7.9 Seven path points and point coordinates.
TABLE P.7.6 Prescribed Crank and Follower Displacement Angles θj (deg.) 60 120 180
ϕj (deg.) 30 60 90
7.11 Using the Appendix E.11 MATLAB files, synthesize a 4R spherical mechanism for the function f(x) = cos x over the range 0 ≤ x ≤ π/2 at 10 precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the rotation angles achieved by the synthesized mechanism. 7.12 Using the Appendix E.10 MATLAB files, synthesize an RSSR mechanism for the crank and rudder displacement angles in Table P.7.7 (let b 0x = b1x and α = 90°). Through a displacement analysis, determine the rudder rotation angles achieved by the synthesized mechanism. 7.13 Using the Appendix E.10 MATLAB files, synthesize an RSSR mechanism for the crank and wheel displacement angles in Table P.7.8 (let b 0x = b1x and α = 90°). Through a displacement analysis, determine the wheel rotation angles achieved by the synthesized mechanism. 7.14 Using the Appendix E.9 MATLAB files, synthesize an RSSR mechanism for the function f ( x ) = x over the range 0 ≤ x ≤ 20 at eight precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism.
185
Spatial Mechanism Kinematics and Synthesis
TABLE P.7.7 Prescribed Crank and Rudder Displacement Angles θj (deg.) 10 20 30 40 50
ϕj (deg.) 5 10 20 40 60
TABLE P.7.8 Prescribed Crank and Wheel Displacement Angles θj (deg.) −20 −10 10 20
ϕj (deg.) −45 −25 25 45
7.15 Using the Appendix E.9 MATLAB files, synthesize an RSSR mechanism for the function f(x) = x2 over the range 0 ≤ x ≤ 20 at 10 precision points including points x0 and xN+1 (use Chebyshev spacing). Through a displacement analysis, determine the displacement angles achieved by the synthesized mechanism. 7.16 Using the Appendix E.12 MATLAB files, synthesize an order, branch, and circuit defect free RSSR–SS mechanism for the precision positions given in Problem 7.3. The values for rigid-body point s are s1 = (2.5, 1, 0.5), s2 = (2.144, 1.7481, 0.4056), s3 = (1.5487, 2.3613, 0.2988), s4 = (0.768, 2.7584, 0.183), s5 = (−0.1153, 2.8811, 0.0616), and s6 = (−1, 2.7044, −0.0616). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. 7.17 Using the Appendix E.2 and E.4 MATLAB files, synthesize an order, branch, and circuit defect free RSSR–SS mechanism for precision positions 1, 3, and 5 in Problem 7.3. The values for rigid-body point s are s1 = (2.5, 1, 0.5), s3 = (1.5487, 2.3613, 0.2988), and s5 = (−0.1153, 2.8811, 0.0616). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism.
186
Mechanism Design: Visual and Programmable Approaches
7.18 Using the Appendix E.12 MATLAB files, synthesize an order, branch, and circuit defect free RSSR–SS mechanism for the precision positions given in Problem 7.5. The values for rigid-body point s are s1 = (−0.8594, −1.1582, 0.4063), s2 = (−0.4033, −0.5896, 0.7263), s3 = (0, 0, 1), s4 = (0.3467, 0.5896, 1.2263), s5 = (0.6406, 1.1582, 1.4063), s6 = (0.8790, 1.7189, 1.5160), and s7 = (1.0904, 2.2094, 1.5736). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. 7.19 Using the Appendix E.2 and E.4 MATLAB files, synthesize an order, branch, and circuit defect free RSSR–SS mechanism for precision positions 1, 4, and 7 in Problem 7.5. The values for rigid-body point s are s1 = (−0.8594, −1.1582, 0.4063), s4 = (0.3467, 0.5896, 1.2263), and s7 = (1.0904, 2.2094, 1.5736). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism. 7.20 Using the Appendix E.12 MATLAB files, synthesize an order, branch, and circuit defect free RSSR–SS mechanism for the precision positions given in Problem 7.6. The values for rigid-body point s are s1 = (1.1901, 0, 1.3542), s2 = (1.5490, 0.1618, 0.9079), s3 = (1.5, 0.8192, 0.5736), and s4 = (1, 1.5, 0). Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation range and also determine the coordinates achieved by the synthesized mechanism.
REFERENCES
1. Capellen, W.M. 1966. Kinematics-A survey in retrospect and prospect. Mechanism and Machine Theory, 1: 211–228. 2. Suh, C.H. and C.W. Radcliffe. 1978. Kinematics and Mechanisms Design, pp. 83–85. New York: John Wiley & Sons. 3. Ibid., pp. 79–80. 4. Ibid., pp. 155–157. 5. Ibid., pp. 152–154. 6. Ibid., p. 199. 7. Ibid., pp. 181–182. 8. Ibid., pp. 179–181. 9. Dasgupta, B. and T.S. Mruthyunjaya. 2000. The Stewart platform manipulator: A review. Mechanism and Machine Theory, 35: 15–40. 10. Shen, Q., K. Russell, and R.S. Sodhi. 2012. Analytical displacement and velocity modeling of the RSSR-SS linkage. Proceedings of the 11th International Conference on the Theory of Machines and Mechanisms, Liberec, Czech Republic.
8
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
8.1 INTRODUCTION TO ADJUSTABLE MECHANISM SYNTHESIS The kinematic synthesis equations presented in Chapters 4 through 7 are useful for calculating the dimensions of a single mechanism configuration. As demonstrated in these chapters, this single mechanism configuration will precisely achieve or approximate either precision positions for motion generation or precision points for path generation or function generation. In comparison to classical kinematic synthesis (where the dimensions of a single mechanism configuration are calculated), a substantial array of methodologies and mathematical models have been developed in recent decades for the kinematic synthesis of adjustable planar and spatial mechanisms [1–8]. An adjustable mechanism includes fixed and/or moving pivots that can be adjusted to achieve multiple mechanism configurations—each configuration achieving or approximating a particular group of precision positions or precision points. To further convey the objective and advantage of adjustable mechanism kinematic synthesis, Figure 8.1 illustrates two groups of precision positions. For this illustration, let us assume a planar four-bar mechanism is required to approximate the position sequence in group 1 followed by the position sequence in group 2. Due to the prescribed order and arrangement of the precision positions in Figure 8.1, it is unlikely that the ideal mechanism solution to this problem (a mechanism solution that produces the closest precision position approximations) is a single planar four-bar mechanism configuration. One solution option for the motion generation problem is to synthesize a single mechanism configuration for the precision positions in group 1 and another single mechanism configuration for the precision positions in group 2 using the motion generation equations in Chapter 4 or 5. Although this solution is mathematically feasible and will likely produce acceptable precision point approximations, it will also produce two individual and independent motion generators. Another solution option for this motion generation problem is to utilize an equation system for the kinematic synthesis of adjustable motion generators to calculate dimensions for a single motion generator that can be adjusted to two distinct configurations—each configuration approximating a particular group of precision positions. A planar four-bar mechanism with adjustable moving pivots is illustrated in Figure 8.2. This mechanism can produce up to four distinct
187
188
Mechanism Design: Visual and Programmable Approaches
6
5 2
7
3
4
1 Group 1: 1–2–3–4 Group 2: 1–5–6–7 Y
X
FIGURE 8.1 Two groups of precision positions.
b1*
a 1*
b1
a1
a0
b0
FIGURE 8.2 Planar four-bar motion generator with adjustable moving pivots.
configurations—including configurations a0 − a1 − b1 − b0 and a 0 − a*1 − b*1 − b0 .* If this mechanism represented an adjustable mechanism solution for the precision positions in Figure 8.1, one configuration (e.g., a0 − a1 − b1 − b0) will achieve the precision positions in group 1 and another configuration (e.g., a 0 − a*1 − b*1 − b0) will achieve the precision positions in group 2. It can be observed in Figure 8.2 that all adjustments employ the same mechanism hardware, but produce mechanism configurations that are kinematically distinct. The primary advantage of adjustable kinematic synthesis is that it introduces a greater degree of flexibility in application to a single set of mechanism hardware. Figure 8.3 illustrates a pair of locking pliers—an example of a commonly used adjustable planar four-bar mechanism. By turning the adjustment knob on the locking * The remaining two configurations for this adjustable mechanism are a 0 − a1 − b*1 − b0 and a 0 − a*1 − b1 − b0 .
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
stable
Adju
189
h L1
lengt
Adjustment knob
FIGURE 8.3 Adjustable planar four-bar lock pliers mechanism.
pliers, the effective link length L1 is either increased or decreased. By adjusting the effective length of this link, alternate positions are achieved by the links of the locking pliers which result in alternate degrees of tool locking strength. Figure 8.4 illustrates the four adjustment options possible for a planar four-bar mechanism dyad. These options are constant link length moving and fixed-pivot adjustments (Figure 8.4a and b, respectively) and adjustable link length moving and fixed-pivot adjustments (Figure 8.4c and d, respectively). Variable link length
(a)
(c)
(b)
(d)
FIGURE 8.4 Constant length (a) moving pivot, (b) fixed pivot and adjustable length, (c) moving pivot, and (d) fixed pivot adjustments.
190
Mechanism Design: Visual and Programmable Approaches
adjustments require extendable–collapsible links (e.g., telescoping links) while constant link length adjustments enable the use of single-piece links. Moving pivot adjustments maintain a single fixed pivot placement throughout the mechanism adjustments, which can be advantageous if the fixed pivot is to be coupled to a driver that is in a fixed location. The four adjustment options in Figure 8.2 produce up to 10 mechanism configurations (when considering every combination of adjustments).
8.2 APPROXIMATE ADJUSTABLE PLANAR FOURBAR MOTION GENERATION In Section 5.5, approximate motion and path generation equations are presented to calculate the fixed and moving pivots of planar four-bar mechanism dyads. One equation system presented is a set of nonlinear equations for planar four-bar motion generation (Equation 5.15) [9]. Another equation system presented is a constrained nonlinear equation system for motion and path generations (Equations 5.17 through 5.21). To synthesize an adjustable planar four-bar mechanism dyad to approximate two groups of precision positions (where one group includes positions 1–2–3 and the other group includes 1–4–5) using constant link length moving pivot adjustments, Equation 5.15 becomes T
T ( a j − a 0 ) ( a j − a 0 ) = ( a1 − a 0 ) ( a1 − a 0 )
j = 2,3 (8.1)
( a* − a ) ( a* − a ) = ( a * − a ) ( a * − a )
k = 4,5 (8.2)
T
k
T
0
0
k
T
( a1 − a 0 ) ( a1 − a 0 ) =
0
1
1
0
(a* − a ) (a* − a ) (8.3) T
0
1
1
0
where aj = [D1j]a1 and a* D1k a* k = 1 . Equations 8.1 through 8.3 form a set of five nonlinear equations to calculate five of the six dyad variables a 0x, a 0y, a1x, a1y, a1*x , and a1*y with an arbitrary choice of one variable. To synthesize an adjustable planar four-bar mechanism dyad to approximate two groups of precision positions (where one group includes positions 1–2–3 and the other group includes 1–4–5) using constant link length fixed pivot adjustments, Equation 5.15 becomes T
T ( a j − a 0 ) ( a j − a 0 ) = ( a1 − a 0 ) ( a1 − a 0 )
(
a k − a* 0
(a
1
)( T
) (
* a k − a* 0 = a1 − a 0
− a0
) (a T
1
)
(
) ( a − a* ) T
− a 0 = a1 − a* 0
1
0
j = 2,3 (8.4) k = 4,5 (8.5)
) (a − a*) (8.6) T
1
0
191
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
where aj = [D1j]a1 and ak = [D1k]a1. Equations 8.4 through 8.6 form a set of five nonlinear equations to calculate five of the six dyad variables a 0x, a 0y, a*0 x , a*0 y , a1x, and a1y with an arbitrary choice of one variable. Equations 8.3 and 8.6 ensure constant crank and follower link lengths between mechanism adjustments. To synthesize mechanisms with adjustable crank and follower link lengths, Equations 8.3 and 8.6 are replaced by adding another precision position to one of the two groups of precision positions (e.g., k = 4, 5, 6 in Equations 8.2 and 8.5). Appendices F.1 through F.4 include MATLAB® file user instructions for the approximate adjustable four-bar motion generation equations presented in this section. Although Equations 8.1 through 8.3 and Equations 8.4 through 8.6 form sets of nonlinear equations for two 3-position synthesis problems, in Appendices F.1 through F.4, they are solved as unconstrained nonlinear equation systems in MATLAB for an indefinite number of precision positions. Example 8.1 Problem Statement: Synthesize a constant length moving pivot-adjustable planar four-bar mechanism for the two groups of container positions in Table E.8.1 (illustrated in Figure E.8.1). Known Information: Table E.8.1 and Appendix F.1 MATLAB files. Solution Approach: Table E.8.1 includes the precision position variables p and α. Using the Appendix F.1 MATLAB files (where M = N = 3) with variable a0x specified to a0x = 0 and variable b 0x specified to b 0x = 5, Table E.8.2 includes the calculated mechanism solution. Initial values of 10 were specified for the components of a1, b1, a1* , and b1*. Initial values of 10 and −10 were specified for a0y and b 0y, respectively. The calculated mechanism solution is illustrated in Figure E.8.2. Table E.8.3 includes the container positions achieved with a0 − a1 displacement angles of −9.4423° and −19.4817° (for mechanism a0 − a1 − b1 − b 0) and b0 − b1* displacement angles of 74.6602° and 113.1911° (for mechanism a 0 − a1* − b1* − b0).
TABLE E.8.1 Point Coordinates and Displacement Angles for Precision Positions in Figure E.8.1 Adjustment 1 Precision Position 1 2 3
pj 6.5450, 20.1547 12.4409, 17.7173 15.6261, 11.6238
Adjustment 2 αj [deg.]
Precision Position
pk
αk [deg.]
−38.2965 −74.4814
1 4 5
6.5450, 20.1547 18.4724, 15.4830 17.1848, 8.5771
−74.4814 −98.0521
192
Mechanism Design: Visual and Programmable Approaches Position 1
Position 1
Position 2
Position 4
Position 3 Y
Y Group 2: 1–4–5
Group 1: 1–2–3 X
Position 5
X
FIGURE E.8.1 Two groups of container positions.
TABLE E.8.2 Calculated Dyad Variables for Constant Length Moving Pivot-Adjustable Four-Bar Container Mechanism a1
a*1
b1
b*1
8.4826, 9.2735
8.9965, 9.9468
6.3144, 8.5958
9.3981, 5.4121
a0y, b0y 16.2802, 4.2374
p1
a0
a*1 b1
a1 b*1
Y b0 X
FIGURE E.8.2 Synthesized constant length moving pivot-adjustable four-bar container mechanism.
193
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
TABLE E.8.3 Container Positions Achieved by Constant Length Moving Pivot-Adjustable Four-Bar Mechanism Adjustment 1 Precision Position 1 2 3
Adjustment 2
pj 6.5450, 20.1547 12.4410, 17.7173 15.6263, 11.6238
αj [deg.]
Precision Position
pk
αk [deg.]
−38.2966 −74.4815
1 4 5
6.5450, 20.1547 18.4724, 15.4830 17.1851, 8.5771
−74.4816 −98.0533
Example 8.2 Problem Statement: Use the Appendix F.3 MATLAB files to synthesize adjustable length a0 − a1 and a 0 − a1* solutions for Example 8.1. Known Information: Table E.8.1 and Appendix F.3 MATLAB files. Solution Approach: Using the Appendix F.3 MATLAB files (where M = N = 3) with variable a0x specified to a0x = 0, Table E.8.4 includes the calculated mechanism solution. Initial values of 10 were specified for a0y and the components of a1 and a1*. In this solution, a − a has a length of 11.0371 while a 0 − a1* has a length 0
1
of 11.2594 (Figure E.8.3). Table E.8.5 includes the container positions achieved
TABLE E.8.4 Calculated Dyad Variables for Adjustable Length Moving Pivot-Adjustable Four-Bar Container Mechanism a1
a*1
b 0y ,b1,b*1
8.4794, 9.2626
9.2893, 9.9651
Solutions from Example 8.1 used
a0y 16.3278
a0
a1
a*1
FIGURE E.8.3 Synthesized adjustable length a0 − a1 and a 0 − a1* solutions.
194
Mechanism Design: Visual and Programmable Approaches
TABLE E.8.5 Container Positions Achieved by Synthesized Moving Pivot-Adjustable Four-Bar Mechanism Adjustment 1 Precision Position 1 2 3
Adjustment 2
pj 6.5450, 20.1547 12.4643, 17.6946 15.6263, 11.5713
αj [deg.]
Precision Position
pk
αk [deg.]
−38.4840 −74.7420
1 4 5
6.5450, 20.1547 18.4724, 15.4830 17.1851, 8.5771
−74.4816 −98.0533
with a0 − a1 displacement angles of −9.4423° and −19.4817° (for mechanism a0 − a1 − b1 − b0) and b0 − b1* displacement angles of 74.6602° and 113.1911° (for mechanism a 0 − a1* − b1* − b0).
8.3 APPROXIMATE ADJUSTABLE PLANAR FOUR-BAR MOTION AND PATH GENERATION: ALTERNATE EQUATIONS A constrained nonlinear equation system similar in form to the equation system presented in Section 5.5 can be formulated for adjustable planar four-bar motion or path generation. To synthesize adjustable planar four-bar motion generators to approximate an indefinite number of precision positions (two groups of positions where j = 2, 3…M in one group and k = M + 1, M + 2…N in the other group), the following objective function is formed: f (X) =
(
M
∑{ j =2
2
pj − p + qj − q
2
N
} ∑ p* − p* +
k = M +1
2
k
2 + q*k − q* (8.7)
)
where X = a 0 , a1, a*1 , b0 , b1, b*1 , θ2 … θ M , θ M +1 … θ N , α 2 … α M , α M +1 … α N for moving pivot adjustments and X = a , a , a*, b , b , b*, θ … θ , θ … θ , α … α , α …
)
(
0
1
0
0
1
0
2
M
M +1
N
2
M
M +1
α N for fixed pivot adjustments. In Equation 8.7, pj and q j are the precision position variables in the first group while p and q are the coupler points achieved by the * * synthesized mechanism (using Equation 5.13). In Equation 8.7, pk and q k are the precision position variables in the second group while p* and q* are the coupler points achieved by the synthesized mechanism (also using Equation 5.13). Angles θj and αj are the crank and coupler link displacement angles for the mechanism configuration associated with the first group of precision positions while angles θk and αk are for the mechanism configuration associated with the second group of precision positions. Along with Equation 8.7 as an objective function, Equations 8.8 through 8.13 are included (for precision positions 2…M and M + 1…N) as constraints for constant link
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
195
length moving pivot adjustments. Equations 8.10 and 8.13 ensure constant crank and follower link lengths between mechanism adjustments: T
(a − a0 )
(a
) (
− a 0 = a1 − a 0
) (a
)
T
− a 0 (8.8)
1
( a*− a ) (a* − a ) = (a* − a ) (a* − a ) (8.9) T
0
T
0
T
( a1 − a 0 ) ( a1 − a 0 ) =
1
(
0
a* 1 − a0
) (a* − a ) (8.10) T
T
T
0
1
( b − b0 ) ( b − b0 ) = ( b1 − b0 )
0
1
(b
1
)
− b0 (8.11)
(b* − b ) (b* − b ) = (b* − b ) (b* − b ) (8.12) T
0
T
0
T
( b1 − b0 ) ( b1 − b0 ) =
1
0
0
1
(b* − b ) (b* − b ) (8.13) T
1
0
0
1
To produce adjustable planar four-bar motion generator solutions that are order defect free, Inequality (5.19) is included for the crank displacement angles corresponding to the first group of precision positions and Inequality (8.14) is included for the crank displacement angles corresponding to the second group of precision positions. As with Inequality (5.19), the sign in Inequality (8.14) can be reversed to ensure clockwise crank link rotation: θk > θk −1 θM < 2π
k = M + 1, M + 2 … N (8.14)
To produce adjustable planar four-bar motion generator solutions that are branch defect free, Inequality (5.20) is included for the first group of precision positions (2…M) along with Inequality (8.15) for the second group of precision positions (M + 1…N):
(
)(
) (
)(
)
b* − b × a* − b ⋅ b* − b × a* − b > 0 (8.15) 0 0 1 0 1 0
Therefore, a constrained nonlinear equation system for constant-length, moving pivot–adjustable planar four-bar motion generation includes Equation 8.7 as an objective function, Equations 8.8 through 8.13 as equality constraints, and Inequalities (5.19), (5.20), (8.14), and (8.15) as inequality constraints. For the synthesis of adjust2 able path generators, the squared norms ∥q − q∥2 and q* − q* are excluded from Equation 8.7.
j
k
196
Mechanism Design: Visual and Programmable Approaches
Appendices F.5 and F.6 include MATLAB file user instructions for the approximate adjustable four-bar motion and path generation equation systems presented in this section. Example 8.3 Problem Statement: Use the Appendix F.5 MATLAB files to synthesize a solution for Example 8.1. The values for the additional rigid-body point q are q1 = (17.3726, 20.1547), q2 = (20.9386, 11.0071), q3 = (18.5230, 1.1910), q4 = (21.3693, 5.0502), and q5 = (15.6681, − 2.1437). Known Information: Table E.8.1 and Appendix F.5 MATLAB files. Solution Approach: Table E.8.6 includes the initial and calculated adjustable mechanism values using the Appendix F.5 MATLAB files (where M = N = 3). Table E.8.7 includes the rigid-body positions achieved by the synthesized mechanism (Figure E.8.4).
TABLE E.8.6 Initial and Calculated Values for Constant Length Moving Pivot-Adjustable Container Mechanism Variables Variable
Initial Values
Calculated Values
a0 a1 a*
0, 0 0, 10
−3.0606, 3.0987 3.4578, 5.0934
0, 10
3.5613, 1.4802
b0 b1 b*
10, 0 10, 10
15.1895, 0.3976 5.5284, 9.9165
10, 10
4.9202, 9.2569
θ2 ∼ θ5 α2 ∼ α5
−30°, −30°, −30°, −30° 30°, 60°, 30°, 60°
30.0519°, 50.6656°, 79.5601°, 103.3453° −68.6966°, −121.0268°, −143.9636°, −188.8606°
1
1
TABLE E.8.7 Container Positions Achieved by Synthesized Moving Pivot-Adjustable Four-Bar Mechanism Adjustment 1 Precision Position 1 2 3
Adjustment 2
pj
qj
Precision Position
pk
qj
6.5450, 20.1547 13.3994, 17.9250 14.7509, 11.5592
17.3726, 20.1547 21.8561, 11.1633 18.3900, 1.3614
1 4 5
6.5450, 20.1547 17.8617, 14.6947 15.8362, 8.4010
17.3726, 20.1547 22.5396, 4.9298 16.6829, −2.3934
197
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis p1
b1 b*1
a1 a0
Y X
a*1*
b0
FIGURE E.8.4 Synthesized constant length moving pivot-adjustable four-bar container mechanism.
Example 8.4 Problem Statement: Use the Appendix F.6 MATLAB files to synthesize a solution for the coupler point coordinates in Table E.8.8. Known Information: Table E.8.8 and Appendix F.6 MATLAB files. Solution Approach: Table E.8.9 includes the initial and calculated adjustable mechanism values using the Appendix F.6 MATLAB files (where M = N = 4). Table E.8.10 includes the point coordinates achieved by the synthesized mechanism (Figure E.8.5).
198
Mechanism Design: Visual and Programmable Approaches
TABLE E.8.8 Precision Points for Constant Length Moving Pivot-Adjustable Four-Bar Path Mechanism Adjustment 1 Precision Point 1 2 3 4
Adjustment 2
pj
Precision Point
pk
0, 0 0.8, 0.1 1.6, 0.7 2, 1.5
1 5 6 7
0, 0 1.1, 0.16 2.3, 0.8 2.7, 1.7
TABLE E.8.9 Initial and Calculated Values for Constant Length Moving Pivot-Adjustable Path Mechanism Variables Variable
Initial Values
Calculated Values
a0 a1 a*
0, 0 0, −10
−0.1615, 2.2688 −1.2460, −15.3041
0, −10
−3.3300, −15.0501
b0 b1 b*
10, 0 10, −10
3.2122, 2.2819 15.9158, −8.8587
10, −10
13.5763, −11.0627
θ2 ∼ θ7 α2 ∼ α7
10°, 20°, 30°, 10°, 20°, 30° 10°…10°
11.1501°, 28.1957°, 82.7568°, 13.9760°, 33.6369°, 51.9337° −1.3606°, −2.5954°, 2.4284°, −2.1289°, −4.0731°, −4.3984°
1
1
TABLE E.8.10 Coupler Points Achieved by Synthesized Moving Pivot-Adjustable Four-Bar Mechanism Adjustment 1 Precision Point 1 2 3 4
Adjustment 2 pj
Precision Point
pk
0, 0 0.7984, 0.1110 1.6966, 0.6088 1.9890, 1.5035
1 5 6 7
0, 0 1.1159, 0.1105 2.2648, 0.8232 2.6659, 1.7133
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
a0
Y
199
b0 p1
X
b1 b*1
a*1
a1
FIGURE E.8.5 Synthesized constant length moving pivot-adjustable four-bar path mechanism.
8.4 APPROXIMATE ADJUSTABLE PLANAR FOUR-BAR FUNCTION GENERATION Equation 8.16 encompasses a planar four-bar function generation equation set introduced by Suh and Radcliffe to approximate four precision points [10]. This equation (a constant length coupler link constraint) forms a set of four nonlinear equations to calculate the x- and y-components of moving pivots a1 and b1 (a1x, a1y, b1x, and b1y). In this function generation equation set, the fixed and moving pivots are a0 = [0,0,1]T, b0 = [1,0,1]T, a1 = [a1x, a1y, 1]T, and b1 = [b1x, b1y, 1]T. Matrix (8.17) defines the rotational displacements of the crank and follower links from position 1 to position j by displacement angles θ and ϕ (Figure 8.5):
( where aj = [D1j]a1 and
T
T
a j − b1 ) ( a j − b1 ) = ( a1 − b1 ) ( a1 − b1 ) (8.16)
cos( θ1j − φ1j ) D1 j = sin ( θ1j − φ1j ) 0
−sin ( θ1j − φ1j ) cos( θ1j − φ1j ) 0
1− cosφ1j sin φ1j 1
j = 2, 3,… (8.17)
To synthesize a planar four-bar mechanism having an adjustable follower link moving pivot (from b1 to b* 1 in Figure 8.6) to approximate two groups of three precision points (where one group includes angular displacements 1–2, 1–3, and 1–4 and the other group includes 1–5, 1–6, and 1–7), Equation 8.16 becomes T
T ( a j − b1 ) ( a j − b1 ) = ( a1 − b1 ) ( a1 − b1 )
j = 2,3,4 (8.18)
200
Mechanism Design: Visual and Programmable Approaches bj
a1
b1
aj Y
q1j
f1j
a0 (0, 0)
b0 (1, 0)
X
FIGURE 8.5 Planar four-bar function generator.
b1 a1
b*1
Y a0 (0, 0)
b0 (1, 0)
X
FIGURE 8.6 Adjustable planar four-bar function generator.
(
a k − b* 1
)( T
) (
* a k − b* 1 = a1 − b1
) (a − b*) T
1
1
k = 5,6,7 (8.19)
where aj = [D1j]a1 and ak = [D1k]a1. These equations form a set of six nonlinear equations to calculate mechanism dyad variables a1x, a1y, b1x, b1y, b1*x , and b1*y . While the motion and path generation equations introduced by Suh and Radcliffe are comprised of crank and follower constant length constraints, their function generation equations are comprised of constant length coupler constraints. The equation set formed from Equations 8.18 and 8.19 does not include a coupler link length constraint between adjustments (giving the mechanism an adjustable effective coupler link length). To synthesize adjustable function generators having constant coupler link lengths between adjustments, one of the six simultaneous equations can be replaced with Equation 8.20 at a loss of a precision point:
201
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis T
( a1 − b1 ) ( a1 − b1 ) =
(
a1 − b* 1
) (a − b*) (8.20) T
1
1
Appendix F.7 includes MATLAB file user instructions for the approximate adjustable four-bar function generation equation set presented in this section. Although Equations 8.18 through 8.20 form a set of nonlinear equations for six precision points, in Appendix F.7, they are solved as an unconstrained nonlinear equation system in MATLAB for an indefinite number of precision points ( j = 2, 3…M and k = M + 1, M + 2…N in Equations 8.18 and 8.19, respectively). Example 8.5 Problem Statement: Synthesize an adjustable planar four-bar mechanism for the 60° and 120° follower displacement ranges and the corresponding of 180° crank rotation range. Known Information: Appendix F.7 MATLAB files. Solution Approach: The crank and follower rotation ranges have been arbitrarily divided into the displacement angles given in Table E.8.11. Using the Appendix F.7 MATLAB files (where M = N = 3) with initial values of a1 = b1 = b1* = ( −1, −1), Table E.8.12 includes the four-bar function generator solution calculated. Table E.8.13 includes the displacement angles achieved by the synthesized adjustable function generator (Figure E.8.6).
TABLE E.8.11 Prescribed Displacements for Adjustable Planar Four-Bar Sprinkler Mechanism Adjustment 1 Precision Point 2 3
Adjustment 2
θj [deg.]
ϕj [deg.]
Precision Point
θj [deg.]
ϕj [deg.]
90 180
50 100
4 5
90 180
60 120
TABLE E.8.12 Calculated Four-Bar Function Generator Variables a1 −0.5005, 0.2052
b1
b*1
0.3125, −0.1512
0.3633, 0.0007
202
Mechanism Design: Visual and Programmable Approaches
TABLE E.8.13 Angular Displacements Achieved by the Adjustable Planar Four-Bar Sprinkler Mechanism Adjustment 1 Point
Adjustment 2
θj [deg.]
ϕj [deg.]
Point
θj [deg.]
ϕj [deg.]
90 180
50.000 100.000
4 5
90 180
60.000 120.000
2 3
a1
Y b*1
X
a0
b0
b1
FIGURE E.8.6 Synthesized adjustable planar four-bar function generator.
8.5 APPROXIMATE ADJUSTABLE 4R SPHERICAL MOTION GENERATION A set of nonlinear equations can be formulated from Equations 7.33 through 7.35 to synthesize an adjustable spherical R–R dyad to approximate two groups of precision positions (where one group includes positions 1–2–3 and the other group includes 1–4–5) using constant length moving pivot adjustments. To synthesize the dyads for an adjustable 4R Spherical motion generator, Equations 7.33 through 7.35 become T
T ( a j − a 0 ) ( a j − a 0 ) = ( a1 − a 0 ) ( a1 − a 0 )
j = 2,3 (8.21)
( a* − a ) ( a* − a ) = ( a * − a ) ( a * − a )
k = 4,5 (8.22)
T
k
0
T
0
k
1
T
( a1 − a 0 ) ( a1 − a 0 ) =
0
1
0
(a* − a ) (a* − a ) (8.23) T
1
0
1
0
T
( a1 ) ( a1 ) − 1 = 0 (8.24)
( a 0 ) ( a 0 ) − 1 = 0 (8.25)
T
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
203
( ) (a*) − 1 = 0 (8.26) a* 1
T
1
where aj = [D1j]a1 and a* D1k a* k = 1 . Equations 8.21 through 8.26 form a set of eight nonlinear equations to calculate eight of the nine spherical R–R dyad variables a 0x, a 0y, a 0z, a1x, a1y, a1z, a1*x , a1*y , and a1*z with an arbitrary choice of one variable. To synthesize an adjustable spherical R–R dyad to approximate two groups of precision positions (where one group includes positions 1–2–3 and the other group includes 1–4–5) having constant length fixed pivot adjustments, Equations 7.33 through 7.35 become T
T ( a j − a 0 ) ( a j − a 0 ) = ( a1 − a 0 ) ( a1 − a 0 )
j = 2,3 (8.27)
( a* − a ) ( a* − a ) = ( a * − a ) ( a * − a )
k = 4,5 (8.28)
T
k
0
T
0
k
1
T
( a1 − a 0 ) ( a1 − a 0 ) =
0
1
0
(a* − a ) (a* − a ) (8.29) T
1
0
1
0
T
( a1 ) ( a1 ) − 1 = 0 (8.30)
( a 0 ) ( a 0 ) − 1 = 0 (8.31)
( ) (a*) − 1 = 0 (8.32)
T
a* 1
T
1
where aj = [D1j]a1 and ak = [D1k]a1. Equations 8.27 through 8.32 form a set of eight nonlinear equations to calculate eight of the nine spherical R–R dyad variables a 0x, a 0y, a 0z, a1x, a1y, a1z, a*0 x , a*0 y , and a*0 z with an arbitrary choice of one variable. Equations 8.23 and 8.29 ensure constant crank and follower link lengths between mechanism adjustments. To synthesize mechanisms with adjustable crank and follower link lengths, Equations 8.23 and 8.29 are replaced by adding another precision position to one of the two groups of precision positions (e.g., k = 4, 5, 6 in Equations 8.22 and 8.28). Appendices F.8 through F.11 include MATLAB file user instructions for the approximate adjustable 4R Spherical motion generation equations presented in this section. Although Equations 8.21 through 8.26 and Equations 8.27 through 8.32 form sets of nonlinear equations for two 3-position synthesis problems, in Appendices F.8 through F.11, they are solved as constrained nonlinear equation systems in MATLAB for an indefinite number of precision positions.
204
Mechanism Design: Visual and Programmable Approaches
Example 8.6 Problem Statement: Synthesize an adjustable length moving pivot–adjustable 4R Spherical mechanism for the two groups of solar panel position coordinates in Table E.8.14 (group 1 includes positions 1–2–3 and group 2 includes positions 1–4–5–6). Known Information: Table E.8.14 and Appendix F.10 MATLAB files. Solution Approach: Using the Appendix F.10 MATLAB files (where M = 3 and N = 4) with variable a0x specified to a0x = 0 and variable b0x specified to b0x = −0.5, Table E.8.15 includes the initial values and calculated mechanism solution. The calculated mechanism solution is illustrated in Figure E.8.7. Table E.8.16 includes the panel positions achieved with a0 − a1 displacement angles of −61.3° and −90.4° (for mechanism a0 − a1 − b1 − b0) and b0 − b1* displacement angles of 49.2°, 97.1° and 139.8° (for mechanism a 0 − a1* − b1* − b0 ).
TABLE E.8.14 Two Groups of Solar Panel Precision Position Coordinates Precision Position 1 2 3 4 5 6
p
q
r
1.5, 0, 0 1.2990, 0.75, 0 0.75, 1.2990, 0 1.2990, 0.6797, −0.3170 0.7500, 1.1773, −0.5490 0, 1.3595, −0.6339
2.5, 0, 0.0175 2.1651, 1.25, 0 1.25, 2.1651, 0 2.0235, 1.3481, −0.4858 1.0202, 2.1391, −0.5936 0, 2.3595, −0.6339
1.5, 1, 0 0.8660, 1.5, 0.5 0.3170, 1.5490, 0.8660 0.6566, 1.4231, −0.1307 0.1462, 1.3827, 0.2213 0, 1.3595, 0.3661
TABLE E.8.15 Initial and Calculated Values for Adjustable Length Moving Pivot-Adjustable Solar Panel Mechanism Variables Variable
Initial Values
Calculated Values
a0y, a0z a1 a*
0, 1 1, 1, 1
0.7853, 0.6192 0.2990, 0.5356, 0.7898
1, 1, 1
0.3665, 0.9302, 0.0195
b0y, b0z b1 b*
1, 1 1, 1, 1
0.1438, 0.8540 −0.6336, 0.6187, 0.4646
1, 1, 1
0.8859, −0.4504, 0.1110
1
1
205
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
b0
a1
b*1 X
p1 q1
Z b1
a0 Y a*1
r1
FIGURE E.8.7 Synthesized adjustable length moving pivot-adjustable 4R Spherical solar panel mechanism.
TABLE E.8.16 Solar Panel Positions Achieved by Adjustable Length Moving Pivot-Adjustable 4R Spherical Mechanism Precision Position 1 2 3 4 5 6
p
q
r
1.5, 0, 0 1.2949, 0.6931, 0.3045 0.7628, 1.2914,−0.0185 1.2690, 0.7951, −0.0864 0.7068, 1.3157, −0.1395 −0.0320, 1.4741, −0.2755
2.5, 0, 0.0175 2.1559, 1.1522, 0.5245 1.2718, 2.1524,−0.0133 2.1154, 1.3264,−0.1266 1.1828, 2.1920,−0.2157 −0.0408, 2.4594−0.4471
1.5, 1, 0 0.8089, 1.5626, 0.3923 −0.0979, 1.8001, 0.0011 0.7364, 1.6401,−0.1338 −0.1314, 1.7938, 0.1228 −0.7320, 1.5906, 0.4291
Example 8.7 Problem Statement: Synthesize an adjustable length fixed pivot–adjustable 4R Spherical mechanism for Example 8.6. Known Information: Table E.8.14 and Appendix F.11 MATLAB files. Solution Approach: Using the Appendix F.11 MATLAB files (where M = 3 and N = 4) with variable a0x specified to a0x = 0.5 and variable b0x specified to b0x = 0.6, Table E.8.17 includes the initial values and calculated mechanism solution. The calculated mechanism solution is illustrated in Figure E.8.8. Table E.8.18 includes the panel positions achieved with a0 − a1 displacement angles of 30.8° and 55.5° (for mechanism a0 − a1 − b1 − b0) and b0 − b1* displacement angles of 31.8°, 54.5° and 73.7° (for mechanism a*0 − a1 − b1 − b*0 ).
206
Mechanism Design: Visual and Programmable Approaches
TABLE E.8.17 Initial and Calculated Values for Adjustable Length Fixed Pivot-Adjustable Solar Panel Mechanism Variables Variable
Initial Values
Calculated Values
a0y, a0z a1 a*
0, 1 1, 1, 1
0.0427, 0.8650 0.8670, 0.4929, 0.0745
0, 0, 1
−0.2283, 0.5691, 0.79
b0y, b0z b1 b*
0, 1 1, 1, 1
0.1164, 0.7915 0.7874, 0.6129, 0.0652
0, 0, 1
−0.1797, 0.6213, 0.7627
0
0
a0 b0 X p1
a*0
Z
b*0 Y
a1
q1
b1 r1
FIGURE E.8.8 Synthesized adjustable length fixed pivot-adjustable 4R Spherical solar panel mechanism.
TABLE E.8.18 Solar Panel Positions Achieved by Adjustable Length Fixed Pivot-Adjustable 4R Spherical Mechanism Precision Position 1 2 3 4 5 6
p
q
r
1.5, 0, 0 1.2877, 0.76, −0.1196 0.7256, 1.3104,−0.0795 1.2950, 0.5968,−0.4657 0.8821, 0.8722,−0.8433 0.3803, 0.9289,−1.1147
2.5, 0, 0.0175 2.1515, 1.26, −0.1841 1.2224, 2.1773,−0.1231 2.1626, 0.9983,−0.7596 1.4778, 1.4599,−1.3910 0.6442, 1.5570,−1.8469
1.5, 1, 0 0.8768, 1.5323, 0.3648 0.2781, 1.6093, 0.7634 0.8536, 1.4903,−0.5480 0.2023, 1.6042,−0.7972 −0.3843, 1.5277,−0.8765
207
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
8.6 APPROXIMATE ADJUSTABLE 4R SPHERICAL MOTION AND PATH GENERATION: ALTERNATE EQUATIONS A constrained nonlinear equation system similar in form to the equation system presented in Section 7.4 can be formulated for adjustable 4R Spherical motion or path generation. To synthesize adjustable 4R Spherical motion generators to approximate an indefinite number of precision positions (two groups of positions where j = 2, 3…M in one group and k = M + 1, M + 2…N in the other group), the following objective function is formed: f (X) =
M
∑{ j =2
2
2
p j − p + q j − q + rj − r
(
2
N
} ∑ p* − p* +
k = M +1
k
2
2 2 + q*k − q* + rk* − r*
(8.33)
)
where X = a 0 , a1, a*1 , b0 , b1, b*1 , θ2 … θ M , θ M +1 … θ N , α 2 … α M , α M +1 … α N for moving pivot adjustments and X = a 0 , a1, a*0 , b0 , b1, b*0 , θ2 … θ M , θ M +1 … θ N , α 2 … α M ,
(
)
α M +1 … αN for fixed pivot adjustments. In Equation 8.33, pj, q j, and rj are the precision position variables in the first group while p, q, and r are the coupler points achieved by the synthesized mechanism (using Equation 7.14). In Equation 8.33, p*k , q*k , and rk* are the precision position variables in the second group while p*, q*, and r* are the coupler points achieved by the synthesized mechanism (also using Equation 7.14). Angles θj and αj are the crank and coupler displacement angles, respectively for the mechanism configuration associated with the first group of precision positions while angles θk and αk are for the mechanism configuration associated with the second group of precision positions. Along with Equation 8.33 as an objective function, the spatial forms of Equations 8.8 through 8.13 are included (for precision positions 2…M and M + 1…N) as constraints for constant link length moving pivot adjustments. Inequalities (7.44), (7.45), and Equations 7.46 through 7.49 are also included for order defect elimination, branch defect elimination, and unit vector constraints (for precision positions 2…M). Lastly, Inequalities (8.14) and (8.34), Equations 8.35 and 8.36 are also included for order defect elimination, branch defect elimination, and unit vector constraints (for precision positions M + 1…N).
(
)(
) (
)(
)
b* − b × a* − b ⋅ b* − b × a* − b > 0 (8.34) 0 0 1 0 1 0
( ) (a*) − 1 = 0 (8.35)
( ) (b*) − 1 = 0 (8.36)
a* 1
b* 1
T
1
T
1
208
Mechanism Design: Visual and Programmable Approaches
Therefore, a constrained nonlinear equation system for constant-length, moving pivot–adjustable 4R Spherical motion generation includes Equation 8.33 as an objective function and Equations 8.8 through 8.13, 7.46 through 7.49, 8.35 and 8.36 as equality constraints. The equation system also includes Inequalities (7.44), (7.45), (8.14), and (8.34) as inequality constraints. For the synthesis of constant-length moving pivot–adjustable 4R Spherical path generators, only the squared norms ∥pj − p∥2 2 and p* − p* are kept in Equation 8.33. k
Appendices F.12 and F.13 include the MATLAB file user instructions for the approximate adjustable 4R Spherical motion and path generation equation systems presented in this section. Example 8.8 Problem Statement: Use the Appendix F.12 MATLAB files to synthesize a solution for Example 8.6. Known Information: Table E.8.14 and Appendix F.12 MATLAB files. Solution Approach: Table E.8.19 includes the initial and calculated adjustable mechanism values using the Appendix F.12 MATLAB files (where M = 3 and N = 4). Table E.8.20 includes the rigid-body positions achieved by the synthesized mechanism (Figure E.8.9).
TABLE E.8.19 Initial and Calculated Values for Constant Length Moving Pivot-Adjustable Solar Panel Mechanism Variables Variable
Initial Values
Calculated Values
a0 a1 a*
1, 1, 1 1, 1, 1
0.3851, 0.4871, 0.7839 −0.4813, 0.8737, 0.0711
1
1, 1, 1
0.961, 0.1823, −0.208
b0 b1 b*
1, 1, 1 1, 1, 1
0.6746, −0.5899, 0.4438 −0.6636, −0.5354, −0.5225
1, 1, 1
−0.4043, −0.4464, −0.7983
θ2 ∼ θ6 α2 ∼ α6
20°, 40°, 20°, 40°, 60° 20°, 40°, 20°, 40°, 60°
45.4762°, 87.5294°, 37.4808°, 69.299°, 95.3923° −19.8336°, −24.8053°, 0.2142°, 1.8706°, 35.8924°
1
209
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
TABLE E.8.20 Solar Panel Positions Achieved by Constant Length Moving Pivot-Adjustable 4R Spherical Mechanism Precision Position 1 2 3 4 5 6
p
q
r
1.5, 0, 0 1.2975, 0.7526, −0.0059 0.7427, 1.3032, −0.0088 1.2364, 0.7727, −0.3524 0.6743, 1.2777, −0.4035 0.0853, 1.4644, −0.3133
2.5, 0, 0.0175 2.1672, 1.2464, 0.005 1.2511, 2.1645, −0.0059 2.0670, 1.2851, −0.5712 1.1356, 2.1273, −0.6598 0.1582, 2.4413, −0.5151
1.5, 1, 0 0.8742, 1.4866, 0.5253 0.3116, 1.5547, 0.8577 0.8001, 1.6151,−0.0361 0.0861, 1.7866, 0.2250 −0.3175, 1.6783, 0.5766
b0 Z a0 X p1
b1 Y
b*1
a1*
q1
a1
r1
FIGURE E.8.9 Synthesized constant length moving pivot-adjustable 4R Spherical solar panel mechanism.
Example 8.9 Problem Statement: Use the Appendix F.13 MATLAB files to synthesize a solution for the coupler point coordinates in Table E.8.21. Known Information: Table E.8.21 and Appendix F.13 MATLAB files. Solution Approach: Table E.8.22 includes the initial and calculated adjustable mechanism values using the Appendix F.13 MATLAB files (where M = N = 3). Table E.8.23 includes the point coordinates achieved by the synthesized mechanism (Figure E.8.10).
210
Mechanism Design: Visual and Programmable Approaches
TABLE E.8.21 Precision Points for Constant Length Moving Pivot-Adjustable 4R Spherical Path Mechanism Adjustment 1 Precision Point 1 2 3
Adjustment 2
pj
Precision Point
pk
1.5, 0, 0 1.299, 0.75, 0 0.75, 1.299, 0
1 4 5
1.5, 0, 0 1.299, 0.6797.−0.317 0.75, 1.1773.−0.549
TABLE E.8.22 Initial and Calculated Values for Constant Length Moving Pivot-Adjustable Path Mechanism Variables Variable
Initial Values
Calculated Values
a0 a1 a*
1, 1, 1 1, 1, 1
−0.1474, −0.4584, 0.8764 −0.7714, −0.4777, 0.4204
1
1, 1, 1
−0.7821, −0.4461, 0.4351
b0 b1 b*
1, 1, 1 1, 1, 1
0.8711, 0.1351, 0.4721 0.0366, −0.1857, −0.9819
1, 1, 1
−0.5334, 0.8175, −0.2172
θ2 ∼ θ5 α2 ∼ α5
20°…20° 20°…20°
47.7993°, 87.2909°, 52.5446°, 94.0113° −35.0792°, −51.4496°, −59.8585°, −93.1124°
1
TABLE E.8.23 Coupler Points Achieved by Synthesized Moving Pivot-Adjustable 4R Spherical Mechanism Adjustment 1 Precision Point 1 2 3
Adjustment 2
pj
Precision Point
pk
1.5, 0, 0 1.2988, 0.7504, 0.0142 0.7495, 1.2994, −0.0026
1 4 5
1.5, 0, 0 1.2948, 0.6977, −0.2947 0.7572, 1.1644, −0.5668
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
a0
a1
211
a*1
Z
b0 X
Y p1 b1
b*1
FIGURE E.8.10 Synthesized constant length moving pivot-adjustable 4R Spherical path mechanism.
8.7 SUMMARY In comparison to classical kinematic synthesis (where the dimensions of a single mechanism configuration are calculated), kinematic synthesis of an adjustable mechanism involves calculating the dimensions of a mechanism that can be adjusted to multiple configurations—each configuration approximating a particular group of precision positions or precision points. Using the same hardware, multiple motions can be obtained by adjusting one or more links and joints. Adjustable kinematic synthesis offers the advantages of design flexibility and subsequently application flexibility over classical kinematic synthesis. Because the product of adjustable kinematic synthesis is a single mechanism with fixed and/or moving pivots that can be adjusted to achieve multiple mechanism configurations, such a mechanism offers a greater degree of design flexibility over a nonadjustable mechanism. Also, since each mechanism configuration approximates a specific group of precision positions or precision points, the adjustable mechanism offers a greater degree of application flexibility over a nonadjustable mechanism. There are up to four possible dyad adjustment options for a four-bar planar or spherical mechanism. These adjustment options are constant-length and adjustablelength fixed pivot adjustments and constant-length and adjustable-length moving pivot adjustments. This chapter includes unconstrained and constrained nonlinear equation systems for adjustable planar four-bar mechanisms and adjustable 4R Spherical mechanisms for motion, path, and function generation given two groups of precision positions or precision points. The equation systems presented in this chapter are solved using the Appendix F MATLAB files.
212
Mechanism Design: Visual and Programmable Approaches
PROBLEMS 8.1 Using any combination of the Appendix F.1 and F.2 MATLAB files, synthesize several adjustable four-bar mechanisms for the two groups of loader bucket positions in Figure P.8.1. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 8.2 Using any combination of the Appendix F.1 and F.2 MATLAB files, synthesize several adjustable four-bar mechanisms for the two groups of digger bucket positions in Figure P.8.2. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 8.3 Using any combination of the Appendix F.3 and F.4 MATLAB files, synthesize several adjustable four-bar mechanisms for the precision positions in Figures P.8.1 and P.8.2. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms. 8.4 Using the Appendix F.5 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of assembly component positions in Figure P.8.3. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanism.
p3 p2 α2 Y p1
p4 α4
α3
Y X
p1
Group #1 p1 = (0, 0) p2 = (2.4696, 3.1993) α2 = –70° p3 = (5.5634, 3.85)
α3 = –170°
X
p1 = (0, 0)
Group #2
p4 = (2.0238, 3.7813) α4 = –37° p5 = (6.1872, 2.7677) α5 = –127°
FIGURE P.8.1 Two groups of loader bucket positions.
p5
α5
213
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis Y
Y X
p1
p3
p2
p1 = (0, 0)
X
p1 α3
p5
p4
α5
α4
α2
Group #1
p1 = (0, 0)
p2 = (1.2835, –2.8558) α2 = 75°
Group #2
p4 = (1.8544, –1.9327) α4 = 27°
p3 = (3.4071, –0.8077) α3 = 90°
p5 = (3.0202, –1.8202) α5 = 100°
FIGURE P.8.2 Two groups of digger bucket positions.
α9 p9 α8
α5 p5
p8
α4
α3 p4 p3 Y p2 α2 p1
p7
α7
Y p6 p1
X
Group #1
α6 X
Group #2
p1 = (0, 0) p2 = (–0.3627, 0.5346) α2 = 60° p3 = (–0.3461, 1.0239) α3 = 120°
p1 = (0, 0) p6 = (0.3761, 0.8216) α6 = 30° p7 = (0.7423, 1.7723) α7 = 60°
p5 = (–0.7517, 2.1459) α5 = 180°
p9 = (0.9136, 4.2590) α9 = 210°
p4 = (–0.7684, 1.5824) α4 = 150°
p8 = (0.9758, 3.0450) α8 = 120°
FIGURE P.8.3 Two groups of assembly component positions.
8.5 Using the Appendix F.5 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of stamping tool positions in Figure P.8.4. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanism.
214
Mechanism Design: Visual and Programmable Approaches Y p2
p1
Y X p3
p4
p1
α2
X α6
p6
p5 α5
p7
α4
p8 α8
Group #2 p1 = (0, 0) p6 = (1.7645, –0.3737) α6 = –20°
α3
p7 = (2.5986, –1.5555) α7 = –45°
p1 = (0, 0)
p9 α9 α7
p8 = (3.5552, –1.7296) α8 = –75° p9 = (4.3517, –2.499) α9 = –90°
Group #1
p2 = (0.4562, 0.2532)
α2 = –20° p3 = (1.2902, –0.3695) α3 = –45° p4 = (2.2468, –0.5436) α4 = –75° p5 = (3.0434, –0.9153) α5 = –90°
FIGURE P.8.4 Two groups of stamping tool positions.
8.6 Using the Appendix F.6 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of precision points in Table P.8.1. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the point coordinates achieved by the synthesized mechanism. 8.7 Using the Appendix F.6 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of precision points in Table P.8.2. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the point coordinates achieved by the synthesized mechanism.
TABLE P.8.1 Two Groups of Precision Points (1–2–3–4 and 1–5–6–7) Group 1 Precision Point 1 2 3 4
Group 2 pj
Precision Point
pk
0, 0 1.179, 0.7252 2.358, 1.4504 3.537, 2.1756
1 5 6 7
0, 0 2.3707, −0.5756 3.5561, −0.8634 4.7415, −1.1512
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
215
TABLE P.8.2 Two Groups of Precision Points (1–2–3–4 and 1–5–6–7–8–9) Group 1 Precision Point 1 2 3 4
Group 2 pj
0, 0 1.2577, 0.3273 1.9657, 1.1114 2.0526, 1.5607
Precision Point
pk
1 5 6 7 8 9
0, 0 1.1599, 0.1651 1.8302, 0.4505 2.3327, 0.8432 2.6035, 1.2423 2.7076, 1.7128
TABLE P.8.3 Two Groups of Precision Points (1–2–3–4–5–6 and 1–7–8–9–10–11) Group 1 Precision Point 1 2 3 4 5 6
Group 2 pj
Precision Point
pk
0, 0 −0.6423, −0.1182 −1.2017, −0.4585 −1.5371, −0.8598 −1.7366, −1.3160 −1.8038, −1.8038
1 7 8 9 10 11
0, 0 0.5551, 0.0364 1.1599, 0.1651 1.8302, 0.4505 2.3327, 0.8432 2.6035, 1.2423
8.8 Using the Appendix F.6 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of precision points in Table P.8.3. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the point coordinates achieved by the synthesized mechanism. 8.9 Using the Appendix F.6 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable four-bar mechanism for the two groups of precision points in Table P.8.4. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the point coordinates achieved by the synthesized mechanism.
216
Mechanism Design: Visual and Programmable Approaches
TABLE P.8.4 Two Groups of Precision Points (1–2–3–4–5 and 1–6–7–8–9) Group 1 Precision Point 1 2 3 4 5
Group 2 pj
Precision Point
pk
0, 0 2.5625, 2.2786 5.4385, 0 2.5625, −2.2786 0.2587, −0.9716
1 6 7 8 9
0, 0 2.6118, 1.5617 5.2199, 0 4.7864, −0.8619 0.4653, −0.8900
8.10 Using the Appendix F.7 MATLAB files, synthesize an adjustable function generator for 65° and 100° total wiper blade rotation ranges (Figure P.8.5) and a 50° total crank rotation range (the wiper blade is affixed to the follower link). Through a displacement analysis, determine the loader wiper blade rotation ranges achieved by the synthesized adjustable mechanism. 8.11 Using the Appendix F.7 MATLAB files, synthesize an adjustable function generator for the functions f(x) = cos x and f ( x ) = cos x over the range 0 ≤ x ≤ π/2 at six precision points for each function using Chebyshev spacing. Through a displacement analysis, determine the values achieved by the synthesized adjustable mechanism.
65° wiper blade rotation range
100° wiper blade rotation range
FIGURE P.8.5 Wiper blade rotation ranges.
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
217
8.12 Using the Appendix F.7 MATLAB files, synthesize an adjustable function generator for the functions f(x) = x2 and f(x) = x3 over the range 0 ≤ x ≤ 10 at four precision points for each function using Chebyshev spacing. Determine the values achieved by the synthesized adjustable mechanism. 8.13 Using the Appendix F.7 MATLAB files, synthesize an adjustable function generator for the precision points in Table P.8.5. Through a displacement analysis, determine the values achieved by the synthesized adjustable mechanism. 8.14 Using the Appendix F.7 MATLAB files, synthesize an adjustable function generator for the precision points in Table P.8.6. Through a displacement analysis, determine the values achieved by the synthesized adjustable mechanism. 8.15 Using any combination of the Appendices F.8 and F.9 MATLAB files, synthesize several order, branch, and circuit defect–free adjustable 4R Spherical mechanisms for the two groups of solar panel positions given in Table P.8.7 (and illustrated in Figure P.8.6). The first group includes positions 1–2–3–4 and the second group includes positions 1–5–6–7. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms.
TABLE P.8.5 Precision Points for Adjustable Function Generator Precision Point 1 2 3 4 5
Crank Angle θj [deg.]
Follower Angle ϕj [deg.]
Follower Angle ϕj [deg.]
15 30 45 60 75
26.25 52.5 78.75 105 131.25
22.52 49.97 79.65 110.88 143.32
TABLE P.8.6 Precision Points for Adjustable Function Generator Precision Point 1 2 3 4 5
Crank Angle θj [deg.] 5 10 15 20 35
Follower Angle ϕj [deg.]
Follower Angle ϕj [deg.]
11.25 22.5 33.75 45 78.75
8.10 19.95 33.80 49.13 101.69
218
Mechanism Design: Visual and Programmable Approaches
TABLE P.8.7 Two Groups of Solar Panel Position Coordinates (1–2–3–4 and 1–5–6–7) Precision Position 1 2 3 4 5 6 7
p
q
r
1.5, 0, 0.01 1.2990, 0.75, 0 0.75, 1.2990, 0 0, 1.5, 0 1.2990, 0.6797, −0.3170 0.7500, 1.1773, −0.5490 0, 1.3595, −0.6339
2.5, 0, 0.01 2.1651, 1.25, 0 1.25, 2.1651, 0 0, 2.5, 0 2.0235, 1.3481, −0.4858 1.0202, 2.1391, −0.5936 0, 2.3595, −0.6339
1.5, 1, 0.01 0.8660, 1.5, 0.5 0.3170, 1.5490, 0.8660 0, 1.5, 1 0.6566, 1.4231,−0.1307 0.1462, 1.3827, 0.2213 0, 1.3595, 0.3661
Z X Y
p1 q1
r2
p2
r4 r3
r6
r7 p4
p3 r5
q2
p6 q5
q3 q6
p7
q4 q7
FIGURE P.8.6 Solar panel positions.
8.16 Using any combination of the Appendices F.8 and F.9 MATLAB files, synthesize several order, branch, and circuit defect–free adjustable 4R spherical mechanisms for the two groups of landing gear positions given in Table P.8.8 (and illustrated in Figure P.8.7). The first group includes precision positions 1–2–3–4–5 and the second group includes precision positions 1–6–7–8–9. Through displacement analysis, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms.
219
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
TABLE P.8.8 Two Groups of Landing Gear Position Coordinates (1–2–3–4–5 and 1–6–7–8–9) Precision Position 1 2 3 4 5 6 7 8 9
p
q
r
1.5, 0, 0.01 1.4624, 0.3338, 0 1.1727, 0.9352, 0 0.6508, 1.3515, 0 0, 1.5, 0 1.4624, 0.3338, 0 1.1727, 0.9352, 0 0.6508, 1.3515, 0 0, 1.5, 0
2.5, 0, 0.01 2.4373, 0.5563, 0 1.9546, 1.5587, 0 1.0847, 2.2524, 0 0, 2.5, 0 2.4373, 0.5563, 0 1.9546, 1.5587, 0 1.0847, 2.2524, 0 0, 2.5, 0
1.5, 1, 0.01 1.2456, 1.2837, 0.2250 0.6882, 1.5428, 0.6293 0.2701, 1.5348, 0.9063 0, 1.5, 1 1.2496, 1.2661, −0.2924 0.5569, 1.7074, 0.1564 −0.0872, 1.7069, 0.5736 −0.5, 1.5, 0.8660
Z X Y
p1 q1
p2, p6
q2, q6
r1
q3, q7
r5
r3 r2
p4, p8
r9
r4 r8
r7
p5, p9
r6 q4, q8
q5, q9
FIGURE P.8.7 Landing gear positions.
8.17 Using any combination of the Appendices F.10 and F.11 MATLAB files, synthesize several order, branch, and circuit defect–free adjustable 4R spherical mechanisms for the two groups of landing gear positions given in Tables P.8.7 and P.8.8. Through displacement analyses, determine if the synthesized mechanisms are order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanisms.
220
Mechanism Design: Visual and Programmable Approaches
TABLE P.8.9 Two Groups of Folding Wing Position Coordinates (1–2–3–4–5 and 1–6–7–8–9) Precision Position 1 2 3 4 5 6 7 8 9
p
q
r
1.5, 0, 0 1.2135, 0.8817, 0 0.8817, 1.2135, 0 0.4635, 1.4266, 0 0, 1.5, 0 1.2135, 0.8817, 0 0.8817, 1.2135, 0 0.4635, 1.4266, 0 0, 1.5, 0
1.5, 0, 1 0.7380, 0.5362, 0.8090 0.4061, 0.5590, 0.5878 0.1696, 0.5221, 0.3090 0, 0.5, 0 0.7380, 0.5362, 0.8090 0.4061, 0.5590, 0.5878 0.1696, 0.5221, 0.3090 0, 0.5, 0
2.5, 0, 0 1.8680, 1.3572, 0.5878 1.2272, 1.6891, 0.8090 0.5590, 1.7205, 0.9511 0, 1.5, 1 1.6936, 1.5504, 0.5678 0.9296, 1.8614, 0.7602 0.1481, 1.8235, 0.8619 −0.5, 1.5, 0.8660
q1
Z
q2, q6
q3, q7
q4, q8 Y
X p1 r1
r4 r3
r2 r6
p2, p6
r5
r9
q5, q9 r 8
r7 p3, p7
p4, p8
p5, p9
FIGURE P.8.8 Folding wing precision positions.
8.18 Using the Appendix F.12 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable 4R Spherical mechanism for the two groups of folding wing positions given in Table P.8.9 (and illustrated in Figure P.8.8). The first group includes precision positions 1–2–3–4–5 and the second group includes precision positions 1–6–7–8–9. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanism. 8.19 Using the Appendix F.12 MATLAB files, synthesize an order, branch, and circuit defect–free adjustable 4R Spherical mechanism for the two groups of assembly component positions given in Table P.8.10 (and illustrated in Figure P.8.9). The first group includes precision positions 1–2–3–4 and the second group includes precision positions 1–5–6–7–8–9. Through a displacement analysis, determine if the synthesized mechanism is order, branch, and circuit defect free over the crank rotation ranges and also determine the positions achieved by the synthesized mechanism.
221
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
TABLE P.8.10 Two Groups of Assembly Component Position Coordinates (1–2–3–4 and 1–5–6–7–8–9) Precision Position 1 2 3 4 5 6 7 8 9
p
q
r
1.5, 0, 0 1.4772, −0.2605, 0 1.4095, −0.5130, 0 1.2990, −0.7500, 0 1.4095, −0.5130, 0 1.1491, −0.9642, 0 0.7500, −1.2990, 0 0.2605, −1.4772, 0 −0.2605, −1.4772, 0
2.5, 0, 0 2.4620, −0.4341, 0 2.3492, −0.8551, 0 2.1651, −1.25, 0 2.3534, −0.8326, −0.0842 1.9593, −1.5307, −0.1504 1.3915, −2.0440, −0.1830 0.7153, −2.3512, −0.1710 −0.0158, −2.4406,−0.1094
1.5, 0, 1 1.4323, −0.5154, 0.9659 1.2385, −0.9829, 0.8660 0.9455, −1.3624, 0.7071 1.4033, −0.7851, 0.9623 0.9656, −1.4530, 0.8529 0.2879, −1.8647, 0.6830 −0.4816, −1.9554, 0.4698 −1.1960, −1.7414, 0.2346
r1
q1
r2
p2
r6 r4
q4
r7
q5
q6 p3
Z Y
r3
q3
q2
p1
r5
p4
p6
q7 p7
q8
p8
X
r8
p9
r9
q9
FIGURE P.8.9 Assembly component precision positions.
8.20 Using the Appendix F.13 MATLAB files, synthesize a branch and order defect–free adjustable 4R Spherical mechanism to approximate the two groups of points in Table P.8.11. Determine if the synthesized mechanism is branch and order defect free over the crank rotation ranges and determine the point coordinates achieved by the synthesized adjustable mechanism. 8.21 Using the Appendix F.13 MATLAB files, synthesize a branch and order defect–free adjustable 4R Spherical mechanism to approximate the two groups of points in Table P.8.12. Determine if the synthesized mechanism is branch and order defect free over the crank rotation ranges and determine the point coordinates achieved by the synthesized adjustable mechanism.
222
Mechanism Design: Visual and Programmable Approaches
TABLE P.8.11 Two Groups of Precision Points (1–2–3–4–5 and 1–6–7–8–9) for Problem 8.20 Group 1 Precision Point 1 2 3 4 5
Group 2 pj
Precision Point
pk
0, 0, 1 0.124, 0, 0.9923 0.2425, 0, 0.9701 0.3511, 0, 0.9363 0.4472, 0, 0.8944
1 6 7 8 9
0, 0, 1 0.1074, 0.062, 0.9923 0.21, 0.1213, 0.9701 0.3041, 0.1756, 0.9363 0.3873, 0.2236, 0.8944
TABLE P.8.12 Two Groups of Precision Points (1–2–3–4–5 and 1–6–7–8–9) for Problem 8.21 Group 1 Precision Point
Group 2 pj
Precision Point
1 2
0, 0, 1 0.124, 0, 0.9923
1 6
3 4 5
0.2425, 0, 0.9701 0.3511, 0, 0.9363 0.4472, 0, 0.8944
7 8 9
pk 0, 0, 1 0.1272, −0.0273, 0.9915 0.3512, 0.1271, 0.9277 0.4044, 0.2821, 0.87 0.343, 0.3754, 0.861
8.22 Using the Appendix F.13 MATLAB files, synthesize a branch and order defect–free adjustable 4R Spherical mechanism to approximate the two groups of points in Table P.8.13. Determine if the synthesized mechanism is branch and order defect free over the crank rotation ranges and determine the point coordinates achieved by the synthesized adjustable mechanism. 8.23 Using the Appendix F.13 MATLAB files, synthesize a branch and order defect–free adjustable 4R Spherical mechanism to approximate the two groups of points in Table P.8.14. Determine if the synthesized mechanism is branch and order defect free over the crank rotation ranges and determine the point coordinates achieved by the synthesized adjustable mechanism.
Adjustable Planar and Spherical Four-Bar Mechanism Synthesis
223
TABLE P.8.13 Two Groups of Precision Points (1–2–3–4–5 and 1–6–7–8–9) for Problem 8.22 Group 1 Precision Point 1 2 3 4 5
Group 2 pj
Precision Point
pk
0, 0, 1 0.1054, 0.1070, 0.9887 0.1527, 0.2693, 0.9509 −0.1122, 0.1646, 0.9799 −0.2428, −0.0884, 0.966
1 6 7 8 9
0, 0, 1 0.2418, 0.0295, 0.9699 0.119, 0.2588, 0.9586 −0.0994, 0.3042, 0.9474 −0.133, 0.0902, 0.987
TABLE P.8.14 Two Groups of Precision Points (1–2–3–4–5 and 1–6–7–8–9) for Problem 8.23 Group 1 Precision Point 1 2 3 4 5
Group 2 pj
Precision Point
pk
0, 0, 1 0.1054, 0.1070, 0.9887 0.1527, 0.2693, 0.9509 −0.1122, 0.1646, 0.9799 −0.2428, −0.0884, 0.966
1 6 7 8 9
0, 0, 1 0.1501, 0.1918, 0.9699 −0.0989, 0.2671, 0.9586 −0.2854, 0.1448, 0.9474 −0.1578, −0.0303, 0.987
REFERENCES 1. Zhou, H. and E.H.M. Cheung. 2004. Adjustable four-bar linkages for multi-phase motion generation. Mechanism and Machine Theory, 39: 261–279. 2. Zhou, H. 2009. Dimensional synthesis of adjustable path generation linkages using the optimal slider adjustment. Mechanism and Machine Theory, 44: 983–990. 3. Zhou, H. 2009. Dimensional synthesis of adjustable function generation linkages using the optimal pivot adjustment. Mechanism and Machine Theory, 44: 1866–1876. 4. Peng, C. and R.S. Sodhi. 2010. Optimal synthesis of adjustable mechanisms generating multi-phase approximate paths. Mechanism and Machine Theory, 47: 989–996. 5. Russell, K. and R.S. Sodhi. 2005. On the design of slider-crank mechanisms Part I: Multi-phase motion generation. Mechanism and Machine Theory, 40: 285–299. 6. Russell, K. and R.S. Sodhi. 2005. On the design of slider-crank mechanisms Part II: Multi-phase path and function generation. Mechanism and Machine Theory, 40: 301–317.
224
Mechanism Design: Visual and Programmable Approaches
7. Lee, W., K. Russell, Q. Shen, and R.S. Sodhi. 2009. On adjustable spherical four-bar motion generation for expanded prescribed positions. Mechanism and Machine Theory, 44: 247–254. 8. Wang, S.J. and R.S. Sodhi. 1996. Kinematic synthesis of adjustable moving pivot fourbar mechanisms for multi-phase motion generation. Mechanism and Machine Theory, 31: 459–474. 9. Suh, C.H. and C.W. Radcliffe. 1978. Kinematics and Mechanisms Design, pp. 51, 52, 129–132. New York: John Wiley & Sons. 10. Ibid., pp. 167–169, 177–179.
Appendix A: Solution Algorithm for Analytical Four-Position Synthesis and MATLAB® File User Instructions A.1 ANALYTICAL SOLUTION ALGORITHM FOR PLANAR FOUR-BAR FOUR-POSITION SYNTHESIS For four-position synthesis, the standard-form equations for the W–Z dyad (Equation 4.3) form a set of three complex, linear equations. This equation set can be expressed in matrix form as
eiβ2 − 1 iβ3 e − 1 e iβ 4 − 1
P21eiδ2 eiα2 − 1 iθ We eiα3 − 1 1 iφ = P31eiδ3 (A.1) Z e eiα4 − 1 1 P41eiδ4
where αj, Pj1, and δj (j = 2, 3, 4) are user-prescribed. As shown in Table 4.1, a single unknown variable can be prescribed in four-position synthesis. In order for Equation A.1 to have simultaneous solutions for W1 and Z1, it must follow that
eiβ2 − 1 det eiβ3 − 1 eiβ4 − 1
eiα2 − 1 eiα3 − 1 eiα4 − 1
P21eiδ2 P31eiδ3 = 0 (A.2) P41eiδ4
or the rank of the “augmented matrix” of the coefficients is 2. Equation A.2 can be expanded about its first column as
∆ 2eiβ2 + ∆ 3eiβ3 + ∆ 4eiβ4 + ∆1 = 0 (A.3)
225
226 Appendix A: Analytical 4 Position Synthesis Algorithm and User Instructions
where
∆2 =
eiα3 − 1 eiα4 − 1
P31eiδ3 P41eiδ4
∆3 =
eiα2 − 1 eiα4 − 1
P21eiδ2 (A.4) P41eiδ4
∆4 =
eiα2 − 1 e iα 3 − 1
P21eiδ2 P31eiδ3
and
∆1 = −∆ 2 − ∆ 3 − ∆ 4 (A.5)
The ∆s are known because they contain only user-prescribed data. Equation A.3 is referred to as the compatibility equation because values of β2, β3, and β4, which satisfy this equation, will render Equation A.1 “compatible” (thus yielding simultaneous solutions for W1 and Z1). The compatibility equation can be expressed geometrically as a compatibility linkage by regarding the ∆s as link lengths where ∆1, ∆2, ∆3, and ∆4 are the ground, crank, coupler, and follower link lengths, respectively. Variables β2, β3, and β4 are the rotations of ∆2, ∆3, and ∆4, respectively. Equations A.5 and A.3 can be regarded as the “equation of closure” for the initial and displaced positions of the compatibility linkage. Figure A.1 illustrates both branches of the compatibility linkage in the starting and displaced positions. Sandor and Erdman presented an analytical solution algorithm to calculate β3, β4, β˜3, and β˜4 for a given value of β2 [1]. This algorithm includes the computation schedule given in Equation A.6. In Equation A.6, the function ATAN2( ), a variation of the arctangent function, is widely available in many programming languages and commercial mathematical analysis codes. Angles β3, β4, θ3, and θ4 correspond to one branch of the compatibility linkage and angles β˜ 3, β˜4, θ˜3, and θ˜4 correspond to the other branch (Figure A.1). After incorporating the β solutions in any two of the three standard-form equations in Equation A.1, W1 and Z1 can be solved by Cramer’s rule.* Circle and center point curves are produced by calculating solutions from Equation A.6 over a range of prescribed β2 values. A procedure diagram for analytical four-position synthesis is illustrated in Figure A.2. Given four precision positions, Equations A.4 and A.5 are used to calculate ∆1, ∆2, ∆3, and ∆4. These calculated quantities, in addition to a prescribed range for angle β2, are used in Equation A.6 to ultimately calculate corresponding ranges for angles β3 and β4 for one branch of a mechanism solution and angles β˜ 3 and β˜ 4 for the other branch of the mechanism solution. The β2, β3, and β4 values and β2, β˜ 3, and β˜4 * Equation A.1, when fully expanded, becomes Equation 4.8.
Appendix A: Analytical 4 Position Synthesis Algorithm and User Instructions 227 ~ θ3 θ 3
∆3 β3
∆4 β4
∆2
~ β3
β2
∆
~ β4
∆1
θ4 ~ θ4
FIGURE A.1 Both branches of the compatibility linkage in starting and displaced positions.
Specified β2 range (0 ≤ β2 ≤ 2π)
Given
Calculate
α2, α3, α4 δ2, δ3, δ4
∆1, ∆2, ∆3, ∆4
P21, P31, P41
Appendix A.1 Equation A.6
β3, β4
~ ~ β3, β4
Appendix A.1 Equation A.1
Appendix A.1 Equation A.1 ~ ~ ~ W1 and Z1 for β2, β3, and β4 W1 and Z1 for β2, β3, and β4
FIGURE A.2 Algorithm diagram for analytical four-position synthesis.
228 Appendix A: Analytical 4 Position Synthesis Algorithm and User Instructions
values are used in Equation A.1 to calculate W1 and Z1 for both mechanism branches (using any two of the three equations in Equation A.1).
∆ = ∆1 + ∆ 2eiβ2 2 2 2 cos θ3 = ∆ 4 − ∆ 3 − ∆ 2 ∆3 ∆ 2 sin θ3 = 1 − (cos θ3 ) ≥ 0 θ3 = ATAN2(sin θ3 ,cos θ3 ) where 0 ≤ θ3 ≤ π β3 = arg ∆ + θ3 − arg ∆ 3 3 = 2π − θ3 θ (A.6) θ = ∆ + − arg β arg ∆ 3 3 3 2 2 2 ∆ − ∆4 − ∆ cos θ4 = 3 2 ∆4 ∆ 2 sin θ4 = 1 − (cos θ4 ) ≥ 0 θ4 = ATAN2(sin θ4 ,cos θ4 ) where 0 ≤ θ4 ≤ π and θ4 = −θ4 β4 = arg ∆ − θ4 − arg ∆ 4 4 = arg ∆ + θ4 − arg ∆ 4 + π β
A.2 MATLAB® FILE USER INSTRUCTIONS FOR FOUR-POSITION SYNTHESIS The Appendix A.2 folder (which is available for download at www.crcpress.com) includes a MATLAB® file (filename Burm_Curve_4Pos.m) for circle and center point curve generation for four-position synthesis. In this file, the user specifies the coupler displacement angles α2, α3, and α4 (in degrees). The user also specifies the coupler point displacement magnitudes P21, P31, and P41 and the coupler point displacement line angles δ2, δ3, and δ4 (in degrees). Figure A.3 illustrates the user input section of the file Burm_Curve_4Pos.m with sample data given in bold. After running the file Burm_Curve_4Pos.m, two files are written in a folder named Results (in a format compatible with Microsoft® Excel). The file circle_center.csv includes the x- and y-components of each circle point (−Z1) and the x- and y-components of each center point (−Z1 − W1) over the β2 range β2 = 1°, 2° … 359°. Table A.1 includes the column layout of the file circle_center.csv.
Appendix A: Analytical 4 Position Synthesis Algorithm and User Instructions 229 %---------------------------------------------------------------% Here, values for precision position parameters alpha2, alpha3, % alpha4, P21, P31, P41, delta2, delta3 and delta4 are assigned. alpha2 = 35.55 * pi / 180; alpha3 = 45.2345 * pi / 180; alpha4 = 85 * pi / 180; P21 = 0.5217; P31 = 1.5421; P41 = 2.3116; delta2 = 29.0316 * pi / 180; delta3 = –15.9829 * pi / 180; delta4 = –13.6018 * pi / 180; %----------------------------------------------------------------
FIGURE A.3 Section of file Burm_Curve_4Pos.m with samples given in bold.
TABLE A.1 Column Layout of File circle_center.csv Mechanism Branch 1
Mechanism Branch 2
Col. 1
Col. 2
Col. 3
Col. 4
Col. 5
Col. 6
Col. 7
Col. 8
(−Z1x)
(−Z1y)
(−Z1x − W1x)
(−Z1y − W1y)
(−Z1x)
(−Z1y)
(−Z1x − W1x)
(−Z1y − W1y)
TABLE A.2 Column Layout of File beta_vs_theta.csv Mechanism Branch 1 Col. 1
Mechanism Branch 2
Col. 2
Col. 3
Col. 4
Col. 5
θ3
β3
θ4
β4
β2
Col. 6 θ˜3
Col. 7 β˜ 3
Col. 8 θ˜4
Col. 9 β˜ 4
The file beta_vs_theta.csv includes each β and θ value in radians and each β˜ and θ˜ value in radians over the β2 range β2 = 1°, 2° … 359°. Table A.2 includes the column layout of the file beta_vs_theta.csv.
REFERENCE 1. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 180–183. Englewood Cliffs, NJ: Prentice Hall.
Appendix B: Solution Algorithm for Analytical Five-Position Synthesis and MATLAB® File User Instructions B.1 ANALYTICAL SOLUTION ALGORITHM FOR PLANAR FOUR-BAR FIVE-POSITION SYNTHESIS For five-position synthesis, the standard form equations for the W–Z dyad (Equation 4.3) form a set of four complex, linear equations. This equation set can be expressed in matrix form as eiβ2 iβ3 e e iβ 4 iβ5 e
−1 −1 −1 −1
eiα2 eiα3 e iα 4 eiα5
P21eiδ2 − 1 − 1 W1eiθ P31eiδ3 (B.1) = − 1 Z1eiφ P41eiδ4 iδ − 1 P51e 5
where αj, Pj1, and δj (j = 2, 3, 4, 5) are user-prescribed. As shown in Table 4.1, no “free choice” is available in five-position synthesis. In order for Equation B.1 to have simultaneous solutions for W1 and Z1, it must follow that
e iβ 2 − 1 det eiβ3 − 1 eiβ4 − 1
e iα 2 − 1 e iα 3 − 1 eiα4 − 1
P21eiδ2 P31eiδ3 = 0 ⇒ ∆ 2e −iβ2 + ∆ 3e −iβ3 + ∆ 4e −iβ4 + ∆1 = 0 (B.2) P41eiδ4
231
232 Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions
and
e i β2 − 1 det eiβ3 − 1 eiβ5 − 1
e iα 2 − 1 e iα 3 − 1 e iα 5 − 1
P21eiδ2 P31eiδ3 = 0 ⇒ ∆′2e −iβ2 + ∆′3e −iβ3 + ∆′4e −iβ4 + ∆′1 = 0 (B.3) P51eiδ5
or the rank of the “augmented matrix” of the coefficients is 2. In comparison to fourposition synthesis, there are two compatibility equations to be satisfied simultaneously in five-position synthesis. In Equation B.2 ∆j ( j = 1, 2, 3, 4) are the same as in Equation A.4 and in Equation B.3: ∆′1 = −∆′2 − ∆′3 − ∆ 4
∆′2 =
eiα3 − 1 eiα5 − 1
P31eiδ3 (B.4) P51eiδ5
∆′3 =
eiα2 − 1 eiα5 − 1
P21eiδ2 P51eiδ5
The complex conjugates of Equations B.2 and B.3 also hold true:
∆ 2e −iβ2 + ∆ 3e −iβ3 + ∆ 4e −iβ4 + ∆1 = 0 (B.5)
∆′2e −iβ2 + ∆′3e −iβ3 + ∆′4e −iβ4 + ∆1′ = 0 (B.6)
Sandor and Erdman presented an analytical solution algorithm to calculate the coefficients of a fifth-order polynomial whose roots can be used to calculate values for β2 [1]. This algorithm includes the computation schedule in the following equation:
Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions 233
a′ = ∆1∆′1, a′′ = ∆′2 ∆ 3 , a′′′ = ∆ 2 ∆′3 , a′′′′ = a′′ − a′′′ a = a′a′′′′ b′ = ∆′1∆ 2 , b′′ = ∆1∆′2 , b′′′ = ∆1∆ 3 , b′′′′ = ∆′1∆′3 3 3 2 2 2 n = − ∆ 4 2 + ∆ k , n′ = − ∆ 4 + ∆′k k =1 k =1 b = b′a′′ − b′′a′′′ + b′′′n′ − b′′′′n ′ c = ∆′1∆ 3 , c′′ = ∆1∆′3 , c′′′ = ∆ 2 ∆ 3 , c′′′′ = ∆′2 ∆′3 c = b′′c′ − b′c′′ + c′′′n′ − c′′′′n d′ = ∆ 2 ∆′2 , d′′ = c′ − c′′, d = d′d′′ u = ∆ 3∆′3 , f ′ = ∆1∆′2 , f = f ′u h′ = ∆′1∆ 2 , h = h′u, k = f − h, k = k (B.7) g′ = ∆1′ ∆1, g′′ = ∆′2 ∆ 2 , g′′′ = g′ + g′′ ′′′+ ′′′, = = ( 4 k) = −4 2 − 2k 2 , = ad = ac + bd + kk, = ab + bc + cd + = 1 a2 + b2 + c2 + d2 + 2 1= − − 4 −2 = −1 − + +3 2 =2 −4 , − − +3 4 =1 3 + 4 −2 , =− + − + =− Check : = + + + = +1 = , 1, 2, 3, 4 =
∑
(
∑
)
234 Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions
The five aj values are coefficients for the following fifth-order polynomial:
τ5 + a4 τ4 + a3τ3 + a2 τ2 + a1τ + a0 = 0 (B.8)
Equation B.8 has a trivial root τ0 (which can be discarded). This trivial root is expressed as
τ0 =
1 − cos α 2 (B.9) sin α 2
Equation B.8 will also have either zero, two, or four real roots. Subsequently, from the real roots, either zero, two, or four β2 values are calculated. Using the real roots, the corresponding β2 values are calculated from
β2 = arg (1 − τ2 + i 2τ) (B.10)
The β2 values can then be used in Equation A.6 to calculate the corresponding values of W and Z. A procedure diagram for analytical five-position synthesis is illustrated in Figure B.1. Given five precision positions, Equations A.4 and A.5 from Appendix A are used to calculate ∆1, ∆2, ∆3, and ∆4 and Equation B.5 is used to calculate ∆1′ , ∆′2 , and ∆′3 . These calculated quantities and their complex conjugates are used in Equations B.7 through B.10 to ultimately calculate values for β2 (either two or four real values are possible). After calculating the β2 values, the procedure is identical to the diagram illustrated in Figure A.2. Quantities ∆1, ∆2, ∆3, and ∆4 (along with the calculated values for β2 ) are used in Equation A.6 to calculate β3 and β4 for one branch of a ~ ~ mechanism solution and angles β3 and β4 for the other branch of the mechanism ~ ~ solution. The β2, β3, and β4 values and β2, β3, and β4 values are used in Equation B.1 to calculate W1 and Z1 for both mechanism branches (using any two of the first three equations in Equation B.1). The calculated W1 − Z1 dyads correspond to precision positions 1, 2, 3, and 4. To calculate dyad solutions for precision positions 1, 2, 3, and 5, quantities ∆1′ , ∆′2 , ∆′3 , and ∆′4 (along with the calculated values for β2) are used in Equation A.6 to calculate β3 and β5 for one branch of a mechanism solution and angles β˜ 3 and β˜ 5 for the other branch of the mechanism solution. The β2, β3, β4, and β5 values and β2, β˜ 3, β˜ 4, and β˜ 5 values are used in Equation B.1 to calculate W1 and Z1 for both mechanism branches (using any one of the first three equations in Equation B.1 and the last equation). The common W1 − Z1 solutions among those calculated for precision positions 1, 2, 3, and 4 and precision positions 1, 2, 3, and 5 will achieve positions 1, 2, 3, 4, and 5. Any two common W1 − Z1 solutions will produce a single mechanism.
Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions 235 Given α2, α3, α4, α5 δ2, δ3, δ4, δ5 P21, P31, P41, P51
Calculate ∆1, ∆2, ∆3, ∆4 ∆΄1, ∆΄2, ∆΄3 – – – ∆1, ∆2, ∆3 – – – ∆΄1, ∆΄2, ∆΄3
Appendix B.1 Equations B.7 through B.10 Either 0, 2, or 4 β2 values Given α2, α3, α4 δ2, δ3, δ4 P21, P31, P41
Calculate ∆1, ∆2, ∆3, ∆4
Appendix A.1 Equation A.6
Given α2, α3, α5 δ2, δ3, δ5 P21, P31, P51
Calculate ∆΄1, ∆΄2, ∆΄3, ∆΄4
Appendix A.1 Equation A.6
β3, β4
~ ~ β3, β4
~ ~ β3, β5
β3, β5
Appendix B.1 Equation B.1
Appendix B.1 Equation B.1
Appendix B.1 Equation B.1
Appendix B.1 Equation B.1
~ ~ ~ ~ Common W1 and Z1 for β2, β3, β4, and β5 Common W1 and Z1 for β2, β3, β4, and β5
FIGURE B.1 Algorithm diagram for analytical five-position synthesis.
B.2 MATLAB® FILE USER INSTRUCTIONS FOR FIVE-POSITION SYNTHESIS The Appendix B.2 folder (which is available for download at www.crcpress.com) includes a MATLAB® file (filename Burm_Curve_ 5Pos.m) for circle and center point curve generation for five-position synthesis. In this file, the user specifies the coupler displacement angles α 2, α 3, α 4, and α 5 (in degrees). The user also specifies the coupler point displacement magnitudes P21, P31, P41, and P51 and the coupler point displacement line angles δ 2, δ3, δ 4, and δ5 (in degrees). Figure B.2 illustrates the user input section of the file Burm_Curve_ 5Pos.m with sample data given in bold. After running the file Burm_Curve_4Pos.m, four files are written in a folder named Results (in a format compatible with Microsoft® Excel). The files circle_center_pos1234.csv and circle_center_pos1235.csv include the x- and
236 Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions %-----------------------------------------------------------------% Here, values for precision position parameters alpha2, alpha3, % alpha5, P21, P31, P41, P51, delta2, delta3 delta4 and delta5 % are assigned. alpha2 alpha3 alpha4 alpha5 P21 P31 P41 P51
= = = =
= = = =
* * * *
–20 –45 –75 –90
pi pi pi pi
/ / / /
180; 180; 180; 180;
0.5217; 1.3421; 2.3116; 3.1780;
delta2 delta3 delta4 delta5
= = = =
29.0316 * pi / 180; –15.9829 * pi / 180; –13.6018 * pi / 180; –16.7388 * pi / 180;
%------------------------------------------------------------------
FIGURE B.2 Section of file Burm_Curve_5Pos.m with samples given in bold.
y-components of each circle point (−Z1) and the x- and y-components of each center point (−Z1 −W1) for each real β2 root. File circle_center_pos1234.csv considers precision positions 1, 2, 3, and 4 and file circle_center_pos1235.csv considers precision positions 1, 2, 3, and 5. Table B.1 includes the column layout of files circle_center_pos1234.csv and circle_center_pos1235.csv. The files beta_vs_theta_pos1234.csv and beta_vs_theta_pos1235.csv include each β and θ value in radians and each β˜ and ~ θ value in radians for each real β2 root. Table B.2 includes the column layout of files beta_vs_theta_pos1234.csv and beta_vs_ theta_pos1235.csv. Because either zero, two, or four β2 roots are possible, as noted in Appendix B.1, therefore the four files produced from Burm_Curve_4Pos.m will have either zero, two, or four rows of data. To select a mechanism solution, the user must select two circle and center point pairs that are common in the files circle_center_pos1234. csv and circle_center_pos1235.csv (and their corresponding angles in files beta_ vs_theta_pos1234.csv and beta_vs_theta_pos1235.csv). Common circle and center
TABLE B.1 Column Layout of Files circle_center_pos1234.csv and circle_center_pos1235.csv Mechanism Branch 1
Mechanism Branch 2
Col. 1
Col. 2
Col. 3
Col. 4
Col. 5
Col. 6
Col. 7
Col. 8
(−Z1x)
(−Z1y)
(−Z1x − W1x)
(−Z1y − W1y)
(−Z1x)
(−Z1y)
(−Z1x − W1x)
(−Z1y − W1y)
Appendix B: Analytical 5 Position Synthesis Algorithm and User Instructions 237
TABLE B.2 Column Layout of Files beta_vs_theta_pos1234.csv and beta_vs_theta_pos1235.csv Mechanism Branch 1 Col. 1 β2
Mechanism Branch 2
Col. 2
Col. 3
Col. 4
Col. 5
θ3
β3
θ4
β4
Col. 6 ~ θ3
Col. 7 ~ β3
Col. 8 ~ θ4
Col. 9 ~ β4
point pairs in files circle_center_pos1234.csv and circle_center_pos1235.csv are dyad solutions that will achieve all five precision positions.
REFERENCE 1. Sandor, G.N. and A.G. Erdman. 1984. Advanced Mechanism Design: Analysis and Synthesis, Vol. 2, pp. 261–263. Englewood Cliffs, NJ: Prentice Hall.
Appendix C: User Instructions for Chapter 5 MATLAB® Files C.1 PLANAR FOUR-BAR MOTION GENERATION, N PRECISION POSITIONS WITH ORDER CONSTRAINTS The subfolder Synthesis within the folder Appendix C.1 (which is available for download at www.crcpress.com) includes MATLAB® files (filenames W_Z_prepare.m, W_Z_interior_point.m, U_S_prepare.m, and U_S_trust_region.m) for calculating the dyads W1 − Z1 and U1 − S1 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure C.1 includes the five-step procedure for calculating W1 − Z1 dyad solutions. Synthesizing the W1 − Z1 dyad begins with the file W_Z_prepare.m (step 1 in Figure C.1). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder WZfuncs is produced. The folder WZfuncs includes functions required to run the file W_Z_interior_point.m. After exiting the file W_Z_prepare.m and opening the file W_Z_interior_ point.m, step 2 in Figure C.1 begins. In this file, the user specifies the value of N— the number of precision positions (identical to the N value prescribed in the file W_Z_prepare.m). The user also includes the name of each coupler displacement angle (angle α) to be prescribed. Additionally, the user includes the specific precision position values (with angles specified in degrees). The number of alphaN and PN variables and values should match the value of N. Figure C.2 illustrates these user input sections in the file W_Z_interior_point.m, with sample data given in bold. The user includes the initial values for the components of dyad W1 − Z1 (step 3 in Figure C.1). The user also includes the initial values for each dyad displacement angle β (in degrees). The number of betaN variables and values should match the value of N. Figure C.3 illustrates these user input sections in the file W_Z_interior_point.m, with sample data given in bold. In step 4 in Figure C.1, the user selects either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file W_Z_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 5 in Figure C.1, the user includes names for each dyad displacement angle (angle β) to be calculated. Figure C.4 illustrates this user input section in the file W_Z_interior_point.m with sample data given in bold. 239
240
Appendix C: User Instructions for Chapter 5 MATLAB® Files 1.
Filename: W_Z_prepare.m Specify N Run file
2.
Filename: W_Z_interior_point.m Specify N Include variable names for α Specify precision positions
3.
Filename: W_Z_interior_point.m
Specify initial values for W1–Z1 Include initial values for β 4.
Filename: W_Z_interior_point.m Select crank rotation constraints
5.
Filename: W_Z_interior_point.m Include variable names for β Run file
FIGURE C.1 Procedure for calculating W1 − Z1 dyad solutions.
%----------------------------------------------------------------% Here, the names for each coupler displacement angle are % included (e.g., alpha2 alpha3 alpha4 alpha5 alpha6...). global alpha2 alpha3 alpha4 %----------------------------------------------------------------%----------------------------------------------------------------% Here, values for precision position parameters alphaN and PN are % assigned. Additional rows can be included to accommodate % additional alphaN and PN variables and values. alpha2 = 25 * pi / 180; alpha3 = 35 * pi / 180; alpha4 = 60 * pi / 180; P1 P2 P3 P4
= = = =
[0,0]; [0.6397, –0.6005]; [1.4148, –1.0654]; [2.8010, –0.8675];
%-----------------------------------------------------------------
FIGURE C.2 Sections (for step 2) of file W_Z_interior_point.m, with samples given in bold.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
241
%-----------------------------------------------------------------% Here, initial values for the components of dyad W1-Z1 are % assigned. W1x W1y Z1x Z1y
= = = =
1; 1; 1; 1;
%-----------------------------------------------------------------%-----------------------------------------------------------------% Here, values for dyad parameters betaN are assigned. Additional % rows can be included to accommodate additional betaN variables and % values. beta2 = 10 * pi / 180; beta3 = 20 * pi / 180; beta4 = 30 * pi / 180; %------------------------------------------------------------------
FIGURE C.3 Sections (for step 3) of file W_Z_interior_point.m, with samples given in bold. %---------------------------------------------------------------% Here, the names for each betaN displacement angle are included % (e.g., beta2; beta3; beta4; beta5; beta6; .....]); x0 = [W1x; W1y; Z1x; Z1y; beta2; beta3; beta4]; %----------------------------------------------------------------
FIGURE C.4 Section (for step 5) of file W_Z_interior_point.m with samples given in bold.
Lastly, the file W_Z_interior_point.m is run (also in step 5). The calculated W1 − Z1 dyad components and parameters are displayed in the MATLAB command window after this file has been run. Figure C.5 illustrates sample output from the file W_Z_interior_point.m. Figure C.6 includes the four-step procedure for calculating U1 − S1 dyad solutions. Steps 1 through 3 in Figure C.6 are identical to those for calculating the W1 − Z1 dyad (where the components of U1 − S1 replace those of W1 − Z1 and the dyad displacement angle γ replaces β). In step 4 in Figure C.6, the user includes names for each dyad displacement angle (angle γ) to be calculated. Figure C.7 illustrates this user input section in the file U_S_trust_region.m with sample data given in bold. Lastly, the file U_S_trust_region.m is run (also in step 4). The calculated U1 − S1 components and parameters are displayed in the MATLAB command window after this file has been run. Figure C.8 illustrates sample output from the file U_S_trust_region.m. When calculating new solutions, repeating step 1 in Figures C.1 and C.6 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figures C.1 and C.6.
242
Appendix C: User Instructions for Chapter 5 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of W1-Z1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 55 Func Evals: 85 Algorithm: interior-point exit flag = 2 error = ( 1.454462e-030 ) W1x = ( 0.232320 ) W1y = ( 0.092013 ) Z1x = ( -1.952774 ) Z1y = ( -2.155586 ) beta2 = ( 131.035728 ) beta3 = ( 261.713783 ) beta4 = ( 297.939924 ) Elapsed time is 3.344318 seconds. Solution calculation is complete.
FIGURE C.5 Sample output from the file W_Z_interior_point.m.
1.
Filename: U_S_prepare.m Specify N Run file
2.
Filename: U_S_trust_region.m Specify N Include variable names for α Specify precision positions
3.
Filename: U_S_trust_region.m Specify initial values for U1–S1 Include initial values for γ
4.
Filename: U_S_trust_region.m Include initial values for γ Run file
FIGURE C.6 Procedure for calculating U1 − S1 dyad solutions.
%---------------------------------------------------------------% Here, the names for each gammaN displacement angle are included % (e.g., gamma2; gamma3; gamma4; gamma5; gamma6; .....]); x0 = [U1x; U1y; S1x; S1y; gamma2; gamma3; gamma4]; %----------------------------------------------------------------
FIGURE C.7 Section (for step 4) of file U_S_trust_region.m with samples given in bold.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
243
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components and angles of U1-S1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 52 Func Evals: 53 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 1.362890e-020 ) U1x = ( -1.051176 ) U1y = ( -0.943605 ) S1x = ( -0.894853 ) S1y = ( -0.231639 ) gamma2 = ( 10.000000 ) gamma3 = ( 20.000000 ) gamma4 = ( 30.000000 ) Elapsed time is 1.471684 seconds. Solution calculation is complete.
FIGURE C.8 Sample output from the file U_S_trust_region.m.
C.2 PLANAR FOUR-BAR PATH GENERATION, N PRECISION POINTS WITH ORDER CONSTRAINTS The subfolder Synthesis within the folder Appendix C.2 (which is available for download at www.crcpress.com) includes MATLAB files (filenames W_Z_prepare.m, W_Z_interior_point.m, U_S_prepare.m, and U_S_trust_region.m) for calculating the dyads W1 − Z1 and U1 − S1 for motion generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure C.9 includes the five-step procedure for calculating W1 − Z1 dyad solutions. Synthesizing the W1 − Z1 dyad begins with the file W_Z_prepare.m (step 1 in Figure C.9). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder WZfuncs is produced. The folder WZfuncs includes functions required to run the file W_Z_interior_point.m. After exiting the file W_ Z_prepare.m and opening the file W_ Z_interior_ point.m, step 2 in Figure C.9 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file W_ Z_prepare.m). The user also includes the specific precision point values. The number of PN variables and values should match the value of N. Figure C.10 illustrates this user input section in the file W_ Z_interior_point.m, with sample data given in bold. The user includes the initial values for the components of dyad W1 − Z1 (step 3 in Figure C.9). The user also includes the initial values for each dyad displacement angle α and β (in degrees). The number of alphaN and betaN variables and values should match the value of N. Figure C.11 illustrates this user input section in the file W_Z_interior_point.m, with sample data given in bold.
244
Appendix C: User Instructions for Chapter 5 MATLAB® Files 1.
Filename: W_Z_prepare.m Specify N Run file
2.
Filename: W_Z_interior_point.m Specify N Specify precision positions
3.
Filename: W_Z_interior_ point.m
Specify initial values for W1–Z1
Include initial values for α and β 4.
Filename: W_Z_interior_ point.m Select crank rotation constraints
5.
Filename: W_Z_interior_ point.m Include variable names for α and β Run file
FIGURE C.9 Procedure for calculating W1 − Z1 dyad solutions.
%----------------------------------------------------------------% Here, values for precision points PN are assigned. Additional % rows can be included to accommodate additional PN variables and % values. P1 P2 P3 P4 P5
= = = = =
[0, 0]; [0.0574, 0.3339]; [0.2792, 0.6931]; [0.5965, 0.9150]; [1, 1];
%-----------------------------------------------------------------
FIGURE C.10 Section (for step 2) of file W_Z_interior_point.m, with samples given in bold.
In step 4 in Figure C.9, the user selects either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file W_Z_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 5 in Figure C.9, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure C.12 illustrates this user input section in the file W_Z_interior_point.m with sample data given in bold.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
245
%---------------------------------------------------------------% Here, initial values for the components of dyad W1-Z1 are % assigned. Also, values for dyad parameters alphaN and betaN are % assigned. Additional rows can be included to accommodate % additional alphaN and betaN variables and values. W1x W1y Z1x Z1y
= = = =
–1; –1; –1; –1; = = = =
alpha2 alpha3 alpha4 alpha5 beta2 beta3 beta4 beta5
= = = =
* * * *
10 15 20 15 10 20 30 40
* * * *
pi pi pi pi pi pi pi pi
/ / / / / / / /
180; 180; 180; 180; 180; 180; 180; 180;
%----------------------------------------------------------------
FIGURE C.11 Section (for step 3) of file W_Z_interior_point.m, with samples given in bold.
%----------------------------------------------------------------% Here, the names for each alphaN and betaN displacement angle are % included. % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; alpha7; .....;) % (e.g., beta2; beta3; beta4; beta5; beta6; beta7; .....];) x0 = [W1x; W1y; Z1x; Z1y; alpha2; alpha3; alpha4; alpha5; beta2; beta3; beta4; beta5]; %-----------------------------------------------------------------
FIGURE C.12 Section (for step 5) of file W_Z_interior_point.m with samples given in bold.
Lastly, the file W_Z_interior_point.m is run (also in step 5). The calculated W1 − Z1 dyad components and parameters are displayed in the MATLAB command window after this file has been run. Figure C.13 illustrates sample output from the file W_Z_interior_point.m. The four-step procedure in Figure C.6 is also used to calculate U1 − S1 dyad solutions for planar four-bar path generators. In step 2, the α values calculated from the Appendix C.2 file W_Z_prepare.m are the α values to be specified in the Appendix C.2 file U_S_trust_region.m. When calculating new solutions, repeating step 1 in Figures C.9 and C.6 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figures C.9 and C.6.
246
Appendix C: User Instructions for Chapter 5 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components and angles of W1-Z1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 26 Func Evals: 51 Algorithm: interior-point exit flag = 2 error = ( 5.731637e-020 ) W1x = ( 0.087400 ) W1y = ( –0.339335 ) Z1x = ( 0.080171 ) Z1y = ( –1.686248 ) alpha2 = ( –6.980074 ) alpha3 = ( 8.109669 ) alpha4 = ( 35.008123 ) alpha5 = ( 57.453049 ) beta2 = ( 74.217279 ) beta3 = ( 143.863122 ) beta4 = ( 215.697321 ) beta5 = ( 287.612341 ) Elapsed time is 1.719781 seconds. Solution calculation is complete.
FIGURE C.13 Sample output from the file W_Z_interior_point.m.
C.3 PLANAR FOUR-BAR MOTION GENERATION, N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix C.3 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_prepare.m and a0_a1_trust_region.m) for calculating the dyad a0 − a1 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure C.14 includes the three-step procedure for calculating a0 − a1 dyad solutions.
1.
2.
Filename: a0_a1_prepare.m Specify N Run file
Filename: a0_a1_trust_region.m Specify N Specify value for a0x Include variable names for α Specify precision positions
3.
Filename: a0_a1_trust_region.m
Specify initial values for a0y and a1 Run file
FIGURE C.14 Procedure for calculating a0 − a1 dyad solutions.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
247
%---------------------------------------------------------------% Here, a value for the a0-a1 dyad component a0x is assigned. global a0x a0x =1; %---------------------------------------------------------------%---------------------------------------------------------------% Here, the names for each coupler displacement angle are % included (e.g., alpha2 alpha3 alpha4 alpha5 alpha6...). global alpha2 alpha3 alpha4 %---------------------------------------------------------------%---------------------------------------------------------------% Here, values for precision position parameters alphaN and PN % are assigned. Additional rows can be included to accommodate % additional alphaN and PN variables and values. alpha2 = –10 * pi / 180; alpha3 = –20 * pi / 180; alpha4 = –30 * pi / 180; P1 = [0,0]; P2 = [0.4846, 0.36]; P3 = [1.2073, 0.3876];
FIGURE C.15 Sections (for step 2) of file a0_a1_trust_region.m with samples given in bold.
Synthesizing the a0 − a1 dyad begins with the file a0_a1_prepare.m (step 1 in Figure C.14). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder a0a1funcs is produced. The folder a0a1funcs includes functions required to run file a0_a1_trust_region.m. After exiting the file a0_a1_prepare.m and opening the file a0_a1_trust_ region.m, step 2 in Figure C.14 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file a0_a1_prepare.m). The user specifies the value for the dyad parameter a 0x. The user also includes the name of each coupler displacement angle (angle α) to be prescribed. Additionally, the user includes the specific precision position values (with angles specified in degrees). The number of alphaN and PN variables and values should match the value of N. Figure C.15 illustrates these user input sections in the file a0_a1_trust_region.m, with sample data given in bold. The user includes the initial values for the dyad components a 0y, a1x, and a1y (step 3 in Figure C.14). Figure C.16 illustrates this user input section in the file a0_a1_ trust_region.m, with sample data given in bold. Lastly, the file a0_a1_trust_region.m is run (also in step 3). The calculated a0 − a1 dyad components are displayed in the MATLAB command window after this file has been run. Figure C.17 illustrates sample output from the file a0_a1_trust_region.m. To calculate a solution for the b0 − b1 dyad, the user specifies different values for the components of a0 − a1 and reruns the file a0_a1_trust_region.m. The newly calculated solution will correspond to the b0 − b1 dyad.
248
Appendix C: User Instructions for Chapter 5 MATLAB® Files
%---------------------------------------------------------------% Here, initial values for the a0-a1 dyad components a0y, a1x and % a1y are assigned. a0y = 1; a1x = 1; a1y = 1; %----------------------------------------------------------------
FIGURE C.16 Section (for step 3) of file a0_a1_trust_region.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of a0-a1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 578 Func Evals: 579 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 3.952738e-020 ) a0y = ( -3.757746 ) a1x = ( 0.643977 ) a1y = ( -4.362003 ) Elapsed time is 3.421231 seconds. Solution calculation is complete.
FIGURE C.17 Sample output from the file a0_a1_trust_region.m.
When calculating new solutions, repeating step 1 in Figure C.14 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure C.14.
C.4 PLANAR FOUR-BAR MOTION GENERATION, N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix C.4 (which is available for download at www.crcpress.com) includes MATLAB files (filenames motion_prepare.m and motion_interior_point.m) for calculating the mechanism variables a0, a1, b0, b1, α, and θ for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure C.18 includes the fourstep procedure for calculating the mechanism solutions. Synthesizing the mechanism begins with the file motion_prepare.m (step 1 in Figure C.18). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder motionfuncs is produced. The folder motionfuncs includes functions required to run the file motion_interior_point.m. After exiting the file motion_prepare.m and opening the file motion_interior_ point.m, step 2 in Figure C.18 begins. In this file, the user specifies the value of
Appendix C: User Instructions for Chapter 5 MATLAB® Files
249
1.
Filename: motion_ prepare.m Specify N Run file
2.
Filename: motion_interior_point.m Specify N Specify precision positions Specify initial values for a0, a1, b0, b1, α, and θ
3.
Filename: motion_interior_ point.m Select crank rotation constraints
4.
Filename: motion_interior_ point.m Include variable names for α and θ Run file
FIGURE C.18 Procedure for calculating a0, a1, b0, b1, α, and θ solutions.
N—the number of precision positions (identical to the N value prescribed in the file motion_prepare.m). The user also includes specific precision position values (defined by rigid-body points p and q as described in Section 5.5). The number of PN and QN variables and values should match the value of N. Additionally, the user specifies initial values for a0, a1, b0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figures C.19 and C.20 illustrate %---------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 0]; [–5.2712, [–8.9671, [–7.7905, [–1.6841,
0.2125]; –4.2108]; –9.6713]; –12.539];
%---------------------------------------------------------------%---------------------------------------------------------------% Here, values for precision position parameter QN are assigned. % Additional rows can be included to accommodate additional QN % variables and values. Q1 Q2 Q3 Q4 Q5
= = = = =
[–0.3849, [–5.2308, [–8.5594, [–7.3259, [–1.6841,
–0.3189]; –0.7107]; –4.5001]; –9.487]; –12.0391];
%----------------------------------------------------------------
FIGURE C.19 Sections (for step 2) of file motion_interior_point.m with samples given in bold.
250
Appendix C: User Instructions for Chapter 5 MATLAB® Files %--------------------------------------------------------------% Here, initial values for the components of dyads a0-a1 and b0 % b1 are assigned. Also, initial values for dyad displacement % angles alphaN and thetaN are assigned. Additional rows can be % included to accommodate additional alphaN and thetaN variables % and values. a0x = 0; a0y = 0; a1x = 0; a1y = –10; b0x = –1; b0y = 0; b1x = –10; b1y = –10; alpha2 alpha3 alpha4 alpha5
= = = =
20 40 60 80
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 = 60 * pi / 180; theta3 = 120 * pi / 180; theta4 = 180 * pi / 180; theta5 = 240 * pi / 180; %---------------------------------------------------------------
FIGURE C.20 Section (for step 2) of file motion_interior_point.m with samples given in bold.
the user input sections in the file motion_interior_point.m, with sample data given in bold. In step 3 in Figure C.18, the user selects either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file motion_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure C.18, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure C.21 illustrates this user input section in the file motion_interior_point.m with sample data given in bold. Lastly, the file motion_interior_point.m is run (also in step 4). The calculated components of a0, a1, b0, and b1 and displacement angles α and θ are displayed in the MATLAB command window after this file has been run. Figure C.22 illustrates sample output from the file motion_interior_point.m. When calculating new solutions, repeating step 1 in Figure C.18 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure C.18.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
251
%---------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle % are included. % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; alpha7; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; theta7; .....];) x0 = [a0x; a0y; a1x; a1y; b0x; b0y; b1x; b1y; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE C.21 Section (for step 4) of file motion_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of a0, a1, b0, b1 and angles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 137 Func Evals: 326 Algorithm: interior-point exit flag = 2 error = ( 3.444589e-001 ) a0x = ( -1.979732 ) a0y = ( -1.746697 ) a1x = ( 6.268255 ) a1y = ( -13.052440 ) b0x = ( -0.962500 ) b0y = ( -7.446623 ) b1x = ( -11.943966 ) b1y = ( -12.294918 ) alpha2 = ( -4.655522 ) alpha3 = ( -20.975649 ) alpha4 = ( -29.231648 ) alpha5 = ( -34.146667 ) theta2 = ( 121.177770 ) theta3 = ( 176.045532 ) theta4 = ( 215.631110 ) theta5 = ( 255.168283 ) Elapsed time is 10.991725 seconds. Solution calculation is complete.
FIGURE C.22 Sample output from the file motion_interior_point.m.
C.5 PLANAR FOUR-BAR PATH GENERATION, N PRECISION POINTS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix C.5 (which is available for download at www.crcpress.com) includes MATLAB files (filenames path_prepare.m and path_interior_point.m) calculating the mechanism variables a0, a1, b0, b1, α, and θ for path generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure C.23 includes the four-step procedure for calculating the mechanism solutions.
252
Appendix C: User Instructions for Chapter 5 MATLAB® Files 1.
Filename: path_prepare.m Specify N Run file
2.
Filename: path_interior_point.m Specify N Specify precision points Specify initial values for a0, a1, b0, b1, α, and θ
3. Filename: path_interior_ point.m Select crank rotation constraints 4.
Filename: path_interior_ point.m Include variable names for α and θ Run file
FIGURE C.23 Procedure for calculating a0, a1, b0, b1, α, and θ solutions.
Synthesizing the mechanism begins with the file path_prepare.m (step 1 in Figure C.23). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder pathfuncs is produced. The folder pathfuncs includes functions required to run the file path_interior_point.m. After exiting the file path_prepare.m and opening the file path_interior_point.m, step 2 in Figure C.23 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file path_ prepare.m). The user also includes specific precision point values (defined by rigidbody point p as described in Section 5.5). The number of PN variables and values should match the value of N. Additionally, the user specifies initial values for a0, a1, b0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figure C.24 illustrates these user input sections in the file path_interior_point.m, with sample data given in bold. In step 3 in Figure C.23, the user selects either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file path_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure C.23, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure C.25 illustrates this user input section in the file path_interior_point.m with sample data given in bold. Lastly, the file path_interior_point.m is run (also in step 4). The calculated components of a0 − a1, b0 − b1 and dyad displacement angles α and θ are displayed in the MATLAB command window after this file has been run (see Figure C.22). When calculating new solutions, repeating step 1 in Figure C.23 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure C.23.
Appendix C: User Instructions for Chapter 5 MATLAB® Files
253
%----------------------------------------------------------------% Here, values for precision point parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 0]; [1, –0.5]; [0, –0.8228]; [–0.7898, –0.8228]; [–0.925, –0.31];
%----------------------------------------------------------------%----------------------------------------------------------------% Here, initial values for the components of dyads a0-a1 and b0-b1% are assigned. Also, initial values for dyad displacement angles % alphaN and thetaN are assigned. Additional rows can be included % to accommodate additional alphaN and thetaN variables and values. a0x = 5; a0y = 9; a1x = 5; a1y = 10; b0x = 6; b0y = 9; b1x = 6; b1y = 10; alpha2 alpha3 alpha4 alpha5
= = = =
10 20 30 40
* * * *
pi/180; pi/180; pi/180; pi/180;
theta2 = 70 * pi/180; theta3 = 140 * pi/180; theta4 = 210 * pi/180; theta5 = 280 * pi/180; %-----------------------------------------------------------------
FIGURE C.24 Sections (for step 2) of file path_interior_point.m with samples given in bold. %----------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle % are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; alpha7; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; theta7; .....];). x0 = [a0x; a0y; a1x; a1y; b0x; b0y; b1x; b1y; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %-----------------------------------------------------------------
FIGURE C.25 Section (for step 4) of file path_interior_point.m with samples given in bold.
Appendix D: User Instructions for Chapter 6 MATLAB® Files D.1 PLANAR FOUR-BAR FUNCTION GENERATION, N PRECISION POINTS The subfolder Synthesis within the folder Appendix D.1 (which is available for download at www.crcpress.com) includes MATLAB® files (filenames UVW_prepare.m and UVW_trust_region.m) for calculating the mechanism loop vectors U1, V1, and W1 for function generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure D.1 includes the four-step procedure for calculating U1, V1, and W1 solutions. Synthesizing the mechanism loop vectors U1, V1, and W1 begins with the file UVW_prepare.m (step 1 in Figure D.1). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder UVWfuncs is produced. The folder UVWfuncs includes functions required to run the file UVW_trust_region.m. After exiting the file UVW_prepare.m and opening the file UVW_trust_region.m, step 2 in Figure D.1 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file UVW_prepare.m). The user also includes the name of each crank and follower displacement angle (angles β and γ, respectively) to be prescribed. Additionally, the user includes the specific precision point values in degrees. The number of betaN and gammaN variables and values should match the value of N. Figure D.2 illustrates these user input sections in the file UVW_trust_region.m, with sample data given in bold. The user includes the initial values for the components of vectors U1, V1, and W1 (step 3 in Figure D.1). The user also includes the initial values for each coupler vector displacement angle α in degrees (also in step 3). The number of alphaN variables and values should match the value of N. Figure D.3 illustrates these user input sections in the file W_Z_prepare.m, with sample data given in bold. In step 4 in Figure D.1, the user includes the names of each coupler vector displacement angle (angle α) to be calculated. Figure D.4 illustrates this user input section in the file UVW_trust_region.m with sample data given in bold. Lastly, the file UVW_trust_region.m is run (also in step 4). The calculated components of vectors U1, V1, and W1 and coupler vector displacement angles are displayed
255
256
Appendix D: User Instructions for Chapter 6 MATLAB® Files 1.
Filename: UVW_prepare.m Specify N Run file
2.
Filename: UVW_trust_region.m Specify N Include variable names for β and γ Specify precision positions
3.
Filename: UVW_trust_region.m Specify initial values for U1, V1, and W1 Include initial values for α 4.
Filename: UVW_trust_region.m Include variable names for α Run file
FIGURE D.1 Procedure for calculating U1, V1, and W1 solutions.
%----------------------------------------------------------------% Here, the names for each crank displacement angle are included % (e.g., beta2 beta3 beta4 beta5 beta6 beta7...). global beta2 beta3 beta4 beta5 beta6 %----------------------------------------------------------------%--------------------------------------------------------------% Here, values for precision point parameters betaN is assigned. % Additional rows can be included to accommodate additional betaN % variables and values. beta2 = 12 * pi / 180; beta3 = 24 * pi / 180; beta4 = 36 * pi / 180; beta5 = 48 * pi / 180; beta6 = 60 * pi / 180; %----------------------------------------------------------------%----------------------------------------------------------------% Here, the names for each follower displacement angle are % included % (e.g., gamma2 gamma3 gamma4 gamma5 gamma6 gamma7...). global gamma2 gamma3 gamma4 gamma5 gamma6 %---------------------------------------------------------------%----------------------------------------------------------------% Here, values for precision point parameters gammaN is assigned. % Additional rows can be included to accommodate additional gammaN % variables and values. gamma2 = 7.636 * pi / 180; gamma3 = 17.455 * pi / 180; gamma4 = 29.455 * pi / 180; gamma5 = 43.636 * pi / 180; gamma6 = 60 * pi / 180;
FIGURE D.2 Sections (for step 2) of file UVW_trust_region.m with samples given in bold.
Appendix D: User Instructions for Chapter 6 MATLAB® Files
257
%----------------------------------------------------------------% Here, initial values for the components of U1-V1-W1 are % assigned. U1x U1y V1x V1y W1x W1y
= = = = = =
–1; –1; –1; 1; –1; –1;
%----------------------------------------------------------------%----------------------------------------------------------------% Here, values for V1 parameter alphaN are assigned. Additional % rows can be included to accommodate additional alphaN variables % and values. alpha2 alpha3 alpha4 alpha5 alpha6
= = = = =
20 * pi / 180; 40 * pi / 180; 60 * pi / 180; 80 * pi / 180; 100 * pi / 180;
%-----------------------------------------------------------------
FIGURE D.3 Sections (for step 3) of file UVW_trust_region.m with samples given in bold.
%----------------------------------------------------------------% Here, the names for each alphaN displacement angle are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; alpha7; .....];). x0 = [U1x; U1y; V1x; V1y; W1x; W1y; alpha2; alpha3; alpha4; alpha5; alpha6]; %-----------------------------------------------------------------
FIGURE D.4 Section (for step 4) of file UVW_trust_region.m, with samples given in bold.
in the MATLAB command window after this file has been run. Figure D.5 illustrates sample output from the file UVW_trust_region.m. When calculating new solutions, repeating step 1 in Figure D.1 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure D.1.
258
Appendix D: User Instructions for Chapter 6 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of U1-V1-W1 and displacement angles of V1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 20001 Func Evals: 20002 Algorithm: large-scale: trust-region Newton exit flag = 0 error = ( 2.124200e-006 ) U1x = ( -0.909576 ) U1y = ( -1.753528 ) V1x = ( -0.771127 ) V1y = ( 1.022948 ) W1x = ( 0.861360 ) W1y = ( -2.776222 ) alpha2 = ( 381.080477 ) alpha3 = ( 42.176577 ) alpha4 = ( 63.542708 ) alpha5 = ( -275.027338 ) alpha6 = ( -254.037446 ) Elapsed time is 38.925661 seconds. Solution calculation is complete.
FIGURE D.5 Sample output from the file UVW_trust_region.m.
D.2 PLANAR FOUR-BAR FUNCTION GENERATION, N FSPs AND N MSPs The subfolder Synthesis within the folder Appendix D.2 (which is available for download at www.crcpress.com) includes MATLAB files (filenames UVW_prepare.m and UVW_interior_point.m) for calculating the mechanism loop vectors U1, V1, and W1 for function generation given N precision points and N angular velocities. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure D.6 includes the four-step procedure for calculating U1, V1, and W1 solutions. Synthesizing the mechanism loop vectors U1, V1, and W1 begins with the file UVW_prepare.m (step 1 in Figure D.6). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder UVWfuncs is produced. The folder UVWfuncs includes functions required to run the file UVW_interior_point.m. After exiting the file UVW_prepare.m and opening the file UVW_interior_ point.m, step 2 in Figure D.6 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file UVW_ prepare.m). The user also includes the name of each crank and follower displacement angle (angles β and γ, respectively) to be prescribed. Additionally, the user includes the specific precision point values in degrees. The number of betaN and gammaN variables and values should match the value of N. Figure D.7 illustrates these user input sections in the file UVW_interior_point.m, with sample data given in bold. In step 3 in Figure D.6, the user includes the name .of each crank, coupler, and . . follower angular velocity variable (angular velocities β, α, and γ, respectively) to be prescribed. The values for these variables are specified in rad/s. The number of
Appendix D: User Instructions for Chapter 6 MATLAB® Files 1.
2.
259
Filename: UVW_prepare.m Specify N Run file
Filename: UVW_interior_point.m Specify N Include variable names for β and γ Specify FSP precision points
3.
Filename: UVW_interior_point.m Specify initial values for β, α, and γ Specify MSP precision points
4.
Filename: UVW_interior_point.m Specify initial values for U1, V1, and W1 Specify initial values for α 5.
Filename: UVW_interior_point.m Include variable names for α Run file
FIGURE D.6 Procedure for calculating U1, V1, and W1 solutions. %----------------------------------------------------------------% Here, the names for each crank displacement angle are included % (e.g., beta2 beta3 beta4 ...). global beta2 beta3 %----------------------------------------------------------------%----------------------------------------------------------------% Here, values for precision point parameters betaN is assigned. % Additional rows can be included to accommodate additional betaN % variables and values. beta2 = 10 * pi / 180; beta3 = 30 * pi / 180; %----------------------------------------------------------------%----------------------------------------------------------------% Here, the names for each follower displacement angle are % included % (e.g., gamma2 gamma3 gamma4 ...). global gamma2 gamma3 %----------------------------------------------------------------%----------------------------------------------------------------% Here, values for precision point parameters gammaN is assigned. % Additional rows can be included to accommodate additional gammaN % variables and values. gamma2 = 21.4323 * pi / 180; gamma3 = 51.742 * pi / 180; %-----------------------------------------------------------------
FIGURE D.7 Sections (for step 2) of file UVW_interior_point.m with samples given in bold.
260
Appendix D: User Instructions for Chapter 6 MATLAB® Files
betapN, alphapN and gammapN variables and values should match the value of N. Figure D.8 illustrates these user input sections in the file UVW_interior_point.m, with sample data given in bold. The user includes the initial values for the components of vectors U1, V1, and W1 (step 4 in Figure D.1). The user also includes the initial values for each coupler vector displacement angle α in degrees (also in step 4). The number of alphaN variables and values should match the value of N. Figure D.9 illustrates these user input sections in the file UVW_interior_point.m, with sample data given in bold. %-----------------------------------------------------------------% Here, the names for each MSP are included % (e.g., betap2 betap3 betap4 ..., gammap2 gammap3 gammap4 ..., % alphap2 alphap3 alphap4 ...). % Also, values for MSP parameters betapN, gammapN and alphapN are % assigned. Additional rows can be included to accommodate % additional betapN, gammapN and alphapN variables and values. global betap2 betap3 betap2 = 1.5; betap3 = 1.5; global gammap2 gammap3 gammap2 = 3.15; gammap3 = 3.35; global alphap2 alphap3 alphap2 = 0.75; alphap3 = 0.75; %------------------------------------------------------------------
FIGURE D.8 Section (for step 3) of file UVW_interior_point.m with samples given in bold. %---------------------------------------------------------------% Here, initial values for the components of U1-V1-W1 are assigned. U1x U1y V1x V1y W1x W1y
= = = = = =
1; 1; 1; 1; 1; 1;
%---------------------------------------------------------------%---------------------------------------------------------------% Here, values for V1 parameter alphaN are assigned. Additional % rows can be included to accommodate additional alphaN variables % and values. alpha2 = 10 * pi / 180; alpha3 = 10 * pi / 180; %----------------------------------------------------------------
FIGURE D.9 Sections (for step 4) of file UVW_interior_point.m with samples given in bold.
Appendix D: User Instructions for Chapter 6 MATLAB® Files
261
%---------------------------------------------------------------% Here, the names for each alphaN displacement angle are included % (e.g., alpha2; alpha3; alpha4; .....];). x0 = [U1x; U1y; V1x; V1y; W1x; W1y; alpha2; alpha3]; %----------------------------------------------------------------
FIGURE D.10 Section (for step 5) of file UVW_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of U1-V1-W1 and displacement angles of V1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 56 Func Evals: 160 Algorithm: interior-point exit flag = -2 error = ( 5.937578e-004 ) U1x = ( -0.506897 ) U1y = ( 0.059153 ) V1x = ( 3.077220 ) V1y = ( 0.014466 ) W1x = ( -2.600780 ) W1y = ( 0.044609 ) alpha2 = ( 364.740281 ) alpha3 = ( 16.916627 ) Elapsed time is 6.082023 seconds. Solution calculation is complete.
FIGURE D.11 Sample output from the file UVW_interior_point.m.
In step 5 in Figure D.6, the user includes the names of each coupler vector displacement angle (angle α) to be calculated. Figure D.10 illustrates this user input section in the file UVW_interior_point.m with sample data given in bold. Lastly, the file UVW_interior_point.m is run (also in step 5). The calculated components of vectors U1, V1, and W1 and coupler vector displacement angles are displayed in the MATLAB command window after this file has been run. Figure D.11 illustrates sample output from the file UVW_interior_point.m. When calculating new solutions, repeating step 1 in Figure D.6 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure D.6.
Appendix E: User Instructions for Chapter 7 MATLAB® Files E.1 MOTION GENERATION, R-R DYADS, N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix E.1 (which is available for download at www.crcpress.com) includes MATLAB® files (filenames RR_motion_ prepare.m and RR_interior_point.m) for calculating the R-R dyad variables a0, a1, ua0, and ua1 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.1 includes the threestep procedure for calculating R-R dyad solutions. Synthesizing the R-R dyad begins with the file RR_motion_prepare.m (step 1 in Figure E.1). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder RRfuncs is produced. The folder RRfuncs includes functions required to run the file RR_interior_point.m. After exiting the file RR_motion_prepare.m and opening the file RR_interior_point.m, step 2 in Figure E.1 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file RR_motion_prepare.m). The user also includes the name of each dyad displacement angle (angle θ) to be prescribed and the specific values of θ in degrees. Additionally, the user includes the specific precision position values (defined by rigid-body points p, q, r, and s as described in Section 7.4). The number of thetaN, PN, QN, RN, and SN variables and values should match the value of N. Figure E.2 illustrates these user input sections in the file RR_interior_point.m, with sample data given in bold. The user includes the initial values for a0, a1, ua0, and ua1 (step 3 in Figure E.1). Figure E.3 illustrates this user input section in the file RR_interior_point.m with sample data given in bold. Lastly, the file RR_interior_point.m is run (also in step 3). The calculated R-R dyad components are displayed in the MATLAB command window after this file has been run. Figure E.4 illustrates sample output from the file RR_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.1 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.1.
263
264
Appendix E: User Instructions for Chapter 7 MATLAB® Files 1.
Filename: RR_motion_prepare.m Specify N Run file
2.
Filename: RR_interior_point.m Specify N Include variable names for θ Specify values for θ Specify precision positions
3.
Filename: RR_interior_ point.m Specify initial values for a0, a1, ua0 , and ua1 Run file
FIGURE E.1 Procedure for calculating R-R dyad solutions.
%----------------------------------------------------------------% Here, the names for each thetaN displacement angle are included % (e.g., theta2 theta3 theta4 ...) % Also, initial values for dyad displacement angles thetaN are % assigned. Additional rows can be included to accommodate % additional thetaN variables and values. global theta2 theta3 theta2 = 50 * pi/180.0; theta3 = 90 * pi/180.0; %----------------------------------------------------------------%----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 = [1.7321, 0, –1]; P2 = [1.2247, 1.2247, –1]; P3 = [0, 1.7321, –1]; %----------------------------------------------------------------. . . %----------------------------------------------------------------% Here, values for precision position parameter SN are assigned. % Additional rows can be included to accommodate additional SN % variables and values. S1 = [1.7321, 2, –1]; S2 = [–0.1895, 2.639, –1]; S3 = [–1.9353, 1.2951, –0.7477]; %-----------------------------------------------------------------
FIGURE E.2 Sections (for step 2) of file RR_interior_point.m with samples given in bold.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
265
%----------------------------------------------------------------% Here, initial values for the components of the R-R dyad are assigned. a0x = 0; a0y = 0; a0z = –1; a1x = 0; a1y = –2; a1z = 1; ua0x = 0; ua0y = 0; ua0z = 1; ua1x = 0.7; ua1y = 0; ua1z = 0.7; %-----------------------------------------------------------------
FIGURE E.3 Section (for step 3) of file RR_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of the R-R dyad %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 8 Func Evals: 14 Algorithm: interior-point exit flag = 1 error = ( 1.059251e-012 ) a0x = ( 0.018226 ) a0y = ( 0.001700 ) a0z = ( 2.619934 ) a1x = ( -2.300520 ) a1y = ( 0.620569 ) a1z = ( 2.625484 ) ua0x = ( 0.002479 ) ua0y = ( 0.000322 ) ua0z = ( 0.999997 ) ua1x = ( 0.002479 ) ua1y = ( 0.000322 ) ua1z = ( 0.999997 ) Elapsed time is 14.181888 seconds. Solution calculation is complete.
FIGURE E.4 Sample output from the file RR_interior_point.m.
E.2 MOTION GENERATION, S-S DYADS, N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix E.2 (which is available for download at www.crcpress.com) includes MATLAB files (filenames SS_motion_ prepare.m and SS_trust_region.m) for calculating the S-S dyad variable b0 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to
266
Appendix E: User Instructions for Chapter 7 MATLAB® Files 1.
Filename: SS_motion_prepare.m
Specify N Run file
2.
Filename: SS_trust_region.m Specify N Specify precision positions Specify values for b1
3.
Filename: SS_trust_region.m
Specify initial values for b0 Run file
FIGURE E.5 Procedure for calculating S-S dyad solutions.
properly run the MATLAB files. Figure E.5 includes the three-step procedure for calculating S-S dyad solutions. Synthesizing the S-S dyad begins with the file SS_motion_prepare.m (step 1 in Figure E.5). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder SSfuncs is produced. The folder SSfuncs includes functions required to run the file SS_trust_region.m. After exiting the file SS_motion_prepare.m and opening the file SS_trust_ region.m, step 2 in Figure E.5 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file SS_motion_prepare.m). The user also includes specific precision position values (defined by rigid-body points p, q, r, and s as described in Section 7.4). The number of PN, QN, RN, and SN variables and values should match the value of N. Additionally, the user includes specific values for b1. Figure E.6 illustrates these user input sections in the file SS_trust_region.m, with sample data given in bold. The user includes the initial values for b0 (step 3 in Figure E.5). Figure E.7 illustrates this user input section in the file SS_trust_region.m with sample data given in bold. Lastly, the file SS_trust_region.m is run (also in step 3). The calculated S-S dyad components are displayed in the MATLAB command window after this file has been run. Figure E.8 illustrates sample output from the file SS_trust_region.m. When calculating new solutions repeating step 1 in Figure E.5 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.5.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
267
%---------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 = [–0.5, –0.5, –0.5]; P2 = [0, 0, 0]; P3 = [0.75, 0.75, 0.5]; %---------------------------------------------------------------. . . %---------------------------------------------------------------% Here, values for precision position parameter SN are assigned. % Additional rows can be included to accommodate additional SN % variables and values. S1 = [–0.6677, –0.4551, 0.4848]; S2 = [0, 0, 1]; S3 = [0.6406, 1.1582, 1.4063]; %---------------------------------------------------------------%---------------------------------------------------------------% Here, values for dyad components b1x, b1y and b1z are assigned. b1x = 0; b1y = 0; b1z = –5; %----------------------------------------------------------------
FIGURE E.6 Sections (for step 2) of file SS_trust_region.m with samples given in bold. %--------------------------------------------------------------% Here, initial values for dyad components b0x, b0y and b0z are % assigned. b0x = –5; b0y = 5; b0z = –5; %---------------------------------------------------------------
FIGURE E.7 Section (for step 3) of file SS_trust_region.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of the S-S dyad %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 2 Func Evals: 3 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 6.162976e-033 ) b0x = ( 0.071503 ) b0y = ( -0.032561 ) b0z = ( -4.091424 ) Elapsed time is 2.865181 seconds. Solution calculation is complete.
FIGURE E.8 Sample output from the file SS_trust_region.m.
268
Appendix E: User Instructions for Chapter 7 MATLAB® Files
E.3 MOTION GENERATION, SPHERICAL R-R DYADS, N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix E.3 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RR_Sph_motion_ prepare.m and RR_Sph_interior_point.m) for calculating the spherical R-R dyad variables a0, and a1 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.9 includes the three-step procedure for calculating spherical R-R dyad solutions. Synthesizing the spherical R-R dyad begins with the file RR_Sph_motion_ prepare.m (step 1 in Figure E.9). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder RRSfuncs is produced. The folder RRSfuncs includes functions required to run the file RR_Sph_interior_point.m. After exiting the file RR_Sph_motion_prepare.m and opening the file RR_Sph_ interior_point.m, step 2 in Figure E.9 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file RR_Sph_motion_prepare.m). The user also includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 7.4). The number of PN, QN, and RN variables and values should match the value of N. Additionally, the user specifies the value for the dyad parameter a 0x. Figure E.10 illustrates these user input sections in the file RR_Sph_interior_point.m, with sample data given in bold. The user includes the initial values for a 0y, a 0z, and a1 (step 3 in Figure E.9). Figure E.11 illustrates this user input section in the file RR_Sph_interior_point.m with sample data given in bold. Lastly, the file RR_ Sph_interior_point.m is run (also in step 3). The calculated spherical R-R dyad components are displayed in the MATLAB command window after this file has been run. Figure E.12 illustrates sample output from the file RR_ Sph_interior_point.m. To calculate an alternate spherical R-R dyad solution (e.g., the spherical R-R dyad b 0 − b1 for the 4R Spherical mechanism), the user specifies different values for the components of a0 − a1 and reruns the file
1. Filename: RR_Sph_motion_prepare.m Specify N Run file 2.
Filename: RR_Sph_interior_point.m Specify N Specify precision positions Specify values for a0x
3.
Filename: RR_Sph_interior_point.m Specify initial values for a0y, a0z, and a1 Run file
FIGURE E.9 Procedure for calculating spherical R-R dyad solutions.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
269
%-----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4
= = = =
[–0.2081, 0.1675, 0.8227]; [0.1442, 0.0859, 0.8486]; [0.5009, 0.0166, 0.705]; [0.7646, –0.0298, 0.3977];
%-----------------------------------------------------------------. . . %-----------------------------------------------------------------% Here, values for precision position parameter RN are assigned. % Additional rows can be included to accommodate additional RN % variables and values. R1 R2 R3 R4
= = = =
[0, 0.3087, 0.808]; [0.2613, 0.2946, 0.7702]; [0.5104, 0.2616, 0.6475]; [0.7179, 0.2147, 0.4321];
%-----------------------------------------------------------------%-----------------------------------------------------------------% Here, value for dyad component a0x is assigned. a0x = 0; %------------------------------------------------------------------
FIGURE E.10 Sections (for step 2) of file RR_Sph_interior_point.m with samples given in bold.
%-----------------------------------------------------------------% Here, initial values for the components of the Spherical R-R dyad % are assigned. a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; %------------------------------------------------------------------
FIGURE E.11 Section (for step 3) of file RR_Sph_interior_point.m with samples given in bold.
RR_ Sph_interior_point.m. The newly calculated solution will correspond to the spherical R-R dyad b 0 − b1. When calculating new solutions, repeating step 1 in Figure E.9 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.9.
270
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of the Spherical R-R dyad %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 8 Func Evals: 19 Algorithm: interior-point exit flag = 1 error = ( 1.164517e-006 ) a0y = ( 0.799764 ) a0z = ( 0.600315 ) a1x = ( 0.568437 ) a1y = ( 0.381875 ) a1z = ( 0.728733 ) Elapsed time is 6.428206 seconds. Solution calculation is complete.
FIGURE E.12 Sample output from the file RR_Sph_interior_point.m.
E.4 MOTION GENERATION, R-S DYADS, N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix E.4 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RS_motion_ prepare.m and RS_interior_point.m) for calculating the R-S dyad variables a0, ua0, and a1 for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.13 includes the three-step procedure for calculating R-S dyad solutions. Synthesizing the R-S dyad begins with the file RS_motion_prepare.m (step 1 in Figure E.13). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder RSfuncs is produced. The folder RSfuncs includes functions required to run the file RS_interior_point.m. After exiting the file RS_motion_prepare.m and opening the file RS_interior_ point.m, step 2 in Figure E.13 begins. In this file, the user specifies the value of 1.
Filename: RS_motion_prepare.m Specify N Run file
2.
Filename: RS_interior_point.m Specify N Specify precision positions Specify values for a0x
3.
Filename: RS_interior_point.m Specify initial values for a0y, a0z, and ua0, and a1 Run file
FIGURE E.13 Procedure for calculating R-S dyad solutions.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
271
%----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 = [0, 0, 0]; P2 = [0.75, 0.75, 0.5]; P3 = [1.5, 1.5, 1]; %----------------------------------------------------------------. . . %----------------------------------------------------------------% Here, values for precision position parameter SN are assigned. % Additional rows can be included to accommodate additional SN % variables and values. S1 = [0, 0, 1]; S2 = [0.6406, 1.1582, 1.4063]; S3 = [1.0904, 2.2094, 1.5736]; %----------------------------------------------------------------%----------------------------------------------------------------% Here, a value for dyad component a0x is assigned. global a0x a0x = 0; %----------------------------------------------------------------
FIGURE E.14 Sections (for step 2) of file RS_interior_point.m with samples given in bold.
N—the number of precision positions (identical to the N value prescribed in the file RS_motion_prepare.m). The user also includes specific precision position values (defined by rigid-body points p, q, r, and s as described in Section 7.7). The number of PN, QN, RN, and SN variables and values should match the value of N. Additionally, the user specifies the value for the dyad parameter a 0x. Figure E.14 illustrates these user input sections in the file RS_interior_point.m, with sample data given in bold. The user includes the initial values for a 0y, a 0z, a1, and ua0 (step 3 in Figure E.13). Figure E.15 illustrates this user input section in the file RS_interior_point.m with sample data given in bold. Lastly, the file RS_interior_point.m is run (also in step 3). The calculated R-S dyad components are displayed in the MATLAB command window after this file has been run. Figure E.16 illustrates sample output from the file RS_interior_ point.m. To calculate an alternate R-S dyad solution (e.g., the R-S dyad b0 − b1 for the RSSR-SS mechanism), the user specifies different values for the components of a0 − a1 and reruns the file RS_interior_point.m. The newly calculated solution will correspond to the R-S dyad b0 − b1.
272
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%---------------------------------------------------------------% Here, initial values for the components of ua0, a1 and the % components a0y and a0z are assigned. a0y = –1; a0z = –1; a1x = 1; a1y = 1; a1z = 1; ua0x = 0.5; ua0y = 0.5; ua0z = 0.5; %----------------------------------------------------------------
FIGURE E.15 Section (for step 3) of file RS_interior_point.m with samples given in bold.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the components of the R-S dyad %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 12 Func Evals: 21 Algorithm: interior-point exit flag = 1 error = ( 5.186355e-014 ) a0x = ( 0.000000 ) a0y = ( 2.739254 ) a0z = ( 0.138692 ) a1x = ( 1.573082 ) a1y = ( 5.022926 ) a1z = ( 5.265780 ) ua0x = ( 0.936489 ) ua0y = ( 0.105671 ) ua0z = ( -0.334399 ) Elapsed time is 10.978269 seconds. Solution calculation is complete.
FIGURE E.16 Sample output from the file RS_interior_point.m.
When calculating new solutions repeating step 1 in Figure E.13 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.13.
E.5 RRSS MOTION GENERATION, N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix E.5 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RRSS_motion_ prepare.m and RRSS_interior_point.m) for calculating the RRSS mechanism variables for motion generation given N precision positions. The folder Common
Appendix E: User Instructions for Chapter 7 MATLAB® Files
273
1. Filename: RRSS_motion_prepare.m Specify N Run file 2.
Filename: RRSS_interior_point.m Specify N Specify precision positions Specify initial values for a0, a1, ua1, b0, b1, α, and θ
3.
4.
Filename: RRSS_interior_point.m Select crank rotation constraints
Filename: RRSS_interior_point.m Include variable names for α and θ Run file
FIGURE E.17 Procedure for calculating RRSS mechanism solutions.
(which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.17 includes the fourstep procedure for calculating RRSS mechanism solutions. Synthesizing the mechanism begins with the file RRSS_motion_prepare.m (step 1 in Figure E.17). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder RRSSfuncs is produced. The folder RRSSfuncs includes functions required to run the file RRSS_interior_point.m. After exiting the file RRSS_motion_prepare.m and opening the file RRSS_interior_point.m, step 2 in Figure E.17 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file RRSS_motion_prepare.m). The user includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 7.4). The number of PN, QN, and RN variables and values should match the value of N. The user also specifies initial values for a0, a1, ua0, ua1, b0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figures E.18 and E.19 illustrate these user input sections in the file RRSS_interior_ point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file RRSS_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure E.17, the user includes the names of each dyad displacement angle (angles α and θ) to be prescribed. Figure E.20 illustrates this user input section in the file RRSS_interior_point.m with sample data given in bold.
274
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[–0.75, –0.75, –0.5]; [–0.375, –0.375, –0.25]; [0, 0, 0]; [0.375, 0.375, 0.25]; [0.75, 0.75, 0.5];
%----------------------------------------------------------------. . . %----------------------------------------------------------------% Here, values for precision position parameter RN are assigned. % Additional rows can be included to accommodate additional RN % variables and values. R1 R2 R3 R4 R5
= = = = =
[–0.5154, 0.1254, –0.0774]; [–0.2476, 0.5929, –0.0336]; [0, 1, 0]; [0.2476, 1.3429, 0.0336]; [0.5154, 1.6254, 0.0774];
%-----------------------------------------------------------------
FIGURE E.18 Sections (for step 2) of file RRSS_interior_point.m with samples given in bold.
Lastly, the file RRSS_interior_point.m is run (also in step 4). The calculated RRSS mechanism dyad components and displacement angles are displayed in the MATLAB command window after this file has been run. Figure E.21 illustrates sample output from the file RRSS_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.17 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.17.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
275
%---------------------------------------------------------------% Here, initial values for the RRSS variables are assigned. % Additional rows can be included to accommodate additional % alphaN and thetaN variables and values. a0x = 0; a0y = 0; a0z = 0; a1x = 0; a1y = 1; a1z = 0; ua0x = 0; ua0y = 0; ua0z = 1; ua1x = 0; ua1y = 0; ua1z = 1; b0x = 1; b0y = 0; b0z = 0; b1x = 1; b1y = 1; b1z = 0; alpha2 alpha3 alpha4 alpha5
= = = =
10 10 10 10
* * * *
pi/180; pi/180; pi/180; pi/180;
theta2 theta3 theta4 theta5
= = = =
20 35 45 55
* * * *
pi/180; pi/180; pi/180; pi/180;
%----------------------------------------------------------------
FIGURE E.19 Section (for step 2) of file RRSS_interior_point.m with samples given in bold.
%---------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle % are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; ua0x; ua0y; ua0z; ua1x; ua1y; ua1z; b0x; b0y; b0z; b1x; b1y; b1z; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE E.20 Section (for step 4) of file RRSS_interior_point.m with samples given in bold.
276
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the RRSS mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 17 Func Evals: 57 Algorithm: interior-point exit flag = -2 error = ( 2.642219e-001 ) a0x = ( -2.152050 ) a0y = ( 1.976960 ) a0z = ( -0.367068 ) a1x = ( -1.715085 ) a1y = ( 5.264583 ) a1z = ( 0.708521 ) ua0x = ( -0.933127 ) ua0y = ( -0.010840 ) ua0z = ( 0.378485 ) ua1x = ( 0.959822 ) ua1y = ( -0.226166 ) ua1z = ( 0.282585 ) b0x = ( -2.012833 ) b0y = ( 2.113794 ) b0z = ( -1.162102 ) b1x = ( 1.215053 ) b1y = ( -0.008169 ) b1z = ( 0.308485 ) alpha2 = ( 4.303687 ) alpha3 = ( 8.231877 ) alpha4 = ( 12.427676 ) alpha5 = ( 16.654463 ) theta2 = ( 20.986132 ) theta3 = ( 37.755033 ) theta4 = ( 55.444431 ) theta5 = ( 75.194853 ) Elapsed time is 234.322570 seconds. Solution calculation is complete.
FIGURE E.21 Sample output from the file RRSS_interior_point.m.
E.6 RRSS PATH GENERATION, N PRECISION POINTS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix E.6 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RRSS_path_ prepare.m and RRSS_interior_point.m) for calculating the RRSS mechanism variables for motion generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.22 includes the four-step procedure for calculating RRSS mechanism solutions. Synthesizing the dyads begins with the file RRSS_path_prepare.m (step 1 in Figure E.22). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder
Appendix E: User Instructions for Chapter 7 MATLAB® Files
277
1. Filename: RRSS_path_prepare.m Specify N Run file 2.
Filename: RRSS_interior_point.m Specify N Specify precision points Specify initial values for a0, a1, ua0, ua1, b0, b1, α, and θ
3.
4.
Filename: RRSS_interior_point.m Select crank rotation constraints
Filename: RRSS_interior_point.m Include variable names for α and θ Run file
FIGURE E.22 Procedure for calculating RRSS mechanism solutions. %---------------------------------------------------------------% Here, values for precision point parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 0, 0]; [0.5, 0.25, 0]; [1, 0.5, 0]; [1, 0.35, 1]; [0, –0.25, 0.5];
%----------------------------------------------------------------
FIGURE E.23 Section (for step 2) of file RRSS_interior_point.m with samples given in bold.
RRSSfuncs is produced. The folder RRSSfuncs includes functions required to run file RRSS_interior_point.m. After exiting the file RRSS_path_prepare.m and opening the file RRSS_interior_point.m, step 2 in Figure E.22 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file RRSS_path_prepare.m). The user includes specific precision point values (defined by rigid-body point p as described in Section 7.4). The number of PN variables and values should match the value of N. The user also specifies initial values for a 0, a1, ua 0, ua1, b 0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figures E.23 and E.24 illustrate these user input sections in the file RRSS_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file RRSS_interior_point.m from the CRC website. To select
278
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%----------------------------------------------------------------% Here, initial values for the RRSS variables are assigned. % Additional rows can be included to accommodate additional alphaN % and thetaN variables and values. a0x = 0; a0y = 0; a0z = 0; a1x = 0; a1y = 1; a1z = 0; ua0x = 0; ua0y = 0; ua0z = 1; ua1x = 0; ua1y = 0; ua1z = 1; b0x = 1; b0y = 0; b0z = 0; b1x = 1; b1y = 1; b1z = 0; alpha2 alpha3 alpha4 alpha5
= = = =
20 40 60 80
* * * *
pi/180; pi/180; pi/180; pi/180;
theta2 theta3 theta4 theta5
= = = =
80 * pi/180; 160 * pi/180; 240 * pi/180; 320 * pi/180;
%-----------------------------------------------------------------
FIGURE E.24 Section (for step 2) of file RRSS_interior_point.m with samples given in bold.
clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure E.22, the user includes the names of each dyad displacement angle (angles α and θ) to be prescribed. Figure E.25 illustrates this user input section in the file RRSS_interior_point.m with sample data given in bold. Lastly, the file RRSS_interior_point.m is run (also in step 4). The calculated RRSS mechanism dyad components and displacement angles are displayed in the MATLAB command window after this file has been run. Figure E.26 illustrates sample output from the file RRSS_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.22 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.22.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
279
%-----------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle are % included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; ua0x; ua0y; ua0z; ua1x; ua1y; ua1z; b0x; b0y; b0z; b1x; b1y; b1z; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5;]; %------------------------------------------------------------------
FIGURE E.25 Section (for step 4) of file RRSS_interior_point.m with samples given in bold.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the RRSS mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 22 Func Evals: 89 Algorithm: interior-point exit flag = 2 error = ( 3.049996e-003 ) a0x = ( -0.064540 ) a0y = ( 0.311683 ) a0z = ( 0.442293 ) a1x = ( 2.798472 ) a1y = ( 4.352184 ) a1z = ( 4.390796 ) ua0x = ( 0.834599 ) ua0y = ( -0.549161 ) ua0z = ( -0.043202 ) ua1x = ( -0.877998 ) ua1y = ( 0.194893 ) ua1z = ( 0.437191 ) b0x = ( 0.354333 ) b0y = ( 0.631174 ) b0z = ( 0.391535 ) b1x = ( 3.179748 ) b1y = ( 4.421619 ) b1z = ( -3.307704 ) alpha2 = ( 4.361910 ) alpha3 = ( 9.478536 ) alpha4 = ( 9.735462 ) alpha5 = ( 2.636086 ) theta2 = ( 115.353648 ) theta3 = ( 176.063348 ) theta4 = ( 251.969123 ) theta5 = ( 327.364874 ) Elapsed time is 110.134550 seconds. Solution calculation is complete.
FIGURE E.26 Sample output from the file RRSS_interior_point.m.
280
Appendix E: User Instructions for Chapter 7 MATLAB® Files
E.7 4R SPHERICAL MOTION GENERATION, N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix E.7 (which is available for download at www.crcpress.com) includes MATLAB files (filenames Sphere_ motion_prepare.m and Sphere_interior_point.m) for calculating the 4R Spherical mechanism variables for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.27 includes the four-step procedure for calculating 4R Spherical mechanism solutions. Synthesizing the dyads begins with the file Sphere_motion_prepare.m (step 1 in Figure E.27). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder Spherefuncs is produced. The folder Spherefuncs includes functions required to run the file Sphere_interior_point.m. After exiting the file Sphere_motion_prepare.m and opening the file Sphere_ interior_point.m, step 2 in Figure E.27 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file Sphere_motion_prepare.m). The user includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 7.4). The number of PN, QN, and RN variables and values should match the value of N. The user also specifies initial values for a0, a1, b0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figures E.28 and E.29 illustrate these user input sections in the file Sphere_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file Sphere_interior_point.m from the CRC website. To select
1. Filename: Sphere_motion_prepare.m Specify N Run file
2.
Filename: Sphere_interior_point.m
Specify N Specify precision positions Specify initial values for a0, a1, b0, b1, α, and θ
3.
4.
Filename: Sphere_interior_point.m Select crank rotation constraints
Filename: Sphere_interior_point.m Include variable names for α and θ Run file
FIGURE E.27 Procedure for calculating 4R Spherical mechanism solutions.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
281
%----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[1.5, 0, [1.4624, [1.3515, [1.1727, [0.9352,
0]; 0.3338, 0.6508, 0.9352, 1.1727,
0]; 0]; 0]; 0];
%----------------------------------------------------------------. . . %----------------------------------------------------------------% Here, values for precision position parameter RN are assigned. % Additional rows can be included to accommodate additional RN % variables and values. R1 R2 R3 R4 R5
= = = = =
[1.5, 1, [1.2456, [0.9615, [0.6882, [0.4539,
0]; 1.2837, 1.4606, 1.5428, 1.5566,
0.225]; 0.4384]; 0.6293]; 0.788];
%-----------------------------------------------------------------
FIGURE E.28 Sections (for step 2) of file Sphere_interior_point.m with samples given in bold.
clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure E.27, the user includes the names of each dyad displacement angle (angles α and θ) to be prescribed. Figure E.30 illustrates this user input section in the file Sphere_interior_point.m with sample data given in bold. Lastly, the file Sphere_interior_point.m is run (also in step 4). The calculated 4R Spherical mechanism dyad components and displacement angles are displayed in the MATLAB command window after this file has been run. Figure E.31 illustrates sample output from the file Sphere_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.27 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.27.
282
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%-----------------------------------------------------------------% Here, initial values for the 4R Spherical variables are assigned. % Additional rows can be included to accommodate additional alphaN % and thetaN variables and values. a0x = 1; a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; b0x = 0; b0y = 1; b0z = 0; b1x = 0; b1y = 0; b1z = 1; alpha2 alpha3 alpha4 alpha5
= = = =
10 10 10 10
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 theta3 theta4 theta5
= = = =
25 35 45 55
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
%------------------------------------------------------------------
FIGURE E.29 Section (for step 2) of file Sphere_interior_point.m with samples given in bold.
%----------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle % are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; b0x; b0y; b0z; b1x; b1y; b1z; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %-----------------------------------------------------------------
FIGURE E.30 Section (for step 4) of file Sphere_interior_point.m with samples given in bold.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
283
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the 4R Spherical mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 50 Func Evals: 138 Algorithm: interior-point exit flag = 2 error = ( 1.329472e-004 ) a0x = ( 0.515422 ) a0y = ( 0.229533 ) a0z = ( 0.825624 ) a1x = ( 0.392354 ) a1y = ( 0.379156 ) a1z = ( 0.838035 ) b0x = ( 0.551434 ) b0y = ( 0.296969 ) b0z = ( -0.779571 ) b1x = ( -0.950856 ) b1y = ( -0.147291 ) b1z = ( -0.272353 ) alpha2 = ( -24.449120 ) alpha3 = ( -45.327883 ) alpha4 = ( -67.527438 ) alpha5 = ( -92.072335 ) theta2 = ( 41.434574 ) theta3 = ( 80.050617 ) theta4 = ( 119.966262 ) theta5 = ( 160.948546 ) Elapsed time is 219.303009 seconds. Solution calculation is complete.
FIGURE E.31 Sample output from the file Sphere_interior_point.m.
E.8 4R SPHERICAL PATH GENERATION, N PRECISION POINTS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix E.8 (which is available for download at www.crcpress.com) includes MATLAB files (filenames Sphere_path_ prepare.m and Sphere_interior_point.m) for calculating the 4R Spherical mechanism variables for motion generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.32 includes the fourstep procedure for calculating 4R Spherical mechanism solutions. Synthesizing the dyads begins with the file Sphere_path_prepare.m (step 1 in Figure E.32). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder Spherefuncs is produced. The folder Spherefuncs includes functions required to run the file Sphere_interior_point.m. After exiting the file Sphere_path_prepare.m and opening the file Sphere_ interior_point.m, step 2 in Figure E.32 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file Sphere_path_prepare.m). The user includes specific precision points
284
Appendix E: User Instructions for Chapter 7 MATLAB® Files 1. Filename: Sphere_path_prepare.m Specify N Run file
2.
Filename: Sphere_interior_point.m
Specify N Specify precision points Specify initial values for a0, a1, b0, b1, α, and θ
3.
4.
Filename: Sphere_interior_point.m Select crank rotation constraints
Filename: Sphere_interior_point.m Include variable names for α and θ Run file
FIGURE E.32 Procedure for calculating 4R Spherical mechanism solutions.
values (defined by rigid-body points p as described in Section 7.4). The number of PN variables and values should match the value of N. The user also specifies initial values for a 0, a1, b 0, b1, αj, and θj (in degrees). The number of alphaN and thetaN variables and values should match the value of N. Figures E.33 and E.34 illustrate these user input sections in the file Sphere_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default selection in the file Sphere_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure E.32, the user includes the names of each dyad displacement angle (angles α and θ) to be prescribed. Figure E.35 illustrates this user input section in the file Sphere_interior_point.m with sample data given in bold. Lastly, the file Sphere_interior_point.m is run (also in step 4). The calculated 4R Spherical mechanism dyad components and displacement angles are displayed in %----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 1.25, 0]; [0.3382, 1.1548, 0.3382]; [0.8166, 0.4784, 0.8166]; [0.8839, 0, 0.8839]; [0, 0, 1.25];
%---------------------------------------------------------------
FIGURE E.33 Section (for step 2) of file Sphere_interior_point.m with samples given in bold.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
285
%----------------------------------------------------------------% Here, initial values for the 4R Spherical variables are % assigned. Additional rows can be included to accommodate % additional alphaN and thetaN variables and values. a0x = 1; a0y = 0; a0z = 0; a1x = 0; a1y = 1; a1z = 0; b0x = 1; b0y = 0; b0z = 0; b1x = –1; b1y = 0; b1z = 0; alpha2 alpha3 alpha4 alpha5
= = = =
10 20 30 40
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 theta3 theta4 theta5
= = = =
50 * pi / 180; 100 * pi / 180; 150 * pi / 180; 200 * pi / 180;
%-----------------------------------------------------------------
FIGURE E.34 Section (for step 2) of file Sphere_interior_point.m with samples given in bold.
%---------------------------------------------------------------% Here, the names for each alphaN and thetaN displacement angle % are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; b0x; b0y; b0z; b1x; b1y; b1z; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE E.35 Section (for step 4) of file Sphere_interior_point.m with samples given in bold.
the MATLAB command window after this file has been run. Figure E.36 illustrates sample output from the file Sphere_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.32 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.32.
286
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the 4R Spherical mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 81 Func Evals: 243 Algorithm: interior-point exit flag = 2 error = ( 6.409368e-005 ) a0x = ( 0.702586 ) a0y = ( 0.153157 ) a0z = ( -0.694921 ) a1x = ( 0.706315 ) a1y = ( -0.425487 ) a1z = ( -0.565756 ) b0x = ( 0.468321 ) b0y = ( -0.848630 ) b0z = ( 0.245974 ) b1x = ( -0.954529 ) b1y = ( -0.237369 ) b1z = ( 0.180364 ) alpha2 = ( -28.179977 ) alpha3 = ( -45.529297 ) alpha4 = ( -56.938552 ) alpha5 = ( 217.401101 ) theta2 = ( 48.426320 ) theta3 = ( 108.701173 ) theta4 = ( 140.698855 ) theta5 = ( 201.937242 ) Elapsed time is 186.359467 seconds. Solution calculation is complete.
FIGURE E.36 Sample output from the file Sphere_interior_point.m.
E.9 RSSR FUNCTION GENERATION, N PRECISION POINTS The subfolder Synthesis within the folder Appendix E.9 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RSSR_ function_prepare.m and RSSR_trust_region.m) for calculating the RSSR mechanism moving pivots for function generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.37 includes the four-step procedure for calculating RSSR mechanism moving pivot solutions. Synthesizing the dyads begins with the file RSSR_ function_prepare.m (step 1 in Figure E.37). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder RSSRfuncs is produced. The folder RSSRfuncs includes functions required to run the file RSSR_trust_region.m. After exiting the file RSSR_ function_prepare.m and opening the file RSSR_ trust_region.m, step 2 in Figure E.37 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file RSSR_ function_prepare.m). The user also includes the names for each
Appendix E: User Instructions for Chapter 7 MATLAB® Files
287
1. Filename: RSSR_function_prepare.m Specify N Run file 2.
Filename: RSSR_trust_region.m Specify N Include variable names for θ and φ Specify precision points
3.
Filename: RSSR_ trust_region.m Specify value for α
4.
Filename: RSSR_trust_region.m Specify initial values for a1 and b1 Run file
FIGURE E.37 Procedure for calculating RSSR mechanism moving pivot solutions.
crank and follower displacement angle (angles θ and ϕ, respectively) to be prescribed. The user also includes the specific precision points values in degrees (defined by rotation angles θ and ϕ, respectively, as described in Section 7.5). The number of thetaN and phiN variables and values should match the value of N. Figure E.38 illustrates this user input section in the file RSSR_trust_region.m, with sample data given in bold. In step 3, the user specifies values for the RSSR fixed pivot joint axis ub0. The user specifies value for the angle α (which determines the orientation of ub0) in degrees. The user also specifies initial values for a1 and b1 (step 4 in Figure E.21). %----------------------------------------------------------------% Here, the names for each thetaN and phiN displacement angle are % included % (e.g., theta2 theta3 theta4 theta5 theta6 ...) % (e.g., phi2 phi3 phi4 phi5 phi6 ...). % Also, values for displacement angles thetaN and phiN are % assigned. Additional rows can be included to accommodate % additional thetaN and phiN variables and values. global theta2 theta3 theta4 theta5
theta2 theta3 theta4 theta5 = 0.5763 * pi / 180; = 5.0559 * pi / 180; = 13.3329 * pi / 180; = 24.1473 * pi / 180;
global phi2 = phi3 = phi4 = phi5 =
phi2 phi3 phi4 phi5 0.0028 * pi / 180; 0.2130 * pi / 180; 1.4814 * pi / 180; 4.8591 * pi / 180;
%-----------------------------------------------------------------
FIGURE E.38 Section (for step 2) of file RSSR_trust_region.m with samples given in bold.
288
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%---------------------------------------------------------------% Here, a value for joint axis angle ALPHA is assigned. ALPHA = –30 * pi / 180; %---------------------------------------------------------------%---------------------------------------------------------------% Here, initial values for the RSSR moving pivot variables are % assigned. a1x = –1; a1y = –1; a1z = –1; b1x = 1; b1y = 1; b1z = 1; %----------------------------------------------------------------
FIGURE E.39 Sections (for steps 3 and 4) of file RSSR_trust_region.m with samples given in bold.
Figure E.39 illustrates these user input sections in the file RSSR_trust_region.m, with sample data given in bold. Lastly, the file RSSR_trust_region.m is run (also in step 4). The calculated RSSR mechanism moving pivots are displayed in the MATLAB command window after this file has been run. Figure E.40 illustrates sample output from the file RSSR_trust_region.m. When calculating new solutions, repeating step 1 in Figure E.37 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.37.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the RSSR mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 10001 Func Evals: 10002 Algorithm: large-scale: trust-region Newton exit flag = 0 error = ( 8.537041e-015 ) a1x = ( -1.570977 ) a1y = ( -0.798988 ) a1z = ( 5.101747 ) b1x = ( 1.372694 ) b1y = ( 0.698019 ) b1z = ( 2.484452 ) Elapsed time is 97.603698 seconds. Solution calculation is complete.
FIGURE E.40 Sample output from the file RSSR_trust_region.m.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
289
E.10 RSSR FUNCTION GENERATION (FOR RSSR STEERING LINKAGE), N PRECISION POINTS The subfolder Synthesis within the folder Appendix E.10 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RSSR_ function_prepare.m and RSSR_trust_region.m) for calculating the moving pivots of an RSSR function generator steering linkage given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.41 includes the four-step procedure for calculating RSSR steering linkage moving pivot solutions. Synthesizing the dyads begins with the file RSSR_ function_prepare.m (step 1 in Figure E.41). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder RSSRfuncs is produced. The folder RSSRfuncs includes functions required to run the file RSSR_trust_region.m. After exiting the file RSSR_ function_prepare.m and opening the file RSSR_ trust_region.m, step 2 in Figure E.41 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file RSSR_ function_prepare.m). The user also includes the names for each crank and follower displacement angle (angles θ and ϕ, respectively) to be prescribed. The user also includes the specific precision points values in degrees (defined by rotation angles θ and ϕ, respectively, as described in Section 7.5). The number of thetaN and phiN variables and values should match the value of N. Figure E.42 illustrates this user input section in the file RSSR_trust_region.m, with sample data given in bold. In step 3, the user specifies values for the RSSR fixed pivot joint axis ub 0 and the moving pivot component b1x. The user also specifies value for b1x and the angle α (which determines the orientation of ub 0) in degrees. Additionally, the 1. Filename: RSSR_function_prepare.m Specify N Run file 2.
Filename: RSSR_trust_region.m Specify N Include variable names for θ and φ Specify precision points
3.
Filename: RSSR_ trust_region.m Specify value for b1x, and α
4.
Filename: RSSR_trust_point.m Specify initial values for a1, b1y, and b1z Run file
FIGURE E.41 Procedure for calculating RSSR steering linkage moving pivot solutions.
290
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%----------------------------------------------------------------% Here, the names for each thetaN and phiN displacement angle are % included % (e.g., theta2 theta3 theta4 theta5 theta6 ...) % (e.g., phi2 phi3 phi4 phi5 phi6 ...). % Also, values for displacement angles thetaN and phiN are % assigned. Additional rows can be included to accommodate % additional thetaN and phiN variables and values. global theta2 theta3 theta4 theta5
theta2 = 10 * = 20 * = 30 * = 40 *
global phi2 = phi3 = phi4 = phi5 =
phi2 15 * 30 * 45 * 60 *
theta3 theta4 theta5 pi / 180; pi / 180; pi / 180; pi / 180;
phi3 pi / pi / pi / pi /
phi4 phi5 180; 180; 180; 180;
%-----------------------------------------------------------------
FIGURE E.42 Section (for step 2) of file RSSR_trust_region.m with samples given in bold. %---------------------------------------------------------------% Here, a value for moving pivot component b1x is assigned. b1x = 1; %---------------------------------------------------------------%---------------------------------------------------------------% Here, a value for joint axis angle ALPHA is assigned. ALPHA = 90 * pi / 180; %---------------------------------------------------------------%---------------------------------------------------------------% Here, initial values for the RSSR moving pivot variables are assigned. a1x = 1; a1y = 1; a1z = 1; b1y = –1; b1z = 1; %----------------------------------------------------------------
FIGURE E.43 Sections (for steps 3 and 4) of file RSSR_trust_region.m with samples given in bold.
user specifies initial values for a1, b1y, and b1z (step 4 in Figure E.41). Figures E.43 illustrates these user input sections in the file RSSR_trust_region.m, with sample data given in bold. Lastly, the file RSSR_trust_region.m is run (also in step 4). The calculated RSSR mechanism moving pivots are displayed in the MATLAB command window
Appendix E: User Instructions for Chapter 7 MATLAB® Files
291
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the RSSR steering mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 10001 Func Evals: 10002 Algorithm: large-scale: trust-region Newton exit flag = 0 error = ( 1.183880e-007 ) a1x = ( 0.443664 ) a1y = ( -0.069476 ) a1z = ( -0.492154 ) b1y = ( -1.053214 ) b1z = ( 0.483358 ) Elapsed time is 77.336078 seconds. Solution calculation is complete.
FIGURE E.44 Sample output from the file RSSR_trust_region.m.
after this file has been run. Figure E.44 illustrates sample output from the file RSSR_trust_region.m. When calculating new solutions, repeating step 1 in Figure E.41 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.41.
E.11 4R SPHERICAL FUNCTION GENERATION, N PRECISION POINTS The subfolder Synthesis within the folder Appendix E.11 (which is available for download at www.crcpress.com) includes MATLAB files (filenames Sphere_ function_prepare.m and Sphere_interior_point.m) for calculating the 4R Spherical mechanism moving pivots for function generation given N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.45 includes the four-step procedure for calculating 4R Spherical mechanism moving pivot solutions. Synthesizing the moving pivot solutions begins with the file Sphere_ function_ prepare.m (step 1 in Figure E.45). In this file, the number of precision points is specified. After specifying the value of N (the number of precision points) and running this file, the folder Spherefuncs is produced. The folder Spherefuncs includes functions required to run the file Sphere_interior_point.m. After exiting the file Sphere_ function_prepare.m and opening the file Sphere_ interior_point.m, step 2 in Figure E.45 begins. In this file, the user specifies the value of N—the number of precision points (identical to the N value prescribed in the file Sphere_ function_prepare.m). The user includes the names for each crank and follower displacement angle (angles θ and ϕ, respectively) to be prescribed. The user also includes the specific precision points values in degrees (defined by rotation angles θ and ϕ, respectively, as described in Section 7.5). The number of thetaN and phiN variables and values should match the value of N. Figure E.46
292
Appendix E: User Instructions for Chapter 7 MATLAB® Files 1. Filename: Sphere_function_prepare.m Specify N Run file 2.
Filename: Sphere_interior_point.m Specify N Include variable names for θ and φ Specify precision points
3. Filename: Sphere_interior_point.m Specify value for α 4. Filename: Sphere_interior_point.m Specify initial values for a1 and b1 Run file
FIGURE E.45 Procedure for calculating 4R Spherical mechanism moving pivot solutions. %----------------------------------------------------------------% Here, the names for each thetaN and phiN displacement angle are % included % (e.g., theta2 theta3 theta4 theta5 theta6 ...) % (e.g., phi2 phi3 phi4 phi5 phi6 ...). % Also, values for displacement angles thetaN and phiN are % assigned. Additional rows can be included to accommodate % additional thetaN and phiN variables and values. global theta2 theta3 theta4 theta5
theta2 theta3 theta4 theta5 = 45 * pi / 180; = 90 * pi / 180; = 135 * pi / 180; = 180 * pi / 180;
global phi2 = phi3 = phi4 = phi5 =
phi2 20 * 40 * 60 * 80 *
phi3 pi / pi / pi / pi /
phi4 phi5 180; 180; 180; 180;
%-----------------------------------------------------------------
FIGURE E.46 Section (for step 2) of file Sphere_interior_point.m with samples given in bold.
illustrates this user input section in the file Sphere_interior_point.m, with sample data given in bold. In step 3, the user specifies values for the 4R Spherical fixed pivot b 0 as well as specify initial values for the 4R Spherical moving pivots. The user specifies value for the angle α (which corresponds to the location of b 0) in degrees. The user also specifies initial values for a1 and b1 (step 4 in Figure E.45). Figure E.47 illustrates these user input sections in the file Sphere_interior_point.m, with sample data given in bold.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
293
%---------------------------------------------------------------% Here, a value for joint axis angle ALPHA is assigned. ALPHA = 45; %---------------------------------------------------------------%---------------------------------------------------------------% Here, initial values for the RSSR moving pivot components are % assigned. a1x = 0.7; a1y = 0; a1z = 0.7; b1x = 0; b1y = 0.7; b1z = 1; %----------------------------------------------------------------
FIGURE E.47 Sections (for steps 3 and 4) of Sphere_interior_point.m with samples given in bold.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the 4R Spherical mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 14 Func Evals: 51 Algorithm: interior-point exit flag = 1 error = ( 1.240025e-004 ) a1x = ( 0.908306 ) a1y = ( -0.382413 ) a1z = ( 0.169528 ) b1x = ( -0.016554 ) b1y = ( -0.192797 ) b1z = ( 0.981096 ) Elapsed time is 7.379114 seconds. Solution calculation is complete.
FIGURE E.48 Sample output from the file Sphere_interior_point.m.
Lastly, the file Sphere_interior_point.m is run (also in step 4). The calculated 4R Spherical mechanism moving pivots are displayed in the MATLAB command window after this file has been run. Figure E.48 illustrates sample output from the file Sphere_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.45 is only necessary if the number of precision points (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.45.
294
Appendix E: User Instructions for Chapter 7 MATLAB® Files
E.12 RSSR-SS MOTION GENERATION, N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix E.12 (which is available for download at www.crcpress.com) includes MATLAB files (filenames RSSR_SS_ prepare.m and RSSR_SS_interior_point.m) for calculating the RSSR-SS mechanism variables for motion generation given N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure E.49 includes the fourstep procedure for calculating RSSR-SS mechanism solutions. Synthesizing the dyads begins with the file RSSR_SS_prepare.m (step 1 in Figure E.49). In this file, the number of precision positions is specified. After specifying the value of N (the number of precision positions) and running this file, the folder RSSRSSfuncs is produced. The folder RSSRSSfuncs includes functions required to run the file RSSR_SS_interior_point.m. After exiting the file RSSR_SS_prepare.m and opening the file RSSR_SS_interior_point.m, step 2 in Figure E.49 begins. In this file, the user specifies the value of N—the number of precision positions (identical to the N value prescribed in the file RSSR_SS_prepare.m). The user includes specific precision position values (defined by rigid-body points p, q, r, and s as described in Section 7.4). The number of PN, QN, RN, and SN variables and values should match the value of N. The user also specifies initial values for a0, a1, ua0, b0, b1, ub0, c0, c1, θj, and ϕj (in degrees). The number of thetaN and phiN variables and values should match the value of N. Figures E.50 and E.51 illustrate these user input sections in the file RSSR_SS_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for order defect elimination. Counterclockwise constraints are the default
1. Filename: RSSR_SS_prepare.m Specify N Run file 2.
Filename: RSSR_SS_interior_point.m Specify N Specify precision positions Specify initial values for a0, a1, ua0, b0, b1, b0, c0, c1, θ, and φ
3. Filename: RSSR_SS_interior_point.m Select crank rotation constraints 4. Filename: RSSR_SS_interior_point.m Include variable names for φ and θ Run file
FIGURE E.49 Procedure for calculating RSSR-SS mechanism solutions.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
295
%----------------------------------------------------------------% Here, values for precision position parameter PN are assigned. % Additional rows can be included to accommodate additional PN % variables and values. P1 P2 P3 P4
= = = =
[–0.5, –0.5, –0.5]; [0, 0, 0]; [0.75, 0.75, 0.5]; [1.5, 1.5, 1];
%----------------------------------------------------------------. . . %----------------------------------------------------------------% Here, values for precision position parameter SN are assigned. % Additional rows can be included to accommodate additional SN % variables and values. S1 S2 S3 S4
= = = =
[–0.6677, –0.4551, 0.4848]; [0, 0, 1]; [0.6406, 1.1582, 1.4063]; [1.0904, 2.2094, 1.5736];
%-----------------------------------------------------------------
FIGURE E.50 Sections (for step 2) of file RSSR_SS_interior_point.m with samples given in bold.
selection in the file RSSR_SS_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). In step 4 in Figure E.49, the user includes the names of each dyad displacement angle (angles ϕ and θ) to be prescribed. Figure E.52 illustrates this user input section in the file RSSR_SS_interior_point.m with sample data given in bold. Lastly, the file RSSR_SS_interior_point.m is run (also in step 4). The calculated RSSR-SS mechanism dyad components and displacement angles are displayed in the MATLAB command window after this file has been run. Figure E.53 illustrates sample output from the file RSSR_SS_interior_point.m. When calculating new solutions, repeating step 1 in Figure E.49 is only necessary if the number of precision positions (N) for the new solution is different from the previous solution. If N is the same for the new solution, the user can begin at step 2 in Figure E.49.
296
Appendix E: User Instructions for Chapter 7 MATLAB® Files
%---------------------------------------------------------------% Here, initial values for the RSSR-SS variables are assigned. % Additional rows can be included to accommodate additional % thetaN and phiN variables and values. a0x = 1; a0y = 1; a0z = 1; ua0x = 0.5; ua0y = 0.5; ua0z = 0.5; a1x = 1; a1y = 1; a1z = 1; b0x = 1; b0y = 1; b0z = 1; ub0x = 0.5; ub0y = 0.5; ub0z = 0.5; b1x = 1; b1y = 1; b1z = 1; c0x = 1; c0y = 1; c0z = 1; c1x = 1; c1y = 1; c1z = 1; theta2 = 30 * pi/180; theta3 = 60 * pi/180; theta4 = 90 * pi/180; phi2 = 20 * pi/180; phi3 = 40 * pi/180; phi4 = 60 * pi/180; %----------------------------------------------------------------
FIGURE E.51 Section (for step 2) of file RSSR_SS_interior_point.m with samples given in bold. %---------------------------------------------------------------% Here, the names for each phiN and thetaN displacement angle are % included % (e.g., phi2; phi3; phi4; phi5; .....;) % (e.g., theta2; theta3; theta4; theta5; .....];). x0 = [a0x; a0y; a0z; ua0x; ua0y; ua0z; a1x; a1y; a1z; b0x; b0y; b0z; ub0x; ub0y; ub0z; b1x; b1y; b1z; c0x; c0y; c0z; c1x; c1y; c1z; phi2; phi3; phi4; theta2; theta3; theta4]; %----------------------------------------------------------------
FIGURE E.52 Section (for step 4) of file RSSR_SS_interior_point.m with samples given in bold.
Appendix E: User Instructions for Chapter 7 MATLAB® Files
297
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solving for the RSSR-SS mechanism variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 99 Func Evals: 358 Algorithm: interior-point exit flag = 1 error = ( 6.031840e-005 ) a0x = ( -14.799907 ) a0y = ( -0.906204 ) a0z = ( 7.446188 ) ua0x = ( -0.831690 ) ua0y = ( -0.244545 ) ua0z = ( 0.498487 ) a1x = ( -20.236714 ) a1y = ( -12.092829 ) a1z = ( -7.112627 ) b0x = ( -15.468003 ) b0y = ( 13.618082 ) b0z = ( -1.932127 ) ub0x = ( -0.312312 ) ub0y = ( -0.232085 ) ub0z = ( 0.921194 ) b1x = ( 0.214133 ) b1y = ( -0.716877 ) b1z = ( -0.226945 ) c0x = ( 19.505689 ) c0y = ( -9.916960 ) c0z = ( -0.617688 ) c1x = ( 0.762623 ) c1y = ( -0.414309 ) c1z = ( -0.318880 ) phi2 = ( 2.602085 ) phi3 = ( 6.192653 ) phi4 = ( 9.585477 ) theta2 = ( 18.993926 ) theta3 = ( 49.365831 ) theta4 = ( 78.012647 ) Elapsed time is 49.671498 seconds. Solution calculation is complete.
FIGURE E.53 Sample output from the file RSSR_SS_interior_point.m.
Appendix F: User Instructions for Chapter 8 MATLAB® Files F.1 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE PLANAR FOUR-BAR, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.1 (which is available for download at www.crcpress.com) includes MATLAB® files (filenames a0_a1_a1s_ prepare.m and a0_a1_a1s_trust_region.m) for calculating the constant-length adjustable dyads a0 − a1 and a 0 − a*1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.1 includes the three-step procedure for calculating a0 − a1 and a 0 − a*1 dyad solutions. Synthesizing the a0 − a1 and a 0 − a*1 dyads begins with the file a0_a1_a1s_ prepare.m (step 1 in Figure F.1). In this file, the number of precision positions in two groups is specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder a0a1a1sfuncs is produced. The folder a0a1a1sfuncs includes functions required to run the file a0_a1_a1s_trust_region.m. After exiting the file a0_a1_a1s_prepare.m and opening the file a0_a1_a1s_trust_ region.m, step 2 in Figure F.1 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2, respectively (identical to the M and N values prescribed in the file a0_a1_a1s_prepare.m). The user specifies the value for the dyad parameter a0x. The user also includes the name of each coupler displacement angle (angle α) to be prescribed. Additionally, the user includes the specific precision position values (with angles specified in degrees). The number of alphaM, alphaN, PM, and PN variables and values should match the values of M and N. Figure F.2 illustrates these user input sections in the file a0_a1_a1s_trust_ region.m, with sample data given in bold. *, The user includes the initial values for the dyad components a 0y, a1x, a1y, a1x * and a1y (step 3 in Figure F.1). Figure F.3 illustrates this user input section in the file a0_a1_a1s_trust_region.m, with sample data given in bold. Lastly, the file a0_a1_a1s_trust_region.m is run (also in step 3). The calculated a0 − a1 and a 0 − a*1 dyad components are displayed in the MATLAB command window after this file has been run. Figure F.4 illustrates sample output from the file a0_ a1_a1s_trust_region.m. To calculate solutions for the adjustable dyads b0 − b1 and b0 − b*1 , the user specifies different values for the components of a0 − a1 and a 0 − a*1
299
300
Appendix F: User Instructions for Chapter 8 MATLAB® Files 1.
Filename: a0_a1_a1s_prepare.m Specify M and N Run file
2.
Filename: a0_a1_a1s_trust_region.m Specify M and N Specify value for a0x Specify precision positions
3.
Filename: a0_a1_a1s_trust_region.m Specify initial values for a0y, a1, and a1* Run file
FIGURE F.1 Procedure for calculating a0 − a1 and a 0 − a*1 dyad solutions. %---------------------------------------------------------------% Here, a value for the a0-a1 and a0-a1s dyad component a0x is % assigned. global a0x a0x = 5; %---------------------------------------------------------------%---------------------------------------------------------------% Here, values for precision position parameters alphaN and PN % are assigned. Group 1 includes positions 1, 2...M and group 2 % includes positions 1, M+1...N. Additional rows can be included % to accommodate additional alphaN and PN variables and values. global alpha2 alpha3 alpha4 alpha5 alpha2 alpha3 alpha4 alpha5 P1 P2 P3 P4 P5
= = = = =
= = = =
–38.2965 –74.4814 –74.4814 –98.0521
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
[6.545,20.1547]; [12.4409, 17.7173]; [15.6261, 11.6238]; [18.4724, 15.483]; [17.1848, 8.5771];
%----------------------------------------------------------------
FIGURE F.2 Sections (for step 2) of file a0_a1_a1s_trust_region.m with samples given in bold. %---------------------------------------------------------------% Here, initial values for the a0-a1 and a0-a1s dyad components % a0y, a1x, a1y, a1sx and a1sy are assigned. a0y = –10; a1x = 10; a1y = 10; a1sx = 10; a1sy = 10; %---------------------------------------------------------------
FIGURE F.3 Section (for step 3) of file a0_a1_a1s_trust_region.m with samples given in bold.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
301
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of a0-a1 and a0-a1s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 817 Func Evals: 818 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 1.668371e-019 )
a0y = ( 4.237433 ) a1x = ( 6.314356 ) a1y = ( 8.595783 ) a1sx = ( 9.398057 ) a1sy = ( 5.412097 ) Elapsed time is 2.248175 seconds. Solution calculation is complete.
FIGURE F.4 Sample output from the file a0_a1_a1s_trust_region.m.
and reruns the file a0_a1_a1s_trust_region.m. The newly calculated solution will correspond to the b0 − b1 and b0 − b*1 dyads. When calculating new solutions, repeating step 1 in Figure F.1 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.1.
F.2 FIXED LENGTH, FIXED PIVOT-ADJUSTABLE PLANAR FOUR-BAR, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.2 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a0s_prepare.m and a0_a1_a0s_trust_region.m) for calculating the constant-length adjustable dyads a0 − a1 and a*0 − a1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.5 includes the three-step procedure for calculating a0 − a1 and a*0 − a1 dyad solutions. 1.
2.
Filename: a0_a1_a0s_prepare.m Specify M and N Run file
Filename: a0_a1_a0s_trust_region.m Specify M and N Specify value for a0x Specify precision positions
3.
Filename: a0_a1_a0s_trust_region.m Specify initial values for a0y, a1, and a0* Run file
FIGURE F.5 Procedure for calculating a0 − a1 and a*0 − a1 dyad solutions.
302
Appendix F: User Instructions for Chapter 8 MATLAB® Files
Synthesizing the a0 − a1 and a*0 − a1 dyads begin with the file a0_a1_a0s_ prepare.m (step 1 in Figure F.5). In this file, the numbers of precision positions in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder a0a1a0sfuncs is produced. The folder a0a1a0sfuncs includes functions required to run file a0_a1_a0s_trust_region.m. After exiting the file a0_a1_a0s_prepare.m and opening the file a0_a1_a0s_ trust_region.m, step 2 in Figure F.5 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2, respectively (identical to the M and N values prescribed in the file a0_a1_a0s_prepare.m). The user specifies the value for the dyad parameter a 0x. The user also includes the name of each coupler displacement angle (angle α) to be prescribed. Additionally, the user includes the specific precision position values (with angles specified in degrees). The number of alphaM, alphaN, PM, and PN variables and values should match the values of M and N. Figure F.6 illustrates these user input sections in the file a0_a1_ a0s_trust_region.m, with sample data given in bold. The user includes the initial values for the dyad components a 0y, a1x, a1y, a*0 x, and a*0 y (step 3 in Figure F.5). Figure F.7 illustrates this user input section in the file a0_a1_a0s_trust_region.m, with sample data given in bold.
%---------------------------------------------------------------% Here, a value for the a0-a1 and a0-a1s dyad component a0x is % assigned. global a0x a0x = 5; %---------------------------------------------------------------%---------------------------------------------------------------% Here, values for precision position parameters alphaN and PN % are assigned. Group 1 includes positions 1, 2...M and group 2 % includes positions 1, M+1...N. Additional rows can be included % to accommodate additional alphaN and PN variables and values. global alpha2 alpha3 alpha4 alpha5 alpha2 alpha3 alpha4 alpha5 P1 P2 P3 P4 P5
= = = = =
= = = =
–38.2965 –74.4814 –74.4814 –98.0521
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
[6.545,20.1547]; [12.4409, 17.7173]; [15.6261, 11.6238]; [18.4724, 15.483]; [17.1848, 8.5771];
%----------------------------------------------------------------
FIGURE F.6 Sections (for step 2) of file a0_a1_a0s_trust_region.m with samples given in bold.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
303
%---------------------------------------------------------------% Here, initial values for the a0-a1 and a0-a1s dyad components % a0y, a1x, a1y, a1sx and a1sy are assigned. a0y = –10; a1x = –10; a1y = –10; a0sx = –10; a0sy = –10; %----------------------------------------------------------------
FIGURE F.7 Section (for step 3) of file a0_a1_a0s_trust_region.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of a0-a1 and a0s-a1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 8248 Func Evals: 8249 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 1.969209e-018 ) a0y = ( 9.768974 ) a1x = ( 1.336122 ) a1y = ( 4.119853 ) a0sx = ( -1.476759 ) a0sy = ( 10.237391 ) Elapsed time is 13.751323 seconds. Solution calculation is complete.
FIGURE F.8 Sample output from the file a0_a1_a0s_trust_region.m.
Lastly, the file a0_a1_a0s_trust_region.m is run (also in step 3). The calculated a0 − a1 and a*0 − a1 dyad components are displayed in the MATLAB command window after this file has been run. Figure F.8 illustrates sample output from the file a0_a1_a0s_trust_region.m. To calculate solutions for the adjustable dyads b0 − b1 and b*0 − b1, the user specifies different values for the components of a0 − a1 and a*0 − a1 and reruns the file a0_a1_a0s_trust_region.m. The newly calculated solution will correspond to the b0 − b1 and b*0 − b1, dyads. When calculating new solutions, repeating step 1 in Figure F.5 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.5.
F.3 ADJUSTABLE LENGTH, MOVING PIVOT-ADJUSTABLE PLANAR FOUR-BAR, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.3 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a1s_prepare.m
304
Appendix F: User Instructions for Chapter 8 MATLAB® Files
and a0_a1_a1s_trust_region.m) for calculating the adjustable-length adjustable dyads a0 − a1 and a 0 − a*1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. The procedure described in Appendix F.1 is identical to the procedure to use for the Appendix F.3 MATLAB files.
F.4 ADJUSTABLE LENGTH, FIXED PIVOT-ADJUSTABLE PLANAR FOUR-BAR, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.4 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a0s_ prepare.m and a0_a1_a0s_trust_region.m) for calculating the adjustable-length adjustable dyads a0 − a1 and a*0 − a1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. The procedure described in Appendix F.2 is identical to the procedure to use for the Appendix F.4 MATLAB files.
F.5 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE PLANAR FOUR-BAR, MOTION GENERATION, M AND N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix F.5 (which is available for download at www.crcpress.com) includes MATLAB files (filenames motion_ prepare.m and motion_interior_point.m) for calculating the constant-length adjustable mechanism variables for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.9 includes the four-step procedure for calculating adjustable mechanism solutions. Synthesizing the adjustable mechanism begins with the file motion_prepare.m (step 1 in Figure F.9). In this file, the numbers of precision positions in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder motionfuncs is produced. The folder motionfuncs includes functions required to run file motion_interior_point.m. After exiting the file motion_prepare.m and opening the file motion_interior_ point.m, step 2 in Figure F.9 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2, respectively (identical to the M and N values prescribed in the file motion_prepare.m). The user includes specific precision position values (defined by rigid-body points p and q as described in Section 8.3). The number of PM, QM, PN, and QN variables and values should
Appendix F: User Instructions for Chapter 8 MATLAB® Files
305
1.
Filename: motion_prepare.m Specify M and N Run file
2.
Filename: motion_interior_point.m Specify M and N Specify precision positions Specify initial values for a0, a1, a1*, b0, b1, b1*, α, and θ
3. Filename: motion_interior_point.m Specify crank rotation constraints 4. Filename: motion_interior_point.m Include variable names for α and θ Run file
FIGURE F.9 Procedure for calculating adjustable mechanism solutions. %---------------------------------------------------------------% Here, values for precision position parameters PN are assigned. % Group 1 includes positions 1, 2...M and group 2 includes % positions 1, M+1...N. Additional rows can be included to % accommodate additional PN variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 0]; [–5.2712, 0.2125]; [–8.9671, –4.2108]; [–4, 0.3]; [–6, –5];
%---------------------------------------------------------------%---------------------------------------------------------------% Here, values for precision position parameters QN are assigned. % Group 1 includes positions 1, 2...M and group 2 includes % positions 1, M+1...N. Additional rows can be included to % accommodate additional PN variables and values. Q1 Q2 Q3 Q4 Q5
= = = = =
[–0.3849, –0.3189]; [–5.2308, –0.7107]; [–8.5594, –4.5001]; [–3.8, –1]; [–7.6841, –8.0391];
%----------------------------------------------------------------
FIGURE F.10 Sections (for step 2) of file motion_interior_point.m with samples given in bold.
match the values of M and N. The user also specifies initial values for a0, a1, a*1 , b0, b1, b*1 , αj, αk, θj, and θk (in degrees). The number of alphaM, alphaN, thetaM, and theta N variables and values should match the values of M and N. Figures F.10 and F.11 illustrate these user input sections in the file motion_interior_point.m, with sample data given in bold.
306
Appendix F: User Instructions for Chapter 8 MATLAB® Files
%------------------------------------------------------------------% Here, initial values for the components of a0, a1, a1*, b0, b1
% % % %
and b1* are assigned. Also, initial values for displacement angles alphaM, alphaN, thetaM and thetaN are assigned. Additional rows can be included to accommodate additional alphaM, alphaN, thetaM and thetaN variables and values.
a0x = 0; a0y = 0; a1x = 0; a1y = –10; a1sx = 0; a1sy = –9; b0x = –1; b0y = 0; b1x = –10; b1y = –10; b1sx = –9; b1sy = –9; alpha2 alpha3 alpha4 alpha5
= = = =
20 40 60 80
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 theta3 theta4 theta5
= = = =
60 * pi / 180; 120 * pi / 180; 180 * pi / 180; 240 * pi / 180;
%--------------------------------------------------------------------
FIGURE F.11 Section (for step 2) of file motion_interior_point.m with samples given in bold.
In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for the first and second group of precision positions for order defect elimination. Counterclockwise constraints are the default selection for both groups in the file motion_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). The user has three options for selecting order constraints. These options are clockwise (groups M and N), counterclockwise (groups M and N), and clockwise (group M) and counterclockwise (group N). In step 4 in Figure F.9, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure F.12 illustrates this user input section in the file motion_interior_point.m with sample data given in bold. Lastly, the file motion_interior_point.m is run (also in step 4). The calculated components of a0, a1, a*1 , b0, b1, and b*1 and dyad displacement angles αj, αk, θj, and θk are
Appendix F: User Instructions for Chapter 8 MATLAB® Files
307
%---------------------------------------------------------------% Here, the names for each alphaM, alphaN, thetaM and thetaN % displacement angle are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a1x; a1y; a1sx; a1sy; b0x; b0y; b1x; b1y; b1sx; b1sy; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE F.12 Section (for step 4) of file motion_interior_point.m with samples given in bold.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for a0, a1, a1*, b0, b1, b1* and displacement angles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 350 Func Evals: 417 Algorithm: interior-point exit flag = 2 error = ( 4.690362e+000 ) a0x = ( -5.563627 ) a0y = ( -3.343083 ) a1x = ( -1.506736 ) a1y = ( -13.299624 ) a1sx = ( 3.643816 ) a1sy = ( -8.894124 ) b0x = ( 0.644369 ) b0y = ( -0.562492 ) b1x = ( -8.315927 ) b1y = ( -12.207285 ) b1sx = ( -8.664166 ) b1sy = ( -11.930837 ) alpha2 = ( 17.128270 ) alpha3 = ( 38.915816 ) alpha4 = ( 53.465270 ) alpha5 = ( 17.033596 ) theta2 = ( 22.183526 ) theta3 = ( 36.446008 ) theta4 = ( 152.777717 ) theta5 = ( 219.433792 ) Elapsed time is 21.094465 seconds. Solution calculation is complete.
FIGURE F.13 Sample output from the file motion_interior_point.m.
displayed in the MATLAB command window after this file has been run. Figure F.13 illustrates sample output from the file motion_interior_point.m. When calculating new solutions, repeating step 1 in Figure F.9 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.9.
308
Appendix F: User Instructions for Chapter 8 MATLAB® Files
F.6 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE PLANAR FOUR-BAR, PATH GENERATION, M AND N PRECISION POINTS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix F.6 (which is available for download at www.crcpress.com) includes MATLAB files (filenames path_prepare.m and path_interior_point.m) for calculating the constant-length adjustable mechanism variables for path generation given M and N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.14 includes the fourstep procedure for calculating adjustable mechanism solutions. Synthesizing the adjustable mechanism begins with the file path_prepare.m (step 1 in Figure F.14). In this file, the numbers of precision points in two groups are specified. After specifying the values of M and N (the numbers of precision points in groups 1 and 2, respectively) and running this file, the folder pathfuncs is produced. The folder pathfuncs includes functions required to run file path_interior_point.m. After exiting the file path_prepare.m and opening the file path_interior_point.m, step 2 in Figure F.14 begins. In this file, the user specifies the values of M and N—the number of precision points in groups 1 and 2, respectively (identical to the M and N values prescribed in the file path_prepare.m). The user includes specific precision point values (defined by rigid-body point p as described in Section 8.3). The number of PM and PN variables and values should match the values of M and N. The user also specifies initial values for a0, a1, a*1 , b0, b1, b*1 , αj, αk, θj, and θk (in degrees). The number of alphaM, alphaN, thetaM, and thetaN variables and values should match the values of M and N. Figures F.15 and F.16 illustrate the user input sections in the file path_interior_point.m, with sample data given in bold.
1.
Filename: path_prepare.m Specify M and N Run file
2.
Filename: path_interior_point.m Specify M and N Specify precision points Specify initial values for a0, a1, a1*, b0, b1, b1*, α, and θ
3.
Filename: path_interior_point.m Select crank rotation constraints
4. Filename: path_interior_point.m Include variable names for α and θ Run file
FIGURE F.14 Procedure for calculating adjustable mechanism solutions.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
309
%---------------------------------------------------------------% Here, values for precision point parameters PN are assigned. % Group 1 includes points 1, 2...M and group 2 includes % points 1, M+1...N. Additional rows can be included to % accommodate additional PN variables and values. P1 P2 P3 P4 P5
= = = = =
[0, 0]; [–5.2712, 0.2125]; [–8.9671, –4.2108]; [–4, 0.3]; [–6, –5];
%----------------------------------------------------------------
FIGURE F.15 Section (for step 2) of file path_interior_point.m with samples given in bold.
%--------------------------------------------------------------------
% % % % %
Here, initial values for the components of a0, a1, a1*, b0, b1 and b1* are assigned. Also, initial values for displacement angles alphaM, alphaN, thetaM and thetaN are assigned. Additional rows can be included to accommodate additional alphaM, alphaN, thetaM and thetaN variables and values.
a0x = 0; a0y = 0; a1x = 0; a1y = -10; a1sx = 0; a1sy = -9; b0x = -1; b0y = 0; b1x = -10; b1y = -10; b1sx = -9; b1sy = -9; alpha2 alpha3 alpha4 alpha5
= = = =
20 40 60 80
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 theta3 theta4 theta5
= = = =
60 * pi / 180; 120 * pi / 180; 180 * pi / 180; 240 * pi / 180;
%--------------------------------------------------------------------
FIGURE F.16 Section (for step 2) of file path_interior_point.m with samples given in bold.
310
Appendix F: User Instructions for Chapter 8 MATLAB® Files
In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for the first and second group of precision positions for order defect elimination. Counterclockwise constraints are the default selection for both groups in the file path_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). The user has three options for selecting order constraints. These options are clockwise (groups M and N), counterclockwise (groups M and N), and clockwise (group M) and counterclockwise (group N). In step 4 in Figure F.14, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure F.17 illustrates this user input section in the file path_interior_point.m with sample data given in bold. Lastly, the file path_interior_point.m is run (also in step 4). The calculated components of a0, a1, a*1 , b0, b1, b*1 , and dyad displacement angles αj, αk, θj, and θk are displayed in the MATLAB command window after this file has been run. Figure F.18 illustrates sample output from the file path_interior_point.m. When calculating new solutions, repeating step 1 in Figure F.14 is only necessary if the numbers of precision points (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.14.
%---------------------------------------------------------------% Here, the names for each alphaM, alphaN, thetaM and thetaN % displacement angle are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a1x; a1y; a1sx; a1sy; b0x; b0y; b1x; b1y; b1sx; b1sy; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE F.17 Section (for step 4) of file path_interior_point.m with samples given in bold.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
311
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for a0, a1, a1*, b0, b1, b1* and displacement angles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 40 Func Evals: 131 Algorithm: interior-point exit flag = 2 error = ( 1.045316e-003 ) a0x = ( -4.597050 ) a0y = ( -6.284218 ) a1x = ( 1.402572 ) a1y = ( -15.460825 ) a1sx = ( 6.255864 ) a1sy = ( -7.839801 ) b0x = ( 0.099775 ) b0y = ( 1.115267 ) b1x = ( -5.863961 ) b1y = ( -11.382291 ) b1sx = ( -8.757532 ) b1sy = ( -9.529131 ) alpha2 = ( 7.157521 ) alpha3 = ( 20.946111 ) alpha4 = ( 79.759896 ) alpha5 = ( 52.328923 ) theta2 = ( 30.095691 ) theta3 = ( 54.654258 ) theta4 = ( 157.212257 ) theta5 = ( 202.265124 ) Elapsed time is 5.809867 seconds. Solution calculation is complete.
FIGURE F.18 Sample output from the file path_interior_point.m.
F.7 MOVING PIVOT-ADJUSTABLE PLANAR FOUR-BAR, FUNCTION GENERATION, M AND N PRECISION POINTS The subfolder Synthesis within the folder Appendix F.7 (which is available for download at www.crcpress.com) includes MATLAB files (filenames func_prepare.m and func_trust_region.m) for calculating the adjustable mechanism variables a1, b1, and b*1 for function generation given M and N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.19 includes the three-step procedure for calculating the adjustable mechanism solution. Synthesizing the adjustable mechanism solution begins with the file func_ prepare.m (step 1 in Figure F.19). In this file, the numbers of precision points in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder funcfuncs is produced. The folder funcfuncs includes functions required to run file func_trust_region.m.
312
Appendix F: User Instructions for Chapter 8 MATLAB® Files 1.
Filename: func_prepare.m Specify M and N Run file
2.
Filename: func_trust_region.m Specify M and N Specify precision points
3.
Filename: func_trust_region.m Specify initial values for a1, b1, and b1* Run file
FIGURE F.19 Procedure for calculating a1, b1, and b* 1.
After exiting the file func_prepare.m and opening the file func_trust_region.m, step 2 in Figure F.19 begins. In this file, the user specifies the values of M and N— the number of precision points in groups 1 and 2, respectively (identical to the M and N values prescribed in the file func_prepare.m). The user includes the name of each crank and follower displacement angle (angles θ and ϕ, respectively) to be prescribed. Additionally, the user includes the specific precision point values (in degrees). The number of thetaM, thetaN, phiM, and phiN variables and values should match the values of M and N. Figure F.20 illustrates these user input sections in the file func_trust_region.m, with sample data given in bold. The user includes the initial values for the components of a1, b1, and b*1 (step 3 in Figure F.19). Figure F.21 illustrates this user input section in the file func_trust_ region.m, with sample data given in bold. Lastly, the file func_trust_region.m is run (also in step 3). The calculated components of a1, b1, and b*1 are displayed in the MATLAB command window %---------------------------------------------------------------% Here, values for precision point parameters thetaM, thetaN, % phiM and phiN are assigned. Group 1 includes positions 1, 2...M % and group 2 includes positions 1, M+1...N. Additional rows can % be included to accommodate additional thetaM, thetaN, phiM and % phiN variables and values. global theta2 theta3 theta4 theta5 theta2 theta3 theta4 theta5
= = = =
90 * pi / 180; 180 * pi / 180; 90 * pi / 180; 180 * pi / 180;
global phi2 phi3 phi4 phi5 phi2 phi3 phi4 phi5
= = = =
50 * pi / 180; 100 * pi / 180; 60 * pi / 180; 120 * pi / 180;
%----------------------------------------------------------------
FIGURE F.20 Section (for step 2) of file func_trust_region.m with samples given in bold.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
313
%---------------------------------------------------------------% Here, initial values for the components of a1, b1 and b1* are % assigned. a1x = 1; a1y = 1; b1x = 1; b1y = 1; b1sx = 1; b1sy = 1; %----------------------------------------------------------------
FIGURE F.21 Section (for step 3) of file func_trust_region.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for a1, b1 and b1* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 49 Func Evals: 50 Algorithm: large-scale: trust-region Newton exit flag = 3 error = ( 1.468250e-020 ) a1 = [0.788503,0.667438] b1 = [0.998167,1.303329] b1s = [1.141919,1.236133] Elapsed time is 2.108731 seconds. Solution calculation is complete.
FIGURE F.22 Sample output from the file func_trust_region.m.
after this file has been run. Figure F.22 illustrates sample output from the file func_trust_region.m. When calculating new solutions, repeating step 1 in Figure F.19 is only necessary if the numbers of precision points (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.19.
F.8 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE 4R SPHERICAL, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.8 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a1s_ prepare.m and a0_a1_a1s_interior_point.m) for calculating the constant-length adjustable spherical R–R dyads a0 − a1 and a 0 − a*1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.23 includes the three-step procedure for calculating spherical a0 − a1 and a 0 − a*1 dyad solutions.
314
Appendix F: User Instructions for Chapter 8 MATLAB® Files 1.
Filename: a0_a1_a1s_prepare.m Specify M and N Run file
2. Filename: a0_a1_a1s_interior_point.m Specify M and N Specify value for a0x Specify precision positions
3. Filename: a0_a1_a1s_interior_point.m Specify initial values for a0y, a0z, a1, and a1* Run file
FIGURE F.23 Procedure for calculating spherical a0 − a1 and a 0 − a*1 dyad solutions.
Synthesizing the spherical a0 − a1 and a 0 − a*1 dyads begin with the file a0_a1_ a1s_prepare.m (step 1 in Figure F.23). In this file, the numbers of precision positions in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder a0a1a1sfuncs is produced. The folder a0a1a1sfuncs includes functions required to run file a0_a1_a1s_interior_point.m. After exiting the file a0_a1_a1s_prepare.m and opening the file a0_a1_a1s_interior_point.m, step 2 in Figure F.23 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2, respectively (identical to the M and N values prescribed in the file a0_a1_a1s_prepare.m). The user also includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 7.4). The number of PM, QM, RM, PN, QN, and RN variables and values should match the values of M and N. Additionally, the user specifies the value for the dyad parameter a0x. Figure F.24 illustrates these user input sections in the file a0_a1_a1s_interior_point.m, with sample data given in bold. The user includes the initial values for the dyad components a 0y and a 0z and the components of a1 and a*1 (step 3 in Figure F.23). Figure F.25 illustrates this user input section in the file a0_a1_a1s_interior_point.m, with sample data given in bold. Lastly, the file a0_a1_a1s_interior_point.m is run (also in step 3). The calculated a 0 − a1 and a 0 − a*1 dyad components are displayed in the MATLAB command window after this file has been run. Figure F.26 illustrates sample output from the file a0_a1_a1s_interior_point.m. To calculate solutions for the adjustable spherical dyads b 0 − b1 and b0 − b*1 , the user specifies different values for the components of a 0 − a1 and a 0 − a*1 and reruns the file a0_a1_a1s_interior_ point.m. The newly calculated solution will correspond to the spherical b 0 − b1 and b0 − b*1 , dyads. When calculating new solutions, repeating step 1 in Figure F.23 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.23.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
315
%--------------------------------------------------------------------
% % % %
Here, values for precision position parameters PN are assigned. Group 1 includes positions 1, 2...M and group 2 includes positions 1, M+1...N. Additional rows can be included to accommodate additional PN variables % and values.
P1 P2 P3 P4 P5
= = = = =
[1.4489, 0, 0.3882]; [1.299, 0.7386, 0.1302]; [0.75, 1.2941, 0.1132]; [1.3, 0.5, 0.2]; [1.0, 1.0, 0.15];
%--------------------------------------------------------------------
. . %--------------------------------------------------------------------
% % % %
Here, values for precision position parameters RN are assigned. Group 1 includes positions 1, 2...M and group 2 includes positions 1, M+1…N. Additional rows can be included to accommodate additional RN variables and values.
R1 R2 R3 R4 R5
= = = = =
[1.4489, 1, 0.3882]; [0.866, 1.3904, 0.7529]; [0.317, 1.4677, 0.9977]; [1.5, 1, 0.5]; [1.6, 1.2, 0.7];
%-------------------------------------------------------------------%--------------------------------------------------------------------
% Here, a value for the a0-a1 and a0-a1s dyad component a0x is % assigned. global a0x a0x =0.5; %--------------------------------------------------------------------
FIGURE F.24 Sections (for step 2) of file a0_a1_a1s_interior_point.m with samples given in bold. %---------------------------------------------------------------% Here, initial values for the a0-a1 and a0-a1s dyad components % a0y, a0z and the components of a1 and a1s are assigned. a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; a1sx = 1; a1sy = 1; a1sz = 1; %----------------------------------------------------------------
FIGURE F.25 Section (for step 3) of file a0_a1_a1s_interior_point.m with samples given in bold.
316
Appendix F: User Instructions for Chapter 8 MATLAB® Files
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of a0-a1 and a0-a1s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 71 Func Evals: 289 Algorithm: interior-point exit flag = -2 error = ( 4.777356e-004 ) a0y = ( 0.636414 ) a0z = ( 0.587348 ) a1x = ( 0.713833 ) a1y = ( 0.664604 ) a1z = ( 0.220780 ) a1sx = ( 0.741892 ) a1sy = ( 0.640376 ) a1sz = ( 0.198782 ) Elapsed time is 9.860398 seconds. Solution calculation is complete.
FIGURE F.26 Sample output from the file a0_a1_a1s_interior_point.m.
F.9 FIXED LENGTH, FIXED PIVOT-ADJUSTABLE 4R SPHERICAL, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.9 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a0s_ prepare.m and a0_a1_a0s_interior_point.m) for calculating the constant-length adjustable spherical R–R dyads a0 − a1 and a*0 − a1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.27 includes the three-step procedure for calculating spherical a0 − a1 and a*0 − a1 dyad solutions. Synthesizing the spherical a0 − a1 and a*0 − a1 dyads begin with the file a0_a1_ a0s_prepare.m (step 1 in Figure F.27). In this file, the numbers of precision positions in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder
1.
Filename: a0_a1_a0s_prepare.m Specify M and N Run file
2. Filename: a0_a1_a0s_interior_point.m Specify M and N Specify value for a0x Specify precision positions
3.
Filename: a0_a1_a0s_interior_point.m Specify initial values for a0y, a0z, a1, and a0* Run file
FIGURE F.27 Procedure for calculating spherical a0 − a1 and a*0 − a1 dyad solutions.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
317
a0a1a0sfuncs is produced. The folder a0a1a0sfuncs includes functions required to run file a0_a1_a0s_interior_point.m. After exiting the file a0_a1_a0s_prepare.m and opening the file a0_a1_ a0s_interior_point.m, step 2 in Figure F.27 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2 respectively (identical to the M and N values prescribed in the file a0_a1_a0s_ prepare.m). The user also includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 7.4). The number of PM, QM, RM, PN, QN, and RN variables and values should match the values of M and N. Additionally, the user specifies the value for the dyad parameter a 0x. Figure F.28 %--------------------------------------------------------------------
% % % % %
Here, values for precision position parameters PN are assigned. Group 1 includes positions 1, 2…M and group 2 includes positions 1, M+1…N. Additional rows can be included to accommodate additional PN variables % and values. = = = = =
P1 P2 P3 P4 P5
[1.4489, 0, 0.3882]; [1.299, 0.7386, 0.1302]; [0.75, 1.2941, 0.1132]; [1.3, 0.5, 0.2]; [1.0, 1.0, 0.15];
%--------------------------------------------------------------------
. . %--------------------------------------------------------------------
% % % % % R1 R2 R3 R4 R5
Here, values for precision position assigned. Group 1 includes positions 1, 2...M positions 1, M+1…N. Additional rows accommodate additional RN variables = = = = =
parameters RN are and group 2 includes can be included to and values.
[1.4489, 1, 0.3882]; [0.866, 1.3904, 0.7529]; [0.317, 1.4677, 0.9977]; [1.5, 1, 0.5]; [1.6, 1.2, 0.7];
%-------------------------------------------------------------------%--------------------------------------------------------------------
% Here, a value for the a0-a1 and a0-a1s dyad component a0x is % assigned. global a0x a0x =0.5; %--------------------------------------------------------------------
FIGURE F.28 Sections (for step 2) of file a0_a1_a0s_interior_point.m with samples given in bold.
318
Appendix F: User Instructions for Chapter 8 MATLAB® Files
illustrates these user input sections in the file a0_a1_a0s_interior_point.m, with sample data given in bold. The user includes the initial values for the dyad components a0y and a0z and the components of a1 and a*0 (step 3 in Figure F.27). Figure F.29 illustrates this user input section in the file a0_a1_a0s_interior_point.m, with sample data given in bold. Lastly, the file a0_a1_a0s_interior_point.m is run (also in step 3). The calculated a0 − a1 and a*0 − a1 dyad components are displayed in the MATLAB command window after this file has been run. Figure F.30 illustrates sample output from the file a0_a1_a0s_interior_point.m. To calculate solutions for the adjustable spherical dyads b0 − b1 and b*0 − b1, the user specifies different values for the components of a0 − a1 and a*0 − a1 and reruns the file a0_a1_a0s_interior_point.m. The newly calculated solution will correspond to the spherical b0 − b1 and b*0 − b1, dyads. %---------------------------------------------------------------% Here, initial values for the a0-a1 and a0s-a1 dyad components % a0y, a0z and the components of a1 and a0s are assigned. a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; a0sx = 1; a0sy = 1; a0sz = 1; %----------------------------------------------------------------
FIGURE F.29 Section (for step 3) of file a0_a1_a0s_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for the components of a0-a1 and a0s-a1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 114 Func Evals: 302 Algorithm: interior-point exit flag = -2 error = ( 9.606309e-003 ) a0y = ( 0.852872 ) a0z = ( -0.150366 ) a1x = ( 0.849025 ) a1y = ( 0.476872 ) a1z = ( 0.227485 ) a0sx = ( 0.430188 ) a0sy = ( 0.578941 ) a0sz = ( 0.692651 ) Elapsed time is 13.091067 seconds. Solution calculation is complete.
FIGURE F.30 Sample output from the file a0_a1_a0s_interior_point.m.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
319
When calculating new solutions, repeating step 1 in Figure F.27 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.27.
F.10 ADJUSTABLE LENGTH, MOVING PIVOTADJUSTABLE 4R SPHERICAL, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.10 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a1s_ prepare.m and a0_a1_a1s_ interior_point.m) for calculating the adjustable-length adjustable spherical R–R dyads a0 − a1 and a 0 − a*1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. The procedure described in Appendix F.8 is identical to the procedure to use for the Appendix F.10 MATLAB files.
F.11 ADJUSTABLE LENGTH, FIXED PIVOT-ADJUSTABLE 4R SPHERICAL, MOTION GENERATION, M AND N PRECISION POSITIONS The subfolder Synthesis within the folder Appendix F.11 (which is available for download at www.crcpress.com) includes MATLAB files (filenames a0_a1_a0s_ prepare.m and a0_a1_a0s_ interior_point.m) for calculating the adjustable-length adjustable spherical R–R dyads a0 − a1 and a*0 − a1 for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. The procedure described in Appendix F.9 is identical to the procedure to use for the Appendix F.11 MATLAB files.
F.12 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE 4R SPHERICAL, MOTION GENERATION, M AND N PRECISION POSITIONS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix F.12 (which is available for download at www.crcpress.com) includes MATLAB files (filenames motion_prepare.m and motion_interior_point.m) for calculating the constant-length adjustable mechanism variables for motion generation given M and N precision positions. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.31 includes the four-step procedure for calculating adjustable mechanism solutions.
320
Appendix F: User Instructions for Chapter 8 MATLAB® Files 1.
Filename: motion_prepare.m Specify M and N Run file
2.
Filename: motion_interior_point.m Specify M and N Specify precision positions Specify initial values for a0, a1, a1*, b0, b1, b1*, α, and θ
3.
Filename: motion_interior_point.m Specify crank rotation constraints
4.
Filename: motion_interior_point.m Include variable names for α and θ Run file
FIGURE F.31 Procedure for calculating adjustable mechanism solutions.
Synthesizing the adjustable mechanism begins with the file motion_prepare.m (step 1 in Figure F.31). In this file, the numbers of precision positions in two groups are specified. After specifying the values of M and N (the numbers of precision positions in groups 1 and 2, respectively) and running this file, the folder motionfuncs is produced. The folder motionfuncs includes functions required to run file motion_interior_point.m. After exiting the file motion_prepare.m and opening the file motion_interior_ point.m, step 2 in Figure F.31 begins. In this file, the user specifies the values of M and N—the number of precision positions in groups 1 and 2, respectively (identical to the M and N values prescribed in the file motion_prepare.m). The user includes specific precision position values (defined by rigid-body points p, q, and r as described in Section 8.6). The number of PM, QM, RM, PN, QN, and RN variables and values should match the values of M and N. The user also specifies initial values for a0, a1, a*1 , b0, b1, b*1 , αj, αk, θj, and θk (in degrees). The number of alphaM, alphaN, thetaM, and thetaN variables and values should match the values of M and N. Figures F.32 and F.33 illustrate these user input sections in the file motion_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for the first and second group of precision positions for order defect elimination. Counterclockwise constraints are the default selection for both groups in the file motion_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). The user has three options for selecting order constraints. These options are clockwise (groups M and N), counterclockwise (groups M and N), and clockwise (group M) and counterclockwise (group N).
Appendix F: User Instructions for Chapter 8 MATLAB® Files
321
%---------------------------------------------------------------% % % %
Here, values for precision position parameters PN are assigned. Group 1 includes positions 1, 2...M and group 2 includes positions 1, M+1...N. Additional rows can be included to accommodate additional PM and PN variables and values. = = = = = =
P1 P2 P3 P4 P5 P6
[1.5, 0, 0]; [1.299, 0.75, 0]; [0.75, 1.299, 0]; [1.299, 0.6797, –0.317]; [0.75, 1.1773, –0.549]; [0, 1.3595, –0.6339];
%---------------------------------------------------------------. . . %---------------------------------------------------------------% % % % R1 R2 R3 R4 R5 R6
Here, values for precision position parameters RN are assigned. Group 1 includes positions 1, 2...M and group 2 includes positions 1, M+1...N. Additional rows can be included to accommodate additional RM and RN variables and values. = = = = = =
[1.5, 1, 0]; [0.8660, 1.5, 0.5]; [0.3170, 1.549, 0.866]; [0.6566, 1.4231, –0.1307]; [0.1462, 1.3827, 0.2213]; [0, 1.3595, 0.3661];
%----------------------------------------------------------------
FIGURE F.32 Sections (for step 2) of file motion_interior_point.m with samples given in bold.
In step 4 in Figure F.31, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure F.34 illustrates this user input section in the file motion_interior_point.m with sample data given in bold. Lastly, the file motion_interior_point.m is run (also in step 4). The calculated components of a0, a1, a*1 , b0, b1, and b*1 and dyad displacement angles αj, αk, θj, and θk are displayed in the MATLAB command window after this file has been run. Figure F.35 illustrates sample output from the file motion_interior_point.m. When calculating new solutions, repeating step 1 in Figure F.31 is only necessary if the numbers of precision positions (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.31.
322
Appendix F: User Instructions for Chapter 8 MATLAB® Files
%------------------------------------------------------------------
% % % %
Here, initial values for the 4R Spherical variables are assigned. Additional rows can be included to accommodate additional alphaM, alphaN, thetaM and thetaN variables and values.
a0x = 1; a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; a1sx = 1; a1sy = 1; a1sz = 1; b0x = 1; b0y = 1; b0z = 1; b1x = 1; b1y = 1; b1z = 1; b1sx = 1; b1sy = 1; b1sz = 1; alpha2 alpha3 alpha4 alpha5 alpha6
= = = = =
20 40 20 40 60
* * * * *
pi pi pi pi pi
/ / / / /
180; 180; 180; 180; 180;
theta2 theta3 theta4 theta5 theta6
= = = = =
20 40 20 40 60
* * * * *
pi pi pi pi pi
/ / / / /
180; 180; 180; 180; 180;
%------------------------------------------------------------------
FIGURE F.33 Section (for step 2) of file motion_interior_point.m with samples given in bold.
Appendix F: User Instructions for Chapter 8 MATLAB® Files
323
%---------------------------------------------------------------% Here, the names for each alphaM, alphaN, thetaM and thetaN % displacement angle are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; alpha7; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; theta7; .....;). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; a1sx; a1sy; a1sz; b0x; b0y; b0z; b1x; b1y; b1z; b1sx; b1sy; b1sz; alpha2; alpha3; alpha4; alpha5; alpha6; theta2; theta3; theta4; theta5; theta6]; %----------------------------------------------------------------
FIGURE F.34 Section (for step 4) of file motion_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for a0, a1, a1*, b0, b1, b1* and displacement angles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 57 Func Evals: 199 Algorithm: interior-point exit flag = 2 error = ( 2.629132e-001 ) a0 = [0.385138,0.487050,0.783869] a1 = [-0.481312,0.873661,0.071106] a1s = [0.960993,0.182312,-0.207978] b0 = [0.674625,-0.589894,0.443759] b1 = [-0.663551,-0.535422,-0.522517] b1s = [-0.404301,-0.446391,-0.798298] alpha2 = ( -19.833558 ) alpha3 = ( -24.805259 ) alpha4 = ( 0.214224 ) alpha5 = ( 1.870566 ) alpha6 = ( 35.892424 ) theta2 = ( 45.476208 ) theta3 = ( 87.529388 ) theta4 = ( 37.480790 ) theta5 = ( 69.299028 ) theta6 = ( 95.392270 ) Elapsed time is 309.772208 seconds. Solution calculation is complete. FIGURE F.35 Sample output from the file motion_interior_point.m.
F.13 FIXED LENGTH, MOVING PIVOT-ADJUSTABLE 4R SPHERICAL, PATH GENERATION, M AND N PRECISION POINTS WITH ORDER AND BRANCH CONSTRAINTS The subfolder Synthesis within the folder Appendix F.13 (which is available for download at www.crcpress.com) includes MATLAB files (filenames path_prepare.m and path_interior_point.m) for calculating the constant-length adjustable mechanism
324
Appendix F: User Instructions for Chapter 8 MATLAB® Files 1.
Filename: path_prepare.m Specify M and N Run file
2.
Filename: path_interior_point.m Specify M and N Specify precision points Specify initial values for a0, a1, a1*, b0, b1, b1*, α, and θ
3.
Filename: path_interior_point.m Select crank rotation constraints
4.
Filename: path_interior_point.m Include variable names for α and θ Run file
FIGURE F.36 Procedure for calculating adjustable mechanism solutions.
variables for motion generation given M and N precision points. The folder Common (which includes supplementary MATLAB files) must be included alongside the folder Synthesis to properly run the MATLAB files. Figure F.36 includes the fourstep procedure for calculating adjustable mechanism solutions. Synthesizing the adjustable mechanism begins with the file path_prepare.m (step 1 in Figure F.36). In this file, the numbers of precision points in two groups are specified. After specifying the values of M and N (the numbers of precision points in groups 1 and 2, respectively) and running this file, the folder pathfuncs is produced. The folder pathfuncs includes functions required to run file path_interior_point.m. After exiting the file path_prepare.m and opening the file path_interior_point.m, step 2 in Figure F.36 begins. In this file, the user specifies the values of M and N—the number of precision points in groups 1 and 2, respectively (identical to the M and N values prescribed in the file path_prepare.m). The user includes specific precision point values (defined by rigid-body points p as described in Section 8.6). The number of PM and PN variables and values should match the values of M and N. The user also specifies initial values for a0, a1, a*1 , b0, b1, b*1 , αj, αk, θj, and θk (in degrees). The number of alphaM, alphaN, thetaM, and thetaN variables and values should match the values of M and N. Figures F.37 and F.38 illustrate these user input sections in the file path_interior_point.m, with sample data given in bold. In step 3, the user specifies either clockwise or counterclockwise crank rotation constraints for the first and second group of precision positions for order defect elimination. Counterclockwise constraints are the default selection for both groups in the file path_interior_point.m from the CRC website. To select clockwise constraints, the characters %{ must be included as instructed in the file (to deactivate the counterclockwise constraints). Also, the characters %{ must be removed as instructed in the file (to activate the clockwise constraints). The user has three options for selecting order constraints. These options are clockwise (groups M and N), counterclockwise (groups M and N), and clockwise (group M) and counterclockwise (group N).
Appendix F: User Instructions for Chapter 8 MATLAB® Files
325
%---------------------------------------------------------------% % % % P1 P2 P3 P4 P5
Here, values for precision point parameters PN are assigned. Group 1 includes points 1, 2...M and group 2 includes points 1, M+1...N. Additional rows can be included to accommodate additional PM and PN variables and values. = = = = =
[1.5, 0, 0]; [1.299, 0.75, 0]; [0.75, 1.299, 0]; [1.299, 0.6797, –0.317]; [0.75, 1.1773, –0.549];
%----------------------------------------------------------------
FIGURE F.37 Sections (for step 2) of file path_interior_point.m with samples given in bold.
%-----------------------------------------------------------------% Here, initial values for the 4R Spherical variables are % assigned. Additional rows can be included to accommodate % additional alphaM, alphaN, thetaM and thetaN variables and % values. a0x = 1; a0y = 1; a0z = 1; a1x = 1; a1y = 1; a1z = 1; a1sx = 1; a1sy = 1; a1sz = 1; b0x = 1; b0y = 1; b0z = 1; b1x = 1; b1y = 1; b1z = 1; b1sx = 1; b1sy = 1; b1sz = 1; alpha2 alpha3 alpha4 alpha5
= = = =
20 20 20 20
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
theta2 theta3 theta4 theta5
= = = =
20 20 20 20
* * * *
pi pi pi pi
/ / / /
180; 180; 180; 180;
%------------------------------------------------------------------
FIGURE F.38 Section (for step 2) of file path_interior_point.m with samples given in bold.
326
Appendix F: User Instructions for Chapter 8 MATLAB® Files
%---------------------------------------------------------------% Here, the names for each alphaM, alphaN, thetaM and thetaN % displacement angle are included % (e.g., alpha2; alpha3; alpha4; alpha5; alpha6; .....;) % (e.g., theta2; theta3; theta4; theta5; theta6; .....];). x0 = [a0x; a0y; a0z; a1x; a1y; a1z; a1sx; a1sy; a1sz; b0x; b0y; b0z; b1x; b1y; b1z; b1sx; b1sy; b1sz; alpha2; alpha3; alpha4; alpha5; theta2; theta3; theta4; theta5]; %----------------------------------------------------------------
FIGURE F.39 Section (for step 4) of file path_interior_point.m with samples given in bold. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solve for a0, a1, a1*, b0, b1, b1* and displacement angles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iterations: 34 Func Evals: 95 Algorithm: interior-point exit flag = 2 error = ( 7.916637e-004 ) a0 = [-0.147365,-0.458442,0.876435] a1 = [-0.771439,-0.477653,0.420411] a1s = [-0.782066,-0.446142,0.435137] b0 = [0.871137,0.135059,0.472134] b1 = [0.036601,-0.185666,-0.981936] b1s = [-0.533400,0.817500,-0.217216] alpha2 = ( -35.079205 ) alpha3 = ( -51.449610 ) alpha4 = ( -59.858509 ) alpha5 = ( -93.112369 ) theta2 = ( 47.799308 ) theta3 = ( 87.290931 ) theta4 = ( 52.544630 ) theta5 = ( 94.011275 ) Elapsed time is 108.252144 seconds. Solution calculation is complete.
FIGURE F.40 Sample output from the file path_interior_point.m.
In step 4 in Figure F.36, the user includes the names for each dyad displacement angle (angles α and β) to be calculated. Figure F.39 illustrates this user input section in the file path_interior_point.m with sample data given in bold. Lastly, the file path_interior_point.m is run (also in step 4). The calculated components of a0, a1, a*1 , b0, b1, and b*1 and dyad displacement angles αj, αk, θj, and θk are displayed in the MATLAB command window after this file has been run. Figure F.40 illustrates sample output from the file path_interior_point.m. When calculating new solutions, repeating step 1 in Figure F.36 is only necessary if the numbers of precision points (M and N) for the new solution are different from the previous solution. If M and N are the same for the new solution, the user can begin at step 2 in Figure F.36.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files G.1 PLANAR FOUR-BAR MECHANISM The Appendix G.1 folder (which is available for download at www.crcpress.com) includes three MATLAB® and SimMechanics® files for the kinematic analysis and simulation of planar four-bar mechanisms. These three files are described in Table G.1. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file Planar_4Bar_Simulate.m. Values are specified for link variables W1, V1, G1, U1, and L1. Values are also specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Lastly, values for the crank angular velocity (angular_vel) and angular acceleration (angular_acc) are specified also. Figure G.1 illustrates the user input sections of the file Planar_4Bar_Prepare.m with sample values given in bold.*,†,‡ After specifying the mechanism dimensions and driving link parameters in the file Planar_4Bar_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or the Run Planar_4Bar_Simulate.m button in the toolbar.§ When running this file, nine files are written in a folder named Results (in a format compatible with Microsoft® Excel) that includes calculated mechanism output at each crank link rotation increment. The nine files are described in Table G.2. Also, when running Planar_4Bar_Simulate.m, a graphical user interface appears where planar four-bar mechanism motion is simulated in motion over the defined crank rotation range. To replay this simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). When using the noted minimum values for step_ang in Planar_4Bar_Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begin with a step_ang value of ±1 and progress to the smaller values (with correspondingly smaller crank rotation ranges). * If crank angular velocity and/or angular acceleration values are not required for the kinematic analysis, the user can specify zero for these variables. † The units for crank rotation, angular velocity, and acceleration are degree, rad/s, and rad/s2 , respectively. ‡ Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang. § This button is a green triangle (over a white square) and the text Run Planar_4Bar_Simulate.m appears when the cursor is over it.
327
328
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.1 Appendix G.1 MATLAB® and SimMechanics® Files Filename Planar_4Bar_Simulate.m Planar_4Bar_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
%------------------------------------------------------------% Here, values for the planar 4-bar mechanism variables W1, V1, % G1, U1 and L1 are assigned. W1 V1 G1 U1 L1
= = = = =
7.0*exp(i*57.4041*pi/180); 1.0*exp(–i*71.9051*pi/180); 3.0*exp(–i*48.6752*pi/180); 7.5*exp(i*73.7351*pi/180); 2.9*exp(–i*71.9051*pi/180);
%------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang = 0; step_ang = –1; stop_ang = –42; %------------------------------------------------------------%------------------------------------------------------------% Here, values for crank link angular velocity and angular % acceleration are assigned. angular_vel = –1.0 * ones(N,1); angular_acc = –0.1 * ones(N,1); %-------------------------------------------------------------
FIGURE G.1 Sections of Planar_4Bar_Simulate.m with sample values given in bold.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
329
TABLE G.2 Output Files from Appendix G.1 MATLAB® and SimMechanics® Filesa Filename
Contents (See Figure G.2 for Mechanism Reference)
p1_disp.csv p1_vel.csv p1_acc.csv b0_ang_disp.csv b0_ang_vel.csv b0_ang_acc.csv a1_ang_disp.csv a1_ang_vel.csv a1_ang_acc.csv
X, Y, and Z coordinates of coupler point p1 Velocity X, Y, and Z components of coupler point p1 Acceleration X, Y, and Z components of coupler point p1 Angular displacement (in degrees) about fixed pivot b0 Angular velocity (in rad/s) about fixed pivot b0 Angular acceleration (in rad/s2) about fixed pivot b0 Angular displacement (in degrees) about moving pivot a1 Angular velocity (in rad/s) about moving pivot a1 Angular acceleration (in rad/s2) about moving pivot a1
a
The mechanism output in these files is written for each increment of the crank rotation range defined in Planar_4Bar_Simulate.m.
p1 L1 V1
a1 iY
W1 X G1
b0
FIGURE G.2 Planar four-bar mechanism.
G.2 SLIDER-CRANK MECHANISM The Appendix G.2 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of planar slider-crank mechanisms. These three files are described in Table G.3. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file Slider_Crank_Simulate.m. Values are specified for link variables W1, V1, G1, and U1. Values are also specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Lastly, values for the crank angular velocity (angular_vel) and angular acceleration (angular_acc) are specified also. Figure G.3
330
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.3 Appendix G.2 MATLAB® and SimMechanics® Files Filename
Use of File
Slider_Crank_Simulate.m Slider_Crank_Model.mdl Post_Simulation_Task.m
To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
%------------------------------------------------------------% Here, values for the slider-crank mechanism variables W1, V1, % G1 and U1 are assigned. W1 V1 G1 U1
= = = =
1*exp(i*90*pi/180); 3*exp(–i*19.4712*pi/180); 2.8284*exp(i*0*pi/180); 0*exp(–i*90*pi/180);
%------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang = 0; step_ang = 1; stop_ang = 360; %------------------------------------------------------------%------------------------------------------------------------% Here, values for crank link angular velocity and angular % acceleration are assigned. angular_vel angular_acc
= 366.52 * ones(N,1); = 0 * ones(N,1);
%-------------------------------------------------------------
FIGURE G.3 Sections of Slider_Crank_Simulate.m with sample values given in bold.
illustrates the user input sections of the file Slider_Crank_Simulate.m with sample values given in bold.*,†,‡ After specifying the mechanism dimensions and driving link parameters in the file Slider_Crank_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or click the Run Slider_Crank_Simulate.m button in the toolbar.§ When running this file, six files are written in a folder named Results (in a format compatible with Microsoft Excel) that includes calculated mechanism output at each crank link rotation increment. The six files are described in Table G.4. Also when * If crank angular velocity and/or angular acceleration values are not required for the kinematic analysis, the user can specify zero for these variables. † The units for crank rotation, angular velocity, and acceleration are degree, rad/s, and rad/s2 , respectively. ‡ Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang. § This button is a green triangle (over a white square) and the text Run Slider_Crank_Simulate.m appears when the cursor is over it.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
331
TABLE G.4 Output Files from Appendix G.2 MATLAB® and SimMechanics® Filesa Filename
Contents (See Figure G.4 for Mechanism Reference)
b1_disp.csv b1_vel.csv b1_acc.csv a1_ang_disp.csv a1_ang_vel.csv a1_ang_acc.csv
X, Y, and Z coordinates of slider point b1 Velocity X, Y, and Z components of slider point b1 Acceleration X, Y, and Z components of slider point b1 Angular displacement (in degrees) about moving pivot a1 Angular velocity (in rad/s) about moving pivot a1 Angular acceleration (in rad/s2) about moving pivot a1
a
The mechanism output in these files is written for each increment of the crank rotation range defined in Slider_Crank_Simulate.m.
a1 iY
V1
W1 X
G1
U1 b1
FIGURE G.4 Slider-Crank mechanism.
running Slider_Crank_Simulate.m, a graphical user interface appears where the slider-crank mechanism motion is simulated over the defined crank rotation range. To replay the simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). When using the noted minimum values for step_ang in Planar_4Bar_Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
G.3 STEPHENSON III MECHANISM The Appendix G.3 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of Stephenson III mechanisms. These three files are described in Table G.5. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the
332
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.5 Appendix G.3 MATLAB® and SimMechanics® Files Filename Stephenson_III_Simulate.m Stephenson_III_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
crank motion parameters in the file Stephenson_III_Simulate.m. Values are specified for link variables W1, V1, G1, U1, L1, V1*, U1*, and G1* . Values are also specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Lastly, values for the crank angular velocity (angular_vel) and angular acceleration (angular_acc) are specified also. Figure G.5 illustrates the user input sections of the file Stephenson_III_Simulate.m with sample values given in bold.*,†,‡ %------------------------------------------------------------% Here, values for the Stephenson III mechanism variables W1, % V1, G1, U1, L1, V1s, U1s and G1s are assigned. W1 = 1.0exp(i*90*pi/180); V1 = 1.5*exp(i*4.2451*pi/180); G1 = 1.5*exp(-i*15*pi/180); U1 = 1.5*exp(i*88.2046*pi/180); L1 = 1.5*exp(i*60*pi/180); V1s = 3.5*exp(–i*24.0302*pi/180); U1s = 3.5*exp(i*67.2115*pi/180); G1s = 2.2923*exp(–i*59.8309*pi/180); %------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement % angles for the crank link are assigned. start_ang = 0; step_ang = 1; stop_ang = 360; %------------------------------------------------------------%------------------------------------------------------------% Here, values for crank link angular velocity and angular % acceleration are assigned. angular_vel = 1.1 * ones(N,1); angular_acc = 1.2 * ones(N,1); %-------------------------------------------------------------
FIGURE G.5 Sections of Stephenson_III_Simulate.m with sample values given in bold. * If crank angular velocity and/or angular acceleration values are not required for the kinematic analysis, the user can specify zero for these variables. † The units for crank rotation, angular velocity, and acceleration are degree, rad/s, and rad/s2 , respectively. ‡ Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
333
After specifying the mechanism dimensions and driving link parameters in the file Stephenson_III_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or click the Run Stephenson_III_Simulate.m button in the toolbar.* When running this file, 15 files are written in a folder named Results (in a format compatible with Microsoft Excel format) that includes calculated mechanism output at each crank link rotation increment. The 15 files are described in Table G.6. Also, when running Stephenson_III_Simulate.m, a graphical user interface appears where Stephenson III mechanism motion is simulated in motion over the defined crank rotation range. To replay the simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). When using the noted minimum values for step_ang in Planar_4Bar_Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
TABLE G.6 Output Files from Appendix G.3 MATLAB® and SimMechanics® Filesa Filename
Contents (See Figure G.6 for Mechanism Reference)
p1_disp.csv p1_vel.csv p1_acc.csv b0_ang_disp.csv b0_ang_vel.csv b0_ang_acc.csv a1_ang_disp.csv a1_ang_vel.csv a1_ang_acc.csv
X, Y, and Z coordinates of coupler point p1 Velocity X, Y, and Z components of coupler point p1 Acceleration X, Y, and Z components of coupler point p1 Angular displacement (in degrees) about fixed pivot b0 Angular velocity (in rad/s) about fixed pivot b0 Angular acceleration (in rad/s2) about fixed pivot b0 Angular displacement (in degrees) about moving pivot a1 Angular velocity (in rad/s) about moving pivot a1 Angular acceleration (in rad/s2) about moving pivot a1
b0s_ang_disp.csv
Angular displacement (in degrees) about fixed pivot b 0
b0s_ang_vel.csv
Angular velocity (in rad/s) about fixed pivot b 0
b0s_ang_acc.csv b1s_ang_disp.csv
*
*
*
Angular acceleration (in rad/s2) about fixed pivot b 0
*
Angular displacement (in degrees) about moving pivot b1 * b1
b1s_ang_vel.csv
Angular velocity (in rad/s) about moving pivot
b1s_ang_acc.csv
Angular acceleration (in rad/s2) about moving pivot b1
a
*
The mechanism output in these files is written for each increment of the crank rotation range defined in Stephenson_III_Simulate.m.
* This button is a green triangle (over a white square) and the text Run Stephenson_III_Simulate.m appears when the cursor is over it.
334
Appendix G: User Instructions for MATLAB® and SimMechanics® Files p1 V1*
L1 a1
V1 b*1
iY W1
X
U1 G1
b0 U1* G1* b0*
FIGURE G.6 Stephenson III mechanism.
G.4 RRSS MECHANISM The Appendix G.4 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of RRSS mechanisms. These three files are described in Table G.7. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file RRSS_Simulate.m. Values are specified for link variables a0, ua0, a1, ua1, b0, b1, p1, q1, and r1. Additionally, values are specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Figure G.7 illustrates the user input sections of the file RRSS_Simulate.m with sample values given in bold.* TABLE G.7 Appendix G.4 MATLAB® and SimMechanics® Files Filename RRSS_Simulate.m RRSS_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
* Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
335
%------------------------------------------------------------% Here, values for the RRSS mechanism variables a0, ua0, a1, ua1, % b0, b1 and coupler points P1, Q1 and R1 are assigned. a0 = [0, 0, 0]; ua0 = [0, 0, 1]; a1 = [–0.5, 0, 0]; ua1 = [0, 0, 1]; b0 = [1.5, 0, 0]; b1 = [1.5, 1.5, 0]; P1 = [0.1, 0.2, 0.9747]; Q1 = [0.2, 0.3, 1]; R1 = [–0.3, –1, 0]; %------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang step_ang stop_ang
= 0; = 30; = 360;
%-------------------------------------------------------------
FIGURE G.7 Sections of RRSS_Simulate.m with sample values given in bold.
TABLE G.8 Output Files from Appendix G.4 MATLAB® and SimMechanics® Filesa Filename p1_disp.csv q1_disp.csv r1_disp.csv a
Contents (See Figure G.8 for Mechanism Reference) X, Y, and Z coordinates of coupler point p1 X, Y, and Z coordinates of coupler point q1 X, Y, and Z coordinates of coupler point r1
The mechanism output in these files is written for each increment of the crank rotation range defined in rows 26 through 28 in RRSS_Simulate.m.
After specifying the mechanism dimensions and driving link parameters in the file RRSS_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or the Run RRSS_Simulate.m button in the toolbar.* When running this file, three files are written in a folder named Results (in a format compatible with Microsoft Excel) that includes calculated mechanism output at each crank link rotation increment. The three files are described in Table G.8. Also, when running RRSS_Simulate.m, a graphical user interface appears where RRSS mechanism * This button is a green triangle (over a white square) and the text Run RRSS_Simulate.m appears when the cursor is over it.
336
Appendix G: User Instructions for MATLAB® and SimMechanics® Files Rigid-body variables (e.g., p1, q1, r1) b1 a1
ua1
Y X ua0
a0
Z
b0
FIGURE G.8 RRSS mechanism.
motion is simulated in motion over the defined crank rotation range.* To replay this simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). When using values ±0.1, ±0.01, or ±0.001 for step_ang in RRSS_Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
G.5 RSSR MECHANISM The Appendix G.5 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of RSSR mechanisms. These three files are described in Table G.9. TABLE G.9 Appendix G.5 MATLAB® and SimMechanics® Files Filename RSSR_Simulate.m RSSR_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
* The passive DOF in the S-S link must be eliminated to produce a working RRSS simulation in SimMechanics. To achieve this, a massless S-S link (which is not visible in a simulation) is used. As a result, the S-S link does not appear in the RRSS simulation.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
337
%------------------------------------------------------------% Here, values for the RSSR mechanism variables a0, ua0, a1, b0, % ub0 and b1 are assigned. a0 = [0, 0, 0]; ua0 = [0, 0, 1]; a1 = [0, 0.5, 0]; b0 = [1, 0, 1]; ub0 = [0, 0, 1]; b1 = [1, 1.5, 1]; %------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang = 0; step_ang = 1; stop_ang = 360; %-------------------------------------------------------------
FIGURE G.9 Sections of RSSR_Simulate.m with sample values given in bold.
To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file RSSR_Simulate.m. Values are specified for link variables a0, ua0, a1, b0, ub0, and b1. Additionally, values are specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Figure G.9 illustrates the user input sections of the file RSSR_Simulate.m with sample values given in bold.* After specifying the mechanism dimensions and driving link parameters in the file RSSR_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or the Run RSSR_Simulate.m button in the toolbar.† When running this file, a single file is written in a folder named Results (in a format compatible with Microsoft Excel) that includes calculated mechanism output at each crank link rotation increment. The file is described in Table G.10. Also, when running RSSR_ Simulate.m, a graphical user interface appears where RSSR mechanism motion is simulated in motion over the defined crank rotation range.‡ To replay this simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). When using values ±0.1, ±0.01, or ±0.001 for step_ang in the file RSSR_ Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with
* Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang. † This button is a green triangle (over a white square) and the text Run RSSR_Simulate.m appears when the cursor is over it. ‡ The passive DOF in the S-S link must be eliminated to produce a working RSSR simulation in SimMechanics®. To achieve this, a massless S-S link (which is not visible in a simulation) is used. As a result, the S-S link does not appear in the RSSR simulation.
338
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.10 Output File from Appendix G.5 MATLAB® and SimMechanics® Filesa Contents (See Figure G.10 for Mechanism Reference)
Filename
Angular displacement (in degrees) about joint axis ub0
ub0_ang_disp.csv a
The mechanism output in these files is written for each increment of the crank rotation range defined in RSSR_Simulate.m.
b1 a1
Y X Z ua0
a0
ub0 b0
FIGURE G.10 RSSR mechanism.
a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
G.6 4R SPHERICAL MECHANISM Appendix G.6 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of 4R Spherical mechanisms. These three files are described in Table G.11. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file RRRR_Spherical_Simulate.m. Values are specified for link variables a0, a1, b0, b1, p1, q1, and r1. Additionally, values are specified for the initial crank angle (start_ang), the crank rotation increment (step_ang), and the final crank angle (stop_ang). Figure G.11 illustrates the user input sections of the file RRRR_Spherical_Simulate.m with sample values given in bold.* * Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
339
TABLE G.11 Appendix G.11 MATLAB® and SimMechanics® Files Filename RRRR_Spherical_Simulate.m RRRR_Spherical_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
%------------------------------------------------------------% Here, values for the 4R Spherical mechanism variables a0, a1, % b0 and b1 and coupler points P1, Q1 and R1 are assigned. a0 a1 b0 b1 P1 Q1 R1
= = = = = = =
[0, 0, 1]; [–0.7071, 0, 0.7071]; [1, 0, 0]; [0, 1, 0]; [0.1, 0.2, 0.9747]; [0.2, 0.3, 1]; [–0.3, –1, 0];
%------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang = 0; step_ang = 30; stop_ang = 360; %-------------------------------------------------------------
FIGURE G.11 Sections of RRRR_Spherical_Simulate.m with sample values given in bold.
After specifying the mechanism dimensions and driving link parameters in the file RRRR_Spherical_Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or the Run RRRR_Spherical_Simulate.m button in the toolbar.* When running this file, four files are written in a folder named Results (in a format compatible with Microsoft Excel) that includes calculated mechanism output at each crank link rotation increment. The four files are described in Table G.12. Also, when running RRRR_Spherical_Simulate.m, a graphical user interface appears where 4R Spherical mechanism motion is simulated in motion over the defined crank rotation range.† To replay this simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). * This button is a green triangle (over a white square) and the text Run RRRR_Spherical_Simulate.m appears when the cursor is over it. † The link chord lengths, rather than the arced links themselves, appear in the 4R Spherical mechanism simulation.
340
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.12 Output Files from Appendix G.6 MATLAB® and SimMechanics® Filesa Filename
Contents (See Figure G.12 for Mechanism Reference)
p1_disp.csv q1_disp.csv r1_disp.csv ub0_ang_disp.csv
X, Y, and Z coordinates of coupler point p1 X, Y, and Z coordinates of coupler point q1 X, Y, and Z coordinates of coupler point r1 Angular displacement (in degrees) about joint axis ub0
a
The mechanism output in these files is written for each increment of the crank rotation range defined in rows 23 through 25 in RRRR_Spherical_Simulate.m.
Rigid-body variables (e.g., p1, q1, r1)
b1
a1 Y X Z a0
ub0 b0
FIGURE G.12 4R Spherical mechanism.
When using values ±0.1, ±0.01, or ±0.001 for step_ang in the file RRRR_ Spherical_Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
G.7 RSSR-SS MECHANISM Appendix G.7 folder (which is available for download at www.crcpress.com) includes three MATLAB and SimMechanics files for the kinematic analysis and simulation of RSSR-SS mechanisms. These three files are described in Table G.13. To conduct a kinematic analysis, the user specifies the mechanism link dimensions and the crank motion parameters in the file RSSR_SS_Simulate.m. Values are specified for link variables a0, a1, b0, b1, ua0, ub0, c0, c1, p1, q1, and r1, respectively. Additionally, values are specified for the initial crank angle (start_ang), the crank
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
341
TABLE G.13 Appendix G.7 MATLAB® and SimMechanics® Files Filename RSSR_SS_Prepare.m RSSR_SS_Model.mdl Post_Simulation_Task.m
Use of File To specify mechanism link dimensions and crank link controls To calculate mechanism output and simulate mechanism motion To write mechanism output (compatible with Microsoft Excel)
%------------------------------------------------------------% Here, values for the RSSR-SS mechanism variables a0, ua0, a1, % b0, ub0, b1, c0, c1 and coupler points P1, Q1 and R1 are % assigned. a0 = [0, 0.0230, –0.0791]; ua0 = [0.2705, 0.0800, 0.9594]; a1 = [–0.4508, 1.9500, –0.1127]; b0 = [0.8236, 0.2848, –0.2711]; ub0 = [0.5965, 0.1729, 0.7838]; b1 = [0.8097, 2.6941, –0.7919]; c0 = [0, 0, –1]; c1 = [–0.4655, 1.7992, –1.3256]; P1 = [–1.1176, 3.8219, –0.9088]; Q1 = [0.3947, 2.8777, –0.7801]; R1 = [–0.5918, 2.6499, –1.1277]; %------------------------------------------------------------%------------------------------------------------------------% Here, values for the start, step and stop displacement angles % for the crank link are assigned. start_ang = 0; step_ang = 30; stop_ang = 360; %-------------------------------------------------------------
FIGURE G.13 Sections of RSSR_SS_Simulate.m with sample values given in bold.
rotation increment (step_ang), and the final crank angle (stop_ang), respectively. Figure G.13 illustrates the user input sections of the file RSSR_SS_Simulate.m with sample values given in bold.* After specifying the mechanism dimensions and driving link parameters in the file RSSR_ SS_ Simulate.m, the next step is to run this file. To run the file, the user can use the “F5” button or the Run RSSR_ SS_ Simulate.m button in the toolbar.† * Only positive or negative integer values should be specified for start_ang and stop_ang. The authors recommend minimum values of ±1, ±0.1, ±0.01, or ±0.001 for step_ang. † This button is a green triangle (over a white square) and the text Run RSSR_SS_Simulate.m appears when the cursor is over it.
342
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
TABLE G.14 Output Files from Appendix G.7 MATLAB® and SimMechanics® Filesa Contents (See Figure G.14 for Mechanism Reference)
Filename p1_disp.csv q1_disp.csv r1_disp.csv ub0_ang_disp.csv a
X, Y, and Z coordinates of rigid-body point p1 X, Y, and Z coordinates of rigid-body point q1 X, Y, and Z coordinates of rigid-body point r1 Angular displacement (in degrees) about joint axis ub0
The mechanism output in these files is written for each increment of the crank rotation range defined in RSSR_SS_Simulate.m.
Rigid-body variables (e.g., p1, q1, r1)
b1
c1
a1
c0 ub0 b0
Y a0
X ua0
Z
FIGURE G.14 RSSR-SS mechanism.
When running this file, four files are written in a folder named Results (in a format compatible with Microsoft Excel) that includes calculated mechanism output at each crank link rotation increment. The four files are described in Table G.14. Also, when running RSSR_ SS_ Simulate.m, a graphical user interface appears where RSSR-SS mechanism motion is simulated in motion over the defined crank rotation range.* To replay this simulation, the user could select “Simulation” in the top menu of this GUI and then “Start” in the drop-down menu (or use “Ctrl+T”). * The passive DOF in the S-S link must be eliminated to produce a working RSSR-SS simulation in SimMechanics®. To achieve this, a massless S-S link (which is not visible in a simulation) is used. As a result, the S-S link does not appear in the RSSR-SS simulation.
Appendix G: User Instructions for MATLAB® and SimMechanics® Files
343
When using values ±0.1, ±0.01, or ±0.001 for step_ang in the file RSSR_SS_ Simulate.m, it would be helpful to modify start_ang and stop_ang to produce a smaller crank rotation range. Doing this will reduce the solution calculation time and the amount of data written to the output files. We recommend the user begins with a step_ang value of ±1 and progresses to the smaller values (with correspondingly smaller crank rotation ranges).
MACHINE DESIGN
Mechanism Design Visual and Programmable Approaches In the field of mechanism design, kinematic synthesis is a creative means to produce mechanism solutions. Combined with the emergence of powerful personal computers, mathematical analysis software and the development of quantitative methods for kinematic synthesis, there is an endless variety of possible mechanism solutions that users are free to explore, realize, and evaluate for any given problem in an efficient and practical manner. Mechanism Design: Visual and Programmable Approaches provides a broad introduction to kinematic synthesis, presenting and applying motion, path, and function generation methodologies for some of the most basic planar and spatial single- and multiloop linkage systems. This work provides numerous in-chapter synthesis examples and end-of-chapter synthesis problems. Users can also invent their own specialized synthesis problems according to their particular interests. The commercial mathematical software package MATLAB® and its mechanical system modeling and simulation module SimMechanics® are thoroughly integrated in this textbook for mechanism synthesis and analysis. The reader is therefore enabled to readily apply the design approaches presented in this textbook to synthesize mechanism systems and visualize their results. With this knowledge of both kinematic synthesis theory and computer-based application, readers will be well-equipped to invent novel mechanical system designs for a wide range of applications.
K16470
an business w w w. c r c p r e s s . c o m
6000 Broken Sound Parkway, NW Suite 300, Boca Raton, FL 33487 711 Third Avenue New York, NY 10017 2 Park Square, Milton Park Abingdon, Oxon OX14 4RN, UK
w w w. c rc p r e s s . c o m