bjajoh / ros-mpu9250-ahrs

ROS driver with imu + magnetometer fusion for a Raspberry Pi
GNU General Public License v2.0
14 stars 1 forks source link

Values highly varying and going in all directions. #1

Open adityasivaraj opened 2 years ago

adityasivaraj commented 2 years ago

Initially there doesn't seem to be any calibration done, as the Mag calibration values are zeros. Then, the values seem to be varying badly and going in all directions. As a result, on rviz the imu display is dancing in all directions. But, there doesn't seem to be any error.

`roslaunch mpu9250-driver mpu9250.launch ... logging to /home/ubuntu/.ros/log/cf64c14a-7dc2-11ec-9398-dca632a5dad4/roslaunch-ubuntu-29904.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://10.42.0.241:33351/

SUMMARY

PARAMETERS

NODES / imu_filter_node (imu_filter_madgwick/imu_filter_node) mpu9250 (mpu9250-driver/mpu9250.py)

ROS_MASTER_URI=http://10.42.0.241:11311

process[mpu9250-1]: started with pid [29919] process[imu_filter_node-2]: started with pid [29920] [ INFO] [1643113617.105568829]: Starting ImuFilter [ INFO] [1643113617.118250981]: Using constant dt of 0.100000 sec [ INFO] [1643113617.118375479]: The gravity vector will be removed from the acceleration [ INFO] [1643113617.141637721]: Imu filter gain set to 0.900000 [ INFO] [1643113617.141755699]: Gyro drift bias set to 0.000000 [ INFO] [1643113617.141834309]: Magnetometer bias values: 0.000000 0.000000 0.000000 ('Calibrating', '0x68', '- AK8963') [ WARN] [1643113627.179876750]: Still waiting for data on topics /imu/data_raw and /imu/mag... [ WARN] [1643113637.179547639]: Still waiting for data on topics /imu/data_raw and /imu/mag... ('Calibrating', '0x68', '- MPU6500') [INFO] [1643113640.520174]: IMU STARTED [ INFO] [1643113640.536420162]: First pair of IMU and magnetometer messages received.`

bjajoh commented 2 years ago

Yes, if I remeber correctly, the calibration needs to be done manually before.

adityasivaraj commented 2 years ago

Hi @bjajoh , thanks for the time! Could you please elaborate on that? Because the code has the calibration command and I am assuming it would do the complete calibration for me. Should I follow any instructions from the Data Collect repository? I couldn't find any there...

bjajoh commented 2 years ago

@adityasivaraj Here, this is the line: https://github.com/bjajoh/ros-mpu9250-ahrs/blob/f7d10872cef5bfb15e96d04538f0d6e23eb5a5ff/mpu9250-driver/scripts/mpu9250.py#L34

The calibration runs at the beginning, but that means in order to work, you have to do the correct calibration procedure. That means you have to turn it around itself a few times until the calibration procedure is finished.

here a bit more about it: https://github.com/Intelligent-Vehicle-Perception/MPU-9250-Sensors-Data-Collect#calibrating-sensors

I would suggest: