Inertial Measurement Units II!

Size: px
Start display at page:

Download "Inertial Measurement Units II!"

Transcription

1 ! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!!

2 wikipedia! Polynesian Migration!

3 Lecture Overview! short review of coordinate systems, tracking in flatland, and accelerometer-only tracking! rotations: Euler angles, axis & angle, gimbal lock! rotations with quaternions! 6-DOF IMU sensor fusion with quaternions!

4 primary goal: track orientation of head or device! inertial sensors required to determine pitch, yaw, and roll! oculus.com!

5 from lecture 2:! vertex in clip space! vertex! v clip = M proj M view M model v oculus.com!

6 from lecture 2:! vertex in clip space! vertex! v clip = M proj M view M model v projection matrix! view matrix! model matrix! rotation! translation! M view = R T ( eye) oculus.com!

7 Euler angles! θ y oculus.com! θ z θ x roll! rotation! translation! M view = R T ( eye) R = R z ( θ z ) R x ( θ x ) R y θ y pitch! yaw!

8 Euler angles! θ y oculus.com! θ z θ x 2 important coordinate systems:! body/sensor frame! world/inertial frame! M view = R T eye R = R z ( θ z ) R x ( θ x ) R y θ y roll! pitch! yaw!

9 ! Gyro Integration aka Dead Reckoning! from gyro measurements to orientation use Taylor expansion! have: angle at! last time step! have:! time step! θ ( t) + t θ t θ t + Δt want: angle at! current time step! = ω have: gyro measurement! (angular velocity)! Δt + ε, ε O Δt 2 approximation error!!

10 Orientation Tracking in Flatland! problem: track 1 angle in 2D space! sensors: 1 gyro, 2-axis accelerometer! sensor fusion with complementary filter, i.e. linear interpolation:! θ t + 1 α = α θ ( t 1) +!ω Δt atan2!a x,!a y IMU VRduino no drift, no noise!

11 Tilt from Accelerometer! assuming acceleration points up (i.e. no external forces), we can compute the tilt (i.e. pitch and roll) from a 3-axis accelerometer! â =!a 0!a = R 1 0 = R z ( θ z ) R x ( θ x ) R y θ y = cos( θ x )sin θ z cos( θ x )cos θ z sin θ x θ x = atan2 â z,sign( â y ) â 2 2 x + â y θ z = atan2( â x,â y ) both in rad

12 Euler Angles and Gimbal Lock! so far we have represented head rotations with Euler angles: 3 rotation angles around the axis applied in a specific sequence! problematic when interpolating between rotations in keyframes (in computer animation) or integration à singularities!

13 Gimbal Lock! The Guerrilla CG Project, The Euler (gimbal lock) Explained see youtube.com!

14 Rotations with Axis-Angle Representation and Quaternions!

15 Rotations with Axis and Angle Representation! solution to gimbal lock: use axis and angle representation for rotation!! simultaneous rotation around a normalized vector v by angle! θ no order of rotation, all at once around that vector!

16 ! Quaternions! think about quaternions as an extension of complex numbers to having 3 (different) imaginary numbers or fundamental quaternion units i,j,k! q = q w + iq x + jq y + kq z i j k i 2 = j 2 = k 2 = ijk = 1 ij = ji = k ki = ik = j jk = kj = i

17 Quaternions! think about quaternions as an extension of complex numbers to having 3 (different) imaginary numbers or fundamental quaternion units i,j,k! q = q w + iq x + jq y + kq z quaternion algebra is well-defined and will give us a powerful tool to work with rotations in axis-angle representation in practice!

18 Quaternions! axis-angle to quaternion (need normalized axis v)! = cos θ 2 q θ,v!" # $# + i v x sin θ 2!# " $# + j v y sin θ 2!# " $# + k v z sin θ 2!# " $# q w q x q y q z

19 Quaternions! axis-angle to quaternion (need normalized axis v)! = cos θ 2 q θ,v!" # $# + i v x sin θ 2!# " $# + j v y sin θ 2!# " $# + k v z sin θ 2!# " $# q w q x q y q z valid rotation quaternions have unit length! q = q w 2 + q x 2 + q y 2 + q z 2 = 1

20 ! Two Types of Quaternions! vector quaternions represent 3D points or vectors u=(u x,u y,u z ) can have arbitrary length! q u = 0 + iu x + j u y + k u z valid rotation quaternions have unit length! q = q w 2 + q x 2 + q y 2 + q z 2 = 1

21 !! quaternion addition:! q + p = q w + p w quaternion multiplication:! Quaternion Algebra! + i( q x + p x ) + j q y + p y qp = q w + iq x + jq y + kq z + k q z + p z ( p w + ip x + jp y + kp z ) + i( q w p x + q x p w + q y p z q z p y ) + j( q w p y q x p z + q y p w + q z p x ) + k( q w p z + q x p y q y p x + q z p w ) + = q w p w q x p x q y p y q z p z

22 Quaternion Algebra! quaternion conjugate:!! quaternion inverse:! q * = q w iq x jq y kq z q 1 = q* q 2 rotation of vector quaternion by q :! inverse rotation:! q u q' u = qq u q 1 q u = q 1 q' u q successive rotations by q 1 then q 2 :! q' u = q 2 q 1 q u q q 2

23 Quaternion Algebra! detailed derivations and reference of general quaternion algebra and rotations with quaternions in course notes! please read course notes for more details!

24 Quaternion-based! 6-DOF Orientation Tracking!

25 Quaternion-based Orientation Tracking! 1. 3-axis gyro integration! 2. computing the tilt correction quaternion! 3. applying a complementary filter!

26 !! Gyro Integration with Quaternions! start with initial quaternion:! q ( 0) = 1+ i0 + j0 + k0 convert 3-axis gyro measurements!ω =!ω x,!ω y,!ω z to instantaneous rotation quaternion as! avoid division by 0! integrate as! ( t+δt q ) ω = q ( t) q Δ q Δ = q Δt!ω, angle!!ω!ω rotation axis!

27 Gyro Integration with Quaternions! q ω t+δt integrated gyro rotation quaternion represents rotation from body to world frame, i.e.! = q ω t+δt q u world ( body q ) ( t+δt) u q 1 ω last estimate q ( t) is either from gyro-only (for dead reckoning) or from last complementary filter! integrate as! ( t+δt q ) ω = q ( t) q Δ

28 Tilt Correction with Quaternions! assume accelerometer measures gravity vector in body (sensor) coordinates!!a =!a x,!a y,!a z transform vector quaternion of into current estimation of world space as!!a ( world q ) ( t+δt a = q ) ( body ω q ) ( t+δt) a q 1 ω ( body q ) a = 0 + i!a x + j!a y + k!a z

29 Tilt Correction with Quaternions! assume accelerometer measures gravity vector in body (sensor) coordinates!!a =!a x,!a y,!a z transform vector quaternion of into current estimation of world space as!!a ( world q ) ( t+δt a = q ) ( body ω q ) ( t+δt) a q 1 ω if gyro quaternion is correct, then accelerometer world vector points up, i.e.! = 0 + i0 + j k0 q a world

30 Tilt Correction with Quaternions! gyro quaternion likely includes drift! accelerometer measurements are noisy and also include forces other than gravity, so it s unlikely that accelerometer world vector actually points up! if gyro quaternion is correct, then accelerometer world vector points up, i.e.! ( world q ) a = 0 + i0 + j k0

31 ! Tilt Correction with Quaternions! solution: compute tilt correction quaternion that would rotate into up direction! ( world) q a how? get normalized vector part of vector quaternion! ( world) q a v = ( world) q ax ( world) q a, q a y ( world) q a world, q a z ( world) q a world

