Positioning instability and repeatability issues


Robotis Actuators Dynamixel:
CN: 902-0163-000
L/N: 610909

Issue Description

While working with actuators some strange behavior has been detected.
In essence it is related to accuracy, stabiltiy and repeatability of positioning of an actuator to a predefined position.

In our application we have e.g. 70 actuators daisy chain connected and controlled from a laptop (python).
The scenario is: going through all actuators, one by one until all of them (e.g. 70 are done). When each of actuator is active - it goes through several angular positions, and at each of that position some data are collected related to that position. Number of angular positions are e.g. 20 in the range of 180dg (though it could be fewer, e.g. down to 2 positions and also angular interval could be reduced for some tests).
With that short description of the setup and scenario we need help about the following (and have the following issues):

A) the actuators/motors have rotation around one axle.
a) what are tolerances of positioning of motor at a pre-defined angle (in degrees)?
E.g. in the application actuator needs to sweep through discrete angles in interval of angles = [Alfa1, Alfa2],
so what are positioning tolerance at some discrete position Alfa in-between?

b) what is repeatability of positioning to the same angle Alfa in several cycles (degrees).

B) how stable is the axle of actuators from mechanical point of view.
This question is because in our application it is important to have pretty stable positioning and repeatability.
And if there are some tolerances in axle fixing or some small gaps around axle it could contribute to positioning and it’s repeatability.

C) What controlling mechanism do you suggest for our application:
In our application motors/actuators need to sweep in interval of angles = [Alfa1, Alfa2],
where Alfa2-Alfa1 < 360 degrees, normally it is ~180 degrees.
The actuator should move to an angle, stay there a bit (to collect some data), and move to the next angle,
where number of those discrete positions/angles could be e.g. around 20 or just 2
(for 2 it means sort of On/Off positions, e.g. beginning and end of interval [Alfa1, Alfa2] ).

I’ve noticed in the manual there are several controlling options mentioned, however I think you have certainly some practical experiences based on which one method would give better results for our application than the others.

D) what time from issuing command to actuator (to move from one to the new angle) is necessary for an actuator
to get into that position (i.e. to stabilize in that position) and with what accuracy comparing to that nominal position?

E) related to D):
during some experiments – we’ve spotted 2 (out of ~60 actuators) tend to stuck for several minutes (e.g. ~5mins) and afterwards they carry on with sweeping through angles.
What could cause that issue?
To be more precise:
It is obvious (as it is measured in minutes) that 2 actuators stuck from time to time (i.e. from 1 cycle to another cycle, but not always).
However, based on that -I assume there could be some sort “delay/sticking”) at much smaller level (e.g. in the level of milliseconds or so) as well.
As we’re collecting some data (when we consider actuator is stable at some position) - obviously that could cause inaccuracy and unrepeatable results (if actuators stochastically have that “sticking/delay” from 1 cycle to another).
In fact the reason why we contacting you is exactly that – we see some irregular stochastic variation of data we collecting from 1 cycle to another
(e.g. in 1 cycle we go through all ~60 actuators 1 after another, where each of them is going through certain set of angles as mentioned)

F) related to E)
Is there some signal from actuator that could be used as a sort of ACK signal, i.e. which could be used as information that actuator is at the right (pre defined) position nevertheless it is in matter of minutes (if it stuck or have delay) or If it works normally.


a) when the XL actuators are in like new condition, the tolerance is about 0.25 degrees

b) the plastic construction of the XL series leaves some mechanical instability in the construction.

c) if you are intending to log the data to a PC anyway, then using a U2D2 and a custom DYNAMIXEL SDK program would be my recommendation

d) The time varies depending on the configured motion profile and maximum movement velocity

e) My first guess would be communications issues causing intermittent connection loss, but I would need more information to provide more assistance.

f) The moving control table item indicates this information.

However, I would like to state that I would highly recommend considering switching to one of our XC series metal geared servos given this information about your application. It sounds like positional accuracy is a primary concern, and the plastic gears are prone to wear that can significantly reduce accuracy when subjected to high cycle counts.

Hi Jonathon. Thanks for useful information.
We’re going to try some of suggestions and hope it’ll help.
Best Regards.