Qualisys Holding Ab · OMXSTO:QSYS

Qualisys Holding Ab — Technical Presentation (May 2016)

46 slides from Qualisys Holding Ab's technical presentation, May 26, 2016

  1. Slide 1: 6DOF Webinar

    6DOF Webinar Welcome! Wednesday, May 26, 2016

  2. Slide 2: Presenters

    Presenters Erwin Schoonderwaldt Daniel Thompson Host Live chat & questions Field Applications and Support Team (FAST)

  3. Slide 3: Webinar control panel

    Webinar control panel Show/hide control panel Full screen Audio settings View and enter questions

  4. Slide 4: Overview of topics

    Overview of topics • Introduction to 6DOF tracking [5 min] • Creating a 6DOF model in QTM (example: head tracking) [40 min] – Preparation of a rigid body (basics) – Definition of local coordinate system (LCS) – Use of virtual markers • Representation of 6DOF data in QTM [15 min] – Euler angles – Rot

  5. Slide 5: Introduction to 6DOF Tracking

    Part 1 INTRODUCTION TO 6DOF TRACKING

  6. Slide 6: What is 6DOF tracking?

    What is 6DOF tracking? 3D tracking • Tracking of a single marker • Measurement of position (X, Y, Z) • 3 degrees of freedom 6DOF tracking • Tracking of an object (3 or more markers attached to a rigid body) • Measurement of position and orientation (pose) • 6 degrees of freedom (3 for position, 3 fo

  7. Slide 7: Why 6DOF tracking?

    Why 6DOF tracking? Additional information • Pose of an object rather than position of a single marker • Tracking virtual points where no physical marker can be attached (e.g. position of eyes when doing head tracking) Redundancy • 6DOF tracking more robust in case of occlusions of single markers – R

  8. Slide 8: Creating a 6DOF Model in QTM

    Part 2 CREATING A 6DOF MODEL IN QTM

  9. Slide 9: Preparation of a rigid body

    Preparation of a rigid body Marker configuration: three main principles • At least 3 markers 4 markers or more recommended for redundancy • Markers should not be on one line Markers must span a plane (or a volume) • Asymmetric placement of markers Necessary for a unique definition of the orientation

  10. Slide 10: Preparation of a rigid body

    0000 Preparation of a rigid body QUALISYS

  11. Slide 11: Preparation of a rigid body

    Preparation of a rigid body Multiple rigid bodies • Use a unique marker configuration for each body Necessary for correct identification

  12. Slide 12: QTM Example: Creating a 6DOF model

    Creating a 6DOF model QTM EXAMPLE

  13. Slide 13: QUALISYS

    QUALISYS

  14. Slide 14: Definition of local coordinate system

    Definition of local coordinate system WHY? • Meaningful rotation axes – orientation of ship/aircraft – Flexion angle of knee

  15. Slide 15: Definition of local coordinate system

    Definition of local coordinate system Change the definition of the local coordinate system (LCS) • Tranlation and rotation Three methods 1. Based on Global Coordinate System Put rigid body in a known (fixed) orientation relative to GCS 2. Based on specific marker positions Use (calibration) markers

  16. Slide 16: QTM Example: Define Local Coordinate System using markers

    Define Local Coordinate System using markers QTM EXAMPLE

  17. Slide 17: 2. Define LCS using markers

    2. Define LCS using markers Landmarks (calibration markers) RightSide LeftSide NasalBridge

  18. Slide 18: 2. Define LCS using markers

    2. Define LCS using markers User input 1. Define main axis (X) RightSide LeftSide NasalBridge Local Coordinate System

  19. Slide 19: 2. Define LCS using markers

    2. Define LCS using markers User input 2. Define secondary axis (Z) RightSide LeftSide NasalBridge Local Coordinate System

  20. Slide 20: 2. Define LCS using markers

    2. Define LCS using markers Construction of LCS QTM calculates third axis and recalculates second axis (cross prod) RightSide LeftSide NasalBridge Local Coordinate System

  21. Slide 21: QUALISYS

    QUALISYS

  22. Slide 22: QTM Example: 6DOF tracking and virtual markers

    6DOF tracking and virtual markers QTM EXAMPLE

  23. Slide 23: Virtual markers in 6DOF model

    Virtual markers in 6DOF model Summary • Points in the rigid body definition that do not correspond with tracked markers • Virtual markers do not add new information… • Can be useful as visual aid – Showing points of interest (where it is difficult or impossible to apply a marker) – For example: eyes

  24. Slide 24: 3. LCS based on another rigid body

    3. LCS based on another rigid body • Use another rigid body as a reference for position and/or orientation

  25. Slide 25: Define LCS based on another rigid body

    Define LCS based on another rigid body • Use another rigid body as a reference for position and/or orientation

  26. Slide 26: QTM Example: Define LCS using another rigid body

    Define Local Coordinate System using another rigid body QTM EXAMPLE

  27. Slide 27: Saving, loading and editing

    Saving, loading and editing Saving and loading rigid bodies • Save to XML file • Possible to edit (or generate in an external program and import into QTM)

  28. Slide 28: QUALISYS

    QUALISYS

  29. Slide 29: Representation of 6DOF Data in QTM

    Part 3 REPRESENTATION OF 6DOF DATA IN QTM

  30. Slide 30: Pose of rigid body

    Pose of rigid body • Position of origin of rigid body relative to reference system – X, Y, Z • Orientation of rigid body relative to reference system – Euler angles – Rotation matrix • Residual – Average error (in mm) of measured marker positions compared to fitted 6DOF model (definition)

  31. Slide 31: Euler angles

    Euler angles • Definition – Three coordinate rotations in sequence can describe any rotation – 12 valid Euler sequences – Order of rotations gives different results (representation) By Lionel Brits - Hand drawn in Inkscape by me, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=3362239

  32. Slide 32: Euler angles

    Euler angles ® Project Options - [Project: 2016-05 6DOF Webinar] To use Euler angles to describe a rotation, ‘you must first determine your choice of Euler angle definition. Select Euler angle definition Custom ©) Qualsys standard r system 6D data points are always calculated relative to a “The defa

  33. Slide 33: Euler angles

    Euler angles • Qualisys standard 1. Roll (about X, between -180 and 180 deg) 2. Pitch (about Y’, between -90 and 90 deg) 3. Yaw (about Z’’, between -180 and 180 deg) • Cardan or nautical angles (used to describe orientation of a ship or aircraft) 1. Yaw / Heading (about Z) 2. Pitch / Elevation (abou

  34. Slide 34: Euler angles

    Euler angles • Problem – Singularity: large fluctuations of first and third rotation angles when second angle is at extremes (+/-90 deg) (cf. gimbal lock) • Choice of Euler sequence – Choose best representation based on application (meaningful rotations) – Avoid singularity

  35. Slide 35: Rotation matrix

    Rotation matrix • More suitable for computational purposes – No singularities

  36. Slide 36: Rotation matrix

    Rotation matrix • Exported by QTM as array of 9 elements per frame (𝑟0 , 𝑟1 ,…, 𝑟8 ) Rotation matrix 𝑟0 𝑟3 𝑟6 𝐳𝐁 𝑅 = 𝑟1 𝑟4 𝑟7 𝑟2 𝑟5 𝑟8 𝐲𝐁 𝒛 𝑩𝟎 𝒙𝑩 𝒚 𝒙 Global Coordinate System

  37. Slide 37: Rotation matrix

    Rotation matrix • Exported by QTM as array of 9 elements per frame (𝑟0 , 𝑟1 ,…, 𝑟8 ) Rotation matrix 𝑟0 𝑟3 𝑟6 𝐳𝐁 𝑅 = 𝑟1 𝑟4 𝑟7 𝑟2 𝑟5 𝑟8 𝐲𝐁 𝒛 𝑩𝟎 Mapping of basis vectors 𝒙𝑩 𝑅 = 𝒙𝑩 𝒚𝑩 𝒛𝑩 Basis vectors of LCS expressed 𝒚 in global coordinates 𝒙 Global Coordinate System

  38. Slide 38: Rotation matrix

    Rotation matrix • Exported by QTM as array of 9 elements per frame (𝑟0 , 𝑟1 ,…, 𝑟8 ) Rotation matrix 𝑟0 𝑟3 𝑟6 𝐳𝐁 𝑅 = 𝑟1 𝑟4 𝑟7 𝑟2 𝑟5 𝑟8 𝐲𝐁 𝒛 𝒑 𝑩𝟎 Transform 𝒙𝑩 Local to global 𝒑 = 𝑅 ∙ 𝒑′ + 𝑩 𝟎 𝒚 Global to local 𝒙 𝒑′ = 𝑅𝑇 ∙ 𝒑 − 𝑩 𝟎 Global Coordinate System

  39. Slide 39: File export

    File export • Matlab (data structure) • TSV (text format, separate file for 6DOF)

  40. Slide 40: RT streaming

    RT streaming • QTM server / RT protocol (TCP/IP, UDP/IP) – 6DOF data: positions, Euler angles, Rotation matrix, Residual • Real-time plugins – Matlab – Labview • Open Sound Control (OSC) • Unity SDK – Control position and orientation of game objects or cameras

  41. Slide 41: QUALISYS

    QUALISYS

  42. Slide 42: References

    References • Rotations and Euler angles – Wikipedia: Euler angles (https://en.wikipedia.org/wiki/Euler_angles) – James Diebel (2006), Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors (https://www.astro.rug.nl/software/kapteyn/_downloads/attitude.pdf) • QTM Manual – 6DOF Pr

  43. Slide 43: Questions and Answers (errata)

    Questions and Answers (errata) • First session (Asia) – Q: Is it possible to show angular velocity of a rigid body? – A: Yes, you can show this in a plot. The velocity data cannot be exported though. To plot angular velocity, open a data info window (ctrl+d), Display 6DOF data, right click on the ri

  44. Slide 44: Questions and Answers (errata)

    Questions and Answers (errata) • Second session (Europe) – Q: Is there any way to apply an offset on the rotation of the local coordinate system? – A: Yes, there may be several ways to achieve that. • 1) In the 6DOF tab, select the rigid body and press the Rotate button. Here you can manually apply

  45. Slide 45: Questions and Answers (errata)

    Questions and Answers (errata) • Third session (North/South America) – Q: If you have processed a trial and then use virtual markers to replace a missing marker and reprocess, does it reprocess the whole trial? Then you would lose the other processing you have done. – A: When you reprocess, make sur

  46. Slide 46: Questions and Answers (errata)

    Questions and Answers (errata) – Q: Can you define a centroid between two markers? – A: There is not direct way to do this in the 6DOF interface. However, you can add a point to the rigid body and define it manually. In that case you need to calculate the centroid of the markers in local coordinates

Qualisys — Technical Presentation (May 2016) on 6ix