moveit_ros icon indicating copy to clipboard operation
moveit_ros copied to clipboard

TrajectoryExecutionManager::pushAndExecute() does not reset execution_complete_ flag.

Open hersh opened this issue 10 years ago • 0 comments

TrajectoryExecutionManager has two parallel (redundant?) paths for sending a trajectory out to be executed and waiting for it to finish. One of them does not work as it should. I described this vaguely in #466.

There are two code patterns, and I don't understand why they are separate. They are:

(1) push() and executeAndWait().

and

(2) pushAndExecute() and waitForExecution().

(1) works fine. (2) does not work.

I believe the reason is that pushAndExecute() does not reset the execution_complete_ flag. I didn't want to just change it myself because the code seems more complicated.

pushAndExecute() uses the continuous_execution_thread_ and execute() (called by executeAndWait()) uses the execution_thread_. Why are there two different threads? Who knows.

hersh avatar Jun 11 '14 16:06 hersh