Abstraction for classes that fetch samples from a sensor and classes that are able to process samples.
A sample is a measurement taken by a sensor at a single moment in time.
A sample can have one or more elements. The number of elements in a sample depends on the sensor (and sensor mode).
Sample providers comply with standards.
Sample providers use standard units.
- Length in meters
- Angle in degrees
- Temperature in degrees celcius
- Pressure in Pascal
- Speed in m/s
- Acceleration in m/s^2
When there is no clear unit a sample provider use normalized values in the range between 0 and 1.
Sample providers that measure spatial data use a right handed cartesian coordinate system with the X-axis pointing forwards,
the Y-axis pointing to the left and the Z-axis pointing up.
(The plug of a sensor is always on its back.)
A positive rotation of a mobile robot is a counterclockwise rotation.
If a sample provider measures spatial data over more than one axis, the order of the elements in a sample corresponds with the X,Y and Z axis.