foundations of computer graphics (spring 2010) cs 184, lecture 25: inverse kinematics cs184 many...

20
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

Post on 20-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

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

Forward KinematicsForward Kinematics

Joints (typically not 6 DOF)

Pin – rotate about one axis

Ball – arbitrary rotation

Prism – translate alone one axis

JointsJoints

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

Prism JointPrism Joint

Translate inboard joint to local origin

Translate along axis

Translate origin to location of joint on outboard

Articulated FiguresArticulated Figures

Composite transformations up the hierarchy

Inverse KinematicsInverse Kinematics

Inverse KinematicsInverse Kinematics

Egon Pasztor

2 Segment Arm in 2D2 Segment Arm in 2D

Direct IKDirect IK Analytically solve for parameters (not general)

Difficult IssuesDifficult Issues

Multiple configurations distinct in config space

Or connected in config space

Infeasible RegionsInfeasible Regions

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

Back to 2 Segment ArmBack to 2 Segment Arm

Jacobians and Configuration SpaceJacobians and Configuration Space

Solving for Joint AnglesSolving for Joint Angles

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)

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

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