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

If you have a hard real-time requirement of message exchange at 1 KHz, then ROS 1 will not meet your needs.

ROS 2 in theory will meet your needs but I am not sure how up-to-date the real-time support is. You would still need to ensure you use a real-time operating system and a real-time capable DDS implementation, as well as write your own nodes to be real-time capable. ROS 2 can support real-time but because so much else is involved, actually making an application real-time is up to you.

If you have only a soft real-time requirement (meaning you can accept your control loop sometimes taking longer), then you could use ROS 1, but I do not think you would get stable performance. Most people who want to do real-time control with ROS 1 write a separate real-time-capable piece of software for that and link it to ROS, or they use Orocos (with or without ROS).

No one can tell you the CPU load, launch delay time, or anything else about your application without having your application software and an exact replica of your execution environment. You will need to measure these sorts of values yourself.