A "move" command to all jrk controllers on a serial line?

Hello,

I’m just wondering if there is an device-ID-less “move” command that tells a jrk controllers to act to a pre-set target values.

For multiple jrk-controlled servos on a serial line, if each of them responses immediately upon receiving a new target values, the servos suffer from poor synchronization due to the fact that the commands to each of them are sent one by one. In every sampling period, the servo that receives the updated target value later moves later than the ones receive the target values earlier. This problem becomes more severe if there are more servos on the line, or the baud rate is lower.

It could be solved if the jrk controllers can be set to hold on to a new target values and wait until a “move” command broadcasted to all the controllers on the line. Is there a way to do this?

Cong

Hello, Cong.

No, there is no set of jrk commands to stage and execute movements like how you described. (All of the available commands are described inside the jrk’s user’s guide.) Serial commands at 115200 baud would be fast enough to set the target on several jrks in just a few milliseconds. Have you tried commanding multiple jrks at once and seen a noticeable a delay?

-Jon

Hi Jon,

Thanks for the note! No, we have not observed any visible delay.

BTW, is there a chance that the target setting command can be sent to each jrk controller on a serial line without the beginning 0xAA (for auto Baud rate detection)? which is somewhat a burden to the communication bandwidth and is unnecessary if the Baud rate is fixed. Please advise. Thanks!

Sincerely,

Cong

No, there is no way to use the Pololu protocol without sending 0xAA at the beginning of the command packet. Also, to clarify, while the jrk can use that 0xAA byte to automatically detect the baud rate, its purpose is to signify the start of the Pololu protocol.

-Jon

I see… Thank you Jon!

Cong