A FRAMEWORK OF DESIGN TOOLS INTEGRATION FOR ROBOTIC MECHANISMS. A Thesis. Presented to. The Graduate Faculty of the University of Akron

Size: px
Start display at page:

Download "A FRAMEWORK OF DESIGN TOOLS INTEGRATION FOR ROBOTIC MECHANISMS. A Thesis. Presented to. The Graduate Faculty of the University of Akron"

Transcription

1 A FRAMEWORK OF DESIGN TOOLS INTEGRATION FOR ROBOTIC MECHANISMS A Thesis Presented to The Graduate Faculty of the University of Akron In Partial Fulfillment of the Requirements for the Degree Master of Science Seth Clark December 2005

2 A FRAMEWORK OF DESIGN TOOLS INTEGRATION FOR ROBOTIC MECHANISMS Seth Clark Thesis Approved: Accepted: Advisor Dr. Yueh-Jaw Lin Department Chair Dr. Celal Batur Faculty Reader Dr. Jon Gerhardt Dean of the College Dr. George Haritos Faculty Reader Dr. Paul Lam Dean of the Graduate School Dr. George R. Newkome Date ii

3 ABSTRACT In this thesis, a CAD-based integration method for analyzing and verifying robotic mechanisms design is proposed. It is accomplished by bling the unique capabilities of two popular engineering CAD packages, namely, the mathematical computations in Matlab and the virtual prototyping functions in Pro/Mechanica. The work is motivated by the fact that current structural design of complex mechanisms such as robots still requires substantial efforts of human intervention even with CAD assistance. One of the major challenges in mechanical design of robotic mechanisms is the analytical computations due to the motion interactions among the many linkages and joints of the robot assembly. In this work it is proposed to take advantage of the numerical computation capability of Matlab to complete the first portion of design tasks. Consequently, the proposed integration of these two CAD tools comes into play, which involves writing the joint angle values calculated from Matlab to.tab text files first. These.tab files are then directly used as the input for joint angle drivers in Pro/Mechanica s virtual motion analysis tool. The proposed method realizes design automation of robotic mechanisms and provides design flexibility by allowing the designers to change designated critical design parameters rather easily and quickly within the bled Matlab and Pro/Mechanica design environment. As a result, it greatly reduces total design cycle time of complex mechanisms. iii

4 To show the efficiency and effectiveness of the proposed method, several case studies are conducted aimed at the design analysis and verification of a six-degree-offreedom PUMA industrial robot. Identifying the significant parameters of the PUMA robot along with the desired position and orientation of the manipulator -effector, the six unknown joint angles are first solved for in Matlab, with eight different possible solutions. The Matlab codes are also capable of solving for a series of joints positions and orientations, which correspond to the desired -effector motion moving along a prescribed spiral trajectory outwards horizontally from the base. On the other hand, the PUMA robot is modeled and assembled as a motion mechanism in Pro/Mechanica. The PUMA robot s joint angle drivers are set in Pro/Mechanica according to the joint data.tab files. A Motion analysis of the current design is then run to enable visual inspections of robot movements and facilitate graphical analysis of design performance. In addition, a complex case study is completed which shows the capability of two coordinating PUMA robots following a prescribed path, for a scenario of being able to coordinately hold a common object together. The successful experiments with these case studies prove that the proposed integrated method is effective. That is, the design process of complex mechanisms such as robot manipulators can be largely automated by using the integrated CAD means proposed in this thesis. The contributions of the work in design cost saving, performance verification, structural flexibility, as well as assembly dynamics are all evidenced. Future work along the line includes generalizing the proposed design automation method into that of all sorts of complex mechanisms. iv

5 TABLE OF CONTENTS LIST OF TABLES...viii LIST OF FIGURES ix Page CHAPTER I. INTRODUCTION Objective of the Thesis Overview of the Thesis 2 II. LITERATURE REVIEW 3 III. GENERAL MECHANISM DESIGN REQUIREMENTS Classification and Types of Joints DOF of Planar Mechanisms DOF of Spatial Mechanisms..12 IV. ROBOTIC MECHANISM DESIGN REQUIREMENTS Industrial Robots Automation Classification Forward and Reverse Kinematic Analyses 15 v

6 4.3 Motion Planning Multiple Coordinated Robots Robotic Joint Parameters...17 V. TOOLS INTEGRATION Matlab Pro/ENGINEER Creating the Parts of the PUMA Robot Assembling the Mechanism Setting up the Motion Model Motion Analysis Viewing the Results...46 VI. CAD-BASED CASE STUDIES Case Study I: Static Position Analysis Case Study II: Animation Case Study Assigning the End Point Path Creating Table Drivers Creating Measures Creating a New Motion Analysis Running PUMA Motion Analysis Viewing the Results Case Study III: Two Coordinating PUMAs Assigning the End Point Path Creating Table Drivers..78 vi

7 6.3.3 Creating Measures Running 2PUMAS Motion Analysis Viewing the Results...79 VII.CONCLUSIONS AND FUTURE RESEARCH Conclusion Recommations and Future Research 89 REFERENCES 90 APPENDICES.92 APPENDIX A: SOLVING FOR THE JOINT ANGLES OF THE PUMA INDUSTRIAL ROBOT..93 APPENDIX B: SOLVING FOR THE PARAMETERS OF SPHERICAL CLOSED-LOOP MECHANISMS.98 APPENDIX C: MATLAB PROGRAM puma.m APPENDIX D: MATLAB PROGRAM animatepuma.m..116 APPENDIX E: MATLAB PROGRAM animatetwopumas.m APPENDIX F: RESULTS FROM animatepuma.m FOR CASE STUDY II 137 APPENDIX G: RESULTS OF animatetwopuma FOR CASE STUDY III vii

8 LIST OF TABLES Table Page 3.1 Common lower pair joints Mechanism parameters for PUMA robot Updated mechanism parameters Joint angle solutions calculated from puma.m Solutions from Crane III and Duffy.53 viii

9 LIST OF FIGURES Figure Page 4.1 Joint parameters Tools Integration Flow Chart Pro/ENGINEER standard environment Units Manager dialog box pumabase.prt puma1.prt puma2.prt puma3.prt puma4.prt puma5.prt puma6.prt Component Placement dialog box The final PUMA assembly, puma.asm The Motion Model menu Materials dialog box Bodies dialog box Body Definition dialog box.38 ix

10 5.17 Joint Create dialog box Create Joint Driver dialog box Create Loads menu Analyses dialog box Motion Analysis Definition dialog box Motion Graph menu End-Effector Orientation PUMA with point defined Eight position possibilities for Case Study I End-effector position for eight different joint angle solutions Create Point Measure dialog box Motion analysis for puma.asm Run dialog box Animation Control dialog box Trace curve of the point of the -effector Various positions during the animation of Case Study II Select One or More Measures dialog box End-effector position for Case Study II Position, velocity, and acceleration for φ Position, velocity, and acceleration for θ Position, velocity, and acceleration for θ Position, velocity, and acceleration for θ Position, velocity, and acceleration for θ x

11 6.18 Position, velocity, and acceleration for θ Path curve for Case Study III Various positions during the animation of Case Study III End-effector position for Case Study III Position of φ 1 left and right Position of θ 2 left and right Position of θ 3 left and right Position of θ 4 left and right Position of θ 5 left and right Position of θ 6 left and right..87 xi

12 CHAPTER I INTRODUCTION 1.1 Objective of the Thesis The purpose of this thesis is to present a design tools integration method to solve for and animate the kinematics of robotic mechanisms. The tools that are integrated are Matlab and Pro/Engineer. The mathematical capabilities of Matlab are used to solve the kinematic equations of a robotic mechanism. The inputs of the Matlab program include the mechanism parameters and the specified path and orientation of the robot s effector. The joint angle values are the calculated output of the program. This joint angle data is written to a text file, which is inputted as the driver data for the joint angle in Pro/Mechanica Motion. The solid modeling capabilities of Pro/Engineer and the virtual prototyping of Pro/Mechanica are then used to model and animate the desired motion of the mechanism. With this method, solving the complex set of equations for the inverse kinematics of the mechanism is handled quickly. It also allows the parameters of the mechanism to be changed quickly, allowing for easy recalculation of the mechanisms path and orientation in its environment. The integration method is such that the changes made in Matlab will update the text files, which updates the joint angle drivers in Pro/Mechanica. The CAD 1

13 models can also be changed easily within Pro/Engineer, allowing any changes in mechanism parameters to be altered to match the values in the Matlab program. 1.2 Overview of the Thesis Chapter II of the thesis provides a review of the literature that deals with mechanism and robotic manipulator design and motion. Chapter III gives a background of design requirements for general mechanisms. The concepts of mobility and degrees-of-freedom are also discussed. Chapter IV introduces some the design requirements specifically for robotic mechanisms. The chapter also includes an introduction and classification of industrial robots. Chapter V describes in detail the software tools used. Matlab and Pro/E are discussed, as well as the integration of the two. To show the usefulness of the integration method, chapter VI presents three different case studies. The case studies are based on a PUMA industrial robot. The first case study is a static position analysis. The last two studies animate the mechanism, the latter animating two PUMAs coordinating together. Chapter VII consists of the conclusion and recommations. 2

14 CHAPTER II LITERATURE REVIEW This chapter will outline some of the work that has been done in mechanism design in the past few years. The papers vary from calculating the mechanism parameters based on goal positions to studying the motion of a mechanism to perform a specific task. Lee and Chang propose a CAD/CAE/CAM integrated system for robotic prototyping. The system uses Matlab to solve for the position of the manipulator based on the Denavit-Hartenburg coordinate transformations. The robotic manipulator is then modeled in Pro/Engineer, which is then transferred to Pro/Mechanica. The material properties, constraints and drivers are applied in Pro/Mechanica, where the simulation is performed. The next three journals deal with designing mechanism parameters based on goal positions and/or orientations. Ruth and McCarthy present a CAD software system, which determines an array of possible linkages for a spherical four-bar mechanism. The linkage parameters are determined based on four specified orientations. The design software used is SPHYNXPC. The orientations that the linkage must pass through are defined by longitude, latitude, and roll of the coupler link. The possible solutions for the geometry of the four links are given as arrays. 3

15 Lee and Mavroidis discuss the geometric design of spatial PRR manipulators. The design is based on four specified positions and orientations of the -effector of the robot. With each joint having its own reference frame, the position of each joint frame can be calculated using combinations of matrix transformations. The unknown parameters are the link geometries and the joint angles. Using polynomial elimination techniques, 12 possible solutions can be found for the manipulator geometry, with each solution yielding a different position for the three joint angles. Su and McCarthy examine the geometric design of an RPS kinematic chain. This open-ed spatial robotic arm can move its manipulator with five degrees of freedom. The workspace area for the arm without the -effector is described by a hyperboloid, whose shape is determined by the characteristics of the revolute and prismatic joints and those links to which they are attached. The -effector can then be rotated freely about the spherical joint. The robot is designed base on up to ten goal positions. The parameters are solved for based on the goal positions, with up to thousands of possible solutions. Setting some of the parameters can reduce the number of solutions, allowing the remaining parameters to be solved for more quickly. Similar to the previous journals, Ceccarelli and Lanni present a paper that optimizes mechanism design based on the workspace limits of the manipulator mechanism. The workspace can be simplified into a radial reach and an axial reach, based on the frame location of the manipulator. An example is done using a 3R manipulator. The workspace of such a manipulator is generated by the intersecting tori that are found by the revolution of the R2 and R3 joints. 4

16 In the next two journals, the problem of motion specification and motion tracking of robotic mechanisms is discussed. Kenney and Howard discuss motion specification as a two-level problem. The first level being the macro level, which involves understanding the relationship between the mechanism and its environment. The second level is the micro level, which is a quantitative description of the motion. They also separate the motion specification into elements and processes. The elements include the mechanism and the part being worked on. The process or set of processes of the mechanism is a set of activities that follow a certain order. The processes are necessary in order to determine the motion specifications. The authors also define a methodology for motion specification; identification of elements, conceptual motion specification, influence diagrams, interaction between processes, and identifying constraints. Colbaugh and Glass present a control strategy for tracking the motion of a robotic manipulator without calculating the dynamics or inverse kinematic transformations. The control strategy is relatively simple, and allows stable tracking control with only position measurements, and without knowing the dynamic or velocity measurements of the system. A simulation study was done on a six degree-of-freedom PUMA industrial robot. The simulation required that the manipulator follow a prescribed position and orientation path, based on nominal performance, where no external disturbances were applied to the system. The trajectory tracking was shown to be successful, with a maximum translational error of 0.05 inches and maximum rotational error of 0.7. Two of the related journals dealt with specific examples of motion tracking and mechanism design for real world applications. Liu and Dai present a model for the 5

17 trajectory planning of multiple robotic hands folding a carton for packaging applications. The package is modeled as a mechanism itself, where the panels are links and the creases are joints. The model focuses on configuration control points (CCPs), which are points where the point of the finger robot contacts the package panel. The goal is to minimize the number of CCPs, then generate the folding path of each one. Finally, the folding path data is downloaded into the robots. Pashkevich, Dolgui, and Semkin present a case for solving the kinematic control of an arc welding station. An arc welding station may consist of a 6-axis robot, or tool manipulator, a 1 or 2-axis positioner, or object manipulator, and/or a 2 or 3-axis gantry, which manipulates the base of the robotic arm. The authors give three main tasks for the control system; optimize weld joint orientation relative to the gravity vector, optimize welding tool orientation relative to the weld joint, and optimize robot base location. The control hierarchy is started with a weld task that defines the motion of the weld torch and weld joint. This defines the weld sequence that eventually defines the motion of the joint angles and axis motion for the robot, positioner, and gantry. The problem is solved using both direct and inverse kinematics. The control algorithms developed in this paper are used in the application of the ROBOMAX CAD package, which is used for the computer-aided design of and off-line control of robotic welding stations. One of the case studies, which are performed in Chapter VI, uses two coordinating robotic arms to follow a path. The applications for multiple coordinated robotic arms include handling of heavy or complex objects, assembly of objects, and object grasping. These systems are also more complex, requiring the kinematics and dynamics of the arms 6

18 to be coordinated. The final three literature reviews discuss the control of multiple coordinating robots. Vukobratovic and Tuneski propose an adaptive control law to control multiple robotic manipulators. They define the motion task for multiple manipulators as moving the object along a predetermined known trajectory on the constraint environment. This control law may be implemented when: (i) there is no good understanding of all physical effects incorporated in the multiple robots/object/environment system to be controlled; (ii) the parameters of the system are not precisely known; (iii) the system parameters do vary in a known region about their nominal values. To show the successfulness of the control law, an example is done based on two AdeptOne robots moving an object along a predetermined path. Kawasaki, Shimizu, and Ito present an adaptive coordinated control method for multiple robotic mechanisms. The two objectives of the paper are the motion of the object being grasped between the two arms, and the internal force exerted on that object. The positions and velocities of the arms and the manipulated object are the only measurements taken to estimate the dynamics of the arms and the object. Each arm is controlled indepently of the other arms. A simulation was performed to show the success of the proposed method. Lilly presents a model for simple closed-chain mechanisms, which are defined by a number of mechanism chains supporting a single reference frame. It is desired to determine the motion of the system based on the applied forces. The method in this book 7

19 allows each chain to be analyzed indepently of the other chains. The position and velocity of each chain is given, as well as the motion of the support are known. 8

20 CHAPTER III GENERAL MECHANISM DESIGN REQUIREMENTS According to Waldron, mechanisms are solid members connected together by joints, which transfer motion and mechanical work from one or more actuators to one or more output members. A joint connects more than one rigid bodies, or links, and allows relative motion between them. One of the most important aspects of mechanism design is determining the correct joint type, based on the joints number of degrees of freedom. Degrees of freedom (DOF) of a mechanism can also be described as mobility. A rigid body unconstrained in free space has six DOF; 3 rotational and 3 translational, one about and one along the x, y, and z-axes of the Cartesian coordinate space. 3.1 Classification and Types of Joints There are two classifications of mechanism joints: higher pairs and lower pairs. Lower pairs are joints in which contact occurs at every point of one or more surface segments. The contact in higher joint pairs occurs only at concentrated points or along line segments. The six common types of lower pair joints are the revolute joint, prismatic joint, screw joint, cylindrical joint, spherical joint, and planar joint. Revolute, prismatic, and screw joints allow only one degree of freedom each. A revolute joint allows one 9

21 rotational degree of freedom, while a prismatic joint allows one translational degree of freedom. A screw joint is allowed one rotational degree of freedom, which results in a translational motion, both about the same axis. A cylindrical joint allows two degrees of freedom between its links, one rotational and one translational about the same axis. A spherical joint and a planar joint both allow three degrees of freedom. Spherical joints allow all three rotational degrees of freedom, while planar joints restrict motion to one plane, with two translational and one rotational degree of freedom. Table 3.1 lists each lower pair joint, along with their respective degrees of freedom. Table 3.1 Common lower pair joints Joint Rotational DOF Translational DOF Total DOF Revolute Prismatic Screw Cylindrical Spherical Planar Due to the nature of higher pair joints, there are an infinite number of possible joint configurations. A few of the more common joint pairs are a cylindrical roller, cam pair, rolling ball, and spatial point contact. In some instances, higher pairs can be used to create lower pair joints. An example is a ball bearing, where the balls in the bearing act as higher pair rolling balls, yet the overall motion allowed is that of a revolute joint. 10

22 3.2 DOF of Planar Mechanisms Mechanisms can be classified as either planar or spatial. The simpler form of mechanism is the planar mechanism. Planar mechanisms are limited to motion in one plane. This limits their mobility to no greater than 3, two directions of translation and one direction of rotation. Given the nature of their mobility, planar mechanisms can only be made up of revolute and prismatic joints. Knowing the degrees of freedom allowed by individual joints, the total DOF, or mobility of a mechanism can be calculated. Using the mobility equation from Waldron, the mobility of a planar mechanism can be calculated from equation 3.1. ( ) M = 3 n j 1 + f i j i = where M is the mobility, n is the number of links, j is the number of joints, and f i is the DOF of the i-th joint. As an example, the mobility of a closed, 4-bar mechanism connected by four revolute joints is calculated below. n = 4 j = 4 Each revolute joint allows one DOF, therefore: j f i = = i= M = 34 ( 4 1) + 4= 1 This 4-bar mechanism has a mobility of one, or one DOF. Another example, an open ed 4-bar, with three revolute joints is calculated as follows: 11

23 M = 34 ( 3 1) + ( ) = 3 It can be seen that with the removal of one revolute joint, the mobility of the mechanism can be increased from one to three DOF. 3.3 DOF of Spatial Mechanisms Spatial mechanisms are those that are allowed to move in three-dimensional space. An unconstrained body in free space has six degrees of freedom. The equation from Waldron for calculating mobility in spatial mechanisms is shown below in equation 3.2. ( ) M = 6 n j 1 + f i j i= It is known that a PUMA industrial robot has six DOF. This can be confirmed using equation 3.2. The number of joints for this mechanism is seven, including the ground link, with six single DOF revolute joints connecting them. n = 7 j = 6 j f i = = i= M = 67 ( 6 1) + 6= 6 This confirms that the mobility of the PUMA robot is six. 12

24 CHAPTER IV ROBOTIC MECHANISM DESIGN REQUIREMENTS As was discussed in the previous chapter, mechanisms can be classified as open or closed and planar or spatial. A typical industrial robot will be open chained and spatial, although they may also consist of one or more closed loops. An open chain mechanism typically allows for more mobility, with one attached to a base, and one free, not attached to the base or any other frame. Open chain robotic arms usually consist of an -effector or a manipulator at their free. These are typically grippers or a tool used to manipulate objects in the environment. 4.1 Industrial Robots Chapter VI of this thesis deals with three case studies focused on the PUMA industrial robot. Industrial robots aim at replacing the human factor in manufacturing processes. The three basic areas in which industrial robots are currently being used are material handling, manipulation, and measurement [Sciavicco and Siciliano]. Material handling usually involves simpler tasks, such as moving an object from one location to another. Tasks may include loading and unloading, sorting, and packaging. Manipulation deals with altering an object or joining together objects. Examples include welding, painting, milling, and assembly. Industrial robots can also be employed to 13

25 perform measurement tasks. These measurements can be used for quality checks, such as finding imperfections in parts and measuring part dimensions and shapes for fitments and tolerances Automation Industrial robots are used to carry out manufacturing processes autonomously. Automation is used in order to replace human beings, not only for physical operations, but also intelligent information processing pertaining to the assigned operation [Sciavicco and Siciliano]. There are three levels of automation. The first is Rigid Automation. Rigid automation deals with a fixed process or sequence of commands that will not change for the robot. Robots with this automation level perform one and only one specialized task. Programmable Automation allows the robot to change between several different tasks by programming the desired task into the robot. This robot would typically be used where just one robot is available to perform several different tasks on more than one product. The most versatile level of industrial robot automation is Flexible Automation. Like programmable, flexible automation allows the automation of several different tasks. However, it does not require reprogramming of the robot to change tasks, thus reducing the total manufacturing time Classification Industrial robots can be classified into five different structures [Sciavicco and Siciliano]. The first structure is the Cartesian manipulator. It consists of three prismatic 14

