I am testing a XL430 and noticed that there is a delay of 50ms between sending the motor velocity and start moving of the motor. This delay decreases to ~35ms when the velocity is very high (100RPM) instead of usually 10RPM.
Things I changed:
Baud rate: 2,000,000 and then 4,000,000
Return delay time: 0
USB Latency: 1ms
I attached a sample pseudo code I used. Btw, this behavior can also be seen in the Dynamixel Wizard 2.0 graph
Is there a way to reduce this delay?
Thank you for your inquiry.
XL430 uses a plastic gear set that usually have more backlash or friction than the metal gear set.
This may cause some delay.
Also, the Present Velocity is calculated based on the change of Present Position, therefore, there is an inevitable delay.
When I tested with XL430, I was able to observe that the Present PWM changes right after receiving the Goal Velocity, but the change in Present Velocity comes after the change in Present Position.
Also the same test with identical condition with XM430 showed less delay due to the better quality gear set.
Although there will still be some amount of delay, you may minimize the delay with below methods.
1. Increase the baudrate.
2. Decrease the Return Delay Time
3. Set the Status Return Level to 0 (be aware that you won't get any data from DYNAMIXEL as it will not return any status packet)
4. Increase the Velocity P Gain