...
POST No. 2408083
How to make Robotis Servos work in multi-turn mode (4-5 turns)?
2021-10-06 23:09:50 sitnikov2020

Robotis Servos and pixhawk (fmuv3) work properly in standart 1 turn mode (OPMODE_POS_CONTROL).

What i need to do to make them work in multi-turn mode? I need 4-5 turns.

I tried to make custom firmware- changed library AP_RobotisServo.cpp https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_RobotisServo/AP_RobotisServo.cpp in this way:

Library has such code in the end:
uint32_t value = pos_min + v * (pos_max - pos_min);
send_command(i+1, REG_GOAL_POSITION, value, 4);

But it doesn't work, i have only 1 turn (360 degrees)

So how to make Robotis Servos work in multi-turn mode (4-5 turns)?

2021-10-06 23:09:50
sitnikov2020
2021-10-08 10:04:59 Will Son

Hi,


Please understand that we do not provide technical support for third party libraries.

If I were you, I'd check if the DYNAMIXEL is correctly set to the Extended Position Control mode via DYNAMIXEL Wizard 2.0

If the correct mode is confirmed, then I'd open the packet window of the Wizard 2.0 to check the actual packet sent to the DYNAMIXEL.

Since DYNAMIXEL Protocol 2.0 uses little endian, sending the goal position 16380 (00 00 3F FC) should be transmitted as (FC 3F 00 00)

For example, the actual goal position(16380) packet sent to ID 1 will look like below.

 

2021-10-08 10:04:59
willson