-
Notifications
You must be signed in to change notification settings - Fork 984
Description
Description
After calling the /clear_octomap service, the MotionPlanning RViz plugin have to be reloaded (uncheck and re-check the plugin, or remove/add), for the octomap to disappear from the Planning Scene.
The same happens if an empty octomap is loaded from a file via /move_group/load_map (the old octomap is still shown until the plugin is reloaded). The empty map is generated via /move_group/save_map on a fresh scene.
The same behaviour is present when calling the /apply_planning_scene service with an empty octomap:
(untested code, it is a minimal version of the actual code I use)
get_planning_scene = rospy.ServiceProxy('/get_planning_scene', GetPlanningScene)
components = PlanningSceneComponents()
components.components = sum([
PlanningSceneComponents.WORLD_OBJECT_NAMES,
PlanningSceneComponents.WORLD_OBJECT_GEOMETRY,
PlanningSceneComponents.OCTOMAP
])
ps = get_planning_scene(components)
ps = ps.scene # moveit_msgs/PlanningScene
ps.is_diff = True
ps.world.octomap = OctomapWithPose()
apply_planning_scene = rospy.ServiceProxy('/apply_planning_scene', ApplyPlanningScene)
apply_planning_scene(ps)
I am not sure if any of these 3 methods of clearing the octomap are related, but I thought I'd just as well report all the similar issues I've run into.
Your environment
- ROS Distro: Noetic
- OS Version: Pop!OS
- Built from source, branch
master(moveit repo is on commit e7b388d) - The behaviour seems to be the same on moveit 1.1.7 from apt on Pop!OS 20.04
Steps to reproduce
- Start RViz and moveit
- Load/scan any octomap
- Call service
/clear_octomap
Expected behaviour
I would expect the octomap to disappear from the Planning Scene after the service is called.
Actual behaviour
The octomap is still shown until I reload the MotionPlanning plugin.