- Custom Development
|Timestamp||Reception time||ms||Not filtered|
|State_time||Internal time||ms||Not filtered|
|Accelx, y, z||Accelerometer, 3 channels||bits||Conversion factor of 8192 LSB/g, not filtered|
|Gyroz, y, z||Gyroscope, 3 channels||bits||Conversion factor of 32.8 LSB/DPS (DPS = degrees per second), not filtered|
|Mot_ang||Motor Angle||ticks||Not filtered|
|Mot_vel||Motor Velocity||ticks/ms||See note 1|
|Mot_acc||Motor Acceleration||rad/s^2||See note 1|
|Mot_curr||Motor Current||mA||Internally filtered, high bandwidth|
|Mot_volt||Motor Voltage||mV||Not filtered|
|Batt_volt||Battery Voltage||mV||Analog: 1st order RC, fc = 3.56kHz. Digital: moving average of 32 samples, equivalent to 138Hz.|
|Batt_curr||Battery Current||mA||Analog filter, 884Hz|
|Temp||Temperature||°C||Sampled at 10kHz, moving average of 16 (equivalent to 277Hz)|
|Genvar_3||Generic Variable #3 (currently used for torque at the ankle)||10*N.m||Not filtered|
|Ank_ang||Ankle Angle||degrees x 10||Not filtered|
|Ank_vel||Ankle Velocity||10 degrees/sec||Filtered 3rd order Butteworth with 30 Hz cutoff|
|Step_energy||Step Energy||J x 10||Integrated positive power, not filtered|
Note 1: Mot_vel and Mot_acc use custom C filters optimized for speed. We suggest calculating motor velocity and motor acceleration in post-processing if you need them and would like to avoid lag.
Two references are used: MPU-6500 and MPU-9250. Their scales and gains are the same. The MPU-9150 includes a magnetometer, not currently used (on FlexSEA-Rigid it's mounted on the motor… so it's just a bad position sensor).
Gyro range can be ±250, ±500, ±1000, or ±2000°/s. Our systems typically come with ±1000DPS. The associated gain is 32.8 LSB/DPS, covering the full range of a signed 16bits variable. The programmed bandwidth is 250 Hz.
Accelerometer range can be ±2g, ±4g, ±8g or ±16g. Our systems typically come with ±4g. The associated gain is 8192 LSB/g. The programmed bandwidth is 460 Hz.
The IMU is read at 250 Hz.
Currents are reported in mA, and voltages in mV. In some occasions the stack will bit-shift them to compress the values in a byte or two instead of 4.
Motor variables are signed. Bus voltages are unsigned.
Motor and joint encoder angles are reported in ticks. 1 tick is 1 LSB for a given encoder. As an example, the AS5047P absolute magnetic position sensor is used for motor commutation on most FlexSEA systems. It has a 14-bit resolution; 16384 ticks/rotation. One tick is equivalent to 360/2^14=0.02197 degrees.
Velocity is reported in ticks per ms. A motor spinning at 1000RPM (16.67 rps) with an AS5047P encoder will have 273 ticks/ms. Using the AS5047 the conversion 16.384 ticks/rps will let you calculate everything.
Motor acceleration is reported in rad / s^2.
For integrated systems different units can be used (ex.: 10*degrees). Please refer to the system's page, or contact us.
The 6-ch Strain Amplifier is an optional, external circuit that can read up to 6 strain gauges/load cells and make their data available over I2C. The 6-ch Strain Gauge Amplifier page has all the details.
The data is read at 250 Hz.
Temperatures are reported in Celsius. Unless otherwise specified, times are reported in milliseconds (ms).