26 joints with mutually orthogonal axes. They allow three degrees of translational movement in Cartesian space. Cartesian manipulators are often employed to perform straight-line tasks, typically for material handling. The next type of industrial manipulator is the Cylindrical manipulator. This is similar to the Cartesian manipulator, except for the first prismatic joint, which is replaced with a revolute joint. A cylindrical manipulator allows the workspace to be defined around the entire robot. They are also typically used for material handling. If the second prismatic joint of the Cartesian manipulator is also replaced with a revolute joint, the result is a Spherical manipulator. Just as the name implies, they allow for a spherical workspace around the robot. These are typically used in manipulation applications. Finally, the Anthropomorphic manipulator consists of three revolute joints. The second and third joints are parallel to each other, while the first joint acts perpicular to the other two. Anthropomorphic robots are the most versatile and can be used in almost any application. The PUMA robot is an example of an anthropomorphic manipulator. 4.2 Forward and Reverse Kinematic Analyses There are two different ways to analyze open chain mechanisms. They are the forward kinematic analysis, and the reverse kinematic analysis. The forward kinematic analysis solves for the position and orientation of the effector, given the joint angles of all of the joints in the chain. The inverse kinematic analysis solves for the joint angles of each joint based on the position and orientation of the effector. The inverse 15

27 method is more complicated than the forward analysis, because there may be more than one solution for a given -effector position and orientation. The inverse kinematic method of an open-chained robotic manipulator begins by the creation of a hypothetical closure link. This is an imaginary link, which connects the point of the -effector to the origin of the frame. This creates a closed-chain mechanism from the open-chain. A vector loop can be created around this closed chain to solve for the unknown joint angles. 4.3 Motion Planning There are two different aspects of motion planning; path planning and trajectory planning. Path planning consists of only the geometric path of points that the effector should travel through. Trajectory planning takes into consideration the velocity and acceleration of the -effector at each point in the path. Motion planning can be used to maneuver an object through an environment. In some industrial applications, such as welding and painting, the path of the point as well as the orientation of the manipulator must be controlled to perform the specific task at hand. In other cases, a path may be needed to avoid other obstacles within the working environment of the robot. 4.4 Multiple Coordinated Robots There may be some applications for robotics where more than one robotic arm working together may be needed to perform a certain task. Such tasks may include 16

28 moving a large or heavy object or manipulating complex objects in the environment. If two open-ed robots are working together, for example, they form a closed chain mechanism. This closed-chain mechanism can be solved with a vector loop. 4.5 Robotic Joint Parameters The coordinate systems and joint parameters of a revolute joint are labeled below in figure 4.1. The unit vector S j represents the direction of the joint offset of joint j, and is in reference to the frame coordinate system. The joint offset is measured along the z j - axis, the axis of rotation of the revolute joint. Corresponding to this vector is the scalar Sj, which represents the distance between unit vectors a ij and a jk, measured along the vector S j. 17

29 Figure 4.1 Joint parameters The vectors a ij and a jk run along the x i and x j -axes, respectively, and represent the direction of the link length referenced to the frame coordinate system. Joints i and j are connected by link ij, the length of which is represented by the scalar a ij. The twist angle, α ij, is the angle measured from S j and a line parallel to S i. The unit vectors and twist angle can be defined by the equation S i S j = a ij sin α ij. 18

30 CHAPTER V TOOLS INTEGRATION The goal of this report is to integrate two powerful design tools. The two tools used were Matlab programming software and Pro/Engineer solid-modeling software. Matlab is used to solve the kinematic analysis of the mechanism. Using Pro/E, the mechanism being analyzed can be modeled in a three-dimensional environment. The Motion package of Pro/Mechanica can then be used in conjunction with the solved mechanism parameters from Matlab to animate the mechanism. This method can be a powerful tool in determining the design requirements and performance of virtually any mechanism. Figure 5.1 displays a flow chart, showing the integration process. 19

31 Figure 5.1 Tools Integration Flow Chart 5.1 Matlab Matlab is programming software, which stands for Matrix Laboratory. It can be used to solve a series of equations and matrices, given input parameters. For a static analysis of a mechanism, the equations are simply input into a new.m file, with the inputs being the joint angles for a forward kinematic analysis or desired position and orientation for an inverse analysis. This.m file can then be run in the Matlab command window, where it will solve for the unknowns. 20

32 Matlab can also be used to solve for a series of positions in one program. The for loop will repeat a set of commands while the defined for variable is within a certain range. The commands to be repeated are ed at the command. The user can set the number of times the commands are repeated. This is done by setting the for variable with a start and number, and an increment number. For example, the variable t will be run from t i to t f, at increments of dt: for t = [ti:dt:tf] where the first and last numbers represent the start and values, respectively, and the middle number represents the increment value. Every variable in the program that is a function of t must have (t) beside it, this enables the user to recall a value at a specific increment. Matlab also has the ability to create a new text file, creating text columns from matrices. The command for this is dlmwrite. dlmwrite( newfile.tab, M, \t ) creates a new text file named newfile.tab that contains the columns and rows of matrix M. The \t is used to place a tab between the two columns of data. This command comes in handy when integrating Matlab with Pro/Mechanica Motion. It can be used to write matrices consisting of the time step values and the joint angle values into text format in the.tab file. This.tab file can then be used as a motion driver in Pro/Mechanica, which is discussed in further detail later in the chapter. 21

33 5.2 Pro/ENGINEER Pro/Engineer is a solid modeling CAD program. The version of Pro/E used in this report was Pro/E Wildfire 2000i 2 Student Edition. The first step in creating a mechanism in Pro/E is creating the individual parts that will make up the mechanism. This is done in the Pro/E standard program. The new part, or.prt, file should be oriented according to the mechanism parameters defined in Chapter IV and below in Table 5.1. For this paper, the PUMA industrial robot will be modeled. The 6-DOF PUMA robot can be described as a waist-shoulder-elbow-wrist anthropomorphic robot. Using the same notation found in Crane III and Duffy, the mechanism parameters of the PUMA robot are listed below in Table 5.1. Table 5.1 Mechanism parameters for PUMA robot Link Length (in.) Twist Angle (deg.) Joint Offset (in.) Joint Angle (deg.) a12 = 0 α12 = 90 φ1 = Variable a23 = 17 α23 = 0 S2 = 5.9 θ2 = Variable a34 = 0.8 α34 = 270 S3 = 0 θ3 = Variable a45 = 0 α45 = 90 S4 = 17 θ4 = Variable a56 = 0 α56 = 90 S5 = 0 θ5 = Variable θ6 = Variable The joint angles vary deping upon the position and orientation of the -effector. Figure 5.2 shows a blank screen at the start of Pro/Engineer. The Menu Manager, shown on the right side of Figure 5.2, allows the user to create and modify part features. 22

34 Figure 5.2 Pro/ENGINEER standard environment The first step in creating a new part is selecting the correct set of units. From Table 5.1, it can be seen that the desired unit of length is inches. From the menu manager, select Units. The Units Manager dialog box will open, displaying the list of available principal units. Figure 5.3 shows the Units Manager dialog box open, with the correct units selected: Inch lbm Second (Pro/E Default). 23

35 Figure 5.3 Units Manager dialog box This is the default unit setting, where length is in inches, mass is in pounds mass, and time is in seconds. Click the Close button to exit the dialog box Creating the Parts of the PUMA Robot Now the parts can be created. A total of seven parts will be constructed, six mechanism links and a seventh part to be used as the base of the mechanism. The first part to be drawn is that base, named pumabase.prt. The shape of the base is irrelevant as long as there is a hole to line the first link into, with a datum point at the center of the bottom of the hole to make a proper connection in Pro/Mechanica. Connections will be discussed further in the chapter. Figure 5.4 shows the final drawing of the base plate. Notice the datum point PNT0. 24

36 Figure 5.4 pumabase.prt The second part is the first link in the open chain, named puma1.prt. This is the vertical link, which will sit inside the base plate. This part, along with the base plate can be thought of as the waist joint, rotating about the z-axis. The vector S 1, which represents the joint offset, points along the z-axis of puma1, which also points along the axial direction of the link. A datum point should be placed at the bottom surface of the part, in the center of the circle, such that it will align with datum point PNT0 later in Motion. The height of puma1 is arbitrary, because the origin of the mechanism is at the shoulder joint between link 1 and link 2, which is at the top of puma1. For this application it was chosen to be 20 inches. Figure 5.5 shows puma1, where PNT0 will align with PNT0 from pumabase and PNT1 will align with a datum point on link 2. 25

37 Figure 5.5 puma1.prt The second link of the robotic arm is puma2.prt, shown in figure 5.6. The shoulder extension, forming joint 2, runs along the z-axis of the LCS of puma2. The datum point PNT0 is set at 5.9 inches from the LCS along the z-axis. This represents the joint offset, S 2, of the link from the LCS. The length of puma2 corresponds to a 23, the link length along the x-axis, which is 17 inches. The smaller extension will form the elbow joint with link 3. Notice the datum point, PNT1, which is placed at the of this extension, to form a connection with PNT0 of puma3.prt. 26

38 Figure 5.6 puma2.prt Puma3.prt, shown in figure 5.7, forms link 3. The LCS is located in the center of the hole along the z-axis. a 34, the link length of 0.8 inches, is measured from the LCS to the geometric centerline of the part. According to the mechanism parameters, the joint offset, S 4, is 17 inches. In this case, the joint offset runs along the longer section of puma3. PNT1 is placed at the bottom center of a cutout to be used as the connection with PNT0 of puma4.prt. 27

39 Figure 5.7 puma3.prt The geometric length of puma3 was chosen to be 15 inches. With the creation of puma4.prt, the joint offset is made to be 17 inches. Puma4 is shown in figure

40 Figure 5.8 puma4.prt The joint offsets and link lengths for puma4 and puma5.prt are all equal to 0. These links, with puma3 and puma6.prt, form joints 4,5, and 6, which collectively can be described as the wrist joint. Puma5 and puma6 are shown below in figures 5.9 and 5.10, respectively. Notice the datum points, where PNT1 of puma4 will connect with PNT0 of puma5, and PNT1 of puma5 will connect with PNT0 of puma6. 29

41 Figure 5.9 puma5.prt Figure 5.10 puma6.prt 30

42 5.2.2 Assembling the Mechanism Now that each part has been drawn, the parts must be assembled. A new assembly model, called puma.asm is created. To add the first part to the assembly, puma1.prt, select Component>Assemble from the menu manager. The Open window will open, select puma1.prt. The Component Placement dialog box, shown in figure 5.11, will now open. The LCS, of puma1 should be aligned with the world coordinate system, or WCS. Selecting Coord Sys under the Constraints box does this. Choose the LCS of puma1.prt for the Component Reference and the WCS as the Assembly Reference. The part is now fully placed, select OK. 31

43 Figure 5.11 The Component Placement dialog box 32

44 Now that puma1.prt is set in the environment, the remaining links can be placed, in order, starting with puma2.prt. Open the Component Placement dialog box for puma2 in the same manner as puma1. For puma2, use the Insert constraint to place the shoulder extension in line with the cutout along the z-axis from puma1. PNT0 puma2 and PNT1 of puma1 are then Aligned. This process can be repeated to place the remaining parts within the assembly model. The final part to be added is pumabase.prt. Simply align its PNT0 with PNT0 of puma1, and use the insert constraint to finalize the position in the base. Figure 5.12 shows the final PUMA robot assembly model. This current position is such that the joint angles are all equal to zero. It can be seen that the model cannot be physically placed in this arrangement without interference between parts. 33

45 Figure 5.12 The final PUMA assembly, puma.asm Setting up the Motion Model With the final assembly completed, the Motion model can be started. Enter Pro/MECHANICA by selecting it from the applications menu, then select Motion from the menu manager. The properties and parameters for Motion are shown in figure 5.13 and are described below. 34

46 Figure 5.13 The Motion Model menu A. Defining Material Properties The first step in setting up the mechanism is assigning material properties to each individual part. First, select Properties>Material Properties from the menu manager. The Materials dialog box, shown in figure 5.14, will open with two columns. On the left is a column with a list of predefined materials, labeled Materials in Library:. 35

47 Figure 5.14 Materials dialog box These predefined materials are some of the more common metals, plastics, and ceramics that are used in engineering, and whose properties are already assigned. The desired materials to use can be selected from this column and transferred to the Materials in Model: column on the right, which is initially empty. If none of the materials in the Pro/Mechanica database meet the user requirements, the existing properties of a material can be altered, or new materials can be created. Once the desired materials are selected, they can be assigned to individual parts. With the first material selected, select the Assign tab, and then select the parts to which that material should be assigned. Once all of the parts are assigned a material, the dialog box can be closed. 36

48 B. Bodies As the default, each part in the assembly will be designated as one body. To view the list of bodies in the mechanism, open the Bodies dialog box by selecting it from the menu manager. The dialog box will open with a list, containing PUMABASE and PUMA1-6. In addition to each part, there is also a Ground body. For the mechanism to be attached to a ground or frame, this Ground body must be redefined to include one of the parts in the mechanism. Figure 5.15 Bodies dialog box 37

49 Highlighting the ground body in the list of bodies and selecting Review from the menu on the right will open the Body Definition dialog box. This dialog box will display the number of parts included in the Ground body and also allow the user to enter a short description. If no part has been chosen as the ground, choose Select/Review Parts and highlight pumabase.prt. Figure 5.16 Body Definition dialog box Once the ground parts are established, choose Accept in the Body Definition dialog box and the Bodies dialog box. Now the list of bodies will reflect the changes made, showing PUMA1-6 and Ground. PUMABASE is no longer displayed, because it is part of the Ground body. 38

50 C. Connections Although the mechanism has been assembled and the joints and links have been aligned, Motion still needs the user to create connections at each joint. First, select connections>create from the menu manager. Next, select the datum point PNT0 from pumabase and PNT0 from puma1. Because the datum points are overlapping, one of the points may not be viewable. In this case, right click on the points, and select pick from list. A list of points in the area that was clicked will open. The correct datum points can then be selected. The Joint Create dialog box will open with different joint connection options that can be chosen from. Choose the joint type Pin and click Accept. A new name for the joint can be entered, if desired. Figure 5.17 Joint Create dialog box 39

51 Repeat this step for each joint in the mechanism. All connections in the mechanism are pin joints. The datum point to be selected first for the connection will always be from the lowered number part. For joint 2, first select PNT0 from puma1, then PNT1 from puma2. Although using all pin joints would normally create redundancies, this will be eliminated with the assigning of drivers, later in the chapter. When all joint connections are created, check to be sure that the axes of rotation for each joint are pointing in the proper direction for the parts to move in relation to each other. D. Drivers Drivers are used to define inputs for each joint angle of the mechanism. Select create from the menu manager under drivers, and select the joint axis for which the first driver will be applied. The Create Joint Driver dialog box will open. Figure 5.18 shows this dialog box. The driver can be given a name in the Driver Name: box. 40

52 Figure 5.18 Create Joint Driver dialog box Drivers can be chosen for Position, Velocity, or Acceleration. Position will hold the joint at that specified position for the entire Motion analysis. Velocity will allow the joint to spin or rotate at a constant angular speed. Similarly, acceleration will apply a constant acceleration to the joint. For rotational drivers, radians, rad/sec, and rad/sec 2 are the units, while translational drivers use the principal unit of length, in this case inches. The other choices are for Ramp, Cosine, or Table. A Constant Ramp driver creates a driver whose value will remain constant over time. A Sloped Ramp driver will change in a linear fashion according to the specified slope. Cosine will create a driver that oscillates 41

53 according to the inputted amplitude, period, phase, and offset. Table is used for more complex motion. It uses the data from a table, or.tab, file. The file contains two vertical columns of numerical text, containing an equal number of elements. The left column contains values of time, where the next number is always greater than the last. Corresponding to that time is the driver parameter, a position, velocity, or acceleration value. The Table driver allows the desired parameter to have any value at any time. For more than one driver, simply repeat the steps from above for each joint axis that is to be assigned a driver. E. Initial Conditions Initial conditions can be set for the mechanism to ensure that it will start in the correct position and that it will start with the proper initial velocities and accelerations. To set initial conditions; select Initial Conditions>Create from the menu manager under Motion Model. Select one of the joint axis connections. The Initial Conditions dialog box opens. In this dialog box, initial conditions can be set for position, velocity, and/or acceleration. The initial conditions will need to be redefined before each analysis is run. If table drivers are being used, initial conditions are not needed. F. Loads Although not required to run the model like the above parameters, loads can be applied to the mechanism. There are several different types of loads that can be applied to a part, either on a surface, point, or connection. A gravitational load can also be 42

54 applied. The different types of loads can be seen in the Create Loads menu, shown in Figure Figure 5.19 Create Loads menu 43

55 5.2.4 Motion Analysis The motion analysis will run the full motion analysis and animation of the mechanism, as well as an assembly and velocity analysis. Begin by selecting Analyses from the menu manager. The Analyses dialog box opens. Figure 5.20 Analyses dialog box A new motion analysis can be created by selecting Motion in the New Analysis pull-down menu, which opens the Motion Analysis Definition dialog box. Under this dialog box, shown in figure 5.21, the analysis can be given a new name and a short description. 44

56 Figure 5.21 Motion Analysis Definition dialog box There are two tabs below the Description box, the first being Analysis. The Start Time for the motion can be set at any desired time, in seconds. The Duration is set as the length of time of the motion analysis. The desired number of data points for the analysis to run through can be used to determine the time Increment of the model. If a table driver is to be used, the start and duration times must match those of the time values in the table driver. The default values should be used for the Accuracy, Assembly Tolerance, and Velocity Tolerance. The accuracy and tolerances should only be reduced to reduce the run time. If Fastest Available is selected for Method, Motion does one of the following types of analyses: Time Integration or Kinetostatic. Time integration is used when the 45

57 mechanism has at least one degree of freedom. Kinetostatic is used for structures, when the mechanism has zero degrees of freedom. There are two different types of Integrators, Implicit and Explicit. The default, implicit, should be used in most cases. Termination Conditions can be set to tell the animation to stop before the full motion analysis has been completed. The reason for terminating a motion analysis may be to stop the mechanism after running a specific motion, after the cpu time has reached a defined limit, or if a measure falls outside of a certain range. To run the analysis, select Run from the menu manager, select the desired analysis, and then select Start. According to the Pro/Mechanica help, motion follows the following steps during the Motion analysis: 1. Checks the model for errors 2. Starts the Motion engine 3. Generates a simulator 4. Displays the analysis method 5. Meets the initial conditions, then assembles the model 6. Runs a static analysis 7. Runs a velocity analysis Viewing the Results After a motion analysis is run, there are several different options for viewing results. The two of most importance are Animate and Graph. Query can also be used to evaluate a parameter at a single given time step. Figure 5.22 below shows the Results menu, with the Motion Graph menu opened. 46

58 Figure 5.22 Motion Graph menu 47

59 A graph can be used to show the value of any of the listed parameters in a plot against time. Multiple parameters can also be plotted on the same graph. For example the x, y, and z values of a joint axis position can all be plotted on one graph. To review the animation of the model, select Results>Animation. As well as playing back the motion, trace curves can also be created. A trace curve will create a curve, drawn from a point on the model, displaying that point s position throughout the animation. The following chapter, Chapter VI, will show three case studies that were done based on the PUMA robot modeled in this chapter. 48

60 CHAPTER VI CAD-BASED CASE STUDIES To show how the integration of MATLAB and Pro/ENGINEER can be used in a practical application, three case studies were done based on the PUMA industrial robot case study found in Crane III and Duffy. The robot was modeled in the previous chapter. 6.1 Case Study I: Static Position Analysis Following the case study in the book, a solution can be found using the tools integration method. Figure 6.1 shows a close-up of the -effector, showing how the vectors S 6 and a 67 are oriented. Figure 6.2 shows the robot with the vectors F P tool and 6 P tool labeled. 6 P tool is the point of a tool referenced from the coordinate system of the sixth link, while F P tool is the tool point referenced from the frame coordinate system. 49

61 Figure 6.1 End-Effector Orientation 50

62 Figure 6.2 PUMA with point defined The effector position and orientation are given below: S 6 = 4 in. 6 P tool = F P = tool F S 6 = F a 67 =

63 A MATLAB program was used to calculate the close-the-loop parameters and the joint angles. The program, puma.m, runs through the equations found in appices A and B to determine the unknowns. puma.m can be found in Appix C. Table 6.1 is the updated mechanism parameter table with the closed-loop solutions calculated. Table 6.1 Updated mechanism parameters Link Length (in.) Twist Angle (deg.) Joint Offset (in.) Joint Angle (deg.) a12 = 0 α12 = 90 S1 = φ1 = Variable a23 = 17 α23 = 0 S2 = 5.9 θ2 = Variable a34 = 0.8 α34 = 270 S3 = 0 θ3 = Variable a45 = 0 α45 = 90 S4 = 17 θ4 = Variable a56 = 0 α56 = 90 S5 = 0 θ5 = Variable a67 = 0 α67 = 90 S6 = 4 θ6 = Variable a71 = α71 = S7 = θ7 = Puma.m displays an 8x6 matrix containing the solutions of the six joint angles for all eight possible combinations. A display of the MATLAB result printout is displayed below. P6tool = PFtool = FS6 = Fa67 = S6 = 4 jad =

