...
wrong Positioning servo MX64-AR
2018-06-07 20:14:50 Davide

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

Regards

Davide

2018-06-07 20:14:50
Davide
2018-06-08 09:59:22 Will Son

Hello,


Could you also attach the code you used?

It is difficult to understand what's going on with the given output.

Thank you.

2018-06-08 09:59:22
Will Son
2018-06-08 15:43:13 Davide

Hello,

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

Regards

Davide       

2018-06-08 15:43:13
Davide
2018-06-11 14:53:05 Will Son

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.

2018-06-11 14:53:05
Will Son
2018-06-11 19:55:45 Davide

Hello,

do you have any prediction when you will be able to release the next firmware version?

Thank you

Regards

Davide

2018-06-11 19:55:45
Davide
2018-06-11 22:35:46 Davide

Hello,

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

Regards

Davide

2018-06-11 22:35:46
Davide
2018-06-12 08:47:12 Will Son

Hello,


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/

Thank you.

2018-06-12 08:47:12
Will Son
Reply
웹에디터 시작 웹 에디터 끝