Known map with undectable obstacles (navigation stack)
Hi there,
I'm struggling to find how to use existing ROS navigation packages with my robot.
Here's the setup: I have a known map and an RPLidar on my robot, but this lidar is only able to detect some beacons on the edge of the map and the adverse robot.
My problem is that on this known map, there are a lot of obstacles that are close to the ground, which the lidar won't detect, and I'm not sure of how to combine the known map and the map of what that the lidar can actually detect.
So I'm looking for people with knowledge of the navigation stack.
Navigation stack: If I understood well, it doesn't do "internal" localisation, and only uses the LaserScan to detect some obstacles (correct me if I'm wrong). So if I use a map_server with my known map (with all the obstacles), the navigation should be planned according to the obstacles in this map, while avoiding any "additionnal" obstacles (the adverse robot) detected by the Lidar. So what I think I should do is to use the lidar's readings both in the navigation stack (to avoid the "additional" obstacles, so the adverse robot) and in the odometry source (to localise the robot precisely, with the occupancy grid I created), which is not in the navigation stack (I was thinking about using amcl for that).
Is this a correct understanding of how the navigation package works ?
And if this is right, would it be possible to somehow tell the package that the adverse robot that it will detect has a certain size ? Because from what I saw, I can use a parameter "inflation_radius" but I wouldn't like it to affect how the robot will act wrt the "known" obstacles.
One last question, I couldn't quite figure out how to generate my known map (the one with all the obstacles). Should I use the gmapping tool as for the occupancy grid I created for the beacons, but with my lidar placed just above the ground ?
You have a few questions here :D I suggest you create different questions on different topics. Regarding the "known obstacle", may I ask what global planner you are using? Because some global planner alrd considered the "known map" during planning, so the robot will be cleared from these obstacles
Well that's proof that I didn't quite understand the navigation stack: I tought it embeds a global planner ! On this page it seemed like it: http://wiki.ros.org/navigation/Tutori...
Ok, that means you use the default global planner. If so, it should be able to plan the robot to avoid "marked objects" on the static map. On RVIZ, can you enable visualization for "/move_base/global_costmap/costmap"? can you also post your launch file for navigation?
I'm not quite there yet, I'm just trying to understand how the navigation stack works to see if I can use it or if I should re-write everything by myself (I'd rather not). So by the "static map", you talk about the map_server ?
Yes, "static_map" means the map sent from map_server.