Outdoor navigation - following the road only with road map
Dear all, I have a following question:
I'm trying to navigate our robot through the park, having only a road map from OpenStreetMap. The robot is equipped with IMU, GPS, odometry module and it can localize using robot_localization quite well. Next, our robot has LIDAR and camera, which can recognize the road.
At this point I started implementing move_base because I couldn't find any other more suitable option. So we wrote a SW, which exports bitmap from the OpenStreetMap and tried to navigate robot through it. The robot marks curbs into local_costmap and tries to stay on the road while driving between the marks. Morover, I had to fuse the coordinates of the closest road to the localization to keep the robot from localizing off the road. Here is a picture in RViz:
Using this setting, the robot can drive about 50 meters before it stucks or rides off the road due to various reasons. But I think navigating this way is not effective and too complicated. I find the biggest limitation to be the raster global_costmap because i need to localize the robot on the road, follow the global_plan and find the best path fitting both - global_costmap and local_costmap. This is quite impossible when facing the problem of not 100% accurate localization, map and local_costmap marking.
My best guess is to substitute global_costmap with some graph representation, where crossroads are nodes and roads are edges. In addition, there would be stored only an information about the road's orientation and that it should be sufficient. But move_base doesn't work this way.
Could someone share an idea how to acomplish the mentioned task?
Lukas
Could I ask you to please attach your image to your question? I've given you sufficient karma for that.
Thank you, I just added the picture.
hey, i am looking for a similar task but in door (i have an indoor road). Have you find a solution for your problem?
Does anyone have a solution?