DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
james77

So the critical flags allow that thread to have the main execution meaning no other thread can prevent that thread from executing. If there is not enough physical time to execute all threads this one gets priority. 

Looks like you are using some of the new functions in the e-series where you can move in a direction until something happens like touching a surface. So the function is calculating the waypoint to move to.  You will find other script functions that are not listed in the manual. These are generally functions that UR has not exposed to the URScript community but as you’ve found they are always discoverable but you would have to do the work to understand what the arguments mean. 

Also, always make sure you are using the script manual that corresponds to the Polyscope version because as they introduce new stuff in Polyscope sometimes they update the manual to match and give an API reference. 
Thank you for the answers.
This may irrelevant to current thread, but what sync() does? 
I looked up the manual, and it says
"Uses up the remaining "physical" time a thread has in the current frame"
and I'm not quite sure what is exact role of the sync() function.

james77

Basically it keeps your thread in sync with the robot cycles  

Say I have a thread that uses 1 millisecond of physical time performing calculations. Sync would then “sleep” for 1 millisecond to have the thread consume the 2 milliseconds of clock time each cycle lasts (assuming e-series, CB3 is 8ms clock cycle)

. Make sense?
That makes a lot of sense! Thank you!!