Kinematics Jehee Lee Seoul National University Kinematics How

  • Slides: 30
Download presentation
Kinematics Jehee Lee Seoul National University

Kinematics Jehee Lee Seoul National University

Kinematics • How to animate skeletons (articulated figures) • Kinematics is the study of

Kinematics • How to animate skeletons (articulated figures) • Kinematics is the study of motion without regard to the forces that caused it

Hierarchical Models • Tree structure of joints and links – The root link can

Hierarchical Models • Tree structure of joints and links – The root link can be chosen arbitrarily • Joints – Revolute (hinge) joint allows rotation about a fixed axis – Prismatic joint allows translation along a line – Ball-and-socket joint allows rotation about an arbitrary axis

Human Joints • Human joints are actually much more complicated

Human Joints • Human joints are actually much more complicated

Forward and Inverse Kinematics Forward Kinematics Inverse Kinematics

Forward and Inverse Kinematics Forward Kinematics Inverse Kinematics

Forward Kinematics: A Simple Example • A simple robot arm in 2 -dimensional space

Forward Kinematics: A Simple Example • A simple robot arm in 2 -dimensional space – 2 revolute joints – Joint angles are known – Compute the position of the end-effector

3 D Position and Orientation • The position and orientation of an object is

3 D Position and Orientation • The position and orientation of an object is represented as a rigid transformation • Vector & 3 x 3 Matrix • 4 x 4 Matrix • Vector & Quaternion

Forward Kinematics: A Simple Example • Forward kinematics map as a coordinate transformation –

Forward Kinematics: A Simple Example • Forward kinematics map as a coordinate transformation – The body local coordinate system of the end-effector was initially coincide with the global coordinate system – Forward kinematics map transforms the position and orientation of the end-effector according to joint angles

A Chain of Transformations

A Chain of Transformations

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of body-attached coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

Thinking of Transformations • In a view of global coordinate system

How to Handle Ball-and-Socket Joints ? • Three revolute joints whose axes intersect at

How to Handle Ball-and-Socket Joints ? • Three revolute joints whose axes intersect at a point (equivalent to Euler angles), or • 3 D rotation about an arbitrary axis

Floating Base • The position and orientation of the root segment are added

Floating Base • The position and orientation of the root segment are added

Joint & Link Transformations • Each segment has its own coordinate frame • Forward

Joint & Link Transformations • Each segment has its own coordinate frame • Forward kinematics map is an alternating multiple of – Joint transformations : represents joint movement – Link transformations : defines a frame relative to its parent 1 st link transformation 1 st joint transformation The position and orientation of the root segment

Joint & Link Transformations • Both are rigid transformations in general – Joint transformations

Joint & Link Transformations • Both are rigid transformations in general – Joint transformations may include translation • Human joints are not ideal hinges – Link transformations may include rotation • Some links are twisted

Denavit-Hartenberg Notation

Denavit-Hartenberg Notation

Link Transformations • How do you compute the link transform for the ith joint

Link Transformations • How do you compute the link transform for the ith joint if you know the position and orientation of the ith joint as well as its parent’s position and orientation at the neutral pose ?

Representing Hierarchical Models • A tree structure – A node contains a joint transformation

Representing Hierarchical Models • A tree structure – A node contains a joint transformation – A arc contains a link transformation

Depth-First Tree Traversal • Draw graphics needs to compute the position and orientation of

Depth-First Tree Traversal • Draw graphics needs to compute the position and orientation of all links • Open. GL’s matrix stack is useful

Summary • Kinematics is the study of motion of articulated figures – Kinematics does

Summary • Kinematics is the study of motion of articulated figures – Kinematics does not consider physics (forces, mass, …) • Forward kinematics is straightforward – Forward kinematics map can be considered as a coordinate transformation • The next lecture: How to solve the inverse problem

Programming Assignment #1 • Create a tree-structured hierarchical model of human figures – You

Programming Assignment #1 • Create a tree-structured hierarchical model of human figures – You have to compute the forward kinematics map of your model – You may use a matrix stack to build the forward kinematics map incrementally • The model may be displayed using three-dimensional primitives such as polygons, boxes, cylinders, and spheres • The joints are either revolute or ball-and-sockets

Programming Assignment #1 • Animate the model to demonstrate the hierarchical structure – For

Programming Assignment #1 • Animate the model to demonstrate the hierarchical structure – For example, use sin/cos functions to make it walk and run • Implement a scene 3 D viewer – You should be able to change the viewpoint (scene rotation/translation) – The viewer will be used in all the other programming assignment • Submit a report of at most three A 4 pages – Describe the tree-structure, joints, and geometric primitives – Describe how the joints are animated