I’m using the provided Dobot_Magician_ROS_DEMO to drive the Dobot (API V1.0.0).
I want to execute a PTP command that I have to interrupt from time to time. So the sequence would be like this:
- Sending PTP command
- Stopping the execution of the current command
- Clear the command Queue
- continue operation
- Send a new PTP command that should be executed
I’m facing issues with the interruption of the command, since either the command cannot be interrupted, or Dobot is not responding to any commands after the interruption anymore. Here is what I tried and discovered:
Sending the SetQueuedCmdClear command had no effect at all, the Dobot continued executing the current command.
Sending the Set SetQueuedCmdForceStopExec successfully stops the execution. But when the ** SetQueuedCmdStartExec** is issued again, the latest command will continue. So the queue is not cleared at all - only the execution is paused.
Sending the SetQueuedCmdForceStopExec successfully stops the execution. The SetQueuedCMDClear command seems to clear the command queue. Afterwards I issue the SetQueuedCmdStartExec. The issue here is that DOBOT is not responding to any commands anymore - it is totally unresponsive. The only way I found is to reboot Dobot which is not usable at all.
Can someone advise on how to interrupt an instruction, clear the command queue and resume operation with a new instruction afterwards. What would be the correct sequence of commands, respectively why is SetQueuedCmdClear either not working at all, or causing Dobot to be completely unresponsive?
Any tips highly appreciated