Is the Dynamixel 0 position really aligned with axis notch?

Hi all,

Yesterday, with great care, I finished my Ergorobot assembly to be trained for poppy assembly party starting soon.

By great care I mean, I stricly follow this (from “Take care…”) : “The critical point is to put it correctly for the zero position. To do that, you have to correctly align the awl mark on the Dynamixel shaft and the snick on the horn”

Today, following the PoppyErgo quick start I put all the motors at goal position = 0
And 0 position are not really what I expected, axis are not aligned with servo body.

I removed the horn from m1 (MX-28AT - ID#11 on Ergo) and ask to reach 0 position,
and this is the position the motor is when 0 position is reached :

When I manually align the horn with the body and ask the motor position it’s 21° !!

So my questions are :
Are the servomotor 0 position not supposed to be aligned with the body ?
Is the 0 position an adjustable parameter ? (and in this case, why do I have to care to align the marks during assembly ?)

Actually if you look at the ergo config you will see that we define an offset of 22°:

    "m1": {
      "offset": -22.5,
      "type": "RX-64",
      "id": 11,
      "angle_limit": [
        -112.5,
        67.5
      ],
      "orientation": "direct"

So it seems that you actually assemble everything with great care :smile:

This offset is due to the fact that the ergo robot was initially designed with RX motors and that the metal piece that come with them are shifted by 22.5°.

I’m not sure if it also the case with MX motors. I think not…
It would be great if you can tell me when you assemble the robot if the first and third motors are correctly aligned or if you need to change the offset to 0?

Actually, and thank’s to your post, I discover the ergo config file existence…

It would be great if you can tell me when you assemble the robot if the first and third motors are correctly aligned or if you need to change the offset to 0?

And yes, I will check the other motor for beeing at 0 when I ask for 0 (without software offset…) and tell you back

Damned developpers… :smile:
…I almost de-assemble the Ergo for this…
Do I have to expect more surprises like that for Poppy Assembly ? :sweat_smile:

1 Like

Ok, only m5 & m6 were aligned at 0… as it was in the initial config file :slight_smile:

my config file is now like this…

{
  "controllers": {
    "my_dxl_controller": {
      "sync_read": false,
      "attached_motors": [
        "base",
        "tip"
      ],
      "port": "auto"
    }
  },
  "motorgroups": {
    "base": [
      "m1",
      "m2",
      "m3"
    ],
    "tip": [
      "m4",
      "m5",
      "m6"
    ]
  },
  "motors": {
    "m1": {
      "offset": -0.0,
      "type": "RX-28",
      "id": 11,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "direct"
    },
    "m2": {
      "offset": 0.0,
      "type": "RX-28",
      "id": 12,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "indirect"
    },
    "m3": {
      "offset": 0.0,
      "type": "RX-28",
      "id": 13,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "indirect"
    },
    "m4": {
      "offset": -0.0,
      "type": "RX-28",
      "id": 14,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "direct"
    },
    "m5": {
      "offset": 0.0,
      "type": "RX-28",
      "id": 15,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "indirect"
    },
    "m6": {
      "offset": 0.0,
      "type": "RX-28",
      "id": 16,
      "angle_limit": [
        -90.0,
        90.0
      ],
      "orientation": "indirect"
    }
  }
}

and its pretty good now !!!

thx :smile:

you’ll find the modified raw file here

1 Like

This problem will be solved when we will use 3D printed parts on the Ergo as we do on the Humanoid.

Thanks for the feedback ! I’ll update my config.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.