Open daohu527 opened 2 years ago
as in ros2 humble, nvidia hardware support was added to rclcpp, the msg transport between hardware engine(cuda, cudla, tensor) get significant improved. This makes rclcpp a prefered platform than cyber. not say there are awesome tools like rviz2, rosbag2, plotjuggler, foxglove to support rclcpp.
the nvidia drive team PPT also point out something.(NOTE: the red words are added by me)
ros2 is an eco system consists of client library, tools, drivers and etc. you should compare cyber with rclcpp not ros2.
When using the same backend which is FastDDS, the core difference between cyber and rclcpp is the scheduling. rclcpp uses waitset-based-executor(single threaded or multithreaded) with the greedy(best effort) scheduling. cyberrt uses coroutine to schedule the callback task when receiving the msg, which is somehow static scheduling. the static scheduling is rule based by a schedule config file.