Skip to content

Firmware Configuration of BMI270 #886

@borongyuan

Description

@borongyuan

Hi,
I'm doing Allan variance analysis on OAK's IMU. I recorded 10 hours of rosbag for each OAK camera. Now I read ACCELEROMETER_RAW and GYROSCOPE_RAW at 100Hz. For BMI270, these seem to be the only two available. But since BMI270 has functions such as programmable filter and CRT, I'd like to confirm whether ACCELEROMETER_RAW and GYROSCOPE_RAW are real RAW data. And you have defined other items in depthhai.IMUSensor. I'd like to understand their purpose more clearly. Are these post-processing intended to be implemented by the IC of IMU or OAK's firmware?
Here is the data I measured from one device.
acceleration
gyro
From the graph it looks like the filter is not enabled, or at least the filter has a high bandwidth. This is what we want! We don't want any latency brought by the built-in filter, our own algorithm will handle the noise propagation. But the random walk in the graph of gyroscope looks a bit weird. Not sure if this is related to the CRT.

#Accelerometer
accelerometer_noise_density: 0.0014050369537968298 # m/s^2/√Hz
accelerometer_random_walk: 7.268205240359128e-05 # m/s^3/√Hz

#Gyroscope
gyroscope_noise_density: 0.0001116082909576279 # rad/s/√Hz
gyroscope_random_walk: 1.0601803124823304e-05 # rad/s^2/√Hz

The noise density from datasheet is 160 ug/√Hz and 0.007 deg/s/√Hz (BW=100Hz), and is close to our measurement. Bias instability is not available from datasheet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions