I used dynamxiel built a robot and used computer to send the control signal in ros.
I want to send the control signal in real time calculation based on the current state. So the control signal will be sent in 20Hz.
And I want the dynamixel go with the latest command.
So I used the ros-service command in the dynamxiel -ros package.
However, the command will not be renew until the dynamxiel finished the upper command. this make the control has delay.
Also the other question is when it finish the move , the velocity become zero.
That means the dynamixel goes "receive command'---'move''---"stop"---"receive another command" and so on.
The performance shows up that it moves stumble.
How could I solve this problem?
Is there any other api that can control the dynamixel in topic way and can have high communicate speed.
Dynamixel Developer Support
It looks like the problem is caused by using a ROS service.
ROS service waits until current service is completed and then return to the client so DYNAMIXEL will not receive from ROS service until current service is completed.
If you want to send the latest command to DYNAMIXEL, please consider using a topic instead of service.
Also, increasing the Baudrate of DYNAMIXEL to 1Mbps will help to increase the control frequency.