Visualizing Orientation using Quaternions Gideon Ariel; Rudolf Buijs; Ann Penny; Sun Chung.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Wednesday March 1st Dr. Moran
Fused Angles for Body Orientation Representation Philipp Allgeuer and Sven Behnke Institute for Computer Science VI Autonomous Intelligent Systems University.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Chris Hall Aerospace and Ocean Engineering
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
3D Coordinate Systems and Transformations Revision 1
3D orientation.
Ch. 3: Forward and Inverse Kinematics
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Rotation representation and Interpolation
Orientations Goal: –Convenient representation of orientation of objects & characters in a scene Applications to: – inverse kinematics –rigid body simulation.
Euler Angles. Three Angles  A rotation matrix can be described with three free parameters. Select three separate rotations about body axesSelect three.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
CS I400/B659: Intelligent Robotics Rigid Transformations.
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
The Visual Display Transform for Virtual Reality Cyrus Moon Computer Integrated Surgery II ( )
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Definition of an Industrial Robot
Game Physics – Part IV Moving to 3D
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Graphics Bing-Yu Chen National Taiwan University.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 13, 2002 Day 16.
Geometric Transformations Jehee Lee Seoul National University.
3D Computer Graphics An oh so brief introduction.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Rotations and Translations
Rick Parent - CIS681 ORIENTATION Use Quaternions Interpolating rotations is difficult.
1 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov.
Advanced Computer Graphics Spring 2014
Biomechanical Integration of Essential Human Movement Parameters By Gideon Ariel, Alfred Finch and Ann Penny.
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
Chapter 2 Rigid Motions and Coordinate Transformations
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
CS 551/645 Fall 2000 Parameterized Rotations, Curves, and Surfaces.
Real-Time Simultaneous Localization and Mapping with a Single Camera (Mono SLAM) Young Ki Baik Computer Vision Lab. Seoul National University.
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Comparing Two Motions Jehee Lee Seoul National University.
Geometric Transformations Sang Il Park Sejong University Many slides come from Jehee Lee’s.
Affine Geometry.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Geometric Transformations. Transformations Linear transformations Rigid transformations Affine transformations Projective transformations T Global reference.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
1 Dr. Scott Schaefer Quaternions and Complex Numbers.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Advanced Math.
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Fundamentals of Computer Animation Orientation and Rotation.
REFERENCE: QUATERNIONS/ Ogre Transformations.
Navigation and Control with LabVIEW Robotics
3D Rotation: more than just a hobby
Trajectory Generation
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
CS 445 / 645 Introduction to Computer Graphics
(c) University of Wisconsin, CS559
UMBC Graphics for Games
VIRTUAL ENVIRONMENT.
Rotation and Orientation: Fundamentals
Presentation transcript:

Visualizing Orientation using Quaternions Gideon Ariel; Rudolf Buijs; Ann Penny; Sun Chung

9/5/20152 Introduction The Issue: representing orientation Not a “religious” discussion about interpretation or standardization of (joint) angles (Woltring – Grood) But rather, a practical solution to visualization issues Context: visualization Rendering offers a better 3D “view” than traditional methods Real-time rendering is possible Required hardware has become affordable The Math Euler angles and their many “challenges” Alternatives to Euler angles Best alternative: quaternions Conclusions Q & A

9/5/20153 Rendering – a better 3D view

9/5/20154 Rendering – a better 3D view

9/5/20155 Rendering – in real-time Q: Why now? A: Cheap hardware for real- time rendering is available Traditional stick figure Real-time rendering

9/5/20156 What is “Rendering” anyway? High level definition of: Graphics objects Graphics objects Lighting Lighting Environmental effects Environmental effects Behavior Behavior Physical characteristics Physical characteristics Calculate views: Computer screens Immersive workbench Head-tracked glasses

9/5/20157 Rendering - Performance Performance expressed in: Fill Rate (pixels per second) Rendering speed (triangles per second) Smoothness (frames per second) Status PC Hardware (mid-2000): Fill Rate > 1G pps Rendering > 10M tps Smoothness > 100 fps Prices PC: < $1500 Graphics card: $75 - $500

9/5/20158 Let’s use … 6 degrees of freedom So, let’s just describe “graphic objects” and their behavior (e.g. their movement over time) This seems easy enough: we know we can uniquely describe an object’s spatial orientation on any given instant with our familiar “6 degrees of freedom” 3 for position: (x, y, z) 3 for attitude, Euler or Cardan angles: ( , ,  ) Advantages No parameter redundancy This seems intuitive But …

9/5/20159 Euler Angles – Challenge 1 There are 12 different sequences of rotations XYZ; XZY; YXZ; YZX; ZXY; ZYX XYX; XZX; YXY; YZY; ZXZ; ZYZ This is confusing It gets even worse when actually using them: Operations are computationally expensive (involves many trigonometric calculations) There are numerical instabilities (singularities) Example: linear case velocity  position is easy. But when “integrating” angular velocity  Euler angles: which sequence is the right one???

9/5/ Euler Angles – Challenge 2 Gimbal lock: Loss of 1 degree of freedom Axes of rotation seem to “stick” A real-world problem, not a mathematical artifact

Interpolation causes unnatural movement 9/5/ Euler Angles – Challenge 3 Start frame End frame Actual result interpolating Euler angles (90, 45, 90)(45, 67.5, 45) (0, 90, 0) Desired interpolation (90, 67.5, 90)

9/5/ Interpolation – why do I care? Input: 10 key frames (sampled 1 second at 10 Hz) Traditional “play back” is jerky 10 Hz (1 sec); 5 Hz (2 sec) 2 Hz (5 sec); 1 Hz (10 sec) Rendering is always smooth 50 Hz (2 sec); 50 Hz (5 sec) 50 Hz (10 sec) In fact, we get the same smooth results with fewer key frames (data reduction)

9/5/ Euler Angles - Alternatives Euler angles just have too many problems There must surely be better alternatives 1. Rotation matrices 2. Quaternions 3. Euler’s Axis – Angle representation 4. Helical (screw) Axis 5. Rodriguez-Hamilton parameters 6. … Only the first two alternatives are used extensively in other disciplines

9/5/ Alternative 1 – Rotation Matrices 9 or 16 Parameters Advantages No singularities Universally applicable Disadvantages Obviously contains redundant information for storing orientation (9 parameters for 3 DOF, or 16 for 6 DOF) Operations are computationally intensive Rotational interpolation is difficult Picks up non-rotational components in calculations: shearing, scaling, etc.  matrix must be renormalized

9/5/ Alternative 2 - Quaternions Discovered by Sir Hamilton in 1843 Preferred rotation operator in chemistry, robotics, space shuttle controls, 3D games, VR, etc… Advantages Represents “pure” attitude or rotation No mathematical singularities Operations are computationally easy Smooth and easy interpolation  great for animation Impress your friends: rotate anything in 4D! Disadvantages Completely unintuitive  fortunately not a real issue

9/5/ Quaternions – what are they? An extension to complex numbers Quaternion multiplication governed by: Operation qvq -1 rotates a vector v about the axis of q through twice the angle of q q -1 is easy to calculate, especially for unit quaternions Quaternion multiplication can be used to compose rotations: product q 1 q 2 represents rotations q 1 and q 2. Quaternion powers can be used to iterate or divide rotations: this allows for smooth interpolation

9/5/ Quaternions & Interpolation Quaternions are very suitable for animating attitude Linear interpolation SLERP interpolation Equally suitable for animating a camera (or more camera’s) Camera is just another object Position Linear interpolation Splines Other aspects Scaling Morphing …

9/5/ Conclusions Rendering is a great tool for visualizing 3D data Gives more information than traditional stick-figure displays Real-time interaction Visually appealing Hardware for high-performance rendering is cheap Quaternions are suitable for representing orientation Quaternion manipulation is mathematically easy No singularities or exceptions Easy interpolation for smooth animation This presentation is online at: