Quaternion Math. Application Note. Abstract

Similar documents
3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Essential Mathematics for Computer Graphics fast

Rotation and Inter interpolation Using Quaternion Representation

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

An inertial haptic interface for robotic applications

Mechanics lecture 7 Moment of a force, torque, equilibrium of a body

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Abstract. Introduction

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Origins of the Unusual Space Shuttle Quaternion Definition

Magnetometer Realignment: Theory and Implementation

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Principal Rotation Representations of Proper NxN Orthogonal Matrices

Vector has a magnitude and a direction. Scalar has a magnitude

Interactive Computer Graphics

Rotation Matrices and Homogeneous Transformations

Metrics on SO(3) and Inverse Kinematics

2. Dynamics, Control and Trajectory Following

Fundamentals of Computer Animation

Unified Lecture # 4 Vectors

Computing Euler angles from a rotation matrix

Vector Math Computer Graphics Scott D. Anderson

On Motion of Robot End-Effector using the Curvature Theory of Timelike Ruled Surfaces with Timelike Directrix

Kinematics of Robots. Alba Perez Gracia

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Kinematical Animation

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

Basic CAD/CAM. CHAPTER 5: Geometric Transformation

Advanced Computer Graphics (2IV40) ~ 3D Transformations. Types (geometric) Types (algebraic) 3D Transformations. y + c 1. x = a 1.

Rotation about an arbitrary axis and reflection through an arbitrary plane

Figure 1.1 Vector A and Vector F

THE UNIVERSITY OF TEXAS AT AUSTIN Department of Aerospace Engineering and Engineering Mechanics. EM 311M - DYNAMICS Spring 2012 SYLLABUS

Rigid body dynamics using Euler s equations, Runge-Kutta and quaternions.

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

Quaternions. Jason Lawrence CS445: Graphics. Acknowledgment: slides by Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin

Basic Principles of Inertial Navigation. Seminar on inertial navigation systems Tampere University of Technology

CS 4620 Practicum Programming Assignment 6 Animation

Section 1.1. Introduction to R n

Affine Transformations

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

Math for Game Programmers: Dual Numbers. Gino van den Bergen

State of Stress at Point

Distributed Computing Solution for Hardware-In-LoopSimulation of Indian Satellites

by the matrix A results in a vector which is a reflection of the given

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS

Kyu-Jung Kim Mechanical Engineering Department, California State Polytechnic University, Pomona, U.S.A.

Elasticity Theory Basics

ME 115(b): Solution to Homework #1

KINEMATICS OF PARTICLES RELATIVE MOTION WITH RESPECT TO TRANSLATING AXES

Computer Animation. Lecture 2. Basics of Character Animation

Section V.3: Dot Product

Objective: To distinguish between degree and radian measure, and to solve problems using both.

SIGNAL PROCESSING & SIMULATION NEWSLETTER

521493S Computer Graphics. Exercise 2 & course schedule change

Simulation of Trajectories and Comparison of Joint Variables for Robotic Manipulator Using Multibody Dynamics (MBD)

Unit 3 (Review of) Language of Stress/Strain Analysis

THREE DIMENSIONAL GEOMETRY

Solving Simultaneous Equations and Matrices

Pre-requisites

3 Orthogonal Vectors and Matrices

Chapter 11. Correspondence Analysis

Research Article On Motion of Robot End-Effector Using the Curvature Theory of Timelike Ruled Surfaces with Timelike Rulings

Vectors VECTOR PRODUCT. Graham S McDonald. A Tutorial Module for learning about the vector product of two vectors. Table of contents Begin Tutorial

Course 8. An Introduction to the Kalman Filter

Computer programming course in the Department of Physics, University of Calcutta

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

Tegra Android Accelerometer Whitepaper

Geometric algebra rotors for skinned character animation blending

Design of a six Degree-of-Freedom Articulated Robotic Arm for Manufacturing Electrochromic Nanofilms

Rotation: Moment of Inertia and Torque

α = u v. In other words, Orthogonal Projection

Lecture L29-3D Rigid Body Dynamics

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Advanced Automated Error Analysis of Serial Modulators and Small Businessases

Chapter 2 - Kinematics

