Closed nikiFoe closed 2 months ago
Hello. The IMU frame should be front-right-down, which is determined by the INS mechanization algorithm. This can be simply achieved by swapping the axis of IMU with correct signs. The camera frame is usually defined as right-down-front. You should just prepare a correct extrinsic parameters.
Hello. The IMU frame should be front-right-down, which is determined by the INS mechanization algorithm. This can be simply achieved by swapping the axis of IMU with correct signs. The camera frame is usually defined as right-down-front. You should just prepare a correct extrinsic parameters.
Thank you for your reply. As far as I understand your suggestion I think I did exactly that. However, my travel direction is not in the direction of the camera. Does that effect the algorithm somehow?
I also tried running the urban Dataset, however there I had the same problem. Could you share how you handle the arriving IMU ros message in the fusion_ros.cc file? I looked up the IMU coordinate system for the urban dataset and it is similar to mine. When looking at the image below, the IMU-x axis faces forward, but the y and z-axis have to be modified.
To make it a Front-Right-Down system, the y values has to be inverted and the z values as well.
`imu_.dtheta[0] = imumsg->angularvelocity.x * imu.dt; imu_.dtheta[1] = -imumsg->angularvelocity.y * imu.dt; imu_.dtheta[2] = -imumsg->angularvelocity.z * imu.dt;
imu_.dvel[0] = imumsg->linearacceleration.x * imu.dt; imu_.dvel[1] = -imumsg->linearacceleration.y * imu.dt; imu_.dvel[2] = -imumsg->linearacceleration.z * imu.dt;`
However, if I run this modification with the urban config file, the code still fails to run.
I think your process (as follows) is correct. I am sorry that I have no idea why you fails. ` imu_.dtheta[0] = imumsg->angularvelocity.x * imu.dt; imu_.dtheta[1] = -imumsg->angularvelocity.y * imu.dt; imu_.dtheta[2] = -imumsg->angularvelocity.z * imu.dt;
imu_.dvel[0] = imumsg->linearacceleration.x * imu.dt; imu_.dvel[1] = -imumsg->linearacceleration.y * imu.dt; imu_.dvel[2] = -imumsg->linearacceleration.z * imu.dt; ` Maybe you can try our new codes LE-VINS.
Hello,
The last couple of days I have been trying to test the IC-GVINS code on my own dataset. However, my Camera-IMU coordinate systems transformation is not working. In the image below I added the setup of my system. My IMU-Coordinate system is not setup as suggested for the IC-GVINS and doesn't conform to Front(x)-Right(y)-Down(z). Because I tested this setup on VINS-Fusion with calibration of camera, and camera-IMU with Kalibr I was hoping that still would work, however it doesn't. To get my system in the Front-Right-Down format I tried:
I rotated my IMU frame +90degree around x. For that the IMU z-axis becomes the negative y-value and the y-axis becomes the z-value. I transformed the values when recording directly and did the Kalibr calibration process again. However the Direction of travel did not fit to the direction of features. Of course, then the calculated extrinsic parameters will be wrong and ad some point the the code fails to run.
My question now: How do I properly configure and calibrate the coordinate frames of each system?