stereolabs / zed-ros-wrapper

ROS wrapper for the ZED SDK
https://www.stereolabs.com/docs/ros/
MIT License
447 stars 391 forks source link

Bad magnetometer calibration with incomplete roll and pitch #889

Closed flabrosse closed 1 year ago

flabrosse commented 1 year ago

Preliminary Checks

Description

We have zed 2i cameras mounted on 400kg robots. These cannot be rotated al the way along the roll and pitch directions. I have used other IMUs that were happy (or at least seemed happy) with only partial data to fit an ellipse on. Here, the whole ellipse is fitted on only parts of the data, resulting to a bad calibration.

Steps to Reproduce

Don't roll or pitch fully the robot. The ellipse is fitted (badly) to the data available.

Expected Result

The ellipse should be fitted with the data only covering a part of the ellipse, rather the whole ellipse.

Actual Result

See expected result.

ZED Camera model

ZED2i

Environment

ROS noetic on ubuntu 20.04

Anything else?

The other IMU was processed using rtimulib (https://github.com/RTIMULib/RTIMULib2).

I guess this is not a trivial problem, but a real one for larger robots.

Myzhar commented 1 year ago

Hi @flabrosse the ZED SDK indeed performs a 3D calibration of the IMU. In your case, it can lead to unexpected behaviors. I suggest you use the raw magnetometer data (you can use the ZED Sensor Viewer to reset the calibration) and try to use other external calibration tools.

flabrosse commented 1 year ago

OK. I'll have to investigate. Is the format of the calibration file documented somewhere?

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment otherwise it will be automatically closed in 5 days