View Full Version : [Question(s)] Robot suddenly stops, starts again when wiggled

07-03-2017, 09:08 AM
It is a Trossen ReactorX AX12A-based arm (https://www.trossenrobotics.com/p/phantomx-ax-12-reactor-robot-arm.aspx) with no serious modifications. It is running on the ArbotixM board.

Essentially, the robot is very intermittent in it's behavior.
I thought it might be the wires, a bad servo, a bad power supply, or a bad arbotix board.
I have systematically checked everything with unit-testing and swap-outs except the arbotix board, which may be the culprit.

I have made a 2 minute video showing the problem. Here is a link. It shows the issue very clearly. (https://www.youtube.com/watch?v=HfR8seLGj10)

The issue is that the arm often appears to lose contact with the board. Sometimes, if i force one of the axes manually, it will suddenly fix itself at a terrifying speed, swinging wildly to get to its target.

It doesn't seem to matter how I am controlling the robot, the problem is universal.
I have this unreliability problem no matter what system I run the arm from. Pypose, ReactorTest.ino (https://github.com/treeherder/arduino_sketches/blob/master/ArbotiX%20Sketches/Tests%20Sketches/ReactorTest/ReactorTest.ino)as well as BioloidController running sequences made with PyPose.

I am on a deadline with this project, and I would really appreciate advice.

07-04-2017, 10:48 AM
To get support from Trossen, you might try emailing their trsupport email address. As with all problems like this, it always helps to have additional information, like what version of Arduino you are using. Which bioloid libraries...

If it were me, some of the things I would try or suspect include:

a) Power issue. I would probably try checking the voltage on the AX Buss when things hang...
b) Cable issue: more likely. Could be that there is a servo wire that has been pinched and is either shorting out some of the time or has an intermittent break in connectivity. I had this happen on the arm before where one of the cables stretched and then broke internally.

c) I am assuming the Arbotix-m board is not resetting? I always try to add code to start of program that lets me know it reset, both printing out message, blinking LEDs, and slowly move arm to startup position...

d) Check to see if one or more servos reset itself to ID #1 - See this more with the PhantomX hexapod and once it happens it stays that way, which often shows up as servos staying limp.... likewise are any of the servos blinking or LED lit during this?

e) would probably instrument several places in the code to see if things are hanging or the like. Could be print statements, or toggling IO pins or ... This may depend on your actual setup, like is the Arbotix-m connected to a PC? If so can you show the messages somewhere...

f) Actually if it were me, I would add toggling of IO pins and hook up logic analyzer to watch these pins, plus watch the dynamixel packets, but that may be cheating.

g) If you are using Arduino 1.0.6, I would try using Arduino 1.8.3 and use the latest version of not officially supported libraries.. There are several posts on this, including one by r3n33 yesterday on where to get the setup.

Hope that helps and good luck

11-03-2017, 12:54 PM
Thanks for the detailed reply, and sorry for my 7-month delay.
The problem seemed to have been a bad cable. I swapped out one cable at a time until it was reliable again.
Very strange and frustrating, but solved!