### Create a StudySoup account

#### Be part of our community, it's free to join!

Already have a StudySoup account? Login here

# Intro to Robotics ME 4140

TTU

GPA 3.83

### View Full Document

## 62

## 0

## Popular in Course

## Popular in Mechanical Engineering

This 36 page Class Notes was uploaded by Terrence Terry II on Wednesday October 21, 2015. The Class Notes belongs to ME 4140 at Tennessee Tech University taught by Stephen Canfield in Fall. Since its upload, it has received 62 views. For similar materials see /class/225731/me-4140-tennessee-tech-university in Mechanical Engineering at Tennessee Tech University.

## Reviews for Intro to Robotics

### What is Karma?

#### Karma is the currency of StudySoup.

#### You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 10/21/15

Serial Robot Examples Inverse Kinematics Example 1 5g 512 llCl 4512 136123 ll yl 12512 135123 cos6 62 63 sin6 62 63 etc 1151 12612 ll yl 12512 Inverse V39 quot Given a mnsistent and desired pose solve the inverse 39 39 r11 r12 r13 x 0 r21 r22 r23 3 glvzn r31 r32 r33 Z 0 0 0 1 Wrist is at origin of frame 2 rst 2 dof position 3rd gives orientation PART I Solve 9 92 x x r11 x p0 y d3x3 y d3 r21 y z z r31 239 Forward Kinematics C12 312 0 llcllzc12 c3 33 0 1303 T0 S12 ch 0 1ISI lZSIZ T2 S3 CS 0 1363 2 0 0 1 0 3 0 0 1 0 0 0 0 l 0 0 0 1 Wrist equal to FK s x 1101 12012 y 1131 lzs1z z 0 Square and add these equations then simplify using the angle addition identity y2 y212 l 2 02 cos 1 w 2 solutions 21212 to solve 91 put the rst two equations in the form xi 1 1262 Cl 123231 y 11 1262 gt31 1 ZSZCI xv atan 211 12031232 r 1112022 12322 01 a tan 21 r 1 solution PART II Solve 93 y r11 r12 r13 63 S3 0 2 01 0 y v v R3 R2 R3 r21 r22 r23 S3 c3 0 y y r31 r32 r33 0 0 l 93 atan 2r21 r1139 1 solution Total 2 solutions Example 2 0103 7 0153 SI 51d2 d3 To 5103 75153 01 701d2 d3 3 S3 c3 0 d1 0 0 0 1 Inverse Kinematics Given a consistent and desired pose solve the inverse kinematics 0 T3 given 7 Wrist is at origin of frame 2 first 2 dof position 3quoti gives orientation PART I Solve Q 92 x x r13 x 7 7 7 y p y d3z3 y 7d r23 y y z z r33 2 Forward Kinematics c1 0 SI s1d2 03 s3 0 0 To SI 0 cl 61512 T2 33 cs 0 0 Z 3 s3 1 0 d1 0 0 1 d3 0 0 0 l 0 0 0 1 Wrist equal to FK s x sldz y 61512 239 d1 d2 i lx392y392 2 solutions 91 atan2 Li lsolution d2 612 PART II Solve 93 V11 V12 r13 63 S3 0 2 01 0 R3 R2 R3 V21 V22 r23 S3 c3 0 r39 r32 r3339 0 0 l 31 93 atan 2r2139r1139 1 solution Total 2 solutions Example 3 91923 791523 51 azclcza39192351d3 x1923 quotW23 cl al vlcl Jr 351023701113 x23 on 0 azxz a3x23 d1 0 0 0 1 711712 713 x 7 y gan 731 732 733 z 1 Wrist is at origin of frame 3 rst 3 dof position position only PART I Solve 91 9 93 x x pc y y z 2 Forward Kinematics 61623 61323 S1 alclcl asciczs Sids T30 31623 31323 cl alslcl 61331623 cld3 323 023 0 a2 32 613323 611 0 0 0 1 Wrist equal to FK s x azclc2 61361623 sld3 y 6123162 61331623 61513 y z a232a3sz3 611 Square and add all three equations to get one equation in 1 unknown 93 solve as 2 2 2 2 2 2 d d 03 0087W 2 solutions 612613 go to the third equation and expand on 92 a2 61303 sz 3302 z al1 use the tan 12 angle identity a2 61303 Qt 33 l t2 z d1lt2 with s 2t 0 1t2 ttan391 9 2 2 2 Ht 2 biVb2 4ac 2a nally to solve 91 go to the rst two equation in the form x azc2 a 0 1 d331 02 2tan 1t t 2 solutions 3 23 y azcz 613623 SI 61361 and solve as common solution technique number 6 01 atan 21 atan 2a202 Q3023 d3 r r 1 solution r 0202 03023 2 5132 Total 4 solutions Example 4 Spherical Wrist Z1 cl 0 51 0 clcZ 7 0102 clsz 0 0 51 0 7 cl 0 0 A39ch isch xlsz 0 T1 T2 0 1 0 d1 0 0 702 d1 0 0 0 1 0 0 0 1 01020344143 iclczs3slcg clsz clszdg T07 51020370153 751025370103 5152 51quotsz 3 7 5203 5253 702 fold d1 0 0 0 1 Inverse Kinematic 39 Given a and desired pose solve the inverse kinematic 39 V11 V12 13 x T0 r21 r22 r23 3 ngzn r31 r32 r33 Z 0 0 0 1 This robot is entirely a wrist 3 dof that provide orientation Therefore proceed directly to Part 11 PART II Solve 9 92 93 r11 r12 R0 3 r21 r22 r31 r32 92 cos391r33 r 92 61th i 32 63 atan 2r3 1 2 F32 32 713 C1C2C3 5153 r23 316263 6133 33 3263 2 solutions r 3 l solutlon 2 Total 2 solutions C1C233 3163 316233 6163 3233 1 solution 6132 S132 Examgle 5 cl is 0 0 cl 0 s1 0 cl 0 s1 5ch3 T107 s1 1 0 0 TZO s1 0 701 0 JED s1 0 701 701513 1 cll 0 1 0 dldz 0 1 0 dldz 0 1 0 0 0 1 0 0 0 1 Inverse Kinematics Given a consistent and desired pose solve the inverse kinematics ii iz 7i x 0 r21 r22 r23 y T3 given 31 raz r33 2 0 0 0 1 Wrist is at origin of frame 3 rst dof position this robot positions in 3 space only PART I Solve 6162 63 x x39 17 y y z z Forward Kinematics c1 0 SI s1d3 To 31 0 cl 61613 3 0 1 0 d1 512 0 0 0 1 Wrist equal to FK s x sld3 y c1613 2 611 612 Square and add the rst two equations to get 1 equation in 1 unknown d3 solve as d3 iwlx392y392 2 solutions Then solve for 91 as 91 atan2 11 1 solution 613 613 Finally solve equation 3 for d2 51 Z39 d 2 1 1 solution Total 2 solutions hmwms q 0 5 Tim 7 51 0 51 quot31 0 1 0 4 0 0 0 1 aggiag faggiag Qg T53 505555 5055 7535555 5355 5055 igg g g 0 0 0 1 Inverse Kinematic 39 Given a 39 and desired pose solve the inverse kinematic 39 r11 r12 13 x To r21 r22 r23 y 6 ngn r31 r32 r33 Z 0 0 0 1 This is the rst 6 dof robot in these examples the wrist is located at the intersection of the last 3 joints Wrist is at origin of frame 3 4 5 PART I Solve 91 d2 d3 x x r13 x p5 y dsz3 y d6 r23 y z z r33 2 Forward Kinematics c1 0 s1 s1d3 c4c5c6 s4s6 04c536 s406 6435 To 2 s1 0 c1 clal3 T3 s4c5c6 c436 s4c536 c4c6 3435 3 0 l 0 all 612 a 6 3506 3536 05 0 0 0 1 0 0 0 1 Wrist equal to FK s x sld3 y cld3 239 611 612 Square and add the rst two equations to get 1 equation in 1 unknown d3 solve as d3 i lx392y392 2 solutions Then solve for 91 as 91 atan2 11 1 solution 613 613 Finally solve equation 3 for d2 d2 Z39 d 1 solution 1 PART II Solve Bijijg y y r11 r12 r13 616263 3133 CICZS3 3163 6152 3 0 1 0 v v v R6 R3 R6 r21 r22 r23 316263 6133 SICZS3CIC3 3132 y y y r31 r32 r33 3263 st3 cz 1 V 39 92 cos r 33 2 solutlons 92 atan 2 63 atan 2 v v r13 r23 5 2 2 v v r31 I a 2 Sz Total 4 solutions 32 J 1 solution J 1 solution Example 7 0102 SI cls2 clszal3 s1al2 T30 3162 cl 3132 3132613 cldl sz 0 c2 c2613 611 0 0 0 1 040506 3436 0405s63406 0435 T63 346566 c4s6 340536 0406 s4s5 s506 s536 05 0 0 0 l Inverse Kinematic 39 Given a 39 and desired pose solve the inverse kinematic 39 r11 r12 r13 x To r21 r22 r23 y 6 ngn r31 r32 r33 Z 0 0 0 1 This is the rst 6 dof robot in these examples the wrist is located at the intersection of the last 3 joints Wrist is at origin of frame 3 4 5 PART I Solve 91 9 d3 x x r13 x y P y dez3 y d6 r23 y z z r33 2 Forward Kinematics 0102 SI cls2 clszal3 s1al2 To Sicz cl 3132 3132613 cld2 3 sz 0 c2 c2613 611 0 0 0 1 646566 3436 6465363466 6 435 T3 346566 6436 346536 6466 34s5 6 S566 SSSS CS 0 0 0 1 Wrist equal to FK s y x clszd3 s1al2 l y 3132513 61512 z c2613 611 Square and add all three equations to get 1 equation in 1 unknown d3 solve as Common Solution Techniques A number of commonly used solutions techniques arise in spatial kinematics problems A few ofthese are summarized for convenience below 1 Square and Add This technique eliminates an unknown angle from two equations by isolating the unknown angle square and adding the two equations and evoking the relation 02 s2 Note that one equation is reduced as well 2 Inverse sine or cosine Note that the inverse of a sinusoidal function results in two solutions between 0 and 27 3 Atan2 lftwo equations are available that describe an angle as a sin and cosine function than the atan2 algorithm can be used For example c 9 r1 s 9 r2 then eatan2r2r1 note that the order depends on the creators of the atan2 algorithm 4 tan half angle identity If a single equation contains an unknown angle in both sine and cosine functions for example a s9 b 09 c one solution approach is to use the tan halfangle identity as ce1t2 1 t2 s92t 1 t2 ttan92 Substitute for sine and cosine to get a quadratic equation in t Solve fort get two roots and then solve for the unknown angle 9 2ta b1t2c1t2 cbt22atcb0 solve for t solve for 9 92atant 5 Another approach If a single equation contains an unknown angle in both sine and cosine functions a s9 b 09 c another approach is to replace the coef cients of s9 and 09 with a rsp b rcp then the original equation can be reduced to cosp9cr resulting in two solutions for 9 6 Two equations for 9 lftwo equation contains an unknown angle in both sine and cosine functions and have the form a 09 b s9 X a s9 b 09 y Robot Simulation in Matlab This tutorial will discuss some of the basic steps in creating a virtual robot control and simulation environment in Matlab This tutorial consists of several parts 1 3D graphics drawing robot primitives in Matlab using the patch command 2 Manipulating these primitives using the transformation operations rotation and translation 3 Animating a robot move 4 PathTrajectory generation 5 Inverse kinematic control of the virtual robot Part 1 Using 3D graphics in Matlab Matlab has several convenient tools to create 3D graphics in general built on window open GL The command we will use is the patch command Everything you would ever want to know about patch can be found in the matlab helpdesk We will use the following form of the patch command to draw and object gtpatch Vertices vertices71ink1 Faces faces71ink1 faceColor RGB values Vertices verticesilinkl is a matrix that contains all the vertices used to describe the object The size of verticesilinkl is nx3 where n is the number of vertices 3 is the number of coordinates for each vertex x yz Each row corresponds to a vertex and each column to its x yz coordinate Faces faceilinkl is a matrix that defines each face of the object in terms of the vertices that lie on the face Each row of this matrix corresponds to a face the columns contain the vertices that define the face FaceColor gives one means of defining the coloring of the object It can be in terms of the faces vertices etc or a single overall color as used here The examples that follow use a single color defined in terms of RGB values Now for an example First we will create a cylinder to represent the base of our robot The cylinder will be represented with a certain number of faces defined by a certain number of vertices It helps to sketch your primitive and label the vertices and faces as in figure 1 Figure 1 Link 1 a cylinder This cylinder will be de ned in parametric fashion based on radius rl and length 11 The vertices matrix will look something like vertilinkl rlcos0 rlsin0 0 rlcos30 rlsin30 0 etc The faces matrix will look like Faceilinkl123456789101112 1214131313131313131313 etc These are de ned in matlab and plotted using the patch command to yield the following result A second link is created this one looks like a bar With rounded ends With parameters r2 end radius 12 bar length t2 bar thickness to yield the following result plotted With the cylinder One nal note is made in de ning these objects Each object is de ned relative to its own frame and has an origin location Subsequent rotation operations will act on this frame and about this origin Therefore locate the origin and z axis of the body to align with a joint that could be envisioned on the body An example of object drawing for a cylinder and rounded bar is shown in the attached code drawirobotm Part 2 Manipulating 3D objects in Matlab Once the objects are created they can easily be manipulated by operating on the vertices with rigid body transformations rotation translastion Each vertex corresponding to each row in the vertex matrix is operated on A few lines of pseudo code demonstrating this process follow For il to of rows of vertexilinkl vertexilinkli R vertexilinkioi 1 end where R is 3x3 rotation matrix 1 is the 3x1 translation vector and the indicates transpose Note that the rotation operation provides a rigid body rotation to all vertices about the origin of the object and the translation provides a rigid body translation or offset to all points Also note that we have acted on the original vertices to create a new or current vertex matrix A rotation of 45 degrees is applied to the bar link 2 and plotted as shown in the following gure Introduction to Robotics Course Objectives to learn the basic concepts in the area of robotics dealing with mechanical manipulation by serial architecture manipulators This includes the following topics Mechanics Statics and dynamics Kinematics Motion description Hardware motors sensors mechanical links and joints Control processors drivers control algorithms Computer Science programming Path motion planning Examples in application Definitions fundamental Robot From the Czechoslovakian word ser or worker Manipulator Mechanism Mechanical device designed to control motion generally having 1 or 2 DOF Machine Note General types of robots based on architecture 1 Serial Consists of a single chain of links and joints connecting the tool to ground Advantages Large workspace Disadvantages 2 Parallel Consists of multiple loadbearing paths between the tool and ground Advantages High strength multiple load bearing paths Disadvantages Dif cult to model kinematics Definitions Components and Structure Joints Typically revolute R or Prismatic P 1 DOF in serial manipulators due to the need to apply actuatorto joint Degrees of Freedom DOF 3 DOF are required to position a point in space Thus a general manipulator should have dof to completely position and orient a tool Mobility The mobility equation Gruebler or Kutzback in 3D is given as Exercise How many DOFs are their in the human arm How many degrees of freedom would it take to install le on a printed circuit board How many to weld a vehicle chassis frame To paint a wall To paint a car Kinematically Redundant When a manipulator has more DOF than the space in which it is able designed to work Example human arm Another example planar robot with 4 dof Redundancy has both good and bad points Workspace Total volume swept out by a manipulator reachable WS Dexterous WS Accuracy Ability to a given point Repeatability Ability to a given point Resolution When applied to sensors controllers or drivers it refers to the smallest increment that can be moved or measured A serial robot architecture can be partitioned into 2 parts a positioning part called the arm and an orienting part called the wrist For a general 6 dof robot the arm has 3 dofand the wrist has 3 dof Types of Serial Manipulator Arms Based on Kinematic Arrangement this covers the 3 dof positioning system ie robot arms 1 Articulated Configuration R J R R Examples industrial robots Puma Cincinnati Milacron ABB Graco Notes Spatial resolution is a function of arm position poor accuracy due to accumulated joint errors Advantages Disadvantages 2 Spherical Configuration R J R J R Example Stanford Manipulator Advantage Disadvantage 3 Scara Configuration R R P Selective Compliant Articulated Robot for Assembly Examples Adept One Seiko Advantages Disadvantages 4 Cylindrical Configuraton R PJ P Advantages Simple kinematic model can be very strong Disadvantage 5 Cartesian Configuration P J P J P Examples Gantrytype robots tabletop manipulators Advantages Simple to model linear motion can use pneumatic drives pick and place Disadvantages requires a large volume to operate in smaller workspace prismatic joints unable to reach under objects Kinematic architecture of robotic wrists In general the wrist consists of the last one to three joints in a serial robot and provides orientation From a kinematic standpoint the ideal wrist is spherical which means that all its joint axes intersect at a common point There are two primary types of 3 dof wrists PitchYawRoll Wrist Generally has singularities at the edge ofa hemispherical workspace RollPitchRoll Wrist Generally has singularities at the center of a spherical workspace JargonDefinitions related to robotics Adagtive Control Anthrogromorghic BangBang control Closedloog control Cycletime Duty cycle Encoder Endeffector Feature extraction Modular NonQrehensile OQenloog control Prehensile movements Velocity Kinematics From Can eld 1997 The instantaneous kinematic analysis of a manipulator de nes the direction and magnitude translational and rotational of impending motion at a speci c point in time This analysis is position dependent and assumes apriori knowledge of the position information From the position kinematic analysis a kinematic transformation between joint space and tool space can be represented as X f 639 Instantaneous or velocity analysis follows directly from the position analysis Here the input velocity vector q is mapped into the output space velocity vector v by the matrix J called the Jacobian of the manipulator V J a This matrix equation demonstrates that the Jacobian is necessarily a linear relationship between the input and output velocities Obtaining the Jacobian however may involve a complex process When the vector function f from the position analysis is available explicitly velocity analysis the Jacobian results from direct differentiation However in most parallel manipulators the kinematic equations are implicit making differentiation nontrivial A number of alternative methods are available for Jacobian determination For example the Jacobian can be created from a set of linear velocity equations based on the known manipulator position information Screw theory provides another wellknown approach to developing a system Jacobian However these approaches result in several complications when applied to parallel manipulators In this analysis although the kinematic position equations are implicit direct differentiation is used to obtain the J acobian matrix The system Jacobian plays a central role in the kinematics of a robotic manipulator As shown in Eq 42 above it is used to define the relationship between the actuated input velocities and the output or tool velocities It is even more important in quantifying the performance of a manipulator Two key performance measures the size and continuity of the available singularityfree workspace and the manipulability or dexterity measure 4 throughout the workspace are contained in the algebra of the Jacobian matrix Velocity Kinematics The instantaneous kinematic analysis of a manipulator defines the direction and magnitude translational and rotational of impending motion at a specific point in time This analysis is position dependent and assumes apriori knowledge of the position information From the position kinematic analysis a 41 42 kinematic transformation between joint space and tool space can be represented as x fq Note that the function fq is generally cast in the form of a transformation matrix Tq Instantaneous or velocity analysis follows directly from the position analysis Here the input velocity vector q is mapped into the output space velocity vector v by the matrix J called the Jacobian ofthe manipulator v Jq This matrix equation demonstrates that the Jacobian is necessarily a linear relationship between the input and output velocities Obtaining the Jacobian however may involve a complex process When the vector function ffrom the position analysis is available explicitly velocity analysis the Jacobian results from direct differentiation of the displacement function with respect to each of the input parameters Hence its name This is shown as v x ddtfq ddqfqdqdt V dfqdq1 dfqdQ2 dfqdqnldq1dt dqndt v Jq Features of the Jacobian Matrix 1 It de nes the output velocities given input velocities and vice Versa 2 3 4 Methods for Determining a Manipulator Jacobian Two methods will be considered 1 casting the manipulator velocity equations in the form of 3 and 2 procedure developed for serial manipulators Method 1 Jacobian from velocity equations Review velocity and acceleration analysis kinematics of systems in three dimensions Velocity analysis of a body or multiple bodies in space is performed by taking the rst time derivative ofan equation describing the position ofthe body There are two important things to remember 1 42 1 Time derivatives must be taken relative to an inertial frame although the velocity can be described in any frame 2 Apply the transport Theorem The time derivative of a body described in a but with respect to the inertial frame n is given as ra r1a1 r2a2 v addt ra quotcoax ra 3 Angular velocities are vectors and can be added as vectors Examples Method 2 Procedure to Calculate the Jacobian for Serial Manipulators Refer to Spong and Vidysagar Partition J such that Derive JW Velocity Kinematics From Can eld 1997 The instantaneous kinematic analysis of a manipulator de nes the direction and magnitude translational and rotational of impending motion at a speci c point in time This analysis is position dependent and assumes apriori knowledge of the position information From the position kinematic analysis a kinematic transformation between joint space and tool space can be represented as X f 639 Instantaneous or velocity analysis follows directly from the position analysis Here the input velocity vector q is mapped into the output space velocity vector v by the matrix J called the Jacobian of the manipulator V J a This matrix equation demonstrates that the Jacobian is necessarily a linear relationship between the input and output velocities Obtaining the Jacobian however may involve a complex process When the vector function f from the position analysis is available explicitly velocity analysis the Jacobian results from direct differentiation However in most parallel manipulators the kinematic equations are implicit making differentiation nontrivial A number of alternative methods are available for Jacobian determination For example the Jacobian can be created from a set of linear velocity equations based on the known manipulator position information Screw theory provides another wellknown approach to developing a system Jacobian However these approaches result in several complications when applied to parallel manipulators In this analysis although the kinematic position equations are implicit direct differentiation is used to obtain the J acobian matrix The system Jacobian plays a central role in the kinematics of a robotic manipulator As shown in Eq 42 above it is used to define the relationship between the actuated input velocities and the output or tool velocities It is even more important in quantifying the performance of a manipulator Two key performance measures the size and continuity of the available singularityfree workspace and the manipulability or dexterity measure 4 throughout the workspace are contained in the algebra of the Jacobian matrix Velocity Kinematics 41 42 XfCI 1 v Jq 2 This matrix equation demonstrates that the Jacobian is necessarily a linear relationship between the input and output velocities De nition of Jacobian Features of the Jacobian Matrix for a Manipulator 1 2 3 4 Methods for Determining a Manipulator Jacobian Two methods will be considered 1 casting the manipulator velocity equations in the form of 3 and 2 procedure developed for serial manipulators Method 1 Jacobian from velocity equations Review velocity and acceleration analysis kinematics of systems in three dimensions There are three important things to remember 2 3 Angular velocities are vectors and can be added as vectors Examples Method 2 Procedure to Calculate the Jacobian for Serial Manipulators Refer to Spong and Vidysagar Partition J such that Derive JW Derive JV

### BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.

### You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

## Why people love StudySoup

#### "Knowing I can count on the Elite Notetaker in my class allows me to focus on what the professor is saying instead of just scribbling notes the whole time and falling behind."

#### "I signed up to be an Elite Notetaker with 2 of my sorority sisters this semester. We just posted our notes weekly and were each making over $600 per month. I LOVE StudySoup!"

#### "There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."

#### "Their 'Elite Notetakers' are making over $1,200/month in sales by creating high quality content that helps their classmates in a time of need."

### Refund Policy

#### STUDYSOUP CANCELLATION POLICY

All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email support@studysoup.com

#### STUDYSOUP REFUND POLICY

StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here: support@studysoup.com

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to support@studysoup.com

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.