Unformatted text preview:

CSCE 641: Forward kinematics and inverse kinematicsOutlineRequired ReadingsKinematicsDegrees of freedom (Dofs)Slide 6Slide 7Degrees of FreedomWork Space vs. Configuration SpaceForward vs. Inverse KinematicsExample: Two-link StructureSlide 12Slide 13Forward kinematicsInverse kinematicsSlide 16Slide 17Why Inverse Kinematics?Slide 19Slide 20Iterative approachIterative approachesSlide 23Slide 24Gauss-newton approachSlide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Jacobian matrixSlide 38Slide 39Slide 40Slide 41Jacobian matrix: 2D-link structureSlide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Another ExampleComposite 2D TransformationMore Complex Characters?Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Human CharactersSlide 60Slide 61Ambiguity of IKSlide 63Failures of IKSlide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Interactive Human Character PosingCSCE 641: Forward kinematics and inverse kinematicsJinxiang ChaiOutlineKinematics–Forward kinematics–Inverse kinematicsRequired Readings•IK survey paper•IK using nonlinear programmingKinematicsThe study of movement without the consideration of the masses or forces that bring about the motionDegrees of freedom (Dofs)The set of independent displacements that specify an object’s poseDegrees of freedom (Dofs)The set of independent displacements that specify an object’s pose•How many degrees of freedom when flying?Degrees of freedom (Dofs)The set of independent displacements that specify an object’s pose•How many degrees of freedom when flying?•So the kinematics of this airplane permit movement anywhere in three dimensions•Six•x, y, and z positions•roll, pitch, and yawDegrees of Freedom•How about this robot arm?•Six again•2-base, 1-shoulder, 1-elbow, 2-wristWork Space vs. Configuration Space•Work space–The space in which the object exists–Dimensionality•R3 for most things, R2 for planar arms•Configuration space–The space that defines the possible object configurations–Degrees of Freedom•The number of parameters that are necessary and sufficient to define position in configurationForward vs. Inverse Kinematics•Forward Kinematics–Compute configuration (pose) given individual DOF values•Inverse Kinematics–Compute individual DOF values that result in specified end effector positionExample: Two-link Structure•Two links connected by rotational jointsBase12End Effectorθ2θ1X=(x,y)l2l1Example: Two-link Structure•Animator specifies the joint angles: θ1θ2•Computer finds the position of end-effector: xBase12End Effectorθ2θ1x=f(θ1, θ2)l2l1(0,0)X=(x,y)Example: Two-link Structure•Animator specifies the joint angles: θ1θ2•Computer finds the position of end-effector: xBase12End Effectorθ2θ1x = (l1cosθ1+l2cos(θ2+ θ2)y = l1sinθ1+l2sin(θ2+ θ2))(0,0)θ2l2l1X=(x,y)Forward kinematicsBase12End Effectorθ2θ1(0,0)θ2l2l1•Create an animation by specifying the joint angle trajectoriesθ1θ2X=(x,y)Inverse kinematics•What if an animator specifies position of end-effector?Base12End Effectorθ2θ1(0,0)θ2l2l1X=(x,y)Inverse kinematics•Animator specifies the position of end-effector: x•Computer finds joint angles: θ1θ2Base12End Effectorθ2θ1(0,0)θ2l2l1(θ1, θ2)=f-1(x)X=(x,y)Inverse kinematics•Animator specifies the position of end-effector: x•Computer finds joint angles: θ1θ2Base12End Effectorθ2θ1(0,0)θ2l2l1X=(x,y)Why Inverse Kinematics?•Basic tools in character animation - key frame generation - animation control - interactive manipulation•Computer vision (vision based mocap)•Robotics•Bioinfomatics (Protein Inverse Kinematics)Inverse kinematics•Given end effector position, compute required joint angles•In simple case, analytic solution exists–Use trig, geometry, and algebra to solveInverse kinematics•Analytical solution only works for a fairly simple structure•Iterative approach needed for a complex structureIterative approach•Inverse kinematics can be formulated as an optimization problemIterative approachesFind the joint angles θ that minimizes the distance between the character position and user specified positionBase12θ2θ1(0,0)θ2l2l1C=(Cx,Cy) iiiCf2)(minargIterative approachesFind the joint angles θ that minimizes the distance between the character position and user specified positionBase12θ2θ1(0,0)θ2l2l1C=(c1,c2)22212112121211,))sin(sin())cos(cos(minarg21cllcll Iterative approachMathematically, we can formulate this as an optimization problem:The above problem can be solved by many nonlinear optimization algorithms: - Steepest descent - Gauss-newton - Levenberg-marquardt, etc iiicf2)(minargGauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles:0kkk1Gauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles:0kkk1How can we decide the amount of update?Gauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles: iikkicf2)(minarg0kkk1Gauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles: iikkicf2)(minarg0kkk1Known!Gauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles: iikkicf2)(minarg0kkk1Taylor series expansionGauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles: iikkicf2)(minarg2)(minargiikkikicff0kkk1Taylor series expansionrearrangeGauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles: iikkicf2)(minarg2)(minargiikkikicff0kkk1Taylor series expansionrearrangeCan you solve this optimization problem?Gauss-newton approachStep 1: initialize the joint angles with Step 2: update the joint angles:


View Full Document

TAMU CSCE 641 - lecture16_new

Documents in this Course
Load more
Download lecture16_new
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 lecture16_new 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 lecture16_new 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?