1cs426-winter-2008 Notes  Will add references to splines on web page.

Slides:



Advertisements
Similar presentations
COMP Robotics: An Introduction
Advertisements

Robot Modeling and the Forward Kinematic Solution
Robot Modeling and the Forward Kinematic Solution
Outline: Introduction Link Description Link-Connection Description
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
Chapter 4: IMD Chapter 4: Character Animation Character Animation 1 Lecturer: Norhayati Mohd Amin.
1Notes  Questions?  Assignment 1 should be ready soon (will post to newsgroup as soon as it’s out)
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Robot Modeling and the Forward Kinematic Solution ME 4135 Lecture Series 4 Dr. R. Lindeke – Fall 2011.
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
Introduction to Robotics
Motion Analysis (contd.) Slides are from RPI Registration Class.
1cs426-winter-2008 Notes  More papers to read: T. Duff, "Compositing 3-D rendered images", SIGGRAPH 1985 R. Cook, "Distributed ray tracing", SIGGRAPH.
“Inverse Kinematics” The Loop Closure Problem in Biology Barak Raveh Dan Halperin Course in Structural Bioinformatics Spring 2006.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
IK: Choose these angles!
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 25: Inverse Kinematics Many slides courtesy James O’Brien.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Inverse Kinematics.
CSCE 689: Forward Kinematics and Inverse Kinematics
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Advanced Graphics (and Animation) Spring 2002
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Inverse Kinematics.
Inverse Kinematics Kris Hauser
Inverse Kinematics.
Simulation and Animation
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
INVERSE KINEMATICS ANALYSIS TRAJECTORY PLANNING FOR A ROBOT ARM Proceedings of th Asian Control Conference Kaohsiung, Taiwan, May 15-18, 2011 Guo-Shing.
Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
CNM 190 Advanced Digital Animation Lec 10 : Inverse Kinematics & Automating Animation Dan Garcia, EECS (co-instructor) Greg Niemeyer, Art (co-instructor)
Rick Parent - CIS681 Reaching and Grasping Reaching control synthetic human arm to reach for object or position in space while possibly avoiding obstacles.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.
Fundamentals of Computer Animation
CSCE 441: Computer Graphics Forward/Inverse kinematics
Inverse Kinematics.
Character Animation Forward and Inverse Kinematics
Computer Animation cgvr.korea.ac.kr.
INVERSE MANIPULATOR KINEMATICS
CHAPTER 2 FORWARD KINEMATIC 1.
Mobile Robot Kinematics
Animation Lecture 10 Slide 1.
Skeletons and Skinning
CSCE 441: Computer Graphics Forward/Inverse kinematics
Computer Animation Algorithms and Techniques
UMBC Graphics for Games
Synthesis of Motion from Simple Animations
Skeletal Motion, Inverse Kinematics
Computer Graphics Lecture 15.
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

1cs426-winter-2008 Notes  Will add references to splines on web page

2cs426-winter-2008 Forward Kinematics  Usually a character (or a robot) has no loops --- link/joint graph is a tree  Pick an arbitrary link to be the root (e.g. hip)  Settle on its coordinate system with respect to the world 6 DOF: position + orientation (more on this later)  For attached links, get translation and rotation from root’s coordinate system to neighbours’ coordinate systems  Go through the tree to the tips (“end-effectors”) concatenating transformations  This is “Forward Kinematics” (FK)

3cs426-winter-2008 Pros and Cons  A simple layered approach Get the root link moving first (e.g. the pelvis) Fix the pose outward, link by link (the back and the legs next, then the head, the arms, the hands, the fingers,...)  Great for certain types of motion General acting, moving in free space,...  Problems when interacting with other objects How do you make sure fingers are exactly in contact with a doorknob throughout a scene, as the arm moves, as the body moves,... Even simpler: how do you make sure the feet stay planted on the ground?

4cs426-winter-2008 Inverse Kinematics (IK)  Keep the same tree structure, fix the root, get the body into roughly the right pose  Specify a target position (maybe orientation too) for an “end-effector”  Solve system of equations for the joint angles that achieve the target  This is really just a user interface for the computer to help you set the joint angles to what you want

5cs426-winter-2008 IK Applications  Obvious application in robotics: robot arm needs to figure out how to reach something  Used in graphics as an efficient UI for animating grasping, contact, foot plants, etc.  Also used in graphics for automatic corrections (later in the term: footskate cleanup)

6cs426-winter-2008 IK issues 1  Too many joints: there are many solutions, how do you pick the best one? Often add constraints---e.g. keep the arm in the specified plane so it doesn’t rotate wildly Minimize some quantity---e.g. the sum of squares of differences from original rough pose (or previous frame) Try to keep poses close to a set of known good poses (e.g. from motion capture data)

7cs426-winter-2008 IK issues 2  Target impossible (or just barely possible) --- not enough degrees of freedom Try to get as close as possible to the target in some sense Penalize bad joint angles, huge differences from initial pose  So if pose is only just possible, via some weird unrealistic angles, we don’t do it

8cs426-winter-2008 How do you do IK?  Simple skeletons: analytic solutions may exist Look up formulas from papers Not fun, not flexible  More generally: numerical solution of optimization problem Minimize difference between actual end-effort pose and the target Possibly include constraints  E.g. joint angle limits, collisions

9cs426-winter-2008 IK as optimization  Unconstrained optimization problem:  In our case: theta is a vector of all the joint angles f(.) is a measure of the distance between the pose of the end-effector and the target  Start from an initial guess, use algorithms to steadily make better guesses until close enough

10cs426-winter-2008 Line Search Approach  Say we have guess  k  Pick a “direction” d k to search along  Look for new guess as  k+1 =  k +  d k  Line search: figure out a scalar  (the “step size”) that will make f(  k+1 ) smaller than f(  k )  Assuming d k is scaled properly, simplest algorithm: Check  =1: if it’s an improvement stop Otherwise halve  and try again  If d k is “downhill” d k  f<0 then guaranteed to improve if  is small enough

11cs426-winter-2008 Picking the direction  Cyclic Coordinate Descent: in each direction, pick a different axis to move along (adjust just one angle at a time) Problem 1: scaling isn’t clear Problem 2: extremely inefficient, might not converge at all  Steepest Descent: use the direction that f(.) is decreasing most rapidly in: -  f Problem 1: scaling isn’t clear Problem 2: inefficient for difficult f

12cs426-winter-2008 More on Steepest Descent  Typically we have a nonlinear least-squares problem:  In this case, -  f=J T (x target -x(  )) where J=∂x/∂  is the Jacobian  Then sometimes this is called the “Jacobian method”