Closed alecGraves closed 1 year ago
Hi @alecGraves thanks for your question. (CC @fujitatomoya @pablogs9 ) Some arguments that support RCLC as a separate package on top of RCL:
There have been several attempts to provide a C++ interface for RCLC (see issue https://github.com/ros2/rclc/issues/126). Do you also prefer a C++ API or would you prefer a C API for your project? Such a C++ API would have to be community effort.
On the other hand, the real-time working group has been working on a real-time Executor concept. A common goal could be to bundle the efforts in the embedded community (micro-ROS) and ROS 2 community to develop such an Executor with deterministic and real-time behavior.
For my project, I need a C API. I would like to minimize build dependencies, and having 78 repositories for core functionality makes porting to a new platform more difficult.
I see your point that ros2 is a layered architecture, and I did not know that RCL did not have any Executor implementation. Thanks.
Would we want to merge the work done on the rclc executor back into RCL at any point? I think a lot of other clients might want the ability to define sequential execution or perform priority-based event handling. This is a very common need in robotic systems.
Is there a point to keeping this separate from the RCL?