Definitions
Spatial Attitude is a Data Type representing an Object’s Position, Orientation and their velocities and accelerations.
Point of View is a Spatial Attitude that does not include velocity and acceleration.
Point is a geometric point in a Cartesian or Spherical Coordinate System.
Position is a representative Point of an Object a coordinate system.
Orientation is the set of 3 Euler angles of an Object.
Anchored Direction is represented by a line crossing a Point and having a direction determined by the line’s Azimuth (φ) and Elevation (θ) Angles.
Syntax
https://schemas.mpai.community/OSD/V1.0/data/SpatialAttitude.json
Semantics
Table 1provides the semantics of the components of the Spatial Attitude. Note that:
- Each of Position, Velocity, and Acceleration can be expressed in Cartesian (X,Y,Z) or Spherical (r,φ,θ) Coordinates.
- The Euler angles are indicated by (α,β,γ).
Table 1 – Components of the Object Spatial Attitude
| HEADER | 9 Bytes | ||||||||||||||||||
| · Standard | 7 Bytes | The string OSD-OSA | |||||||||||||||||
| · Version | 1 Byte | Major version | |||||||||||||||||
| · Subversion | 1 Byte | Minor version | |||||||||||||||||
| OSAID | 16 Bytes | UUID Identifier of Object Spatial Attitude. | |||||||||||||||||
| General | |||||||||||||||||||
| · CoordType | bit 0 | 0: Cartesian, 1: Spherical | |||||||||||||||||
| · ObjectType | bit 1-2 | 00: Digital Human 01: Generic 10 and 11: reserved |
|||||||||||||||||
| · Precision | bit 3 | 0: single precision; 1: double precision | |||||||||||||||||
| · MediaType | bit 4-6 | 000: Audio; 001: Visual; 010: Haptic; 011: Smell; 100: RADAR; 101: LiDAR; 110: Ultrasound; 111: reserved | |||||||||||||||||
| · Reserved | bit 6-7 | reserved | |||||||||||||||||
| · SpatialAttitudeMask | 2 Bytes | 3*3 matrix of booleans (by rows)
|
|||||||||||||||||
| Position and Orientation | |||||||||||||||||||
| · CartPosition (X,Y,Z) | 12/24 Bytes | Array (in metres) | |||||||||||||||||
| · SpherPosition (r,φ,θ) | 12/24 Bytes | Array (in metres and degrees) | |||||||||||||||||
| · Orient (α,β,γ) | 12/24 Bytes | Array (in degrees) | |||||||||||||||||
| Velocity of Position and Orientation | |||||||||||||||||||
| · CartVelocity (X,Y,Z) | 12/24 Bytes | Array (in metres) | |||||||||||||||||
| · SpherVelocity (r,φ,θ) | 12/24 Bytes | Array (in metres and degrees) | |||||||||||||||||
| · OrientVelocity (α,β,γ) | 12/24 Bytes | Array (in degrees) | |||||||||||||||||
| Acceleration of Position and Orientation | |||||||||||||||||||
| · CartAccel (X,Y,Z) | 12/24 Bytes | Array (in metres) | |||||||||||||||||
| · SpherAccel (r,φ,θ) | 12/24 Bytes | Array (in metres and degrees) | |||||||||||||||||
| · OrientAccel (α,β,γ) | 12/24 Bytes | Array (in degrees) | |||||||||||||||||