32 ! Tilt Correction with Quaternions! solution: compute tilt correction quaternion that would rotate into up direction! v x v y v z i = cos φ n = v x v y v z q t = q φ, n n φ = cos 1 v y = v z 0 v x ( world) q a

33 Complementary Filter with Quaternions! complementary filter: rotate into gyro world space first, then rotate a bit into the direction of the tilt correction quaternion! = q ( 1 α )φ, n n q c t+δt q ω ( t+δt) 0 α 1 rotation of any vector quaternion is then! ( world q ) ( t+δt u = q ) ( body c q ) ( t+δt) u q 1 c

34 Integration into Graphics Pipeline! q c t+δt compute via quaternion complementary filter first! stream from microcontroller to PC! convert to 4x4 rotation matrix (see course notes)! ( t+δt q ) c R c! 1 set view matrix to M view = R c to rotate the world in front of the virtual camera

35 Head and Neck Model! y θ x l h θ z y l n IMU! z pitch around base of neck!! l n x roll around base of neck!!

36 Head and Neck Model! why? there is not always positional tracking! this gives some motion parallax! can extend to torso, and using other kinematic constraints! integrate into pipeline as! M view = T ( 0, l n, l h ) R T ( 0,l n,l h ) T ( eye)

37 Must read: course notes on IMUs!!

Inertial Measurement Units I!

Inertial Measurement Units I! ! Inertial Measurement Units I! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 9! stanford.edu/class/ee267/!! Lecture Overview! coordinate systems (world, body/sensor, inertial,

More information

EE 267 Virtual Reality Course Notes: 3-DOF Orientation Tracking with IMUs

EE 267 Virtual Reality Course Notes: 3-DOF Orientation Tracking with IMUs EE 67 Virtual Reality Course Notes: 3-DOF Orientation Tracking with IMUs Gordon Wetzstein gordon.wetzstein@stanford.edu Updated on: September 5, 017 This document serves as a supplement to the material

More information

Quaternions & Rotation in 3D Space

Quaternions & Rotation in 3D Space Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding

More information

12.1 Quaternions and Rotations

12.1 Quaternions and Rotations Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations

More information

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Quaternions and Euler Angles

Quaternions and Euler Angles Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between

More information

E80. Experimental Engineering. Lecture 9 Inertial Measurement

E80. Experimental Engineering. Lecture 9 Inertial Measurement Lecture 9 Inertial Measurement http://www.volker-doormann.org/physics.htm Feb. 19, 2013 Christopher M. Clark Where is the rocket? Outline Sensors People Accelerometers Gyroscopes Representations State

More information

Selection and Integration of Sensors Alex Spitzer 11/23/14

Selection and Integration of Sensors Alex Spitzer 11/23/14 Selection and Integration of Sensors Alex Spitzer aes368@cornell.edu 11/23/14 Sensors Perception of the outside world Cameras, DVL, Sonar, Pressure Accelerometers, Gyroscopes, Magnetometers Position vs

More information

State-space models for 3D visual tracking

State-space models for 3D visual tracking SA-1 State-space models for 3D visual tracking Doz. G. Bleser Prof. Stricker Computer Vision: Object and People Tracking Example applications Head tracking, e.g. for mobile seating buck Object tracking,

More information

Quaternion Rotations AUI Course Denbigh Starkey

Quaternion Rotations AUI Course Denbigh Starkey Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an

More information

Introduction to quaternions. Mathematics. Operations

Introduction to quaternions. Mathematics. Operations Introduction to quaternions Topics: Definition Mathematics Operations Euler Angles (optional) intro to quaternions 1 noel.h.hughes@gmail.com Euler's Theorem y y Angle! rotation follows right hand rule

More information

CS612 - Algorithms in Bioinformatics

CS612 - Algorithms in Bioinformatics Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search

More information

3D Kinematics. Consists of two parts

3D Kinematics. Consists of two parts D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation

More information

Orientation & Quaternions

Orientation & Quaternions Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented

More information

Lecture Note 3: Rotational Motion

Lecture Note 3: Rotational Motion ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

Transformations: 2D Transforms

Transformations: 2D Transforms 1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation

More information

CMSC 425: Lecture 6 Affine Transformations and Rotations

CMSC 425: Lecture 6 Affine Transformations and Rotations CMSC 45: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and

More information

Chapter 3 : Computer Animation

Chapter 3 : Computer Animation Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations

More information

Lecture «Robot Dynamics»: Kinematics 2

Lecture «Robot Dynamics»: Kinematics 2 Lecture «Robot Dynamics»: Kinematics 2 151-851- V lecture: CAB G11 Tuesday 1:15 12:, every week exercise: HG G1 Wednesday 8:15 1:, according to schedule (about every 2nd week) office hour: LEE H33 Friday

More information

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11 3D Transformations CS 4620 Lecture 11 1 Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2 Translation 3 Scaling 4 Rotation about z axis 5 Rotation about x axis 6

More information

CS354 Computer Graphics Rotations and Quaternions

CS354 Computer Graphics Rotations and Quaternions Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation

More information

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous

More information

Kinematics and Orientations

Kinematics and Orientations Kinematics and Orientations Hierarchies Forward Kinematics Transformations (review) Euler angles Quaternions Yaw and evaluation function for assignment 2 Building a character Just translate, rotate, and

More information

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

More information

Computer Animation II

Computer Animation II Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies

More information

Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods

Quaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods uaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods ê = normalized Euler ation axis i Noel H. Hughes Nomenclature = indices of first, second and third Euler

More information

IMAGE-BASED RENDERING AND ANIMATION

IMAGE-BASED RENDERING AND ANIMATION DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

CS770/870 Spring 2017 Quaternions

CS770/870 Spring 2017 Quaternions CS770/870 Spring 2017 Quaternions Primary resources used in preparing these notes: 1. van Osten, 3D Game Engine Programming: Understanding Quaternions, https://www.3dgep.com/understanding-quaternions 2.

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

More information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg s Graphics Lecture Notes Coordinate Spaces 1 Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space

More information

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala) 3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity

