Poppy breakdown

Hello, I have been using the Poppy torso for an experiment.
The robot has been used for weeks, between 4 and 10 hours a day.
The robot was often forcing for a small period of time (a few seconds) on its environment (I had a safety module to prevent it from forcing for too much time).

At the end, it seems that some motors are not working properly any more.
Some motors, are now becoming compliant for no reasons when forcing, when I send a sequence of command to the robot, some joints will act weirdly but keep the overall shape (like some kind of spasms in the middle of a motion).
I tested on another Poppy and it does not reproduce those problems, which reinforced my convictions that the former is not working properly.

So here are my questions:

  • What is the life expectancy of the Poppy robot joints?
  • Is there an easy way to test a motor for determining its working condition?

Wires become old far sooner than motors, with time the impedance increase, and there is a voltage dropdown (check the present_voltage of each motor). Motors become under powered and they have not enough current for their torque.

Have you got timeouts ? For me it is related to the first issue.

If I change your question from motors to wires (as I suppose it is the issue), we could write a primitive which check voltage of every motors and suggest to the use to change older wires.

I had exactly the same issues you had with my Poppy which was working a lot. After changing the wires, it was crazy, like a new Poppy. The fact the voltage is to low also made the motor behavior very random.
I am very very interested to have the results of changing the wires for your Poppy.

I looked at the link you posted on the wires getting old.
I tested it on my Poppy and I got the following voltages (when non compliant):

  • abs_z: 10.6
  • bust_y: 10.4
  • bust_x: 10.7
  • head_z: 10.7
  • head_y: 10.7
  • l_shoulder_y: 11.0
  • l_shoulder_x: 10.3
  • l_arm_z: 10.2
  • l_elbow_y: 10.1
  • r_shoulder_y: 10.9
  • r_shoulder_x: 10.5
  • r_arm_z: 10.7
  • r_elbow_y: 10.6

It does not look that low to me. What do you think of it?

By making it no compliant, after making it move for a while, I get the following reading:

  • abs_z: 9.4
  • bust_y: 9.2
  • bust_x: 9.6
  • head_z: 9.7
  • head_y: 9.7
  • l_shoulder_y: 9.9
  • l_shoulder_x: 9.5
  • l_arm_z: 9.3
  • l_elbow_y: 9.2
  • r_shoulder_y: 9.8
  • r_shoulder_x: 9.1
  • r_arm_z: 9.2
  • r_elbow_y: 9.2

I am wondering if it could not come from the dynamixel alimentation card (which seemed very hot to me after a few minutes of exercise).

The power supply sould be at ~12V. The SMP2Dynamixel is hot because of its dirty diode protection, it is normal. But, a capacitor near a heat source is not good for its lifetime (main source of electronic issue in old stuff), you it could really be an issue. Try with a new one !

1 Like

I tried with a new one. It’s working now, I have all voltage between 11.6 and 12V now even after making it force for a while.
So it definitely came from the SMP2PDynamixel. Thank you!

Woaoh, it could be because of SMP2Dynamixel also ? Thanks for the tip.