1 Definition
A Data Type representing an Object’s Position, Orientation and their velocity and acceleration.
2 Functional Requirements
- The Position of an Object is that of a representative point in the Object.
- Cartesian and Polar Coordinate Systems are supported.
- The following media used types are supported: Audio; Visual; Audio-Visual; Haptic; Smell; RADAR; LiDAR; Ultrasound.
- Error is measured as a percentage of the value of each of CartPosition, SpherPosition, Orientation, CartVelocity, SpherVelocity, OrientVelocity, CartAccel, SpherAccel, OrientAccel.
- Error is assumed to be the same for the three components of each value set.
3 Syntax
https://schemas.mpai.community/OSD/V1.1/data/SpatialAttitude.json
1.1.4 Semantics
Table 2 provides the semantics of the components of the Spatial Attitude. The following should be noted:
- Each of Position, Velocity, and Acceleration is provided either in Cartesian (X,Y,Z) or Spherical (r,φ,θ) Coordinates.
- The Euler angles are indicated by (α,β,γ).
Table 2 – Semantics
Header | N1 Bytes | ||||||||||||||||||
· Standard-Spatial Attitude | 9 Bytes | The characters “OSD-OSA-V” | |||||||||||||||||
· Version | N2 Bytes | Major version – 1 or 2 characters | |||||||||||||||||
· Dot-separator | 1 Byte | The character “.” | |||||||||||||||||
· Subversion | N3 Bytes | Minor version – 1 or 2 characters | |||||||||||||||||
ObjectSpatialAttitudeID | N4 Bytes | Identifier of Object Spatial Attitude. | |||||||||||||||||
General | |||||||||||||||||||
· CoordType | bit 0 | 0: Cartesian, 1: Spherical | |||||||||||||||||
· ObjectTypeID | bit 1-2 | 00: Digital Human
01: Generic 10 and 11: reserved |
|||||||||||||||||
· MediaTypeID | bit 3-5 | 000: Audio; 001: Visual; 010: Audio-Visual; 011: Haptic; 100: Smell; 101: RADAR; 110 LiDAR; 111: Ultrasound. | |||||||||||||||||
· Precision | bit 6 | 0: single precision; 1: double precision | |||||||||||||||||
· Reserved | bit 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) | |||||||||||||||||
Errors | |||||||||||||||||||
· ErrCartPosition | N5 Bytes | Err/CartPosition*100 | |||||||||||||||||
· ErrSpherPosition | N6 Bytes | Err/SpherPosition*100 | |||||||||||||||||
· ErrOrientation | N7 Bytes | Err/Orientation*100 | |||||||||||||||||
· ErrCartVelocity | N8 Bytes | Err/CartVelocity*100 | |||||||||||||||||
· ErrSpherVelocity | N9 Bytes | Err/SpherVelocity*100 | |||||||||||||||||
· ErrOrientVelocity | N10 Bytes | Err/OrientVelocity*100 | |||||||||||||||||
· ErrCartAccel | N11 Bytes | Err/CartAccel*100 | |||||||||||||||||
· ErrSpherAccel | N12 Bytes | Err/SpherAccel*100 | |||||||||||||||||
· ErrOrientAccel | N13 Bytes | Err/OrientAccel*100 |
1.1.5 Data Types
Object Types, Media Types, and Coordinate Types are required.
1.1.6 To Respondents
Respondents are requested to comment on Functional Requirements and Object Type ID, Media Type ID, and Coordinate Type ID.