xArm-Python-SDK icon indicating copy to clipboard operation
xArm-Python-SDK copied to clipboard

Configurable GPIO takes robot out of ServoJ mode

Open alonks1234 opened this issue 1 year ago • 1 comments

Hi, We are using the configurable GPIO to determine if an external signal is received and stop the robot. I believe this ends up being the equivalent of set_state(4). We can recover from this interrupt in position mode in under .1 seconds.

We are now using ServoJ mode, and we have noticed that this signal takes the robot out of servoJ mode and into position mode. In order to switch back into servoj we are paying a 1+ second penalty, which does not work for our application.

Is there any way around this?

Thank you

alonks1234 avatar May 29 '23 20:05 alonks1234

Hi @alonks1234, specific to your situation. You may try configuring the GPIO to "Safeguard Reset" which correspond to set_state(3), it is a PAUSE operation and will not reset the system mode to position mode (and not reset the queued tasks if in mode 0). However, please make sure not to keep sending command too far away from the paused position before setting the state back to 0, since it will immediately respond to the latest received command right after set_state(0), so please keep this in mind and test with caution.

I think a safe operation is to get the current position and send it to the robot before recovering the interrupt in ServoJ mode.

penglongxiang avatar May 30 '23 07:05 penglongxiang