Top Banner
Foundations of Computer Foundations of Computer Graphics (Spring 2010) Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics http://inst.eecs.berkeley.edu/~cs184 Many slides courtesy James O’Bri
20

Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Foundations of Computer Graphics Foundations of Computer Graphics (Spring 2010)(Spring 2010)

CS 184, Lecture 25: Inverse Kinematics

http://inst.eecs.berkeley.edu/~cs184

Many slides courtesy James O’Brien

Page 2: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Summary and OutlineSummary and Outline

Inverse Kinematics Lecture

CS 294-13 Advanced Graphics in the fall

Course Evaluations

Best of luck for HW 5, Final

Page 3: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Forward KinematicsForward Kinematics

Joints (typically not 6 DOF)

Pin – rotate about one axis

Ball – arbitrary rotation

Prism – translate alone one axis

Page 4: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

JointsJoints

Page 5: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Pin and Ball JointPin 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

Page 6: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Prism JointPrism Joint

Translate inboard joint to local origin

Translate along axis

Translate origin to location of joint on outboard

Page 7: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Articulated FiguresArticulated Figures

Composite transformations up the hierarchy

Page 8: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Inverse KinematicsInverse Kinematics

Page 9: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Inverse KinematicsInverse Kinematics

Egon Pasztor

Page 10: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

2 Segment Arm in 2D2 Segment Arm in 2D

Page 11: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Direct IKDirect IK Analytically solve for parameters (not general)

Page 12: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Difficult IssuesDifficult Issues

Multiple configurations distinct in config space

Or connected in config space

Page 13: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Infeasible RegionsInfeasible Regions

Page 14: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Numerical SolutionNumerical 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

Page 15: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Back to 2 Segment ArmBack to 2 Segment Arm

Page 16: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Jacobians and Configuration SpaceJacobians and Configuration Space

Page 17: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Solving for Joint AnglesSolving for Joint Angles

Page 18: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

IssuesIssues

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)

Page 19: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Next SemesterNext Semester

CS 294-13 (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

http://inst.eecs.berkeley.edu/~cs294-13/fa09

Daniel’s path tracer

Page 20: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics cs184 Many slides courtesy James O’Brien.

Wrap UpWrap 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