Torgerson s Classical MDS derivation: 1: Determining Coordinates from Euclidean Distances

How To Use Trackeye

Spacecraft Dynamics and Control. An Introduction

Lecture L6 - Intrinsic Coordinates

Vector Spaces; the Space R n

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Quadcopters. Presented by: Andrew Depriest

Moven Studio realtime. streaming

Part I. Basic Maths for Game Design

v w is orthogonal to both v and w. the three vectors v, w and v w form a right-handed set of vectors.

Microsoft Mathematics for Educators:

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

Digital 3D Animation

3-Phase AC Calculations Revisited

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

2 Session Two - Complex Numbers and Vectors

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Orientation Tracking for Humans and Robots Using Inertial Sensors

MATH2210 Notebook 1 Fall Semester 2016/ MATH2210 Notebook Solving Systems of Linear Equations... 3

TWO-DIMENSIONAL TRANSFORMATION

Transcription:

Quaternion Math Application Note Abstract This application note provides an overview of the quaternion attitude representation used by VectorNav products and how to convert it into other common attitude representations.

Document Information Title Quaternion Math Subtitle Quaternion based attitude representation Document Type Application Note Document Number AN002 Document Status Released Quaternion Math Application Notes Page 2 of 5

1 What is a quaternion? The quaternion is an abstract means of representing attitude. It is a four-dimensional vector used to describe a three-dimensional attitude representation. In order to understand what a quaternion is and why it is useful you first need to be aware of the alternative means of attitude representation. Hopefully you are familiar with the Euler angle representations of attitude, of which one is the 3-2-1 rotation sequence most commonly known as yaw (or heading), pitch, and roll. These three angles work great for most applications. Since the Euler angles are a three-dimensional vector that represents a three-dimensional attitude it is easy to just look at the numbers and get a feel for what they intuitively mean. Figure 1 - Example of a 3-2-1 Euler angle set There is one problem with the Euler angle attitude representation; there exists two attitudes where you have a singularity in the solution. Take a look at Figure 1 and imagine that the pitch angle is equal to 90 degrees. In this case the yaw and roll perform the same operation. This may not be a problem in computer graphics applications such as in the rendering of the orientation of an object since every attitude does still have a representation, however for applications that require the controls this can be detrimental because you can run into severe math problems when dealing with angles that are close to these singularity points. One way to get around this problem is to add an additional degree so that we have an over defined attitude representation. This is what the quaternion does in a very simplistic sense. The quaternion is based upon the principal of Euler s principal rotation. Quaternion Math Application Notes Page 3 of 5

Euler s Principal Rotation: A rigid body or coordinate reference frame can be brought from an arbitrary initial orientation to an arbitrary final orientation by a single rigid body rotation through a principal angle Φ about the principal axis ; the principal axis is a judicious axis fixed in both initial and final orientation. What this means is that you can represent any arbitrary orientation with just a unit vector and an angle. The unit vector defines the direction of rotation, and the angle is the amount that you rotate about this axis to go from your initial to your final attitude. This works for any rotation. The quaternion is based upon this principal and can be derived from the principal axis and principal angle. 2 Quaternion used by VectorNav While different organizations use different ordering of the terms, all quaternions fundamentally represent the same thing. Here are the equations for each of the terms used in our quaternion. Where { } is the principal axis and is the principal angle. The fourth term q 3 is known as the scalar term. The attitude (Yaw = 0, Pitch = 0, Roll = 0) is represented in quaternion form as q = [0, 0, 0, 1]. Here is how you would go about converting the quaternion into an Euler 321 sequence (yaw, pitch, roll). ( ) ( ) Quaternion Math Application Notes Page 4 of 5

( ) 3 Quaternion to Direction Cosine Matrix If you want to convert the quaternion to a directional cosine matrix use the following formula: [ ] [ ] 4 Directional Cosine Matrix to Quaternion To convert from a directional cosine matrix to a quaternion use the following formulas: 5 Kinematic differential equations If you need the time rate of change of the quaternion then just set the VN-100 to output quaternion and angular rates and use the following formulas: ( ) [ ] Quaternion Math Application Notes Page 5 of 5