On Poppy Torso robots* running almost 24/7, they stop working from time-to-time and Pypot is no longer able to reconnect. It reports this kind of error:
Init fail: No suitable port found for ids [33, 34, 35, 36, 37, 41, 42, 43, 44, 51, 52, 53, 54].
These ids are missing [33] !
It turned out a couple of times that the motor for which ID is missing (or the motorS) suddenly factory reset by itself. When this happens, herborist actually finds a MX28 with ID 1 and baudrate 57600 on the bus, which are the default settings.
Using poppy-configure to set the correct configuration again works fine non-stop several days/weeks… till another motor suddenly resets and needs another manual firmware re-configuration.
This happened to me a couple of times, on different Poppy Torso robots, and on different motors (arm, torso, …). I tried to replace some parts (Raspberry Pi*, USB2AX) and a bunch of different motors have been behaving this way, so I’m not thinking to something specific to my robot, more a software bug or unlucky circumstances that make my motors resetting… have you guys some clues about it?
. * I actually use the recent Raspberry Pi 3 version of Poppy Torso
The Dynamixel motors can reset themselves if they have uncorrect power supply or data in (like the voltage is too high).
Actually, I had the same problems once. I had to modify the electronics, I hope this information will help you:
I replaced the SMPS2Dynamixel (even I’m not sure that they are the source of the problem)
I replaced 2 types of cables : used cables and not Dynamixel cables.
I guess that there were some noise (electronic and/or electromagnetic, I hadn’t test), but after changing them, I have no more resetting problem.
Since then, only robotis cables are provided. Maybe there are electronics perturbations around the Poppy robots if it happens to all of them? Or have you customized your robots with a different electronics?
In addition to that, The problem did not occur anymore using the Odroid. But I also changed to use a Raspberry Pi 3 several months ago, and I do not have this problem neither.
Thank you for this answer! It is true that this issue is more likely to occur on one of my robots than others, which suggests faulty SMS2Dynamixel (which is the only thing I haven’t tried to replace actually ) or cables.
However, your remark about noise is interesting, I’m running many robots, all plugged on a same wall socket, and the more-likely-to-fail robot is the last on the chain, which means than it could be powered by a noisy 230V supply. I’m going to distribute the power more smoothly among robots instead of a chain. But that would be interesting to measure though. @titwin do you think we can easily measure that noise in practice?
New updates: I controlled the 12V power supply, it is very stable and clean, there is no reason it could be an issue.
New problem: I also got the same behaviour on a Torso that kept unplugged for 4/5 months. All MX motors of this robot have self-reset to ID 1, except abs_z (ID 33). The 2 AX motors didn’t have this issue.
Also, some liquid is leaking from the motors and git in the connectors, I assume it’s some fat leaking from the gears. Not sure whether this fat can short-circuit the motors and cause this self-reset. I am changing all the cables and cleaning the connectors.
I also had see issue about factory reset. For information, you can factory reset motors using a dxl message. If there is a perturbation, this reset can happen. For me, it happens at the end of dynamixel chains or when a cable futs because of Poppy falling.
Concerning oil leaking from motor, it is very interesting!! I will check this.
Last week, I was p!aying in Toulon and had a cable with very high resistance. I though about some water inside the connector…
Yeah, but that’s weird for the Poppy disconnected during months. Maybe cables were so weak that at first startup all motors interpreted a factory reset command, … very strange case though.
How very high was the resistance of the cable you tested? Did it make some motors resetting? Could you feel that cable was harder than usual by folding it?
For the Poppy disconnected during months, I have the same case with the Poppy robot I used for an installation. It was sleeping during 6 months and when I tested it, it seemed to be very old, all the wires where resistive.
I monitor the voltage of each motor in real time and when it was functionning, I saw a 2V difference between the first and the last motor.
As the lowest voltage of dynamixel is 9V, it resets (and makes some creepy noises)
Yes, the cable are harder to fold… It is still really a mystery for me, this issue about cables.
How can we really characterize a cable ? is it a kind of lab about cable ?
Ah, that would explain a lot of things! Is it said in the documentation or is it something your experience proved?
Although I’m no sure the connectors are big enough to host bigger wires, might be worthy to make our own cables with wires of higher section. And see whether it’s a conception fault from Dynamixel.