-
Notifications
You must be signed in to change notification settings - Fork 668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LOAM Based Localization Task 4 - Implement feature matching #7452
Comments
I tried to downsample the point clouds. It really improved the performance. It works well with tunnel and bridge datasets. Rosbags were running at low frequency. The only way to observe it was to slow down the rosbags because of the computational cost of larger point cloud maps. Here are some images: We may use this with dynamic point cloud loading for Autoware and then it will work like a charm in my opinion. |
I have closed the GPS integration and loop closure detection. So, the code works faster with denser point clouds. I noticed an error in the pipeline. It can be related to point cloud undistortion or calibration angles. I changed the calibration angles and I observed no difference. Here are the images and videos of the error. White points show the ground truth point cloud to match the features. |
That is caused by an error in point cloud undistortion. The correction with the linear acceleration was disabled. When it is enabled, the problem eliminated. |
We have the TF published from the package. It works as we want but there is a time-consuming error available. The optimization part lasts long right now. The total time of scan to map optimization for each frame is more than 650 milliseconds. The part that lasts very long is here. This is a kdsearch process and I am investigating why this happens.
|
We noticed some problems related to reading the points. Normally, each point in the dataset has a 16-bit unsigned integer time field inside it. The program tries to read it as float. So, the time difference between the points cannot be detected and the point cloud undistortion never worked. We have fixed that.
In the video below, you can see the performance in the Eurasia Tunnel (the long tunnel). In the end, LOAM stuck but we solved that with IMU bias parameters. So, we can get in and get out of the Eurasia Tunnel. We recorded a different video after the tunnel. We travel here on a highway and travel the Bosphorus Bridge on this part. After the city environment, we get into the Bomonti Tunnel (small tunnel) and the feature matching fails here: It doesn't break in the long tunnel, because there are very many features to match. In the small tunnel, there are fewer and sometimes it struggles to find the perfect position. I am working on it and I will keep here posted. It is nearly done. |
Hi, I have worked on a modified LIO-SAM repo until now. Here is the link. This branch works with MGRS point cloud map and the XYZ coordinates of all of the points were very large. So, we are translating the point cloud segments to local and calculating the position here. After that, we translate back the calculated pose to the global. In that scenario, the pose is calculated fine but due to the large coordinate numbers, imuPreintegration can corrupt or precision reduces for position calculation. In the end, the position inside of a tunnel can't be calculated. It is stuck.
In this branch, which works with a local point cloud map, we do not have that many large coordinates. So, we don't translate anything to local and calculate everything as where it is. In that scenario, we are able to travel the long tunnel (this one has more features) and we are able to travel every urban or highway area. However, it is stuck in the second tunnel. It is 3-4 kilometers far from the origin and it has much fewer features than the long tunnel. Still, we were able to travel that tunnel with a map starting from the start of the tunnel. We have tested that with previously collected data before.
So, as far as I observed, the distance from the origin is the issue right now. Used libraries don't accept |
Closing this since there are no resources to complete this task for now. If anyone is interested, feel free to reopen. |
Checklist
Description
In order to find the pose of the ego vehicle in the environment, the transform between each point cloud frame and the edge feature map must be known.
Purpose
Completing the feature matching between point cloud frame and previously generated edge point cloud.
Possible approaches
Definition of done
The text was updated successfully, but these errors were encountered: