hku-mars / LiDAR_IMU_Init

[IROS2022] Robust Real-time LiDAR-inertial Initialization Method.
GNU General Public License v2.0
803 stars 138 forks source link

Using Docker. VLP16 and PX4 IMU. Initialization starts to fill when LiDAR+IMU are static and leads to Strange behaviour. #102

Open Moraisgit opened 2 months ago

Moraisgit commented 2 months ago

@zfc-zfc Hi! Thank you so much for the great work. I hope you can help me.

I'm using a VLP16 LiDAR and a PX4 IMU and I've setted up the package with Docker. Below I attach a video showing what happens in my setup.

On the left terminal I just have the connection from my PC to a Jackal robot which has the VLP16 and PX4 mounted on it (the process running is just a roslaunch to enable the IMU). On the right terminal I have the Docker container running in which I exported the roscore of the Jackal robot and for that reason I echo the LiDAR and IMU topics that I need.

Then I run the actual package with the velodyne.launchfile and you can see what happens in the video. I'm using real time data, not a bag file. Keep in mind I did not move the entire robot, keeping the LiDAR and IMU static. The initialization just starts to fill and on rviz it displays strange behaviour:

https://github.com/hku-mars/LiDAR_IMU_Init/assets/114250545/450c75fc-ed66-48da-bdd4-e276232b61c5

I have read Issues #9 (I changed the parameters that you advised to change, below I attach a picture my velodyne.yaml file); #43 (I verified and is shown in the video that the angular velocity of input seems to be in rad/s). image

If you could help me it would be much appreciated. Thank you very much in advance!

zfc-zfc commented 2 months ago

@zfc-zfc Hi! Thank you so much for the great work. I hope you can help me.

I'm using a VLP16 LiDAR and a PX4 IMU and I've setted up the package with Docker. Below I attach a video showing what happens in my setup.

On the left terminal I just have the connection from my PC to a Jackal robot which has the VLP16 and PX4 mounted on it (the process running is just a roslaunch to enable the IMU). On the right terminal I have the Docker container running in which I exported the roscore of the Jackal robot and for that reason I echo the LiDAR and IMU topics that I need.

Then I run the actual package with the velodyne.launchfile and you can see what happens in the video. I'm using real time data, not a bag file. Keep in mind I did not move the entire robot, keeping the LiDAR and IMU static. The initialization just starts to fill and on rviz it displays strange behaviour:

423d621f-29eb-4a29-b7b5-5bba753e51b2.mp4 I have read Issues #9 (I changed the parameters that you advised to change, below I attach a picture my velodyne.yaml file); #43 (I verified and is shown in the video that the angular velocity of input seems to be in rad/s). image

If you could help me it would be much appreciated. Thank you very much in advance!

My suggestion: 1. cut_frame_num = 2; filter_size_surf = 0.2; filter_size_map = 0.3 If the above modification still doesn't work, please try a larger scene.

Moraisgit commented 2 months ago

@zfc-zfc Hi! Thank you so much for the great work. I hope you can help me. I'm using a VLP16 LiDAR and a PX4 IMU and I've setted up the package with Docker. Below I attach a video showing what happens in my setup. On the left terminal I just have the connection from my PC to a Jackal robot which has the VLP16 and PX4 mounted on it (the process running is just a roslaunch to enable the IMU). On the right terminal I have the Docker container running in which I exported the roscore of the Jackal robot and for that reason I echo the LiDAR and IMU topics that I need. Then I run the actual package with the velodyne.launchfile and you can see what happens in the video. I'm using real time data, not a bag file. Keep in mind I did not move the entire robot, keeping the LiDAR and IMU static. The initialization just starts to fill and on rviz it displays strange behaviour: 423d621f-29eb-4a29-b7b5-5bba753e51b2.mp4 I have read Issues #9 (I changed the parameters that you advised to change, below I attach a picture my velodyne.yaml file); #43 (I verified and is shown in the video that the angular velocity of input seems to be in rad/s). image If you could help me it would be much appreciated. Thank you very much in advance!

My suggestion: 1. cut_frame_num = 2; filter_size_surf = 0.2; filter_size_map = 0.3 If the above modification still doesn't work, please try a larger scene.

Hi! I really appreciate your response, and I apologize for the late reply.

I tried your suggestion of changing those parameters, but it didn't help. Then I tried a larger scene, and it actually didn't immediately fill up (the bars of percentage) like in the video that I showed in my issue. It remained at zero percent across all axes when the system was static, but as soon as I tilted the LiDAR+IMU system, all the bars immediately filled up :(

I do have some sort of error that I am not familiar with, and I don't know if it is jeopardizing the process. An image follows: Screenshot from 2024-05-07 16-12-21

Is this error something that I should fix? Or any other suggestions?

Thank you very much for your time!