-
Notifications
You must be signed in to change notification settings - Fork 198
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
How to use 6 DoF robot localization #22
Comments
Good night, For 6 DoF tracking you can use as a starting point the launch files from labiomep_6dof.launch or ethzasl_kinect_dataset.launch (mainly to see the yaml configurations for the drl pipeline, the rest is for configuring the test environment and automatically load the bag files). OctoMap can be used for adding the mapping functionality with ray tracing and dynamic addition and removal of geometry. drl can do additive mapping internally (it can keep adding the registered point clouds to its reference map, if you enable that feature). But if you require dynamic maps in which there are dynamic objects moving around the 3D space, octomap allows the removal of these points, because it does ray tracing -> when several sensor rays from consecutive scans pass through voxels that were marked as occupied (using data from previous sensor scans), then, those 3D cells are marked as "free space", effectively removing geometry / points from the map (because they no longer occupy that 3D space). But in the weekend I will make a more user friendly launch file within the dynamic_robot_localization launch folder. Have a nice day :) |
Thanks for your detailed explanation. :) I'm looking forward to your more launch file. I will use your outdated launch file until your next update. |
Hi Carlos, |
Hello, I am occupied with other research projects right now, but I might be able to allocate some time during the end of this week to create the launch file after I finish the implementation of the Meijster distance transform in my PCL fork for initializing the correspondence estimation using look up tables that I implemented in my PCL fork -> it can significantly speedup ICP. Have a nice day, |
Great, I'm looking forward to it. The results in your paper look very promising, too. That could result in much better real-time 6dof localization. |
Hi Carlos! @carlosmccosta In recent days, I'm trying to implement your 3-D (6 DoF) Global Localization approach to achieve
Thanks again! Best Regards, |
Hello, As a starting point you can look at labiomep_6dof.launch and ethzasl_kinect_dataset.launch, which have both the configurations for drl and datasets. I haven't had time yet to finish the lookup tables initialization with the Meijster algorithm. When I finish implementing it, I will create a more generic 6 DoF launch file using lookup tables for faster localization (when compared with kd-trees). Merry Christmas and happy new year :) |
Dear Carlos, Thanks for your speedy reply. Best Regards, |
Hi Carlos, I wonder whether you had success implementing and testing the lookup tables initialization with the Meijster algorithm. Any news on that topic? Best, T |
Good night, I am involved in other research projects and haven't had time to finish the Meijster lut initialization. Have a nice day :) |
Hello, I refactored ethzasl_kinect_dataset.launch into a more generic 6 dof launch file available at dynamic_robot_localization_system_6dof.launch. Examples on how to use it in use_cases.md. For now, the usage of lookup tables (LUTs) in 6 DoF requires the initialization with k-d trees (when I have some time I will finish the Meijster algorithm to speedup its initialization). For activating the LUTs it is only necessary to change the The lookup tables can speedup the correspondence estimation phase of the iterative closest point (ICP) algorithm from 20 to 60 times, depending on the sensor data, reference point cloud and configurations of drl. But keep in mind that a LUT with small cell size (below 1 cm) for large reference point clouds (bounding box with several meters) requires a lot of RAM, while the corresponding k-d tree is extremely efficient in memory usage (at the cost of being slower than the LUT). Also, k-d trees by being sparse search data structures initialize much faster than LUTs. Have a nice day :) |
I followed your instructions and applied "3 DoF robot localization / mapping" to my real robot successfully. (#18 (comment))
And I want to try 6 DoF robot localization now.
First, I wonder if I must use this file(https://github.com/carlosmccosta/dynamic_robot_localization_tests/blob/hydro-devel/launch/environments/labiomep/labiomep_6dof.launch).
Or should I use octo_map.launch?
Can you tell me which parameters to change and which launch file to use?
The text was updated successfully, but these errors were encountered: