eros:1023and4095positionrange

The Eros architecture makes a cleaner separation between actuators and control board.

Depending on the Actuators that your unit is using the main board will either work as a bridge shifting signal levels and speeds between your controller and the actuators or fully proxy the communications converting the protocol as well (Dynamxel 1.0 to 2.0 and/or vice versa).
However the principles regarding the choice of Resolution are the same.

Due to their nature, the Actuators (either from Seed Robotics or from Robotis) all work with a native 10 bit resolution. Furthermore, the range of motion is trimmed to the exact needs of each degree of freedom, thus creating some stepping in range read from the position sensor.

For the sake of simplicity and isolation of the internal working details, the actual range exposed to user will always be in the 0-1023 or 0-4095 range. This is done by interpolating the internal range over the user selected range.

If you are working in 10bit resolution range, most DoF will operate essentially over the whole 10 bit range thus making a very close 1:1 match.

However at 12bit resolution, the effects of interpolation may be noticeable as you may need to increase the position by several units to actually make the motor move. It's almost as if you had a larger deadzone.
The other aspect is that you will always see a static discrepancy between the Goal position and present position. This happens due to the discretization of the internal position range (typically < 1023 steps) over the 4095 range.

While the 12bit resolution mode may present these downsides due to its emulated nature, it has numerous advantages when integrating into existing systems.
With this mode we are able to improve compatibility and integration with the advanced Robotis series of Motors (MX, XM series) and existing libraries that natively operate with a 12bit resolution.

By default all our units ship pre-configured for 12bit emulation mode. However it is possible for the user to select which option is best for their needs.

Depending on your System our recommendations are:

Set to 10bit (1023) position mode for:

  • Integration in systems using Robotis AX, XL, RX series servos as they also work in the 10bit range
  • If you wish to operate with a position mapping that is as close as possible to working of the internal position sensor

Set to 12bit (4095) position mode for:

  • Integration in systems using the Robotis MX or XM series if servos (including the DarwinOP robot)
  • If you are using libraries specifically built for the Dynamixel motors working at 12bit resolution (available from third parties for ROS, PyPot, etc)

If you are using the unit without connection to any other motors, the choice of resolution is up to you. If you're using an existing library check which position range it is operating in and make your setting match.

Copyright © 2015-2023 Seed Robotics Ltd

  • eros/1023and4095positionrange.txt
  • Last modified: 2017/03/22 11:54
  • by Pedro Ramilo