More information

MTRX4700 Experimental Robotics

MTRX4700 Experimental Robotics MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1 Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics &

More information

navigation Isaac Skog

navigation Isaac Skog Foot-mounted zerovelocity aided inertial navigation Isaac Skog skog@kth.se Course Outline 1. Foot-mounted inertial navigation a. Basic idea b. Pros and cons 2. Inertial navigation a. The inertial sensors

More information

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)

More information

Satellite Attitude Determination

Satellite Attitude Determination Satellite Attitude Determination AERO4701 Space Engineering 3 Week 5 Last Week Looked at GPS signals and pseudorange error terms Looked at GPS positioning from pseudorange data Looked at GPS error sources,

More information

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars

More information

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1 Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also

More information

Autonomous Navigation for Flying Robots

Autonomous Navigation for Flying Robots Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München Points in 3D 3D point Augmented vector Homogeneous

More information

Rotations in 3D Graphics and the Gimbal Lock

Rotations in 3D Graphics and the Gimbal Lock Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences

More information

Quaternions: From Classical Mechanics to Computer Graphics, and Beyond

Quaternions: From Classical Mechanics to Computer Graphics, and Beyond Proceedings of the 7 th Asian Technology Conference in Mathematics 2002. Invited Paper Quaternions: From Classical Mechanics to Computer Graphics, and Beyond R. Mukundan Department of Computer Science

More information

Recursive Bayesian Estimation Applied to Autonomous Vehicles

Recursive Bayesian Estimation Applied to Autonomous Vehicles Recursive Bayesian Estimation Applied to Autonomous Vehicles Employing a stochastic algorithm on nonlinear dynamics for real-time localization Master s thesis in Complex Adaptive Systems ANNIE WESTERLUND

