robotics-upo / dll Goto Github PK
View Code? Open in Web Editor NEWDLL: Direct Lidar Localization
License: BSD 3-Clause "New" or "Revised" License
DLL: Direct Lidar Localization
License: BSD 3-Clause "New" or "Revised" License
hello!I saved a .ot file in dll/maps.
And <arg name="map" default="myown.ot" />
But when I run the program , it shows "NULL otcomap". How come?Where else do I need to set the path?
I'm sorry to bother you. I have no idea that how can i run the program. Can you tell me the relevant instructions? Thanks!
Hello!
I'd first like to thank you for this work, it's very interesting!
I have a question regarding the internal representation of the map: when looking through the code I notice that you subtract the minimum values from each axis of the points. I suppose this is relevant for the method? I got some (obviously) poor results when I assumed the input map and internal representation were the same.
I think it would be nice to make this clearer in the readme, or potentially add some transform between the original map and the internal representation such that the initial position set in the launch file could be relative the original map.
I‘m sorry to bother you again !How are prior maps generated? What is the suffix of the map? Thanks!
Hi, I use Livox mid 70 with wheel odometry and IMU, but the localization result is not good, the robot pose always "jump" when running. any idea to make a better result (stable, smooth, continues path)
Hi @fercabe
when I launch the node with the default parameters, I got the initial pose wrong, what are the correct values? please see the attached photo and here the launch file:
https://github.com/robotics-upo/dll/blob/dee70aad89737544d67e154fb39d4b6b09717c2a/launch/airsim1.launch
Hi,
thanks for your great work!
I have download the given bag for test the dll,but when i launched the launch file,it always shows the error,which is :
"
Octomap loaded
Map size:
x: 37.2 to 92.75
y: 41.95 to 95.65
z: -10.4 to 0.15
Res: 0.05
Error opening file /home/whx/study/dll_ws/src/dll/maps/airsim.grid for reading
Computing 3D occupancy grid. This will take some time...
[ INFO] [1640669470.668451692, 1614448809.604375476]: Progress: 0.000000 %
[ INFO] [1640669471.163893210, 1614448810.107720910]: Progress: 0.021567 %
[ INFO] [1640669471.668560708, 1614448810.612384198]: Progress: 0.039648 %
[ INFO] [1640669472.172075265, 1614448811.115887848]: Progress: 0.053874 %
[ INFO] [1640669472.680451449, 1614448811.624293216]: Progress: 0.065055 %
[ INFO] [1640669473.184041975, 1614448812.127884273]: Progress: 0.073926 %
...
...
[bag_player-2] process has finished cleanly
log file: /home/whx/.ros/log/5879e12a-679f-11ec-9f57-c0e43482dfff/bag_player-2*.log
"
I have noticed there is a closed issue which talk about it,so i repeated the same test for many times.But it didn't work.
I hope someone can help me solve the problem.
Best wishes
I want to run other datasets like KITTI to test the program. How can i do? Thanks!
Hello, how did you obtain the true and estimated values for evaluation? I have some questions about it:
1.My understanding is that the estimated value is in the following code
'''
//Update global TF
Tf: Quaternion q;
q. SetRPY (m roll, m pitch, m yaw);
M_ LastGlobalTf=tf:: Transform (q, tf:: Vector3 (tx, ty, tz)) * odomTf. inverse();
'''
the estimated value is concluding tx, ty, tz, q.
Is it like this?
2. The true value of the catec1 sequence is in the topic "/ground_truth/pose" of the bag file, but fixed difference id between the timestamp of the timestamp of "/ground_truth/pose" and the timestamp of "/lidar_pointcloud". What is the specific difference?
3.How to obtain the true value of airsim1 sequence? What topic is it?
Thank you ! The best wites for you !
You mention in your paper and the comments of your launch files that one could/should use an accurate odometry system.
However, I don't know the requirements or how to achieve that.
I tried to integrate into one single workspace, A-LOAM, and DLL, and run them in parallel; however, even changing the frame names did not work.
The closest example I found to recreate that was in the mbzirc.launch file. However, it says that the odometry is already in the bag file.
In this case, my question is, how can I save the odometry resulting from LOAM into a bag file so that it is usable by DLL?
I appreciate any help you can provide. I want to compare my method with yours in a large-scale dataset. I believe that DLL is one of the best localization algorithms. Therefore, It would be an interesting comparison!
In grid3d.hpp, computeDistInterpolation should check if i + gZ + 1 and i + gY + 1 is in the bound of m_grid. I found this leads to a core dump.
Hi all,
First of all, thank you for your awesome work.
Your code is very well structured and commented on, and that really helps to understand and learn how it works.
I have been trying to implement it on a new dataset.
I was able to run it without issues with the catec example.
However, with my data, I need help to get it to work.
You can find here a small set of my data (together with a launch file that executes your package):
The issue seems to be related to the map, even when I reduced the size of the map drastically, the method still seems to not be able to recognize it.
One interesting fact is that If I play my bag file and load your catec.bt map, the method tries to find the correct alignment and works much better than with my map,
Using my map, after giving the initial pose the current scan stays for a few seconds in that pose and then jumps far away.
I have tried to create smaller and dense maps, however, I have yet to succeed to make it work.
Is there something special I should consider while changing the map (besides the size which was already mentioned in this issue)?
The other question I have is about using the odometry from LOAM, I think I will create another issue for that later.
Hello, I encountered the following error while compiling the project and would like to know how to solve it. Thank you!
error:
/root/catkin_ws/src/dll-main/src/grid3d.hpp:640:59: error: 'Grid3d::m_grid' is not a variable in clause 'shared'
In file included from /root/catkin_ws/src/dll-main/src/dllnode.hpp:19:0,
from /root/catkin_ws/src/dll-main/src/dll_node.cpp:3:
/root/catkin_ws/src/dll-main/src/grid3d.hpp: In member function 'void Grid3d::computeGrid()':
/root/catkin_ws/src/dll-main/src/grid3d.hpp:640:59: error: 'Grid3d::m_grid' is not a variable in clause 'shared'
In file included from /root/catkin_ws/src/dll-main/src/grid3d_node.cpp:3:0:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.