luxonis / depthai

DepthAI Python API utilities, examples, and tutorials.
https://docs.luxonis.com
MIT License
913 stars 228 forks source link

IMU Calibration #791

Open cyberbeat opened 1 year ago

cyberbeat commented 1 year ago

I wonder, why the IMU is not calibrated by factory configuration. Could you at least provide some "factory spec" one, which I could upload to eeprom? In eeprom we now only have

  "imuExtrinsics": {
        "rotationMatrix": [],
        "specTranslation": {
            "x": 0.0,
            "y": 0.0,
            "z": 0.0
        },
        "toCameraSocket": -1,
        "translation": {
            "x": 0.0,
            "y": 0.0,
            "z": 0.0
        }
    },

And also provide some bias/noise estimates (perhaps from manufacturer?), which should also have a place in the json-format.

At least, there should be a tool, to do calibration for your own (perhaps you could add it to your "calibrate.py" script). It is needed for every task, where IMU and camera are combined, for example VIO/SLAM. I think robotics is a common use case for oak-d, where then additional AI features are applied.

Btw: I got one of the early oak-d kickstarter devices with calibration for only two of the three cameras. So some spec-intrinsic/extrinsics for all devices would also be nice. Perhaps there could be a collection here on github?

Erol444 commented 1 year ago

Hi @cyberbeat , I haven't personally tried this, but Arducam engineers wrote a tutorial on how to calibrate the IMU. Could you try that out? And please provide a feedback if it works as expected. Thanks! Erik