merged | Movement Sensor Component

merged

The merged movement sensor model is an abstraction that combines data from multiple movement sensors. This allows you to aggregate the API methods supported by multiple sensors into a singular sensor client.

This is especially useful if you want to get readings of position and orientation or linear and angular velocity at the same time, which are normally separately supported and returned by GPS or IMU models, respectively.

Before configuring a merged movement sensor, configure each movement sensor you want to merge as an individual component according to its model’s configuration instructions. Reference the name you configure for each individual component in the merged sensor’s configuration attributes:

Attributes

Configure an array of the name of each movement sensor you want to add to your machine as a merged resource in the attributes of the merged movement sensor model:

Name Type Required? Description
position array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads position.
orientation array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads orientation.
compass_heading array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads compass heading position.
linear_velocity array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads linear velocity.
angular_velocity array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads angular velocity.
linear_acceleration array Dependent on Readings Type Supported The name of the movement sensor you want to merge, if it reads linear acceleration.

Note that only one sensor from each array can be used to retrieve each type of reading. Your machine uses the first sensor in the array that has implemented the relevant API method in its model and does not raise an error at runtime. For instance, in the JSON Example above, if both "imu-wit" and "mpu6050" support returning angular_velocity, "mpu6050" is only used to read angular velocity on the machine if "imu-wit" returns an error at runtime.