Accel calibration issues with BN055 IMU

asked 2018-05-22 11:30:21 -0500

babazaroni gravatar image

updated 2018-05-22 13:29:09 -0500

I'm using RTIMULIB2 and rtimulib_ros to work with the bosch bn055 imu. It seems nothing that I do calibration wise changes the output of the imu node. I've created the calibration .ini file with the command line calibrator from RTIMULIB2 and placed it in the rtimulib_ros config directory, with no impact on the acceleration values. I've tried all the fusion types, none, Kalman STATE4, and RTQF yet the calibration has no impact.

Since RTIMULIB project is no longer maintained, are there any other ros packages that can work with the BN055 imu thru i2c?

For rtimulib_ros, I'm using https://github.com/romainreignier/rti... .

The rtimulib_ros.launch file

<?xml version="1.0"?>
<launch>
    <node pkg="rtimulib_ros" type="rtimulib_ros" name="rtimulib_node" output="screen">
        <param name="calibration_file_path" value="$(find rtimulib_ros)/config"/>
        <param name="calibration_file_name" value="RTIMULib" />
        <param name="frame_id" value="imu_link"/>
    </node>
</launch>

The calibration file contents: (comments removed)

IMUType=10
FusionType=0
BusIsI2C=true
I2CBus=1
SPIBus=0
SPISelect=0
SPISpeed=500000
I2CSlaveAddress=40
AxisRotation=0
PressureType=0
I2CPressureAddress=0
HumidityType=0
I2CHumidityAddress=0

CompassCalValid=true
CompassCalMinX=-47.875000
CompassCalMinY=-54.562500
CompassCalMinZ=-44.187500
CompassCalMaxX=43.000000
CompassCalMaxY=51.750000
CompassCalMaxZ=50.750000
compassAdjDeclination=0.000000
compassCalEllipsoidValid=false
compassCalOffsetX=0.000000
compassCalOffsetY=0.000000
compassCalOffsetZ=0.000000
compassCalCorr11=1.000000
compassCalCorr12=0.000000
compassCalCorr13=0.000000
compassCalCorr21=0.000000
compassCalCorr22=1.000000
compassCalCorr23=0.000000
compassCalCorr31=0.000000
compassCalCorr32=0.000000
compassCalCorr33=1.000000

AccelCalValid=true
AccelCalMinX=-1.383662
AccelCalMinY=-0.930360
AccelCalMinZ=-0.920689
AccelCalMaxX=0.578636
AccelCalMaxY=0.880233
AccelCalMaxZ=1.107541

GyroBiasValid=false
GyroBiasX=0.000000
GyroBiasY=0.000000
GyroBiasZ=0.000000

MPU9150GyroAccelSampleRate=50
MPU9150CompassSampleRate=25
MPU9150GyroAccelLpf=4
MPU9150GyroFSR=16
MPU9150AccelFSR=16
MPU9250GyroAccelSampleRate=80
MPU9250CompassSampleRate=40
MPU9250GyroLpf=3
MPU9250AccelLpf=3
MPU9250GyroFSR=16
MPU9250AccelFSR=16

GD20HM303DGyroSampleRate=2
GD20HM303DGyroFsr=1
GD20HM303DGyroHpf=4
GD20HM303DGyroBW=1
GD20HM303DAccelSampleRate=5
GD20HM303DAccelFsr=3
GD20HM303DAccelLpf=3
GD20HM303DCompassSampleRate=4
GD20HM303DCompassFsr=0
GD20M303DLHCGyroSampleRate=0
GD20M303DLHCGyroFsr=1
GD20M303DLHCGyroHpf=4
GD20M303DLHCGyroBW=1
GD20M303DLHCAccelSampleRate=4
GD20M303DLHCAccelFsr=2
GD20M303DLHCCompassSampleRate=5
GD20M303DLHCCompassFsr=1
GD20HM303DLHCGyroSampleRate=2
GD20HM303DLHCGyroFsr=1
GD20HM303DLHCGyroHpf=4
GD20HM303DLHCGyroBW=1
GD20HM303DLHCAccelSampleRate=4
GD20HM303DLHCAccelFsr=2
GD20HM303DLHCCompassSampleRate=5
GD20HM303DLHCCompassFsr=1

LSM9DS0GyroSampleRate=0
LSM9DS0GyroFsr=1
LSM9DS0GyroHpf=4
LSM9DS0GyroBW=1
LSM9DS0AccelSampleRate=5
LSM9DS0AccelFsr=3
LSM9DS0AccelLpf=3
LSM9DS0CompassSampleRate=4
LSM9DS0CompassFsr=0
LSM9DS1GyroSampleRate=2
LSM9DS1GyroFsr=1
LSM9DS1GyroHpf=4
LSM9DS1GyroBW=1
LSM9DS1AccelSampleRate=3
LSM9DS1AccelFsr=3
LSM9DS1AccelLpf=3
LSM9DS1CompassSampleRate=5
LSM9DS1CompassFsr=0

BMX055GyroSampleRate=7
BMX055GyroFsr=2
BMX055AccelSampleRate=3
BMX055AccelFsr=2
BMX055MagPreset=1
edit retag flag offensive close merge delete

Comments

Can you add a link to the rtimulib_ros code that you're using so we can have a check. Also if you can include your calibration ini file and the launch file you're using that would help.

PeteBlackerThe3rd gravatar image PeteBlackerThe3rd  ( 2018-05-22 12:49:41 -0500 )edit

Thanks, I've edited in the requested info.

babazaroni gravatar image babazaroni  ( 2018-05-22 13:30:01 -0500 )edit

@babazaroni did you ever find a maintained IMU package?

EDJ14 gravatar image EDJ14  ( 2018-09-24 17:09:25 -0500 )edit