我遇到e same issue:
I have two robots (R1 and R2) in a station and from the API I want to fire non-blocking move commands to either of them. In its simplest form:
Despite the option blocking=False, the two consecutive move commands #1 and #2 to R1 effectively introduce blocking behavior, since command #2 won't be executed until command # 1 is finished. Execution of command #3 and #4 to R2 are therefore also blocked until command #1 is finished.
The behavior I want is for R1 to consecutively execute its commands #1 and #2, without blocking R2 to start consecutively executing command #3 and #4, independent of each other's busy status.
Any suggestions how to implement async.io in this case, or any other ways?
Best regards,
Maarten
I have two robots (R1 and R2) in a station and from the API I want to fire non-blocking move commands to either of them. In its simplest form:
Code:
R1.MoveJ(R1_T1,False) #1 Joint move first robot R1 to target R1_T1
R1.MoveJ(R1_T2,False) #2 Joint move first robot R1 to target R1_T2
R2.MoveJ(R2_T1,False) #3 Joint move second robot R2 to target R2_T1
R2.MoveJ(R2_T2,False) #4 Joint move second robot R2 to target R2_T2
Despite the option blocking=False, the two consecutive move commands #1 and #2 to R1 effectively introduce blocking behavior, since command #2 won't be executed until command # 1 is finished. Execution of command #3 and #4 to R2 are therefore also blocked until command #1 is finished.
The behavior I want is for R1 to consecutively execute its commands #1 and #2, without blocking R2 to start consecutively executing command #3 and #4, independent of each other's busy status.
Any suggestions how to implement async.io in this case, or any other ways?
Best regards,
Maarten