summaryrefslogtreecommitdiff
path: root/sensors-service/api/franca/Acceleration.fidl
diff options
context:
space:
mode:
Diffstat (limited to 'sensors-service/api/franca/Acceleration.fidl')
-rw-r--r--sensors-service/api/franca/Acceleration.fidl94
1 files changed, 3 insertions, 91 deletions
diff --git a/sensors-service/api/franca/Acceleration.fidl b/sensors-service/api/franca/Acceleration.fidl
index f274792..287a536 100644
--- a/sensors-service/api/franca/Acceleration.fidl
+++ b/sensors-service/api/franca/Acceleration.fidl
@@ -40,87 +40,6 @@ interface Acceleration {
}
<** @description:
- Static configuration data for the acceleration sensor service.
-
- BEGIN Explanation of the angleYaw, anglePitch angleRoll parameters
- The orientation of the accelerometer hardware (Xa, Ya, Za)
- with respect to the vehicle axis system (Xv, Yv, Zv)
- can be described using the angles (angleYaw, anglePitch, angleRoll)
- following the approach defined in ISO 8855:2011, section 5.2, table 1
- Apply 3 rotations on the vehicle axis system until it matches the accelerometer axis system
- The rotation sequence is as follows
- - first rotate by angleYaw about the Zv axis
- - second rotate by anglePitch about the new (intermediate) Y axis
- - third rotate by angleRoll about the new X axis
-
- Notes
- - the angles are frequently called "Euler angles" and the rotations "Euler rotations"
- - a different order of the rotations would lead to a different orientation
- - as the vehicle axis system is right-handed, also the accelerometer axis system must be right-handed
-
- The vehicle axis system as defined in ISO 8855:2011(E).
- In this system, the axes (Xv, Yv, Zv) are oriented as follows
- - Xv is in the horizontal plane, pointing forwards
- - Yv is in the horizontal plane, pointing to the left
- - Zv is perpendicular to the horizontal plane, pointing upwards
- For an illustration, see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
-
- When the accelerometer axes are not aligned with the vehicle axes, i.e.
- if any of the angles (angleYaw, anglePitch, angleRoll) is not zero
- then the raw measurement values of the accelerometer X, Y, Z axes may have to be be transformed
- to the vehicle axis system by the client of this interface, depending on the type of application.
- Raw measurements are provided in TAccelerationData instead of already transformed values, because
- - for accelerometers with less than 3 axes, the transformation is mathematically not well-defined
- - some types of calibration operations are better performed on raw data
-
- Implementors hint: The mathematics of this kind of transformation,
- like the derivation of the rotation matrixes is described in literature on strapdown navigation
- E.g. "Strapdown Inertial Navigation Technology", 2nd Edition by David Titterton and John Weston, section 3.6
- END Explanation of the angleYaw, anglePitch angleRoll parameters
- **>
- struct TAccelerationConfiguration{
- <** @description: Distance of acceleration sensor from vehicle reference point (x-coordinate) [m].
- **>
- Float dist2RefPointX
- <** @description: Distance of acceleration sensor from vehicle reference point (y-coordinate) [m].
- **>
- Float dist2RefPointY
- <** @description: Distance of acceleration sensor from vehicle reference point (z-coordinate) [m].
- **>
- Float dist2RefPointZ
- <** @description: Euler angle of first rotation, around yaw axis, to describe acceleration sensor orientation [degree].
- For details, see above.
- **>
- Float angleYaw
- <** @description: Euler angle of second rotation, around pitch axis, to describe acceleration sensor orientation [degree].
- For details, see above.
- **>
- Float anglePitch
- <** @description: Euler angle of third rotation, around roll axis, to describe acceleration sensor orientation [degree].
- For details, see above.
- **>
- Float angleRoll
- <** @description: Standard error estimate of the x-acceleration [m/s^2].
- **>
- Float sigmaX
- <** @description: Standard error estimate of the y-acceleration [m/s^2].
- **>
- Float sigmaY
- <** @description: Standard error estimate of the z-acceleration [m/s^2].
- **>
- Float sigmaZ
- <** @description: Bit mask indicating the type of the used accelerometer.
- [bitwise or'ed EAccelerationTypeBits values].
- **>
- UInt32 typeBits
- <** @description: Bit mask indicating the validity of each corresponding value.
- [bitwise or'ed EAccelerationConfigValidityBits values].
- Must be checked before usage.
- **>
- UInt32 validityBits
- }
-
- <** @description:
TAccelerationData::validityBits provides information about the currently valid signals of the acceleration data.
It is a or'ed bitmask of the EAccelerationValidityBits values.
Note:
@@ -227,16 +146,6 @@ interface Acceleration {
}
}
- <** @description: getAccelerationConfiguration = get the static configuration information about the acceleration sensor.
- **>
- method getAccelerationConfiguration {
- out {
- TAccelerationConfiguration config
- <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
- Boolean available
- }
- }
-
<** @description: getAccelerationData = get the acceleration data at a specific point in time.
All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
**>
@@ -247,6 +156,7 @@ interface Acceleration {
Boolean available
}
}
+
<** @description: getAccelerationDataList = get a list of acceleration data.
may return buffered data (numElements >1) for different reasons
for (large) portions of data buffered at startup
@@ -261,6 +171,7 @@ interface Acceleration {
UInt16 numElements
}
}
+
<** @description: notifyAccelerationDataChanged
The signal will be emitted when new acceleration data is available.
All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
@@ -276,6 +187,7 @@ interface Acceleration {
Boolean available
}
}
+
<** @description: notifyStatusChanged
The signal will be emitted when new acceleration sensor status data is available.
**>