Open Srijal97 opened 2 years ago
I'm also having the same issue. Is there a fix for this?
The magnetometer is very sensitive as it is trying to sense the relatively weak magnetic field of the earth. From the small image you sent, I don't know the amount of current traveling from those batteries, but current in a wire is going to create a magnetic field. As the current fluctuate, the magnetic field does as well. It will be impossible for the magnetometer to decipher the difference. The fix is to carefully design and evaluate the affects of the difference parts of your system on the magnetic field near the uINS.
We tested it, and it seems that there is a lot of static interference from all the metal around the uINS, but there aren't any significant changes to the magnetometer output why we forced current spikes from the battery. So calibration should be theoretically able to mitigate this. However, on calibrating the uINS, insStatus
still reports 0x00811427
, where the 8 corresponds to INS_STATUS_MAG_INTERFERENCE_OR_BAD_CAL
as per your documentation. Just to check its validity, I also tried calibrating the uINS on it's on, in the air far away from everything, and I could not disable INS_STATUS_MAG_INTERFERENCE_OR_BAD_CAL
even then.
Also, I think that the magnetic field reported to ROS using sensor_msgs/MagneticField
is in Gauss, when it should be in Teslas according to the template. This might be a bug.
Could you send me a PPD log in .dat format and we can investigate this more closely. https://docs.inertialsense.com/user-manual/logging-plotting/data_logging/#logging-ppd-in-cltool
I'm sorry for the delay. Could you please clarify in what condition of the uINS do you want me to record the log? Do you want me to keep it mounted on my robot, or maybe in mid-air? stationary or performing some motion?
@Srijal97 Send me a log of you trying to recalibrate the magnetometer. I'd like to see it in your intended integration position.
Hello!
I have a uINS rugged module mounted on my ground vehicle (like so) and I am having trouble getting the absolute orientation from it. When I fuse the yaw output from
/ins
to my robot_localization node, it causes the robot to rotate on the spot even when it's stationary; and when I use the imu_madgwick_filter package to fuse the/imu
and/mag
data to get orientation, the orientation output is correct, but when the robot is rotated, the heading immediately returns to the starting position exactly as described here.I suspect this has a lot to do with the mounting of uINS on the robot - very close to battery cells and the aluminum frame on the bottom. But I am hoping that a mag recalibration can fix this. Also note that the magnetometer readings on
/mag
seem unreasonably high (like 1.4 Teslas!):Is this wierd?
I tried running the
rosservice call /single_axis_mag_cal
, but it does not inform me if the procedure is completed or if I did it correctly? There is only:But how do I know the end of it?
Please let me know your thoughts. Thanks!