This is probably because python is too slow for the communication rate.
In fact, a really long message is sent form the robot to the pc every 8ms.
My interpretation is: since it use a tcp communication probably a buffer is filled from which the feedback values are taken, one after the other, starting with the oldest. I managed to fix this problem by changing the communication port from 30004 to 30005. I can try to lead you into fix this problem:
-
file: ui.py
line: 80
form: feed_port = IntVar(self.root, value=30004)
to: feed_port = IntVar(self.root, value=30005)
-
file: dobot_api.py
line: 125
from: if self.port == 29999 or self.port == 30003 or self.port == 30004:
to: if self.port == 29999 or self.port == 30003 or self.port == 30004 or self.port == 30005:
Make sure to save and now you can run the main.py without the lag.
Now the feedback is a 200ms rate (much slower, but works properly)
I can suggest changing pc if you want to use the 8ms port, or change programming language (to C, for example)
Make sure to like the comment and visit www.roboware.it