What's the current status of Real-time in ROS2?
Hi,
I've been reading and playing out with some of the real-time elements of ROS2. I know there's still work going on in that frontier to make sure that rclcpp is real-time compliant, but I wanted to see the current state of that work in ROS2 before this upcoming Foxy release.
I could not find any recent documentation that clearly indicates if ROS2 is now "fully compliant" (assuming your code itself is RT safe and you're using a RTOS or kernel patch) and if not, "how bad" it is. Can someone working in that domain shine some light about the current state of real-time in ROS2 libraries (rmw, rcl, rclcpp, etc)?
Steve
Asked by stevemacenski on 2020-04-22 21:55:55 UTC
Answers
Currently, ROS2 is not considered to be "fully compliant" for real-time applications. While ROS2 provides the basic tools required for real-time programming, it does not yet address all of the requirements for reliable real-time performance. For example, the real-time scheduler is still a work-in-progress, and the Quality of Service (QoS) settings for ROS2 nodes are not yet fully optimized for real-time performance. Additionally, there is still some work to be done in terms of optimizing the performance of ROS2 nodes and ensuring that they are able to handle high-bandwidth and/or high-frequency communication. However, ROS2 provides the basic tools necessary for real-time programming, and the developers are actively working to improve the real-time features of the system.
Asked by hussein_mo on 2023-02-26 13:41:31 UTC
Comments