Download presentation
Presentation is loading. Please wait.
1
Robotics, Fall 2006 Lecture 4: Forward Kinematics and Some Mathematica Copyright © 2005, 2006 Jennifer Kay
2
2 Review The transformation that takes a point in j coordinates and computes its location in k coordinates. Easiest way to come up with the matrix: first figure out how to move frame k to frame j.
3
3 Review: Arbitrary Rotations & Translations Moving Coordinates – Each move is relative to the frame resulting from the previous one 1. Summarize moves 2. List from Left to Right Fixed Coordinates – Each move is done relative to the original frame 1. Summarize moves 2. List from Right to Left
4
4 Anatomy of a Robot Manipulator joints links gripper (end effector) Manipulator model from: http://uwf.edu/ria/robotics/robotdraw/4dofform.htm
5
5 Kinematics Forward Kinematics – Given joint angles, compute the transformation between world & gripper coordinates – Relatively straightforward Inverse Kinematics – Given the transformation between world coordinates and an arbitrary frame, compute the joint angles that would line your gripper coordinates up with that frame. – More complex
6
6 First Example: A 1-Degree of Freedom Arm The location of the smiley in w coordinates never changes However its location in j and g coordinates may change as the robot rotates the joint and/or the gripper.
7
7 First Example: A 1-Degree of Freedom Arm Question: As the arm moves, what is the only point whose location does not change in w, j, or g coordinates?
8
8 Forward Kinematics for our 1-DOF Arm We want to be able to convert between world and gripper coordinates, as a function of the angle of the joint.
9
9 Joint Rotated by 0 degrees If our joint never rotated, what would T g be? w
10
10 Joint Rotated by ψ degrees T g = F w = Trans(L1,0,0) Rot z(ψ) Trans(L2,0,0) w g
11
11 Joint Rotated by ψ degrees But it does rotate! So how do we compute T g ? T g = F w = Trans(L1,0,0) Rot z(ψ) Trans(L2,0,0) w w g L1 L2
12
12 Mathematica Tips Mathematica can make messy calculations neater. There are some tips at the end of the reading that can help you.
13
13 Functions in Mathematica A function that returns the mean of a and b avg[a_, b_] := ((a+b)/2)
14
14 Matrices are represented as lists of lists Function for Rotx Rotx[theta_] := ( {{1, 0, 0, 0}, {0, Cos[theta], -1*Sin[theta], 0}, {0, Sin[theta], Cos[theta], 0}, {0, 0, 0, 1}} )
15
15 Mathematica Uses RADIANS (not Degrees) To Rotate x by 90 degrees: Rotx[Pi/2] Example In[2]:= Rotx[0] Out[2]= {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}
16
16 Making Matrices Readable In[3]:= MatrixForm[Rotx[0]] Out[3]//MatrixForm=
17
17 Rotate x by 90 degrees In[4] := MatrixForm[Rotx[Pi/2]] Out[3]//MatrixForm=
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.