I am currently working with an lbr-iiwa arm and I am trying to integrate the replanning abilities to our robot.
Digging into the MoveIt! code I understood how MoveIt! works with the replanning. I am moving my robot with the move() function and getting my obstacle map with octotree
There is a function plan_execution::PlanExecution::isRemainingPathValid that is constantly checking if the trajectory of my robot is in collision with any obstacle. In case it is, isRemainingPathValid will provide a true, the variable path_became_invalid will be set to true, the trajectory_execution_manager will stop the motion and a moveit error_code MOTION_PLAN_INVALID_BY_ENVIROMENT_CHANGE will be set making the robot to plan a new trajectory.
What I would like to do is avoiding the robot to stop and replanning considering that the robot is not stopped, but moving forward in the incorrect trajectory.
I would like to know if somebody knows about any work in this non-stop replanning approach
I was thinking on something similar to this (1:56): https://www.youtube.com/watch?v=jh6tMHjxHSY
But for a 7 DoF robotic manipulator