I see the same problem using ROS I get hangs and freezes. Then I added a write timeout and now get timeout exceptions.
The problem might be in Py Serial. Without setting the write timeout i would hang "forever" but the timeout prevents that
Here is my modification to roboclaw_driver.py (write_timeout=0.1 fixes the hang on writes problem)
Code: Select all
def Open(comport, rate):
port = serial.Serial(comport,
I have a very small Python test script that can 100% reproduce the problem.
I have not tried the Supplied test scripts. I think I will
That said, I have not yet ruled out a hardware problem. Perhaps EMI from the motor and power cables is getting into the USB cable? I'll try using zip-ties to keep all the wires apart.
I do think it is a roboclaw firmware issue because a reset always fixes the problem. But this is REALLY hard to debug because we don't have access to the roboclaw's view of the USB interface. It is a black box.