Hello everyone!
I have a problem with the transformation between the camera lens and the IMU. I think that the transformation matrix is not correct like this. Is it possible to change these entries?
With kind regards
Dan
Hello everyone!
I have a problem with the transformation between the camera lens and the IMU. I think that the transformation matrix is not correct like this. Is it possible to change these entries?
With kind regards
Dan
Hi @Dan
why do you think that the information is not correct?
It looks like these values are interpreted as meters (translation values). So when I rotate the camera around the Y-axis you can see that the coordinate system is outside the camera.
It may be that I understand it wrong, what does the transformation matrix look like with another ZED 2i?
Those values are in millimeters, what measurement units have you set when opening the camera?
measurement units a set to meter, but there is no difference between meters and millimeters in the result.
What version of the ZED SDK are you using?
With the latest ZED SDK v3.8.1 the problem is not present.
ok. i´m actually using the latest ZED SDK.
But if you say that the values in the imu_cam_transform are plausible and in millimeters,
I can work with that.
Thanks.
It’s odd because I just tested it and I can get the correct camera/IMU transform:
$ python3 hello_zed.py
Hello! This is my serial number: 35199186
55BB7E909370
0.999999 0.000924 0.000770 0.023000
-0.000925 1.000000 0.000255 -0.000220
-0.000770 -0.000256 1.000000 -0.002000
0.000000 0.000000 0.000000 1.000000
This is the simple code that I used (I modified the hello_zed.py
example):
import pyzed.sl as sl
def main():
# Create a Camera object
zed = sl.Camera()
# Create a InitParameters object and set configuration parameters
init_params = sl.InitParameters()
init_params.coordinate_units = sl.UNIT.METER
init_params.sdk_verbose = False
# Open the camera
err = zed.open(init_params)
if err != sl.ERROR_CODE.SUCCESS:
exit(1)
# Get camera information (ZED serial number)
zed_serial = zed.get_camera_information().serial_number
print("Hello! This is my serial number: {0}".format(zed_serial))
info = zed.get_camera_information()
cam_imu_transf = info.sensors_configuration.camera_imu_transform
print(cam_imu_transf)
# Close the camera
zed.close()
if __name__ == "__main__":
main()
Oh no, that was my mistake unfortunately. I passed the init_params at sl.Camera() and not when opening the ZED zed.open(init_params).
sorry…
No worries, the important is that you solved your issue