DOC PREVIEW
UCSD CSE 169 - Inverse Kinematics (part 2)

This preview shows page 1-2-3-4-5-38-39-40-41-42-43-76-77-78-79-80 out of 80 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 80 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Inverse Kinematics (part 2)Forward KinematicsForward & Inverse KinematicsWelman, 1993Gradient DescentGradient Descent for f(x)=gMinimizationTaking Safe StepsInverse of the DerivativeGradient Descent AlgorithmJacobiansSlide 12Jacobian Inverse KinematicsSlide 14Slide 15Slide 16Slide 17Jacobian for a 2D Robot ArmJacobian MatricesIncremental Change in PoseIncremental Change in EffectorIncremental Change in eIncremental ChangesChoosing ΔeBasic Jacobian IK TechniqueComputing the JacobianComputing the Jacobian Matrix1-DOF Rotational JointsSlide 29Rotational DOFsSlide 313-DOF Rotational JointsSlide 33Slide 34Slide 35Quaternion JointsSlide 37Slide 38Translational DOFsSlide 40Slide 41Slide 42Building the JacobianUnits & ScalingSlide 45End Effector OrientationSlide 47Scaled Rotation Axis6-DOF End EffectorDesired Change in OrientationEnd EffectorSlide 52Slide 53Slide 54Inverting the Jacobian MatrixInverting the JacobianUnderconstrained SystemsOverconstrained SystemsWell-Constrained SystemsPseudo-InverseDegenerate CasesSingle Value DecompositionJacobian TransposeSlide 64Iterating to the SolutionIterationWhen to StopFinding a Successful SolutionLocal MinimaTaking Too LongIteration SteppingOther IK IssuesJoint LimitsHigher Order ApproximationRepeatabilityMultiple End EffectorsMultiple ChainsGeometric ConstraintsOther IK TechniquesJacobian Method as a Black BoxInverse Kinematics (part 2)CSE169: Computer AnimationInstructor: Steve RotenbergUCSD, Winter 2004Forward KinematicsWe will use the vector:to represent the array of M joint DOF valuesWe will also use the vector:to represent an array of N DOFs that describe the end effector in world space. For example, if our end effector is a full joint with orientation, e would contain 6 DOFs: 3 translations and 3 rotations. If we were only concerned with the end effector position, e would just contain the 3 translations. M...21Φ Neee ...21eForward & Inverse KinematicsThe forward kinematic function computes the world space end effector DOFs from the joint DOFs:The goal of inverse kinematics is to compute the vector of joint DOFs that will cause the end effector to reach some desired goal state Φe f eΦ1 fWelman, 1993“Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation”, Chris Welman, 1993Masters thesis on IK algorithmsExamines Jacobian methods and Cyclic Coordinate Descent (CCD)Please read sections 1-4 (about 40 pages)Gradient DescentWe want to find the value of x that causes f(x) to equal some goal value gWe will start at some value x0 and keep taking small steps:xi+1 = xi + Δxuntil we find a value xN that satisfies f(xN)=gFor each step, we try to choose a value of Δx that will bring us closer to our goalWe can use the derivative to approximate the function nearby, and use this information to move ‘downhill’ towards the goalGradient Descent for f(x)=gf-axisx-axisxif(xi)df/dxgxi+1MinimizationIf f(xi)-g is not 0, the value of f(xi)-g can be thought of as an error. The goal of gradient descent is to minimize this error, and so we can refer to it as a minimization algorithmEach step Δx we take results in the function changing its value. We will call this change Δf.Ideally, we could have Δf = g-f(xi). In other words, we want to take a step Δx that causes Δf to cancel out the errorMore realistically, we will just hope that each step will bring us closer, and we can eventually stop when we get ‘close enough’This iterative process involving approximations is consistent with many numerical algorithmsTaking Safe StepsSometimes, we are dealing with non-smooth functions with varying derivativesTherefore, our simple linear approximation is not very reliable for large values of ΔxThere are many approaches to choosing a more appropriate (smaller) step sizeOne simple modification is to add a parameter β to scale our step (0≤ β ≤1)  1dxdfxfgxiInverse of the DerivativeBy the way, for scalar derivatives:dfdxdxdfdxdf11Gradient Descent Algorithm     } newat evaluate // along step // take1slope compute/ / { whileat evaluate // valuestarting initial11110000iiiiiiiiinxfxffxsfgxxxdxdfsgfxfxffxJacobiansA Jacobian is a vector derivative with respect to another vectorIf we have a vector valued function of a vector of variables f(x), the Jacobian is a matrix of partial derivatives- one partial derivative for each combination of components of the vectorsThe Jacobian matrix contains all of the information necessary to relate a change in any component of x to a change in any component of fThe Jacobian is usually written as J(f,x), but you can really just think of it as df/dxJacobians NMMNxfxfxfxfxfxfxfddJ...........................,1221212111xfxfJacobian Inverse KinematicsJacobiansLet’s say we have a simple 2D robot arm with two 1-DOF rotational joints:φ1φ2• e=[ex ey]JacobiansThe Jacobian matrix J(e,Φ) shows how each component of e varies with respect to each joint angle 2121,yyxxeeeeJ ΦeJacobiansConsider what would happen if we increased φ1 by a small amount. What would happen to e ?φ1•111yxeeeJacobiansWhat if we increased φ2 by a small amount?φ2•222yxeeeJacobian for a 2D Robot Armφ2•φ1 2121,yyxxeeeeJ ΦeJacobian MatricesJust as a scalar derivative df/dx of a function f(x) can vary over the domain of possible values for x, the Jacobian matrix J(e,Φ) varies over the domain of all possible poses for ΦFor any given joint pose vector Φ, we can explicitly compute the individual components of the Jacobian matrixIncremental Change in PoseLets say we have a vector ΔΦ that represents a small change in joint DOF valuesWe can approximate what the resulting change in e would be: ΦJΦΦeΦΦee  ,JddIncremental Change in EffectorWhat if we wanted to move the end effector by a


View Full Document

UCSD CSE 169 - Inverse Kinematics (part 2)

Download Inverse Kinematics (part 2)
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Inverse Kinematics (part 2) and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Inverse Kinematics (part 2) 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?