Online path replanning when encountering an obstacle MoveIt
Hi all,
I have been using MoveIt MoveGroupInterface
to plan and execute simple pose goals and joint-space goals for UR5
robotic arm. Static obstacles, added before planning, are taken into account. Robotic arm plans trajectory avoiding such obstacles or it informs when no plan can be found given the static obstacle.
However, I want to achieve a functionality where a an obstacle appears after the motion command has been issued and then the arm can move to the same or nearby goal position by re-planning / adapting its trajectory. I have a separate node that formulates collision objects and publishes on "/collision_object"
topic. Also I have another node that is responsible to monitor the planning scene and keep track of any updates that occur. I am using PlanningSceneMonitorPtr
. Currently, I can see, whenever new collision objects are added. Also, I am using the following function checkCollision(collision_request, collision_result)
. This function can report if there will be a collision.
If I have a way to publish collision objects at a certain rate (bounding boxes retrieved for a human and published on the "/collision_object"
topic), is this a feasible way to account for dynamic objects in the scene? What are the options to adapt the trajectory, do I need to stop (move_group.stop) and plan again to the same goal, What if the collision objects are frequently appearing in the scene?
thanks, Zahid
In the future, please limit yourself to one question per post. It's harder to provide a complete answer when you're asking about many things.
thanks @Mike Scheutzow. My main question is about dealing with dynamic collision objects that are being published on
/collision_object
topic with some rate. My system can know when this happens, What is the best way to adapt the trajectory in this case? Please see the edit to the question.