Dynamixel Motor "Time to burn" - Learning the hard way

Suite du sujet Dynamixel vs Herkulex Servos:

Hi all,

I have unfortunately discovered this problem this week end and my two poppy knee motors seem to be completely out of order. It’s disapointing for this category of motors (230€ and out of stock from generation robots…) to don’t have overcurrent protection (or maybe not set in the factory setup)

Is there a way to investigate around this to know if it is about the sit function or if torque and temperature limits can be put in place ?

The default config of motors should be “shut it down in case of overheating” but they burn anyway.
We tried to change the configuration in the dedicated register but no value change…
You could try to find something about that…

By “they burn anyway” do you mean the motor or the electronics?

Both can burn but the motor burn more easily.

Bummer :smirk: The electronics would be easier to be replaced…

I spent the afternoon working on this problem. It appears there are some glitches (here and here) in the current code but it does not explain why the motor can burn in just 10 min…

The problem seems to be the handle of overheating and this should be done by the “hardware”. So maybe there are some differences with dynamixel AT firmware (vs T) which disable such feature.

To investigate …

Do you know how they measure the current? Through the motor bridge (that includes a current sensor) or through a shunt resistor?

No, but is the same thing integrated or not into the H bridge…

No doubt! Well, considering the hardware debugging, if the current sensing fails, in one case will be the bridge chip and on the other, the microcontroller (A/D converter). Just giving ideas to @Matthieu for his … investigation :smile:

Current sensing in the Dynamixel is done in a very “classical” way through a small value resistor to an ADC pin of the microcontroller. But unfortunately it is very noisy so the guys from Robotis have probably made some clever filtering.
Also notice that this measure only exists in MX64 and MX106.

@Lionel I have updated some stuff both on pypot and poppy_humanoid, it seems to have fix several small issues.
So please update your Poppy :slight_smile:

Also, I think we should set-up a newsletter with people who has a real Poppy so we can poke them for critical information such as important update or problem.

Thank’s for your update
However my skills are not software side, so… How can I “update” my poppy ?

it depends on the way you installed all the stuff on your Odroid.

If you have used the script we made you will just have to connect your poppy to internet and then:

cd ~/dev/pypot/
git pull

cd ~/dev/poppy-humanoid/
git pull

Yes I did use the script, but I don’t know why, pypot was not correctly installed after using the script so I had to install pypot and poppy humanoid using pip (and a 4G wifi connection… cause you know Toulouse, Place du Capitole…)

So now, I have this sort of message with the command you suggest

poppy@poppy:~$ cd ~/dev/pypot/
-bash: cd: /home/poppy/dev/pypot/: No such file or directory

What can I do ?
How can I go back to a clean situation now that I am in better conditions ?

Sorry, has I said before, I’m not really used to software issues

1- first uninstall both repo: pip uninstall pypot poppy-humanoid

2- then clone git repository into the correct folder:

git clone https://github.com/poppy-project/pypot.git ~/dev/pypot
git clone https://github.com/poppy-project/poppy-humanoid.git ~/dev/poppy-humanoid 

3- reinstall packages:

cd ~/dev/pypot/
python setup.py install develop

cd ~/dev/poppy-humanoid/software/
python setup.py install develop

Quick question, Matthieu:
How often are pip repositories updated ?
Wouldn’t it be better to install pip repos with your setup install (I assume pip repos contain stable versions) and let the git sources for advanced users that can deal with less stable versions ?

Just my personal opinion: I would pip install pypot and poppy-creature because there are “stable” libraries but git clone poppy-humanoid because people has to put hand in the code to control their robot (e.g. they have to tune some parameters for their Poppy), indeed it is not really a library but more a bunch of scripts build on top of pypot.

When we will have a more stable software release for poppy humanoid (i.e people can build stuff on top of it) it will become better to pip install poppy-humanoid.

OK, I see your point.

I just created a simple pypot primitve to monitor the motor temperature. In case one goes above 50 degree it plays an alert sound to catch the user attention.

Still on the develop branch (will be merged after further tests):

Ready to use: