Kinematics Manipulator Kinematics P P θ θ y 1 y 1 x 1 x 1 Many slides adapted from: Siegwart, Nourbakhsh and Scaramuzza, Autonomous Mobile Robots Renata Melamud, An Introduction to Robot Kinematics, CMU Rick Parent, Computer Animation, Ohio State Steve Rotenberg, Computer Animation, UCSD
Bookkeeping 2 u Homework u Resolution, Kinematics & IK, Course Progress u Due Thursday night u Quiz 3: Manipulation, Grasping, Kinematics u Due tomorrow night (not Thursday) u Assignment 3: u Build hardware! u Today: u Transformations, affines u Chasles’ theorem
Assignment 3 3 u Build LED circuit u Breadboard-based building u Parts in lab / class Thursday u Build motor u Very simple conceptually u Some of this will be in-class workshop u 12 th November u Due on 13th
Forward & Inverse 4 Joint space (robot u Forward: space – previously R ) u Inputs: joint angles θ 1 , θ 2 , … , θ n u Outputs: coordinates of end-effector u Inverse: u Inputs: desired coordinates of end-effector u Outputs: joint angles u Inverse kinematics are tricky u Multiple solutions u No solutions (x,y,z}, r/p/y u Dead spots Cartesian space (global space – previously I )
Actual Goal 5 u Transform between robot and world coordinates u Why? u Transformation of parts (points) of the robot R: {0, 0, 0} I: {4, 2, 3} z R: {0, 0, -2} I: {4, 2, 5} y x
Actual Goal 6 u Affine transformation u Preserves collinearity (i.e., all points lying on a line initially still lie on a line after transformation) u Preserves ratios of distances (e.g., the midpoint of a line segment remains the midpoint after transformation) u Rigid transform u Reflections, translations, rotations u Preserves internal relationship of points u Distances between every pair of points u (Remember, this is not the robot moving!)
Affine Transformations 7 u Affine transformations: u Given a point x (x,y), transformed x’ can be written: x’ = [ ] ax + by + c dx + ey + f x’ = [ ] x+c y+f u Translation u Rotation u Scaling x’ = [ ] u Shear x cos θ – y sin θ x sin θ + y cos θ
Homogenous Coordinates 8 u These can all be done with matrix multiplication u But, this is not a linear transform u Represent points in space using vectors u Transform using 2x2 (or 3x3) matrices But: u Multiplying a zero vector by a matrix gives you? u Another zero vector u Can’t move the origin!
Homogenous Coordinates 9 u So we need homogenous coordinates u Add identity column/row 1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1 u Translation becomes 1 0 0 Δ x 0 1 0 Δ y 0 0 1 Δ z 0 0 0 1
DH Parameters 10 a i-1 : link length – distance Z i-1 and Z i along X i � α i-1 : link twist – angle Z i-1 and Z i around X i d i : link offset – distance X i-1 to X i along Z i � θ 2 : joint angle – angle X i-1 and X i around Z i
Translation 11 x I x R y I y R ξ R = ξ I = z I z R θ θ Origin of R in I: In 3D: Generally: 0 1 0 0 0 1 0 0 x 3 0 1 0 3 0 1 0 y 0 0 0 1 0 0 0 1 z 1 0 0 0 1 0 0 0 1
Rotation 12 x x y y ξ I = ξ R = z z θ I θ R Generally: Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Kay 2005
Example: Rotation in Plane 13
Transformation i to i-1 (2) 14 a i-1 : distance Z i-1 and Z i along X i � screw α i-1 : angle Z i-1 and Z i around X i displacement: d i : distance X i-1 to X i along Z i � screw θ 2 : angle X i-1 and X i around Z i displacement: u Coordinate transformation:
Transformation i to i-1 (3) 15 Transformation in DH:
Inverse Kinematics 16 1. Set goal configuration of end effector 2. calculate interior joint angles u Compute the vector of joint DOFs that will cause the end effector to reach some desired goal state u In other words, it is the inverse previous problem u Analytic approach u Directly calculate joint angles in configuration that satisfies goal u Numeric approach u At each time slice, determine joint movements that take you in direction of goal position (and orientation)
Inverse Kinematics 17 End Effector L 1 θ 3 θ 2 L 3 L 2 θ 1 Goal
Inverse Kinematics 18 u Undercon erconst strain ined ed u Fewer constraints than DoFs u Many solutions u Overcon erconst strain ined ed u Too many constraints u No solution u Rea each chable le wor orksp space ce u Volume the end effector can reach u Dext extrou rous wor orksp space ce u Volume end effector can reach in any orientation
Analytic 19 Given arm configuration (L1, L2, …) Given desired goal position (and orientation) of end effector: [x,y,z, ψ 1, ψ 2, ψ 3 ] Analytically compute goal configuration ( θ 1, θ 2 ) Interpolate pose vector from initial to goal
Analytic Inverse Kinematics 20 θ 2 L2 Goal L1 (X,Y) θ 1
Analytic Inverse Kinematics 21 Multiple solutions Goal (X,Y)
Analytic Inverse Kinematics 22 L2 180- θ 2 L1 (X,Y) θ 1 θ T
Analytic Inverse Kinematics 23 L2 180- θ 2 L1 (X,Y) θ 1 x 2 + y 2 Y θ T X
Law of Cosines 24 C A B α 2 2 2 A B C + − cos( ) α = 2 AB
Analytic Inverse Kinematics 25 X cos( ) θ = L2 T 2 2 (X,Y) X Y L1 + 180- θ 2 θ 1 θ T x 2 + y 2 Y X ⎛ ⎞ 1 cos − ⎜ ⎟ θ = T ⎜ ⎟ X 2 2 X Y + ⎝ ⎠ 2 2 2 2 L X Y L + + − cos( ) 1 2 θ − θ = 1 T 2 2 2 L X Y + 1 ( ) 2 2 2 2 L L X Y + − + cos( 180 ) 1 2 − θ = 2 2 L L 1 2 2 2 2 2 L X Y L + + − 1 cos − ( 1 2 ) θ = + θ 1 T 2 2 2 L X Y + ( ) ) 2 2 2 2 L L X Y 1 + − + 1 180 cos − ( 1 2 θ = − 2 2 L L 1 2
Analytic Inverse Kinematics 26
Iterative Inverse Kinematics 27 When linkage is too complex for analytic methods At each time step, determine changes to joint angles that take the end effector toward goal position and orientation Need to recompute at each time step
Inverse Jacobian Method 28 a 2 d 2 End Effector a 2 x d 2 θ 2 Compute instantaneous effect of each joint Linear approximation to curvilinear motion Find linear combination to take end effector towa ward rds goal position
Inverse Jacobian Method 29 Instantaneous linear change in end effector for i th joint
Inverse Jacobian Method 30 What is the change in orientation of end effector induced by joint i that has Angular velocity axis of rotation a i � a = ω and position J i ? i i
Inverse Jacobian Method 31 Solution only valid for an instantaneous step Angular affect is really curved, not straight line Once a step is taken, need to recompute solution
Inverse Jacobian: Math 32 Set up equations y i : state variable x i : system parameter f i : relate system parameters to state variable y 1 = f 1 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 2 = f 2 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 3 = f 3 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 4 = f 4 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 5 = f 5 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 6 = f 6 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 )
Inverse Jacobian: Math 33 y 1 = f 1 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 2 = f 2 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 3 = f 3 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 4 = f 4 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 5 = f 5 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 6 = f 6 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) Y = F ( X ) Matrix Form
Inverse Jacobian: Math 34 y i = f ( x , x , x , x , x , x ) 1 1 2 3 4 5 6 Use chain rule to differentiate equations to relate changes in system parameters to changes in state variables f f f f f f ∂ ∂ ∂ ∂ ∂ ∂ i i i i i i dy dx dx dx dx dx dx = + + + + + i 1 2 3 4 5 6 x x x x x x ∂ ∂ ∂ ∂ ∂ ∂ 1 2 3 4 5 6
Inverse Jacobian: Math 35 f f f f f f ∂ ∂ ∂ ∂ ∂ ∂ i i i i i i y dx dx dx dx dx dx ∂ = + + + + + i 1 2 3 4 5 6 x x x x x x ∂ ∂ ∂ ∂ ∂ ∂ 1 2 3 4 5 6 Matrix Form F ∂ Y = F ( X ) dY dX = X ∂
Inverse Jacobian: Math 36 F ∂ dY dX = X ∂ Change in position (and Change in joint angles orientation) of end effector Linear approximation that relates change in joint angle to change in end effector position (and orientation)
Inverse Jacobian: Math 37 F ∂ dY dX = X ∂ p p p ∂ ∂ ∂ ⎡ ⎤ x x … x ⎢ ⎥ ∂θ ∂θ ∂θ 1 2 n ⎢ ⎥ p p p ∂ ∂ ∂ ⎢ ⎥ y y y … v ⎡ ⎤ ⎢ ⎥ x ∂θ ∂θ ∂θ ⎢ ⎥ 1 2 n ⎢ ⎥ � v ⎡ ⎤ θ p ⎢ y ⎥ ∂ 1 ⎢ ⎥ z … … … ⎢ ⎥ � v ⎢ ⎥ ⎢ ⎥ θ ∂θ z ⎢ ⎥ 2 = 1 ⎢ ⎥ ⎢ ⎥ a ⎢ … ⎥ ω ∂ ⎢ ⎥ x ⎢ x … … … ⎥ ⎢ ⎥ � ⎢ ⎥ ⎢ ∂θ ⎥ ω θ ⎢ ⎥ 1 ⎣ ⎦ y n ⎢ ⎥ ⎢ ⎥ a ∂ ω y ⎢ ⎥ … … … ⎣ ⎦ ⎢ ⎥ z ∂θ ⎢ ⎥ 1 a ⎢ ⎥ ∂ z … … … ⎢ ⎥ ∂θ ⎣ ⎦ 1
Jacobians 38 u Let’s say we have a simple 2D robot arm with two 1 - DOF rotational joints: • e =[e x e y ] Φ 2 Φ 1
Recommend
More recommend