More information

Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $!

Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $! Rendering Pipeline Another look at rotation Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone model reproduction (focuses

More information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project

More information

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information

CS283: Robotics Fall 2016: Sensors

CS283: Robotics Fall 2016: Sensors CS283: Robotics Fall 2016: Sensors Sören Schwertfeger / 师泽仁 ShanghaiTech University Robotics ShanghaiTech University - SIST - 23.09.2016 2 REVIEW TRANSFORMS Robotics ShanghaiTech University - SIST - 23.09.2016

More information

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358

More information

Testing the Possibilities of Using IMUs with Different Types of Movements

Testing the Possibilities of Using IMUs with Different Types of Movements 137 Testing the Possibilities of Using IMUs with Different Types of Movements Kajánek, P. and Kopáčik A. Slovak University of Technology, Faculty of Civil Engineering, Radlinského 11, 81368 Bratislava,

More information

The Graphics Pipeline and OpenGL I: Transformations!

The Graphics Pipeline and OpenGL I: Transformations! ! The Graphics Pipeline and OpenGL I: Transformations! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 2! stanford.edu/class/ee267/!! Logistics Update! all homework submissions:

More information

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011 Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri

More information

Me 3-Axis Accelerometer and Gyro Sensor

Me 3-Axis Accelerometer and Gyro Sensor Me 3-Axis Accelerometer and Gyro Sensor SKU: 11012 Weight: 20.00 Gram Description: Me 3-Axis Accelerometer and Gyro Sensor is a motion processing module. It can use to measure the angular rate and the

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

Kinematic Model of Robot Manipulators

Kinematic Model of Robot Manipulators Kinematic Model of Robot Manipulators Claudio Melchiorri Dipartimento di Ingegneria dell Energia Elettrica e dell Informazione (DEI) Università di Bologna email: claudio.melchiorri@unibo.it C. Melchiorri

More information

Inverse Kinematics Programming Assignment

Inverse Kinematics Programming Assignment Inverse Kinematics Programming Assignment CS 448D: Character Animation Due: Wednesday, April 29 th 11:59PM 1 Logistics In this programming assignment, you will implement a simple inverse kinematics solver

More information

Multimodal Movement Sensing using. Motion Capture and Inertial Sensors. for Mixed-Reality Rehabilitation. Yangzi Liu

Multimodal Movement Sensing using. Motion Capture and Inertial Sensors. for Mixed-Reality Rehabilitation. Yangzi Liu Multimodal Movement Sensing using Motion Capture and Inertial Sensors for Mixed-Reality Rehabilitation by Yangzi Liu A Thesis Presented in Partial Fulfillment of the Requirements for the Degree Master

More information

Animation. Animation

Animation. Animation CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.

More information

METR 4202: Advanced Control & Robotics

METR 4202: Advanced Control & Robotics Position & Orientation & State t home with Homogenous Transformations METR 4202: dvanced Control & Robotics Drs Surya Singh, Paul Pounds, and Hanna Kurniawati Lecture # 2 July 30, 2012 metr4202@itee.uq.edu.au

More information

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco. otation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J Fowler, WesternGeco Summary Symmetry groups commonly used to describe seismic anisotropy

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

Lab 2A Finding Position and Interpolation with Quaternions

Lab 2A Finding Position and Interpolation with Quaternions Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There

More information

Camera Drones Lecture 2 Control and Sensors

Camera Drones Lecture 2 Control and Sensors Camera Drones Lecture 2 Control and Sensors Ass.Prof. Friedrich Fraundorfer WS 2017 1 Outline Quadrotor control principles Sensors 2 Quadrotor control - Hovering Hovering means quadrotor needs to hold

More information

MEAM 620: HW 1. Sachin Chitta Assigned: January 10, 2007 Due: January 22, January 10, 2007

MEAM 620: HW 1. Sachin Chitta Assigned: January 10, 2007 Due: January 22, January 10, 2007 MEAM 620: HW 1 Sachin Chitta (sachinc@grasp.upenn.edu) Assigned: January 10, 2007 Due: January 22, 2006 January 10, 2007 1: MATLAB Programming assignment Using MATLAB, write the following functions: 1.

More information

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools

More information

Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback

Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback Hoang-Lan Pham, Véronique Perdereau, Bruno Vilhena Adorno and Philippe Fraisse UPMC Univ Paris 6, UMR 7222, F-755,

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion

More information

Gravity compensation in accelerometer measurements for robot navigation on inclined surfaces

Gravity compensation in accelerometer measurements for robot navigation on inclined surfaces Available online at www.sciencedirect.com Procedia Computer Science 6 (211) 413 418 Complex Adaptive Systems, Volume 1 Cihan H. Dagli, Editor in Chief Conference Organized by Missouri University of Science

More information

animation computer graphics animation 2009 fabio pellacini 1

animation computer graphics animation 2009 fabio pellacini 1 animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

The Graphics Pipeline and OpenGL I: Transformations!

The Graphics Pipeline and OpenGL I: Transformations! ! The Graphics Pipeline and OpenGL I: Transformations! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 2! stanford.edu/class/ee267/!! Albrecht Dürer, Underweysung der Messung mit

More information

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops) Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and