64 This matrix jad, the joint angles in degrees, is displayed in table format in Table 6.2. Table 6.2 Joint angle solutions calculated from puma.m Solution φ 1 θ 2 θ 3 θ 4 θ 5 θ 6 A B C D E F G H These results can be compared to those calculated by Crane III and Duffy, which are displayed in table 6.3, where = Table 6.3 Solutions from Crane III and Duffy Solution φ 1 θ 2 θ 3 θ 4 θ 5 θ 6 A B C D E F G H

65 This verifies that the correct solutions have been obtained with puma.m. The second aspect of the tools integration method is using Pro/Mechanica to animate mechanism s position. Position drivers are created to obtain a still picture of the robot at each of the eight possible positions. Select Drivers: Create from the menu manager. Select the first connection, joint_1. The Create Joint Driver dialog box opens, rename this driver PHI1, and select Position and check the Ramp box. Enter the value in radians for the first value of φ 1 in the Constant box. Leave the Slope box at zero. Repeat this step for each joint angle, assigning the position in radians to each joint angle from the numbers calculated in puma.m. Figure 6.3 shows the eight positions for the example problem. Figure 6.3 Eight position possibilities for Case Study I 54

66 It appears in figure 6.3 that there are only four different positions, and each is displayed twice. This is not the case. The orientation of the wrist (θ 4, θ 5, and θ 6 ) is such that there are two possible positions for any given orientation. θ 4 and θ 6 can be changed by 180 degrees, while θ 5 is simply the negative of the previous angle. This can be seen back in table 6.2. To confirm the -effector is placed in the correct position, the position was plotted for all eight position possibilities in figure 6.4. A B C D E F G H Figure 6.4 End-effector position for eight different joint angle solutions 55

67 It can be seen in Figure 6.4 that solutions A-H all have the tool point P tool at (24.112, , ), which confirms the results. 6.2 Case Study II: Animation Case Study Next, an example will be done to animate the robot, moving its -effector from one point to another through a specified path. animatepuma.m has been written such that the user can define a path for the -effector to follow. For this program, only one of the eight possible solutions will be solved for. The path is described by a total of nine continuous functions; three for the -effector position in the world coordinate system, F P tool = [x y z] T, and six for the orientation of the effector, F S 6 = [x y z]t and F a 67 = [x y z] T. A for loop is created, from i=1 to i=n, where N is defined as the desired number of data points. The more data points, the smoother the motion of the robot will be, but the longer the run time. The program creates six Nx2 matrices, each consisting of the time from i to N, and the corresponding values of each joint angle. These matrices were then written to a.tab, or table, file by the dlmwrite command. This.tab file is what will be used for the joint drivers in the Motion analysis. The table files for Case Study II can be seen in Appix F Assigning the End Point Path This example will make the -effector move in a spiral, away from its body along the x-axis. The initial point will be (10, 8, 0) and the final point will be (25, 8, 0). The position of the -effector with respect to the origin can be broken into its three 56

68 components, x, y, and z. Because the -effector will be spiraling around the x-axis, the x position will simply vary linearly with respect to time. To go from x = 10 to x = 25 in a linear fashion, from time 0 to time N, the equation will be x = x + i ( f i) x x t N 6.1 or x = 10 + ( 15) t N 6.2 Where the time, t, is equal to i-1, and i and N are defined in animatepuma.m. To form a spiral, the y and z positions must be defined from polar coordinates using sine and cosine functions, such that the point forms a circle in the y-z plane. Cosine relates to the y position, while sine relates to the z position for this case. The radius of the circle is 8 inches. Because the beginning and point in the y-z plane is (8,0), the angle will start at 0 and go to a factor of 2π. Going to a factor of 2π will result in full circles, starting at (8,0) and ing at (8,0). For this example, the -effector will make three full rotations, equal to 6π radians. The resulting equations for the y and z positions are shown in equations 6.3 and 6.4. y = z = 6π t 8cos N 6π t 8sin N Combining the functions for x, y, and z, the -effector point with respect to the origin, F P tool, will be 57

69 F P tool = t N 6π t 8cos N 6π t 8sin N 6.5 For the desired -effector orientation, constantly pointing along the x axis, F S 6 and F a 67 are as follows: 1 F S 6 = F a 67 = To ensure a smooth motion of the robot, N was chosen to be 100. There is no additional tool at the of the -effector, therefore 6 P tool = [0 0 0] T Creating Table Drivers After animatepuma.m has been run, the drivers can be assigned to the mechanism in Pro/Mechanica. Select Drivers: Edit from the menu manager. Select the first driver, already created from the first case study, PHI1. The Edit Joint Driver dialog box opens, select Position and check the Table box. Click Select to browse for the.tab file to be used for the φ 1 driver. For φ 1, animatepuma.m wrote the file ph1.tab. Choose this file, and then Accept. Repeat this step for the remaining drivers. 58

70 6.2.3 Creating Measures One way of verifying the results from Matlab is to define Measures. Creating Measures allows the user to view the same graph quickly after re-running a Motion analysis with changed parameters. Select Measures: Create from the menu manager. Next, Point and select the point, PNT1, of puma6.prt. PNT1 corresponds to the tool point 6 P tool, which is [0 0 0] T for this case. This will open the Create Point Measure dialog box, shown below in figure 6.5. Figure 6.5 Create Point Measure dialog box 59

71 Rename the measure EndPointX, choose Point Position and X, under Components, then Accept to close the dialog box. Repeat this process for the same point, adding a measure for the Y and Z components. These measures will be used later in the results section Creating a New Motion Analysis Once all the joint drivers and measures are defined, the Motion Analysis can be defined and run. To define a new motion analysis, select Motion from the pull down menu in the analysis dialog box and select New The Motion Analysis Definition dialog box will open. The name of the analysis was changed to PUMA Motion and was given the description; Runs the Motion using the Matlab program animatepuma.m to obtain the table drivers. Because the robot will move to each position in the driver at its designated time, the increment and duration must match between Motion and Matllab to work properly. Set the Start Time to 0, and change the time Duration to 100, which was assigned to the variable N in animatepuma.m. The time Increment should be set at 1, also to match animatepuma.m. Figure 6.6 shows the Motion Analysis Definition dialog box to be used for this case study. 60

72 Figure 6.6 Motion analysis for puma.asm Click OK, and close the Analysis dialog box Running PUMA Motion Analysis To run the analysis PUMA Motion, select Run from the menu manager. The Run dialog box opens, shown in Figure 6.7, displaying all of the available analyses to run. 61

73 Figure 6.7 Run dialog box Highlight PUMA Motion and choose Start. Once each frame of the animation has gone by, the Results menu will open from the menu manager Viewing the Results There are several different options under the Results menu. The animation can be replayed with varying speed and can be viewed frame by frame. The animation can also be captured and written to an.mpeg movie file, which can be used for later viewing outside of Pro/Mechanica. Figure 6.8 shows the Animate dialog box which allows control of the animation playback. 62

74 Figure 6.8 Animation Control dialog box To view the path that a point traveled on, a Trace curve can be created. Select Create New under Trace in the Animate menu. Accept the default settings and select puma6.prt as the pen body, and PNT1 at the of puma6.prt as the pen location. Now when running the animation, the point will write a line following that point s path through space. A picture is shown in figure 6.9 of the entire trace curve. Figure 6.10 shows various stages of the animation with the trace curve. 63

75 Figure 6.9 Trace curve of the point of the effector 64

76 (a) (b) (c) (d) (e) (f) Figure 6.10 Various positions during the animation of Case Study II (a) frame 1/100, (b) frame 20, (c) frame 40, (d) frame 60, (e) frame 80, (f) frame

77 The Graph menu in the Results can display a variety of plots, from joint axis and point position, velocity, and acceleration, to any loads that may have been applied. To verify that the robots effector followed the correct path, a Measure was created to plot the x, y, and z coordinates of the point position. To view these measures, select Measure under the graph menu. This opens the Select One or More Measures dialog box, shown below in figure Figure 6.11 Select One or More Measures dialog box Select EndPointX, EndPointY, and EndPointZ, and then Graph. A new graph window is opened, displaying the x, y, and z positions of the effector point as a function of time. These functions should match the functions defined for F P tool in animatepuma.m. Figure 6.12 shows a plot of the x, y, and z position of the -effector with respect to time. 66

78 Figure 6.12 End-effector position for Case Study II The above graph shows that the x component of the -effector increases linearly from 10 to 25, with a slope of 0.15 and y-intercept of 10. The y and z components follow cosine and sine functions, respectively, both with amplitude of 8 and period of 100 / π. This matches the position and orientation path assigned earlier in this section. Position, velocity, and acceleration can be plotted out for each joint axis. Figures plot the position, velocity, and acceleration of joint angles one through six, respectively. 67

79 Figure 6.13 Position, velocity, and acceleration for φ 1 68

80 Figure 6.14 Position, velocity, and acceleration for θ 2 69

81 Figure 6.15 Position, velocity, and acceleration for θ 3 70

82 Figure 6.16 Position, velocity, and acceleration for θ 4 71

83 Figure 6.17 Position, velocity, and acceleration for θ 5 72

84 Figure 6.18 Position, velocity, and acceleration for θ Case Study III: Two Coordinating PUMAs A final case study was done to show the capabilities using two PUMA robotic arms working together. As was discussed in Chapters II and IV, multiple coordinating mechanisms can be used to handle heavy objects and complex tasks. In this case, two identical PUMAs are placed in the environment 50 inches apart, measured along the x- axis. 73

85 6.3.1 Assigning the End Point Path In the previous case studies the -effector followed a path based on one continuous function for the entire time duration. For this study, the motion is broken into three different sections. The path will consist of a straight vertical motion, followed by a quarter circle, and finally into a straight horizontal line. Figure 6.19 shows the path curve in the y-z plane Figure 6.19 Path curve for Case Study III The x component of the path will remain constant, halfway between the two arms. The vertical line section of the path is expressed by the following -effector point: 74

