Animation CS 551 / 651 Kinematics Lecture 09 Sarcos Humanoid Kinematics The study of object movements irrespective of their speed or style of movement Degrees of Freedom (DOFs) The variables that affect an object’s orientation How many degrees of freedom when flying? • So the kinematics • Six of this airplane • x, y, and z positions permit movement • roll, pitch, and yaw anywhere in three dimensions Degrees of Freedom How about this robot arm? • Six again • 2-base, 1-shoulder, 1-elbow, 2-wrist Configuration Space • The set of all possible positions (defined by kinematics) an object can attain Work Space vs. Configuration Space Work space • The space in which the object exists • Dimensionality – R3 for most things, R2 for planar arms Configuration space • The space that defines the possible object configurations • Degrees of Freedom – The number of parameters that necessary and sufficient to define position in configuration More examples A point on a plane A point in space A point moving on a line in space A matter of control If your animation adds energy at a particular DOF, that is a controlled DOF Low DOF, high control High DOF, no control Hierarchical Kinematic Modeling A family of parent-child spatial relationships are functionally defined • Moon/Earth/Sun movements • Articulations of a humanoid • Limb connectivity is built into model (joints) and animation is easier Robot Parts/Terms Links End effector Frame Revolute Joint Prismatic Joint More Complex Joints 3 DOF joints • Gimbal • Spherical (doesn’t possess singularity) 2 DOF joints • Universal Hierarchy Representation Model bodies (links) as nodes of a tree All body frames are local (relative to parent) • Transformations affecting root affect all children • Transformations affecting any node affect all its children ROOT Forward vs. Inverse Kinematics Forward Kinematics • Compute configuration (pose) given individual DOF values – Good for simulation Inverse Kinematics • Compute individual DOF values that result in specified end effector position – Good for control Forward Kinematics Traverse kinematic tree and propagate transformations downward • Use stack • Compose parent transformation with child’s • Pop stack when leaf is reached Denavit-Hartenberg (DH) Notation A kinematic representation (convention) inherited from robotics Z-axis aligned with joint X-axis aligned with outgoing limb Y-axis is orthogonal Joints are numbered to represent hierarchy Ui-1 is parent of Ui Parameter ai-1 is outgoing limb length of joint Ui-1 Joint angle, qi, is rotation of xi-1 about zi-1 relative to xi Link twist, ai-1, is the rotation of ith z-axis about xi-1-axis relative to z-axis of i-1th frame Link offset, di-1, specifies the distance along the zi-1-axis (rotated by ai-1) of the ith frame from the i-1th x-axis to the ith x-axis Inverse Kinematics (IK) Given end effector position, compute required joint angles In simple case, analytic solution exists • Use trig, geometry, and algebra to solve What is Inverse Kinematics? Forward Kinematics ? End Effector Base What is Inverse Kinematics? Inverse Kinematics End Effector Base What does look like? ? End Effector Base Solution to Our example Number of equation : 2 Unknown variables : 3 Infinite number of solutions ! Redundancy System DOF > End Effector DOF Our example System DOF = 3 End Effector DOF = 2 • Analytic solution of 2-link inverse kinematics x2 x 2 y 2 a12 a22 2a1a2 cos( q 2 ) cos q 2 x y a a 2a1a2 2 2 2 1 y2 2 2 for greater accuracy tan 2 q2 2 1 cos q 2a1a2 x y a a 1 cos q 2a1a2 x 2 y 2 a a 2 a x 2 1 2 q 2 2 tan 1 2 x y y a a a a x y x y a a a 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 y0 (x,y) O2 q2 y1 a2 q2 2 2 2 2 2 2 1 a1 O1 2 2 2 2 O0 q1 x0 x1 Failures of simple IK Multiple Solutions Failures of simple IK Infinite solutions Failures of simple IK Solutions may not exist Iterative IK Solutions Frequently analytic solution is infeasible Use Jacobian • Derivative of function output relative to each of its inputs If y is function of three inputs and one output y f ( x1 , x2 , x3 ) y f x1 x1 f x2 x2 f x3 x3 • Represent Jacobian, J(X), as a 1x3 matrix of partial derivatives Jacobian In another situation, end effector has 6 DOFs and robotic arm has 6 DOFs f(x1, …, x6) = (x, y, z, r, p, y) Therefore J(X) = 6x6 matrix f x x 1 f y x1 f z x1 f r x1 f p x 1 f y x 1 f x x 2 f x x3 f x x 4 f x x5 f x x6 Jacobian Relates velocities in parameter space to velocities of outputs Y J ( X ) X If we know Ycurrent and Ydesired, then we subtract to compute Ydot Invert Jacobian and solve for Xdot Turn to PDF slides Slides from O’Brien and Forsyth • CS 294-3: Computer Graphics Stanford Fall 2001 Differential Kinematics Is J always invertible? No! • Remedy : Pseudo Inverse Null space The null space of J is the set of vectors which have no influence on the constraints q nullspace ( J ) Jq 0 The pseudoinverse provides an operator which projects any vector to the null space of J Jq x q J x ( I J J ) z Utility of Null Space The null space can be used to reach secondary goals q J x ( I J J ) z min f (q ) z Or to find comfortable positions f (q ) (q comfort (i) q (i)) i 2 Calculating Pseudo Inverse Singular Value Decomposition Redundancy A redundant system has infinite number of solutions Human skeleton has 70 DOF • Ultra-super redundant How to solve highly redundant system? Redundancy Is Bad Multiple choices for one goal • What happens if we pick any of them? Redundancy Is Good We can exploit redundancy Additional objective • Minimal Change • Similarity to Given Example • Naturalness Naturalness Based on observation of natural human posture Neurophysiological experiments Conflict Between Goals ee 2 ee 1 base Conflict Between Goals Goal 1 ee 2 ee 1 base Conflict Between Goals Goal 2 ee 2 ee 1 base Conflict Between Goals Goal 2 Goal 1 ee 2 ee 1 base Conflict Between Goals Goal 2 Goal 1 ee 2 ee 1 base
© Copyright 2024 Paperzz