ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The explanation for this behaviour is simple, your understanding is wrong. It is a bit confusing at first.
The only way to add objects to the environment server is via the CollisionObject/AttachedCollisionObject topics. Anything done on the planning scene is volatile, i.e. the topics describe the real world, the planning scene is only a local snapshot.
In addition to that the planning scene is NOT accumulating. Each new set_planning_scene_diff will set the planning scene to what is in the world (via topics) + the diff being send. All other diffs are lost. In particular sending an empty diff will set the planning scene to the world. I hope this clears things up.
2 | No.2 Revision |
The explanation for this behaviour is simple, simple: your understanding is wrong. It is a bit confusing at first.first, but everything you did is expected beheviour.
The only way to add objects to the environment server is via the CollisionObject/AttachedCollisionObject topics. Anything done on the planning scene is volatile, i.e. the topics describe the real world, the planning scene is only a local snapshot.
In addition to that the planning scene is NOT accumulating. Each new set_planning_scene_diff will set the planning scene to what is in the world (via topics) + the diff being send. All other diffs are lost. In particular sending an empty diff will set the planning scene to the world. I hope this clears things up.
3 | No.3 Revision |
The explanation for this behaviour is simple: your understanding is wrong. It is a bit confusing at first, but everything you did is expected beheviour.
The only way to add objects to the environment server is via the CollisionObject/AttachedCollisionObject topics. Anything done on the planning scene is volatile, i.e. the topics describe the real world, the planning scene is only a local modified snapshot.
In addition to that the planning scene is NOT accumulating. Each new set_planning_scene_diff will set the planning scene to what is in the world (via topics) + the diff being send. All other diffs are lost. In particular sending an empty diff will set the planning scene to the world. I hope this clears things up.