More information

Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication

Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication Introduction to quaternions Definition: A quaternion q consists of a scalar part s, s, and a vector part v ( xyz,,, v 3 : q where, [ s, v q [ s, ( xyz,, q s+ ix + jy + kz i 2 j 2 k 2 1 ij ji k k Quaternion

More information

Jacobian: Velocities and Static Forces 1/4

Jacobian: Velocities and Static Forces 1/4 Jacobian: Velocities and Static Forces /4 Models of Robot Manipulation - EE 54 - Department of Electrical Engineering - University of Washington Kinematics Relations - Joint & Cartesian Spaces A robot

More information

NAVAL POSTGRADUATE SCHOOL THESIS

NAVAL POSTGRADUATE SCHOOL THESIS NAVAL POSTGRADUATE SCHOOL MONTEREY, CALIFORNIA THESIS DEVELOPMENT OF A 3-D PEN INPUT DEVICE by Deven A. Rhett September 2008 Thesis Advisor: Second Reader: Xiaoping Yun Roberto Cristi Approved for public

More information

Introduction to Robotics

Introduction to Robotics Université de Strasbourg Introduction to Robotics Bernard BAYLE, 2013 http://eavr.u-strasbg.fr/ bernard Modelling of a SCARA-type robotic manipulator SCARA-type robotic manipulators: introduction SCARA-type

More information

Collaboration is encouraged among small groups (e.g., 2-3 students).

Collaboration is encouraged among small groups (e.g., 2-3 students). Assignments Policies You must typeset, choices: Word (very easy to type math expressions) Latex (very easy to type math expressions) Google doc Plain text + math formula Your favorite text/doc editor Submit

More information

An Intro to Gyros. FTC Team #6832. Science and Engineering Magnet - Dallas ISD

An Intro to Gyros. FTC Team #6832. Science and Engineering Magnet - Dallas ISD An Intro to Gyros FTC Team #6832 Science and Engineering Magnet - Dallas ISD Gyro Types - Mechanical Hubble Gyro Unit Gyro Types - Sensors Low cost MEMS Gyros High End Gyros Ring laser, fiber optic, hemispherical

More information

3D Modelling: Animation Fundamentals & Unit Quaternions

3D Modelling: Animation Fundamentals & Unit Quaternions 3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring

More information

Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration

Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration Performance Study of Quaternion and Matrix Based Orientation for Camera Calibration Rigoberto Juarez-Salazar 1, Carlos Robledo-Sánchez 2, Fermín Guerrero-Sánchez 2, J. Jacobo Oliveros-Oliveros 2, C. Meneses-Fabian

More information

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

CS184: Using Quaternions to Represent Rotation

CS184: Using Quaternions to Represent Rotation Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and

More information

Aalto CS-C3100 Computer Graphics, Fall 2016

Aalto CS-C3100 Computer Graphics, Fall 2016 Aalto CS-C3100 Computer Graphics, Fall 2016 Representation and Interpolation of Wikipedia user Blutfink Rotations...or, adventures on the 4D unit sphere Jaakko Lehtinen with lots of slides from Frédo Durand

More information

Computing tilt measurement and tilt-compensated e-compass

Computing tilt measurement and tilt-compensated e-compass DT0058 Design tip Computing tilt measurement and tilt-compensated e-compass By Andrea Vitali Main components LSM303AGR LSM303C LSM303D Ultra compact high-performance e-compass: ultra-low-power 3D accelerometer

More information

Working With 3D Rotations. Stan Melax Graphics Software Engineer, Intel

Working With 3D Rotations. Stan Melax Graphics Software Engineer, Intel Working With 3D Rotations Stan Melax Graphics Software Engineer, Intel Human Brain is wired for Spatial Computation Which shape is the same: a) b) c) I don t need to ask for directions Translations A childhood

More information

1 Historical Notes. Kinematics 5: Quaternions

1 Historical Notes. Kinematics 5: Quaternions 1 Historical Notes Quaternions were invented by the Irish mathematician William Rowan Hamilton in the late 1890s. The story goes 1 that Hamilton has pondered the problem of dividing one vector by another

More information

Calibration of Inertial Measurement Units Using Pendulum Motion

Calibration of Inertial Measurement Units Using Pendulum Motion Technical Paper Int l J. of Aeronautical & Space Sci. 11(3), 234 239 (2010) DOI:10.5139/IJASS.2010.11.3.234 Calibration of Inertial Measurement Units Using Pendulum Motion Keeyoung Choi* and Se-ah Jang**

More information

Transformations Week 9, Lecture 18

Transformations Week 9, Lecture 18 CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations

More information

Simplified Orientation Determination in Ski Jumping using Inertial Sensor Data

Simplified Orientation Determination in Ski Jumping using Inertial Sensor Data Simplified Orientation Determination in Ski Jumping using Inertial Sensor Data B.H. Groh 1, N. Weeger 1, F. Warschun 2, B.M. Eskofier 1 1 Digital Sports Group, Pattern Recognition Lab University of Erlangen-Nürnberg

More information

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the

More information

Articulated Characters

Articulated Characters Articulated Characters Skeleton A skeleton is a framework of rigid body bones connected by articulated joints Used as an (invisible?) armature to position and orient geometry (usually surface triangles)

More information

EE565:Mobile Robotics Lecture 2

EE565:Mobile Robotics Lecture 2 EE565:Mobile Robotics Lecture 2 Welcome Dr. Ing. Ahmad Kamal Nasir Organization Lab Course Lab grading policy (40%) Attendance = 10 % In-Lab tasks = 30 % Lab assignment + viva = 60 % Make a group Either

More information

Proceedings of the 2013 SpaceVision Conference November 7-10 th, Tempe, AZ, USA ABSTRACT

Proceedings of the 2013 SpaceVision Conference November 7-10 th, Tempe, AZ, USA ABSTRACT Proceedings of the 2013 SpaceVision Conference November 7-10 th, Tempe, AZ, USA Development of arm controller for robotic satellite servicing demonstrations Kristina Monakhova University at Buffalo, the

More information

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation Lecture 10: Animation COMP 175: Computer Graphics March 12, 2018 1/37 Recap on Camera and the GL Matrix Stack } Go over the GL Matrix Stack 2/37 Topics in Animation } Physics (dynamics, simulation, mechanics)

More information