86 F P left tool 25 = 0 i ( 1 ) 31 for i < The straight vertical line starts at the point (-25, 0, -20) and goes to the point (-25, 0, -10) and continues on to the quarter circle path to the point (-25, 5, -5). The quarter circle path is described by the equation below, where the radius is five. F P left tool 25 π ( i 33) = 5+ 5cos π 2 34 π ( i 33) sin π 2 34 for 33 i < Finally, the -effector will travel in a straight horizontal line to the point (-25, 15, -5) according to the equation: F P left tool = ( i 67) 33 5 for 67 i < The above equations are for the left PUMA. For the right PUMA, the x component will be offset by +50 inches from the left PUMA. The equations of F P tool for the right PUMA are shown below as equations

87 F P right tool 25 = 0 i ( 1 ) 31 for i < F P right tool 25 π ( i 33) = 5+ 5cos π 2 34 π ( i 33) sin π 2 34 for 33 i < F P right tool = ( i 67) 33 5 for 67 i < Another change for this case study was to vary the orientation of the -effector. The goal was to have the two -effectors from their respective robots pointing towards each other and normal to the path curve. For the vertical line path, the orientations are pointing along the y-axis, where the left PUMA has the orientation F S 6 = [0 1 0] T and F a 67 = [1 0 0] T, while the orientation of the right PUMA is F S 6 = [0-1 0] T and F a 67 = [-1 0 0] T, which is in the opposite direction as the left. The orientation of the -effectors for the quarter-circle path is more complicated. The axis that the effectors will be pointed will stay on the axis normal to the curve of the quarter circle. The left PUMA will follow along the outside of the circle, while the right PUMA will follow along the inside of the 76

88 77 circle. The orientations for these two -effectors are shown below in equations 6.14 and 6.15, respectively. F left S i i = cos ( ) sin ( ) π π π π F left a = 6.14 F right S i i = cos ( ) sin ( ) π π π π F rightt a = 6.15 Finally, for the horizontal line, the -effectors will be pointing in line with the z-axis. The equations for the left PUMA are F S 6 = [0 0-1] T and F a 67 = [1 0 0] T, and F S 6 = [0 0 1] T and F a 67 = [-1 0 0] T for the right. The datum point to be used for the analysis is PNT3. This point is described in the sixth coordinate system by 6 P tool = [ ] T.

89 6.3.2 Creating Table Drivers The above equations for the positions and orientations of the left and right PUMA robots are put into the Matlab program animatetwopumas.m, which is simply a modified version of animatepuma.m to include a second arm. This new program was used to create the drivers for the left and right PUMAs. The joint axis data is written to the.tab files ph1a, th2a, th3a, th4a, th5a, and th6a for the left PUMA and ph1b, th2b, th3b, th4b, th5b, and th6b for the right PUMA. The Motion drivers are assigned to their corresponding joint angle table files Creating Measures Measures for the point graph, PNT3, were made in the same manner as for the previous case study for the x, y, and z components. These will be used to verify the results. The names for these measures are EndPointX2, EndPointY2, and EndPointZ Running 2PUMAS Motion Analysis Because the same time increments and durations were used as in the previous case study, the same motion analysis, PUMA Motion, can be used to run the animation, or a new analysis can be created. For this case, a new analysis was created, called 2PUMAS Motion. 78

90 6.3.5 Viewing the Results After the motion analysis was run, a trace curve was created at the datum point PNT3. Figure 6.20 below shows the animation along with the trace curve shown at several different frames throughout the animation. 79

91 (a) (b) (c) (d) (e) (f) Figure 6.20 Various positions during the animation of the Case Study III (a) frame 1/100, (b) frame 20, (c) frame 40, (d) frame 60, (e) frame 80, (f) frame 100 The best way to verify the results of the animation is to graph the x, y, and z components of the point using the measures already created. Select EndPointX2, EndPointY2, 80

Industrial Robots : Manipulators, Kinematics, Dynamics

Industrial Robots : Manipulators, Kinematics, Dynamics Industrial Robots : Manipulators, Kinematics, Dynamics z z y x z y x z y y x x In Industrial terms Robot Manipulators The study of robot manipulators involves dealing with the positions and orientations

More information

Lesson 1: Introduction to Pro/MECHANICA Motion

Lesson 1: Introduction to Pro/MECHANICA Motion Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion

More information

Forward kinematics and Denavit Hartenburg convention

Forward kinematics and Denavit Hartenburg convention Forward kinematics and Denavit Hartenburg convention Prof. Enver Tatlicioglu Department of Electrical & Electronics Engineering Izmir Institute of Technology Chapter 5 Dr. Tatlicioglu (EEE@IYTE) EE463

More information

EEE 187: Robotics Summary 2

EEE 187: Robotics Summary 2 1 EEE 187: Robotics Summary 2 09/05/2017 Robotic system components A robotic system has three major components: Actuators: the muscles of the robot Sensors: provide information about the environment and

More information

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector Inverse Kinematics Given a desired position (p) & orientation (R) of the end-effector q ( q, q, q ) 1 2 n Find the joint variables which can bring the robot the desired configuration z y x 1 The Inverse

More information

Structural Configurations of Manipulators

Structural Configurations of Manipulators Structural Configurations of Manipulators 1 In this homework, I have given information about the basic structural configurations of the manipulators with the concerned illustrations. 1) The Manipulator

More information

Robot mechanics and kinematics

Robot mechanics and kinematics University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

Robot mechanics and kinematics

Robot mechanics and kinematics University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2017/18 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position. Kinematics Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position. 1/31 Statics deals with the forces and moments which are aplied on the mechanism

More information

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm Mohammed Z. Al-Faiz,MIEEE Computer Engineering Dept. Nahrain University Baghdad, Iraq Mohammed S.Saleh

More information

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators Robotics and automation Dr. Ibrahim Al-Naimi Chapter two Introduction To Robot Manipulators 1 Robotic Industrial Manipulators A robot manipulator is an electronically controlled mechanism, consisting of

More information

Modelling of mechanical system CREATING OF KINEMATIC CHAINS

Modelling of mechanical system CREATING OF KINEMATIC CHAINS Modelling of mechanical system CREATING OF KINEMATIC CHAINS Mechanism Definitions 1. a system or structure of moving parts that performs some function 2. is each system reciprocally joined moveable bodies

More information

INSTITUTE OF AERONAUTICAL ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING Name Code Class Branch Page 1 INSTITUTE OF AERONAUTICAL ENGINEERING : ROBOTICS (Autonomous) Dundigal, Hyderabad - 500 0 MECHANICAL ENGINEERING TUTORIAL QUESTION BANK : A7055 : IV B. Tech I Semester : MECHANICAL

More information

Robotics. SAAST Robotics Robot Arms

Robotics. SAAST Robotics Robot Arms SAAST Robotics 008 Robot Arms Vijay Kumar Professor of Mechanical Engineering and Applied Mechanics and Professor of Computer and Information Science University of Pennsylvania Topics Types of robot arms

More information

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis

Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis Manipulator Path Control : Path Planning, Dynamic Trajectory and Control Analysis Motion planning for industrial manipulators is a challenging task when obstacles are present in the workspace so that collision-free

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction This dissertation will describe the mathematical modeling and development of an innovative, three degree-of-freedom robotic manipulator. The new device, which has been named the

More information

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park 3. Manipulator Kinematics Division of Electronic Engineering Prof. Jaebyung Park Introduction Kinematics Kinematics is the science of motion which treats motion without regard to the forces that cause

More information

Basilio Bona ROBOTICA 03CFIOR 1

Basilio Bona ROBOTICA 03CFIOR 1 Kinematic chains 1 Readings & prerequisites Chapter 2 (prerequisites) Reference systems Vectors Matrices Rotations, translations, roto-translations Homogeneous representation of vectors and matrices Chapter

More information

PPGEE Robot Dynamics I

PPGEE Robot Dynamics I PPGEE Electrical Engineering Graduate Program UFMG April 2014 1 Introduction to Robotics 2 3 4 5 What is a Robot? According to RIA Robot Institute of America A Robot is a reprogrammable multifunctional

More information

Planar Robot Kinematics

Planar Robot Kinematics V. Kumar lanar Robot Kinematics The mathematical modeling of spatial linkages is quite involved. t is useful to start with planar robots because the kinematics of planar mechanisms is generally much simpler

More information

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Kinematic chains Readings & prerequisites From the MSMS course one shall already be familiar with Reference systems and transformations Vectors

More information

1. Introduction 1 2. Mathematical Representation of Robots

1. Introduction 1 2. Mathematical Representation of Robots 1. Introduction 1 1.1 Introduction 1 1.2 Brief History 1 1.3 Types of Robots 7 1.4 Technology of Robots 9 1.5 Basic Principles in Robotics 12 1.6 Notation 15 1.7 Symbolic Computation and Numerical Analysis

More information

MDP646: ROBOTICS ENGINEERING. Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt. Prof. Said M.

MDP646: ROBOTICS ENGINEERING. Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt. Prof. Said M. MDP646: ROBOTICS ENGINEERING Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt Prof. Said M. Megahed APPENDIX A: PROBLEM SETS AND PROJECTS Problem Set # Due 3 rd week

More information

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer Maitreyi More 1, Rahul Abande 2, Ankita Dadas 3, Santosh Joshi 4 1, 2, 3 Department of Mechanical

More information

Simulation and Modeling of 6-DOF Robot Manipulator Using Matlab Software

Simulation and Modeling of 6-DOF Robot Manipulator Using Matlab Software Simulation and Modeling of 6-DOF Robot Manipulator Using Matlab Software 1 Thavamani.P, 2 Ramesh.K, 3 Sundari.B 1 M.E Scholar, Applied Electronics, JCET, Dharmapuri, Tamilnadu, India 2 Associate Professor,

More information

Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur

Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur Lecture 03 Introduction to Robot and Robotics (Contd.) (Refer Slide Time: 00:34) Now,

More information

KINEMATIC ANALYSIS OF 3 D.O.F OF SERIAL ROBOT FOR INDUSTRIAL APPLICATIONS

KINEMATIC ANALYSIS OF 3 D.O.F OF SERIAL ROBOT FOR INDUSTRIAL APPLICATIONS KINEMATIC ANALYSIS OF 3 D.O.F OF SERIAL ROBOT FOR INDUSTRIAL APPLICATIONS Annamareddy Srikanth 1 M.Sravanth 2 V.Sreechand 3 K.Kishore Kumar 4 Iv/Iv B.Tech Students, Mechanical Department 123, Asst. Prof.

More information

Robotics kinematics and Dynamics

Robotics kinematics and Dynamics Robotics kinematics and Dynamics C. Sivakumar Assistant Professor Department of Mechanical Engineering BSA Crescent Institute of Science and Technology 1 Robot kinematics KINEMATICS the analytical study

More information

Index Terms Denavit-Hartenberg Parameters, Kinematics, Pick and place robotic arm, Taper roller bearings. III. METHODOLOGY

Index Terms Denavit-Hartenberg Parameters, Kinematics, Pick and place robotic arm, Taper roller bearings. III. METHODOLOGY ISSN: 39-5967 ISO 9:8 Certified Volume 5, Issue 3, May 6 DESIGN OF A PROTOTYPE OF A PICK AND PLACE ROBOTIC ARM Amod Aboti, Sanket Acharya, Abhinav Anand, Rushikesh Chintale, Vipul Ruiwale Abstract In the

More information

Operation Trajectory Control of Industrial Robots Based on Motion Simulation

Operation Trajectory Control of Industrial Robots Based on Motion Simulation Operation Trajectory Control of Industrial Robots Based on Motion Simulation Chengyi Xu 1,2, Ying Liu 1,*, Enzhang Jiao 1, Jian Cao 2, Yi Xiao 2 1 College of Mechanical and Electronic Engineering, Nanjing

More information

Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures

Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures Force-Moment Capabilities of Redundantly-Actuated Planar-Parallel Architectures S. B. Nokleby F. Firmani A. Zibil R. P. Podhorodeski UOIT University of Victoria University of Victoria University of Victoria

More information

Kinematics Fundamentals CREATING OF KINEMATIC CHAINS

Kinematics Fundamentals CREATING OF KINEMATIC CHAINS Kinematics Fundamentals CREATING OF KINEMATIC CHAINS Mechanism Definitions 1. a system or structure of moving parts that performs some function 2. is each system reciprocally joined moveable bodies the

More information

Analytical and Applied Kinematics

Analytical and Applied Kinematics Analytical and Applied Kinematics Vito Moreno moreno@engr.uconn.edu 860-614-2365 (cell) http://www.engr.uconn.edu/~moreno Office EB1, hours Thursdays 10:00 to 5:00 1 This course introduces a unified and

More information

Theory of Machines Course # 1

Theory of Machines Course # 1 Theory of Machines Course # 1 Ayman Nada Assistant Professor Jazan University, KSA. arobust@tedata.net.eg March 29, 2010 ii Sucess is not coming in a day 1 2 Chapter 1 INTRODUCTION 1.1 Introduction Mechanisms

More information

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction MCE/EEC 647/747: Robot Dynamics and Control Lecture 1: Introduction Reading: SHV Chapter 1 Robotics and Automation Handbook, Chapter 1 Assigned readings from several articles. Cleveland State University

More information

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm International Journal of Advanced Mechatronics and Robotics (IJAMR) Vol. 3, No. 2, July-December 2011; pp. 43-51; International Science Press, ISSN: 0975-6108 Finding Reachable Workspace of a Robotic Manipulator

More information

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object. CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical

More information

Using Algebraic Geometry to Study the Motions of a Robotic Arm

Using Algebraic Geometry to Study the Motions of a Robotic Arm Using Algebraic Geometry to Study the Motions of a Robotic Arm Addison T. Grant January 28, 206 Abstract In this study we summarize selected sections of David Cox, John Little, and Donal O Shea s Ideals,

More information

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017 Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017 Robot configurations Joints and links Joint-link-joint transformations! Denavit-Hartenberg representation

More information

Forward Kinematic Analysis, Simulation & Workspace Tracing of Anthropomorphic Robot Manipulator By Using MSC. ADAMS

Forward Kinematic Analysis, Simulation & Workspace Tracing of Anthropomorphic Robot Manipulator By Using MSC. ADAMS Forward Kinematic Analysis, Simulation & Workspace Tracing of Anthropomorphic Robot Manipulator By Using MSC. ADAMS Amit L Talli 1, B. B. Kotturshettar 2 Asst. Professor, Department of Automation & Robotics

More information

Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1

Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1 Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1 In this tutorial, we will learn the basics of performing motion analysis using COSMOSMotion. Although the tutorial can

More information

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis Table of Contents 1 Introduction 1 1.1 Background in Robotics 1 1.2 Robot Mechanics 1 1.2.1 Manipulator Kinematics and Dynamics 2 1.3 Robot Architecture 4 1.4 Robotic Wrists 4 1.5 Origins of the Carpal

More information

Kinematics of Closed Chains

Kinematics of Closed Chains Chapter 7 Kinematics of Closed Chains Any kinematic chain that contains one or more loops is called a closed chain. Several examples of closed chains were encountered in Chapter 2, from the planar four-bar

More information

EE Kinematics & Inverse Kinematics

EE Kinematics & Inverse Kinematics Electric Electronic Engineering Bogazici University October 15, 2017 Problem Statement Kinematics: Given c C, find a map f : C W s.t. w = f(c) where w W : Given w W, find a map f 1 : W C s.t. c = f 1

More information

Design of a Three-Axis Rotary Platform

Design of a Three-Axis Rotary Platform Design of a Three-Axis Rotary Platform William Mendez, Yuniesky Rodriguez, Lee Brady, Sabri Tosunoglu Mechanics and Materials Engineering, Florida International University 10555 W Flagler Street, Miami,

More information

Mechanisms. Updated: 18Apr16 v7

Mechanisms. Updated: 18Apr16 v7 Mechanisms Updated: 8Apr6 v7 Mechanism Converts input motion or force into a desired output with four combinations of input and output motion Rotational to Oscillating Rotational to Rotational Rotational

More information

Chapter 4. Mechanism Design and Analysis

Chapter 4. Mechanism Design and Analysis Chapter 4. Mechanism Design and Analysis All mechanical devices containing moving parts are composed of some type of mechanism. A mechanism is a group of links interacting with each other through joints

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Generally all considerations in the force analysis of mechanisms, whether static or dynamic, the links are assumed to be rigid. The complexity of the mathematical analysis of mechanisms

More information

[2] J. "Kinematics," in The International Encyclopedia of Robotics, R. Dorf and S. Nof, Editors, John C. Wiley and Sons, New York, 1988.

[2] J. Kinematics, in The International Encyclopedia of Robotics, R. Dorf and S. Nof, Editors, John C. Wiley and Sons, New York, 1988. 92 Chapter 3 Manipulator kinematics The major expense in calculating kinematics is often the calculation of the transcendental functions (sine and cosine). When these functions are available as part of

More information

Configuration Space. Chapter 2

Configuration Space. Chapter 2 Chapter 2 Configuration Space A typical robot is mechanically constructed from several bodies, or links, that are connected by various types of joints. The robot moves when certain joints are driven by

More information

Kinematics: Intro. Kinematics is study of motion

Kinematics: Intro. Kinematics is study of motion Kinematics is study of motion Kinematics: Intro Concerned with mechanisms and how they transfer and transform motion Mechanisms can be machines, skeletons, etc. Important for CG since need to animate complex

More information

Ch 8 Industrial Robotics

Ch 8 Industrial Robotics Ch 8 Industrial Robotics Sections: 1. Robot Anatomy and Related Attributes 2. Robot Control Systems 3. End Effectors 4. Sensors in Robotics 5. Industrial Robot Applications 6. Robot Programming 7. Robot

More information

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics MCE/EEC 647/747: Robot Dynamics and Control Lecture 3: Forward and Inverse Kinematics Denavit-Hartenberg Convention Reading: SHV Chapter 3 Mechanical Engineering Hanz Richter, PhD MCE503 p.1/12 Aims of

More information

Workspaces of planar parallel manipulators

Workspaces of planar parallel manipulators Workspaces of planar parallel manipulators Jean-Pierre Merlet Clément M. Gosselin Nicolas Mouly INRIA Sophia-Antipolis Dép. de Génie Mécanique INRIA Rhône-Alpes BP 93 Université Laval 46 Av. Felix Viallet

More information

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Path and Trajectory specification Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Specifying the desired motion to achieve a specified goal is often a

More information

Human Motion. Session Speaker Dr. M. D. Deshpande. AML2506 Biomechanics and Flow Simulation PEMP-AML2506

Human Motion. Session Speaker Dr. M. D. Deshpande. AML2506 Biomechanics and Flow Simulation PEMP-AML2506 AML2506 Biomechanics and Flow Simulation Day 02A Kinematic Concepts for Analyzing Human Motion Session Speaker Dr. M. D. Deshpande 1 Session Objectives At the end of this session the delegate would have

More information

Lecture 3. Planar Kinematics

Lecture 3. Planar Kinematics Matthew T. Mason Mechanics of Manipulation Outline Where are we? s 1. Foundations and general concepts. 2.. 3. Spherical and spatial kinematics. Readings etc. The text: By now you should have read Chapter

More information

Design & Kinematic Analysis of an Articulated Robotic Manipulator

Design & Kinematic Analysis of an Articulated Robotic Manipulator Design & Kinematic Analysis of an Articulated Robotic Manipulator Elias Eliot 1, B.B.V.L. Deepak 1*, D.R. Parhi 2, and J. Srinivas 2 1 Department of Industrial Design, National Institute of Technology-Rourkela

More information

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences Page 1 UNIVERSITY OF OSLO Faculty of Mathematics and Natural Sciences Exam in INF3480 Introduction to Robotics Day of exam: May 31 st 2010 Exam hours: 3 hours This examination paper consists of 5 page(s).

More information

A New Algorithm for Measuring and Optimizing the Manipulability Index

A New Algorithm for Measuring and Optimizing the Manipulability Index DOI 10.1007/s10846-009-9388-9 A New Algorithm for Measuring and Optimizing the Manipulability Index Ayssam Yehia Elkady Mohammed Mohammed Tarek Sobh Received: 16 September 2009 / Accepted: 27 October 2009

More information

Kinematics - Introduction. Robotics. Kinematics - Introduction. Vladimír Smutný

Kinematics - Introduction. Robotics. Kinematics - Introduction. Vladimír Smutný Kinematics - Introduction Robotics Kinematics - Introduction Vladimír Smutný Center for Machine Perception Czech Institute for Informatics, Robotics, and Cybernetics (CIIRC) Czech Technical University

More information

Robotics (Kinematics) Winter 1393 Bonab University

Robotics (Kinematics) Winter 1393 Bonab University Robotics () Winter 1393 Bonab University : most basic study of how mechanical systems behave Introduction Need to understand the mechanical behavior for: Design Control Both: Manipulators, Mobile Robots

More information

Singularities of a Manipulator with Offset Wrist

Singularities of a Manipulator with Offset Wrist Singularities of a Manipulator with Offset Wrist Robert L. Williams II Department of Mechanical Engineering Ohio University Athens, Ohio Journal of Mechanical Design Vol. 11, No., pp. 315-319 June, 1999

