ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The EtherCAT bus is designed so that you can send a command to all devices on the bus simultaneously, so as long as you have a single ROS node responsible for sending commands, you may have some jitter between commands, but you should be able to keep the motors in sync.

If you're building a precision motion system like the one demonstrated in the video, you should have a good understanding of the required control frequency and jitter tolerance before you start building your system.

It is possible to achieve high-speed, low jitter motion control on linux, but you'll need to use a real-time linux kernel. For example, the PR2 has a 1kHz motion control loop, with a few dozen microseconds of jitter, running the realtime fork of the linux kernel.

Be aware that the stock linux kernel isn't designed for real-time applications, and will occasionally block user processes for a few milliseconds while it does housekeeping. This may be acceptable if your control loop only needs to run around 50Hz.

Finally, if you're looking at expensive realtime control products from a specific vendor, I STRONGLY suggest you contact the vendor to get their input on your use-case.