[Assembly instructions] Take care of the Dynamixel motors configuration and assembly!

@robotzone3 So did you manage to insert all horn on MX motors ?
I have warned Generation Robot about this problem, they will contact Robotis for more explanation.

yes, we have. But we had to force it and i fear some of them should be damages… :confused:
It was quite painful and time consuming to insert them…

Yep it’s really weird for 250€ motor …

The answer from Robotis to Generation Robot:

Sorry to hear that many of your clients are facing the issues on the assembly of horn.
I have checked with our team and there is actually no problem with the product itself.

We have also tested in our lab and managed to assemble them although it was a bit tight.
You can also apply WD-40 which would make it easier to assemble.

No more info … It seems that we need to add WD-40 to the BOM list

it’s amazing because we tested with WD-40 and it was also hard to assemble…

Hi !

The link for the id convention doesn’t work. You can find it on Motor naming convention and configuration

Otherwise I have install Herborist. But the Scan button doesn’t work. I read it on my terminal : OSError: [Errno 13] Permission non accordée: '/dev/ttyACM0’
I don’t know how to solve this lack of permission.

Thanks, I updated the link in the first post.

For herborist, it is a weird… @Pierre @Steve any idea ?

It looks like a permission problem…
I think you are under Linux, so try sudo herborist
If it works, it was a permission problem.
Have a look at the group owner of the tty:ls -l /dev/ttyACM*
Look at the group (probably dialout). Type id to see your groups, if you are not in the tty group add it with sudo useradd -G thegroup yourlogin

I’m under Linux, Ubuntu 14.04LTS. I use python 2.7.
It isn’t a permission problem : I have try with sudo. I also have checked that I’m in the dialout group with id.

I launch herborist with terminal. Then I click on “Scan” button. In spite of the baudrates that I check off, I always read on my terminal this error : > pypot.dynamixel.io.DxlCommunicationError: could not parse received data after sending DxlPingPacket(id=0)

What should I deduce ?

Ok so I also have a problem with the usb2ax and the last version of pyserial from pip.
Can you try to first scan at 9600 bauds (you don’t have to wait, you can cancel immediatly) and then scan at 1M bauds.
The idea here is just to open the serial port à 9600 before to open it at 1M.

First : I have any result on 9615 or 1M bauds.
Second : “Abort” button doesn’t work. Nothing appends or appears in terminal.

I have tried with differents USB ports.

Ok so let’s start from the begining.
What is your setup?
What is plugged to what?
What happens exactly?

Hum it is normal, Dynamixel MX communicates at 57142 bauds by default:

Check also this post for a complete instruction:

1 Like

@Steve @Matthieu
I have forgotten to feed the servomotor :-S Now it’s work :smile:

1 Like

I just started assembling our new Poppy and we had issues configurating the dynamixel motors. More specifically herborist did not detect our motors.

Our configuration is as follows:
We use a USB2Dynamixel (configured on TTL) between the motors and our computers.
We use a macbook air with OS X Yosemite (10.10.2).

The scanning does not detect the motors at all. It outputs an empty list at 57142 (baudrate). We used ttl and asked to scan at 57142.

When we configure the USB2Dynamixel on RS485, and use RS485 connectors, the scan process just freezes.

We tested on several motors and types of motors (MX and AX), and on 2 computers.
Would you have any idea where the problem might come from?

Hello Mai,

First, be sure you use the very last version of the documentation available here:

The repo is here:

For your problem, I think you must install the FTDI driver available here:

thanks for the quick answer. Indeed it did not install the ftdi driver. We’ll try that tomorrow and keep you posted.

1 Like

I tried to install the driver and it did not work any better unfortunately. We also tried herborist on a Debian Wheezy, and it did not work either…

Can you copy/paste the error you get ?
Is pyQt installed ?

if yes, here we go for a debug procedure :smile:

Open a terminal and run python then copy paste these lines:

import pypot.dynamixel
ports = pypot.dynamixel.get_available_ports()
baud = [57142, 1000000, ]

for p in ports:
    for b in baud:
        with pypot.dynamixel.DxlIO(p, b) as dxl:
            print 'opened port {} with baudrate {} and dectected motor ids:{}'.format(p, b, dxl.scan(range(10)))

Are these command run correctly ?

The output I get from herborist is:

Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pypot/tools/herborist/herborist.py", line 203, in run
    model = dxl_io.get_model((id, ))[0]
  File "/Library/Python/2.7/site-packages/pypot/dynamixel/io/abstract_io.py", line 228, in get_model
    models = [dxl_to_model(m) for m in self._get_model(to_get_ids, convert=False)]
  File "/Library/Python/2.7/site-packages/pypot/dynamixel/conversion.py", line 132, in dxl_to_model
    return dynamixelModels[value]
KeyError: 512