Mira.motion outputs readings from the device accelerometer, magnetometer and gyroscope. On compatible devices, these data are available both as raw readings from onboard sensors and as postprocessed information that accounts for sensor bias and drift. Each reading is output from the mira.motion object in the form (data-type) (data-args) (device-name), where data-type is one of rawaccel, rawgyro, rawmagnet, rotationrate, gravity, accel, compass or orientation; data-args is between three and four numbers containing the value of the data; and device-name is the name of the mobile device as defined in Mira. The mira.mo abstractions can assist in filtering and formatting the output of mira.motion.
Which sensors and what data is available depends on the device. All devices (including first generation iPads) can send raw data from the accelerometer and magnetometer. iPads from the second generation and later add raw gyroscope data, as well as postprocessed and higher-level data generated by incorporating information from several sensors.
Common Box Attributes
(2nd gen and later) Strength of the acceleration on the device not caused by gravity. This data is the result of computation that separates acceleration caused by the user from that caused by gravity. Units are in G's in the X, Y and Z directions. May be zero if the device is at rest.
(2nd gen and later) Strength of the magnetic field through the device in microteslas in the X, Y and Z directions. This reading has been processed to remove interference and bias from the device itself. A fourth number indicates confidence in this compass reading. A value of 0 indicates that the compass has not been calibrated; 1, 2 and 3 indicate low, medium and high confidence, respectively.
(2nd gen and later) Strength of the gravity vector, as determined by processing accelerometer data to separate acceleration caused by the user from that caused by gravity. Units are in G's in the X, Y and Z directions. Since the force of gravity is assumed to be constant across the Earth's surface, the length of this vector (2-norm) is always 1.
(2nd gen and later) The angle of inclination of the device in roll, pitch and yaw. Units are in radians. This measurement incorporates readings from all three sensors.
(All Devices) Raw readings from the hardware accelerometer. These readings separate acceleration into X, Y and Z components and are measured in G's, with a value of 1.0 corresponding to an acceleration equal to the Earth's gravity. Raw readings from the accelerometer will include both acceleration caused by gravity and contributed by the user when moving the device.
(2nd gen and later) Raw readings from the hardware gyroscope. These readings the rate of rotation of the device in radians per second about the X, Y and Z axes. There may be some bias inherent to the sensor.
(All Devices) Raw readings from the hardware magnetometer. These readings describe the strength of the magnetic field felt by the device in the X, Y and Z direction. The readings are expressed in microteslas, with 60 microtestlas roughly corresponding to the strength of the Earth's magnetic field at 50 degrees longitude. These raw readings also include bias from the magnetic field generated by the device itself.
(2nd gen and later) Postprocessed data that provides a more reliable, bias-free description of the rate of rotation of the device. Units are in radians per second about the X, Y and Z axis.