Hello, I performed a positioning test on some MX64AR servos with the following settings :
BAUD RATE 115200b/s
MULTI TURN OFFSET = 0
REVOLUTION DIVIDER = 1
MULTI-TURN MODE is ON
VERSION OF firmware (36, 39, 40)
PID controller settings ( P =32, D = 0, I = 0)
When the servos move from 0 to -28672 at every end of revolution (it means at -4095, -8191, -12287, etc) they move to wrong position (about the set position + one revolution 4096). It means if I set -4095 the servos move to about 0.
All they behave the same way
Here an example of what I got (ID number if servo = 2)
ff ff 2 5 3 1e 2 f0 e5 Byte sent to the servos
goal = -4094, present = -4093
ff ff 2 5 3 1e 1 f0 e6
goal = -4095, present = 0 Error!
ff ff 2 5 3 1e 0 f0 e7
goal = -4096, present = -4095
ff ff 2 5 3 1e ff ef e9
goal = -4097, present = -8192
ff ff 2 5 3 1e 2 e0 f5
goal = -8190, present = -8188
ff ff 2 5 3 1e 1 e0 f6
goal = -8191, present = -4097 Error!!
ff ff 2 5 3 1e 0 e0 f7
goal = -8192, present = -8191
Thanks in advance
Could you also attach the code you used?
It is difficult to understand what's going on with the given output.
thank you for your reply.
I had the same problem by using the Dynamixel Wizard program
In order to run the test I used your API:
DXL_GOAL_POSITION_W = 0x1E
DXL_PRESENT_POSITION_W = 0x24
id_n = 2
goal_position starts from 0 to -28672
dxl_write_word(id_n, DXL_GOAL_POSITION_W, goal_position);
delay(1000); // 1000 ms
ret = dxl_read_word(id_n, DXL_PRESENT_POSITION_W);
printf("goal = %d, present = %dnn", goal_position, ret);
Thank you for your reply
Thank you for reporting this.
This is confirmed as a bug and will be fixed in the next update.
If it is possible, we recommend to use Protocol 2.0 instead of Protocol 1.0.
Protocol 2.0 provides more stable control on Dynamixel.
You can upgrade to Protocol 2.0 for MX-28, MX-64 and MX-106 via Firmware Recovery in R+Manager 2.0.
Thank you very much.
do you have any prediction when you will be able to release the next firmware version?
I ve update the firmware to the release number 41 Protocol 2.0. I ve tried and it seems to work. Can you confirm that you have fix the above bug in this firmware release?
Thank you for your reply
Thank you for checking it on Protocol 2.0.
MX series Protocol 2.0 firmware has completely different software structure than that of MX Series Protocol 1.0 firmware so the bug you found will not exist.
When you are using Protocol 2.0, please be aware that the instruction packet and status packet is different and control table is also very different.
Please notice that there are two different eManual for MX-64 depending on the Protocol.
MX-64 with Protocol 1.0 : http://emanual.robotis.com/docs/en/dxl/mx/mx-64/
MX-64 with Protocol 2.0 : http://emanual.robotis.com/docs/en/dxl/mx/mx-64-2/