More information

ME 115(b): Final Exam, Spring

ME 115(b): Final Exam, Spring ME 115(b): Final Exam, Spring 2011-12 Instructions 1. Limit your total time to 5 hours. That is, it is okay to take a break in the middle of the exam if you need to ask me a question, or go to dinner,

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Spatial R-C-C-R Mechanism for a Single DOF Gripper

Spatial R-C-C-R Mechanism for a Single DOF Gripper NaCoMM-2009-ASMRL28 Spatial R-C-C-R Mechanism for a Single DOF Gripper Rajeev Lochana C.G * Mechanical Engineering Department Indian Institute of Technology Delhi, New Delhi, India * Email: rajeev@ar-cad.com

More information

SYNTHESIS OF PLANAR MECHANISMS FOR PICK AND PLACE TASKS WITH GUIDING LOCATIONS

SYNTHESIS OF PLANAR MECHANISMS FOR PICK AND PLACE TASKS WITH GUIDING LOCATIONS Proceedings of the ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference IDETC/CIE 2013 August 4-7, 2013, Portland, Oregon, USA DETC2013-12021

More information

Kinematics of the Stewart Platform (Reality Check 1: page 67)

Kinematics of the Stewart Platform (Reality Check 1: page 67) MATH 5: Computer Project # - Due on September 7, Kinematics of the Stewart Platform (Reality Check : page 7) A Stewart platform consists of six variable length struts, or prismatic joints, supporting a

More information

Connection Elements and Connection Library

Connection Elements and Connection Library Connection Elements and Connection Library Lecture 2 L2.2 Overview Introduction Defining Connector Elements Understanding Connector Sections Understanding Connection Types Understanding Connector Local

More information

Module 1 : Introduction to robotics. Lecture 3 : Industrial Manipulators & AGVs. Objectives. History of robots : Main bodies and wrists

Module 1 : Introduction to robotics. Lecture 3 : Industrial Manipulators & AGVs. Objectives. History of robots : Main bodies and wrists Module 1 : Introduction to robotics Lecture 3 : Industrial Manipulators & AGVs Objectives In this course you will learn the following History of development of robots. Main body types of manipulators with

More information

Planning in Mobile Robotics

Planning in Mobile Robotics Planning in Mobile Robotics Part I. Miroslav Kulich Intelligent and Mobile Robotics Group Gerstner Laboratory for Intelligent Decision Making and Control Czech Technical University in Prague Tuesday 26/07/2011

More information

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Kinematic Synthesis. October 6, 2015 Mark Plecnik Kinematic Synthesis October 6, 2015 Mark Plecnik Classifying Mechanisms Several dichotomies Serial and Parallel Few DOFS and Many DOFS Planar/Spherical and Spatial Rigid and Compliant Mechanism Trade-offs

More information

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric Parallel Robots Mechanics and Control H AMID D TAG HI RAD CRC Press Taylor & Francis Group Boca Raton London NewYoric CRC Press Is an Imprint of the Taylor & Francis Croup, an informs business Contents

More information

Synthesis of Spatial RPRP Loops for a Given Screw System

Synthesis of Spatial RPRP Loops for a Given Screw System Synthesis of Spatial RPRP Loops for a Given Screw System A. Perez-Gracia Institut de Robotica i Informatica Industrial (IRI) UPC/CSIC, Barcelona, Spain and: College of Engineering, Idaho State Univesity,

More information

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute We know how to describe the transformation of a single rigid object w.r.t. a single

More information

WEEKS 1-2 MECHANISMS

WEEKS 1-2 MECHANISMS References WEEKS 1-2 MECHANISMS (METU, Department of Mechanical Engineering) Text Book: Mechanisms Web Page: http://www.me.metu.edu.tr/people/eres/me301/in dex.ht Analitik Çözümlü Örneklerle Mekanizma

More information

Kinematic Model of Robot Manipulators

Kinematic Model of Robot Manipulators Kinematic Model of Robot Manipulators Claudio Melchiorri Dipartimento di Ingegneria dell Energia Elettrica e dell Informazione (DEI) Università di Bologna email: claudio.melchiorri@unibo.it C. Melchiorri

More information

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot

More information

Simulation of Articulated Robotic Manipulator & It s Application in Modern Industries

Simulation of Articulated Robotic Manipulator & It s Application in Modern Industries IOSR Journal of Mechanical and Civil Engineering (IOSR-JMCE) e-issn: 2278-1684,p-ISSN: 2320-334X, Volume 11, Issue 3 Ver. II (May- Jun. 2014), PP 01-07 Simulation of Articulated Robotic Manipulator & It

More information

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK ABCM Symposium Series in Mechatronics - Vol. 3 - pp.276-285 Copyright c 2008 by ABCM SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK Luiz Ribeiro, ribeiro@ime.eb.br Raul Guenther,

More information

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

Lecture Note 2: Configuration Space

Lecture Note 2: Configuration Space ECE5463: Introduction to Robotics Lecture Note 2: Configuration Space Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 2 (ECE5463

More information

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Dynamic Analysis of Manipulator Arm for 6-legged Robot American Journal of Mechanical Engineering, 2013, Vol. 1, No. 7, 365-369 Available online at http://pubs.sciepub.com/ajme/1/7/42 Science and Education Publishing DOI:10.12691/ajme-1-7-42 Dynamic Analysis

More information

Written exams of Robotics 1

Written exams of Robotics 1 Written exams of Robotics 1 http://www.diag.uniroma1.it/~deluca/rob1_en.php All materials are in English, unless indicated (oldies are in Year Date (mm.dd) Number of exercises Topics 2018 06.11 2 Planar

More information

DETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS

DETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS Proceedings of the ASME 2007 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2007 September 4-7, 2007, Las Vegas, Nevada, USA DETC2007-34372

More information

INTRODUCTION CHAPTER 1

INTRODUCTION CHAPTER 1 CHAPTER 1 INTRODUCTION Modern mechanical and aerospace systems are often very complex and consist of many components interconnected by joints and force elements such as springs, dampers, and actuators.

More information

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T 3 3 Motion Control (wheeled robots) Introduction: Mobile Robot Kinematics Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground

More information

Lecture Note 6: Forward Kinematics

Lecture Note 6: Forward Kinematics ECE5463: Introduction to Robotics Lecture Note 6: Forward Kinematics Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 6 (ECE5463

More information

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module 10 Lecture 1

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module 10 Lecture 1 Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur Module 10 Lecture 1 So far, in this course we have discussed planar linkages, which

More information

Mechanical structure of a robot=skeleton of human body Study of structure of a robot=physical structure of the manipulator structure

Mechanical structure of a robot=skeleton of human body Study of structure of a robot=physical structure of the manipulator structure UNIT I FUNDAMENTALS OF ROBOT Part A 1. Define Robot. An industrial robot is a re-programmable, multifunctional manipulator designed to move materials, parts, tools, or specialized devices through variable

More information

SAMPLE STUDY MATERIAL. Mechanical Engineering. Postal Correspondence Course. Theory of Machines. GATE, IES & PSUs

SAMPLE STUDY MATERIAL. Mechanical Engineering. Postal Correspondence Course. Theory of Machines. GATE, IES & PSUs TOM - ME GATE, IES, PSU 1 SAMPLE STUDY MATERIAL Mechanical Engineering ME Postal Correspondence Course Theory of Machines GATE, IES & PSUs TOM - ME GATE, IES, PSU 2 C O N T E N T TOPIC 1. MACHANISMS AND

More information

The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach

The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach The Collision-free Workspace of the Tripteron Parallel Robot Based on a Geometrical Approach Z. Anvari 1, P. Ataei 2 and M. Tale Masouleh 3 1,2 Human-Robot Interaction Laboratory, University of Tehran

More information

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE Chapter 1. Modeling and Identification of Serial Robots.... 1 Wisama KHALIL and Etienne DOMBRE 1.1. Introduction... 1 1.2. Geometric modeling... 2 1.2.1. Geometric description... 2 1.2.2. Direct geometric

More information

Dipartimento di Elettronica Informazione e Bioingegneria Robotics

Dipartimento di Elettronica Informazione e Bioingegneria Robotics Dipartimento di Elettronica Informazione e Bioingegneria Robotics properties and performance measures @ 25 Redundancy first definition McKerrow When a manipulator can reach a specified position with more

More information

Fall 2016 Semester METR 3113 Atmospheric Dynamics I: Introduction to Atmospheric Kinematics and Dynamics

Fall 2016 Semester METR 3113 Atmospheric Dynamics I: Introduction to Atmospheric Kinematics and Dynamics Fall 2016 Semester METR 3113 Atmospheric Dynamics I: Introduction to Atmospheric Kinematics and Dynamics Lecture 5 August 31 2016 Topics: Polar coordinate system Conversion of polar coordinates to 2-D

More information

2. Motion Analysis - Sim-Mechanics

2. Motion Analysis - Sim-Mechanics 2 Motion Analysis - Sim-Mechanics Figure 1 - The RR manipulator frames The following table tabulates the summary of different types of analysis that is performed for the RR manipulator introduced in the

More information

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS ALBA PEREZ Robotics and Automation Laboratory University of California, Irvine Irvine, CA 9697 email: maperez@uci.edu AND J. MICHAEL MCCARTHY Department of Mechanical

More information

Structure Based Classification and Kinematic Analysis of Six-Joint Industrial Robotic Manipulators

Structure Based Classification and Kinematic Analysis of Six-Joint Industrial Robotic Manipulators Structure Based Classification and Kinematic Analysis of Six-Joint Industrial Robotic Manipulators 5 Tuna Balkan, M. Kemal Özgören and M. A. Sahir Arıkan Open Access Database www.i-techonline.com 1. Introduction

More information

MODELLING AND MOTION ANALYSIS OF FIVE-BAR 5R MECHANISM

MODELLING AND MOTION ANALYSIS OF FIVE-BAR 5R MECHANISM Int. J. of Applied Mechanics and Engineering, 1, vol.19, No., pp.677-686 DOI: 1.78/ijame-1-6 MODELLING AND MOTION ANALYSIS OF FIVE-BAR 5R MECHANISM Z. BUDNIAK * and T. BIL Faculty of Mechanical Engineering

More information

Kinematics and dynamics analysis of micro-robot for surgical applications

Kinematics and dynamics analysis of micro-robot for surgical applications ISSN 1 746-7233, England, UK World Journal of Modelling and Simulation Vol. 5 (2009) No. 1, pp. 22-29 Kinematics and dynamics analysis of micro-robot for surgical applications Khaled Tawfik 1, Atef A.

More information