gmcl, which stands for general monte carlo localization,is a probabilistic-based localization technique for mobile robots in 2D-known map. It integrates the adaptive monte carlo localization - amcl - approach with 3 particle filter algorithms (Optimal, Intelligent,Self-adaptive) to improve the performance of amcl while working in real time........Main node structure and amcl-algorithms’s code was derived, with thanks, from Brian Gerkey's amcl package.
Hi, I am very interested in your work.
Here are some questions I want to ask, thanks for your help !!
(1) In your paper, I saw the parameters called "energy_map_resolution_x" and "energy_map_resolution_y".
What are their meanings?
In my thought, I think it's the range from the center of the sensor. In this range, the filter will calculate the SER.
Is my thought right?
(2) In your experiment(1), you decide the specific position for the robot. Then use different methods to calculate the RMSE.
How did you set the specific position of the robot? And how did you calculate the RMSE at every point?
Sorry to bother you. Thanks for your reading and hard work!!
Have a nice day ~~
I was using gmcl to localize my robot to replace the amcl, it works fine in the beginning, and it feels much better than amcl, however, when I decrease the parameter: update_min_d to be 0.001, and update_min_a to be 0.001( for I wish the pose to converge quickly) as I did to my amcl parameters, it crashes when I run the amcl_omni.launch, after multiple times of updating, I tried the combination of those algorithms but it all just got the same crashes, and also, I've set all the odom_alphax parameters 10 times lower. P.S. I was using a differential robot with two lidar, I cannot use the motion model of diff because my robot will move backward, and when it did moving backward in a low speed, the gmcl( so does amcl) doesn't update, only the omni model works in slow speed and fast speed. So what is the problem of this crashes? I really wish to use this new techneq to improve my robot's localization ability and relocalization ability. Thanks
Simplifying the formula does not seem to correspond, I don’t know if there is a problem with my understanding, and I look forward to your reply! @adler-1994 :)
Hi again, your algorithm is a very nice one in global localization, our company needs it for our forklift's localization. Recently, our robot is working in a big factory, and it needs to change map since it runs within two floors, one of them is a small map, which doesn't make a problem, but the other one is a big map, it is around 125m x 125m, using 0.05 resolution, we had scanned a map with size around 2500 x 2500 pixels, when robot change map from the small map to the big map, it takes around 20 seconds to make the tf starts to publish, I'm wondering if there is any way to make it load a map faster or this process faster so that my robot doesn't stay still for too long, thanks a lot.
P.S. our robot is using a I5-6400 CPU and 8GB RAM and 128GB SSD, the gmcl launch file is in the attachment. robot_localization.txt
hi, I am interested in comparing your GMCL algorithm with AMCL. When I start the global location service with optimal filter and inteligent filter it runs fine. If I also activate self adaptive it crashes. Is it incompatible with Ros Melodic? Thank you for your work.
Hello, thank you for providing an alternative to the amcl.
I really want to try it compared to the amcl, since I have a lot of trouble in more complex environments.
Sadly, I cannot get the GMCL to start. Since I use my own Map Server I used the use_map_topic param. The node also seems to get the Map. [ INFO] [1655197709.379978395]: Subscribed to map topic. [ INFO] [1655197713.441459081]: Received a 608 X 384 map @ 0.050 m/pix
But after that it crashes. For testing I removed line 963 in the gmcl_node.cpp freeMapDependentMemory();. This allowed me to at least start the node.
But I did not had time to test the functionality yet.