Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics Many slides courtesy James O’Brien
Summary and Outline Inverse Kinematics Lecture CS Advanced Graphics in the fall Course Evaluations Best of luck for HW 5, Final
Forward Kinematics Joints (typically not 6 DOF) Pin – rotate about one axis Ball – arbitrary rotation Prism – translate alone one axis
Joints
Pin and Ball Joint Translate inboard joint to local origin Rotate about axis (for pin), arbitrary (for ball) Translate origin to location of joint on outboard
Prism Joint Translate inboard joint to local origin Translate along axis Translate origin to location of joint on outboard
Articulated Figures Composite transformations up the hierarchy
Inverse Kinematics
Egon Pasztor
2 Segment Arm in 2D
Direct IK Analytically solve for parameters (not general)
Difficult Issues Multiple configurations distinct in config space Or connected in config space
Infeasible Regions
Numerical Solution Start in some initial config. (previous frame) Define error metric (goal pos – current pos) Compute Jacobian with respect to inputs Use Newton’s or other method to iterate General principle of goal optimization
Back to 2 Segment Arm
Jacobians and Configuration Space
Solving for Joint Angles
Issues Jacobian not always invertible Use an SVD and pseudo-inverse Iterative approach, not direct The Jacobian is a linearization, changes Practical implementation (see longer slides) Analytic forms for prism, ball joints Composing transformations Or quick and dirty: finite differencing Cyclic coordinate descent (each DOF one at a time)
Next Semester CS (maybe CS 283) Advanced Graphics Follow-on of this course, discuss current research Take it if did well and enjoyed 184, want to learn more Or are considering industry or graduate school in area Tentative Topics / Assignments Path Tracer Real-Time or Image-Based Rendering Subdivision Surfaces Physical Simulation Daniel’s path tracerpath tracer
Wrap Up Good luck on HW 5 and Final Great teaching the course; hope to see more of some of you next semester and beyond Course Evaluations Scores taken seriously in instructor evaluations Comments feedback important for future iterations Have a great end of semester