Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why there is a linear_acceleration in X direction for not moving imu 9250? #15

Open
Desoky01 opened this issue Aug 25, 2020 · 1 comment

Comments

@Desoky01
Copy link

I am using mpu9250 by the package /jeskesen/i2c_imu and the launch file is:


<?xml version="1.0"?>
<launch>
    <node pkg="tf" type="static_transform_publisher" name="imu_to_base" 
    args="0 0 0 0 0 0 base_link imu_link 50" /> 
<!--
    <node name="i2c_imu_node" pkg="i2c_imu" type="i2c_imu_node" ns="imu" output="screen">
        <param name="imu_frame" value="imu_link" />
    -->
    <node name="i2c_imu_node" pkg="i2c_imu" type="i2c_imu_node"  output="screen">
        <param name="imu_frame" value="imu_link" />

    <param name="i2c_bus" value="1" />

    <param name="i2c_slave_address" value="104" />
    <!--imu_type:
        0 = Auto discover
        1 = Null (used when data is provided from a remote IMU
        2 = InvenSense MPU-9150
        3 = STM L3GD20H + LSM303D
        4 = STM L3GD20 + LSM303DLHC
        5 = STM LSM9DS0
        6 = STM LSM9DS1
        7 = InvenSense MPU-9250
        8 = STM L3GD20H + LSM303DLHC
        9 = Bosch BMX055
        10 = Bosch BNX055
    -->
    <param name="imu_type" value="7" />

    <!--fusion_type:
        0 = RTFUSION_TYPE_NULL: just a dummy to keep things happy if not needed
        1 = RTFUSION_TYPE_KALMANSTATE4: kalman state is the quaternion pose
        2 = RTFUSION_TYPE_RTQF: RT quaternion fusion
    -->
    <param name="fusion_type" value="2" />

    <!-- mpu9250/gyro_accel_sample_rate: 5 - 1000 Hz --> 
    <param name="mpu9250/gyro_accel_sample_rate" value="80" />

    <!-- mpu9250/compass_sample_rate: 1 - 100 Hz -->
    <param name="mpu9250/compass_sample_rate" value="40" /> 

    <!-- mpu9250/gyro_low_pass_filter:
        0x11 - 8800Hz, 0.64mS delay
        0x10 - 3600Hz, 0.11mS delay
        0x00 - 250Hz, 0.97mS delay
        0x01 - 184Hz, 2.9mS delay
        0x02 - 92Hz, 3.9mS delay
        0x03 - 41Hz, 5.9mS delay
        0x04 - 20Hz, 9.9mS delay
            0x05 - 10Hz, 17.85mS delay
            0x06 - 5Hz, 33.48mS delay
        -->
        <param name="mpu9250/gyro_low_pass_filter" value="3" />

        <!-- mpu9250/accel_low_pass_filter:
            0x00 - 460Hz, 1.94mS delay
            0x01 - 184Hz, 5.80mS delay
            0x02 - 92Hz, 7.80mS delay
            0x03 - 41Hz, 11.80mS delay
            0x04 - 20Hz, 19.80mS delay
            0x05 - 10Hz, 35.70mS delay
            0x06 - 5Hz, 66.96mS delay
        -->
        <param name="mpu9250/accel_low_pass_filter" value="3" />

        <!-- mpu9250/gyro_full_scale_range:
            0 +/- 250 degress per second
            8 +/- 500 degress per second
            16 +/- 1000 degress per second
            24 +/- 2000 degress per second
        -->
        <param name="mpu9250/gyro_full_scale_range" value="16" />

        <!-- mpu9250/accel_full_scale_range:
            0 +/- 2g
            8 +/- 4g
            16 +/- 8g
            24 +/- 16g
        -->
        <param name="mpu9250/accel_full_scale_range" value="16" />
    </node>
</launch>

the imu doesn't move, but the output is:

---
header: 
  seq: 2685
  stamp: 
    secs: 1598377876
    nsecs: 786975020
  frame_id: "imu_link"
orientation: 
  x: 0.0196061972529
  y: -0.100331619382
  z: 0.19570158422
  w: 0.975320518017
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity: 
  x: -0.000253986567259
  y: -0.000782979652286
  z: 0.000762287527323
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration: 
  x: 1.93930334473
  y: 0.0191536132812
  z: 9.28710823975
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
---

Why there is a linear_acceleration in X direction x=1.9 ?

@adityasivaraj
Copy link

Hi @Desoky01 did you find out why this happens? I am getting a value of 3 in x-direction when it is stationary. I am assuming it is a bias and covariance is supposed solve it, but the calibration doesn't seem to calculate covariance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants