- 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.
Please see the I²t current limit: Programmable Fuse page for more information on current limits.
Read more about control gains and how to compute them on the Control Gains page.
Temperatures are reported in Celsius. Unless otherwise specified, times are reported in milliseconds (ms).