# Animation CS 551 / 651

date post

11-Feb-2016Category

## Documents

view

21download

0

Embed Size (px)

description

### Transcript of Animation CS 551 / 651

AnimationCS 551 / 651

KinematicsLecture 09Sarcos Humanoid

KinematicsThe study of object movements irrespective of their speed or style of movement

Degrees of Freedom(DOFs)The variables that affect an objects orientationHow many degrees of freedom when flying?Sixx, y, and z positionsroll, pitch, and yawSo the kinematics of this airplane permit movement anywhere in three dimensions

Degrees of FreedomHow about this robot arm?Six again2-base, 1-shoulder, 1-elbow, 2-wrist

The set of all possible positions (defined by kinematics) an object can attainConfiguration Space

Work Space vs. Configuration SpaceWork spaceThe space in which the object existsDimensionalityR3 for most things, R2 for planar armsConfiguration spaceThe space that defines the possible object configurationsDegrees of FreedomThe number of parameters that necessary and sufficient to define position in configuration

More examplesA point on a planeA point in spaceA point moving on a line in space

A matter of controlIf your animation adds energy at a particular DOF, that is a controlled DOFHigh DOF, no controlLow DOF, high control

Hierarchical Kinematic ModelingA family of parent-child spatial relationships are functionally definedMoon/Earth/Sun movementsArticulations of a humanoidLimb connectivity is built into model (joints) and animation is easier

Robot Parts/TermsLinksEnd effectorFrameRevolute JointPrismatic Joint

More Complex Joints3 DOF jointsGimbalSpherical (doesnt possess singularity)2 DOF jointsUniversal

Hierarchy RepresentationModel bodies (links) as nodes of a treeAll body frames are local (relative to parent) Transformations affecting root affect all childrenTransformations affecting any node affect all its childrenROOT

Forward vs. Inverse KinematicsForward KinematicsCompute configuration (pose) given individual DOF valuesGood for simulationInverse KinematicsCompute individual DOF values that result in specified end effector positionGood for control

Forward KinematicsTraverse kinematic tree and propagate transformations downwardUse stackCompose parent transformation with childsPop stack when leaf is reached

Denavit-Hartenberg (DH) NotationA kinematic representation (convention) inherited from robotics

Z-axis aligned with joint

X-axis aligned with outgoing limb

Y-axis is orthogonal

Joints are numbered to represent hierarchy Ui-1 is parent of Ui

Parameter ai-1 is outgoinglimb length of joint Ui-1

Joint angle, qi, is rotation of xi-1 about zi-1 relative to xi

Link twist, ai-1, is the rotation of ith z-axis about xi-1-axis relative to z-axis of i-1th frame

Link offset, di-1, specifies the distance along the zi-1-axis (rotated by ai-1) of the ith frame from the i-1th x-axis to the ith x-axis

Inverse Kinematics (IK)Given end effector position, compute required joint anglesIn simple case, analytic solution existsUse trig, geometry, and algebra to solve

What is Inverse Kinematics?Forward Kinematics

What is Inverse Kinematics?Inverse Kinematics

What does look like?

Solution to Our example

Number of equation : 2Unknown variables : 3

Redundancy System DOF > End Effector DOF

Analytic solution of 2-link inverse kinematics21a1a2O2O1O0x1x0x2y1y2y0(x,y)2

Failures of simple IKMultiple Solutions

Failures of simple IKInfinite solutions

Failures of simple IKSolutions may not exist

Iterative IK SolutionsFrequently analytic solution is infeasibleUse JacobianDerivative of function output relative to each of its inputs

If y is function of three inputs and one output

Represent Jacobian, J(X), as a 1x3 matrix of partial derivatives

JacobianIn another situation, end effector has 6 DOFs and robotic arm has 6 DOFsf(x1, , x6) = (x, y, z, r, p, y)Therefore J(X) = 6x6 matrix

JacobianRelates velocities in parameter space to velocities of outputs

If we know Ycurrent and Ydesired, then we subtract to compute YdotInvert Jacobian and solve for Xdot

Turn to PDF slidesSlides from OBrien and ForsythCS 294-3: Computer Graphics Stanford Fall 2001

Differential KinematicsIs J always invertible? No!Remedy : Pseudo Inverse

Null spaceThe null space of J is the set of vectors which have no influence on the constraints

The pseudoinverse provides an operator which projects any vector to the null space of J

Utility of Null SpaceThe null space can be used to reach secondary goals

Or to find comfortable positions

Calculating Pseudo InverseSingular Value Decomposition

RedundancyA redundant system has infinite number of solutions

Human skeleton has 70 DOFUltra-super redundant

How to solve highly redundant system?

Redundancy Is BadMultiple choices for one goalWhat happens if we pick any of them?

Redundancy Is GoodWe can exploit redundancy

Additional objectiveMinimal ChangeSimilarity to Given ExampleNaturalness

NaturalnessBased on observation of natural human posture Neurophysiological experiments

Conflict Between Goalsbaseee 2ee 1

Conflict Between Goalsbaseee 2ee 1Goal 1

Conflict Between Goalsbaseee 2Goal 2ee 1

Conflict Between Goalsbaseee 2ee 1Goal 1Goal 2

Conflict Between Goalsbaseee 2ee 1Goal 1Goal 2

Recommended

*View more*