Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA] add rclcpp::waitset test support and provide updated performance report. #11

Open
ZhenshengLee opened this issue Jun 24, 2024 · 0 comments

Comments

@ZhenshengLee
Copy link

ZhenshengLee commented Jun 24, 2024

description

waitset is a scheduling policy without executor in rclcpp to get a deterministic message handling, see ros2/rclcpp#1047

this user-level wait set mechanism later was developed as APEX_OS_POLLING_SUBSCRIPTION communicator, which was published(but not opensourced) in roscon2023 realtime workshop, https://www.apex.ai/_files/ugd/984e93_54790d76c0574748901a425555320b8a.pdf , which let us know the possibility of improving realtime performance.

but the rclcpp::waitset is enough to use, see example https://github.com/ros2/examples/tree/rolling/rclcpp/wait_set and performance test https://gitlab.com/ApexAI/performance_test/-/blob/master/performance_test/plugins/ros2/rclcpp_waitset_communicator.hpp

as a performance report repo, I request the report add rclcpp::waitset support.

consideration

  1. waitset should be test in the performance test tool from Apex.AI https://gitlab.com/ApexAI/performance_test , and the benchmark report should be updated.
  2. waitset should be test in the reference_system repo.

extra

waitset is not available in reference_system suite for now, track with this issue ros-realtime/reference-system#148

autoware.universe is migrating it's ros2 apps to waitset-based subscription. see https://autowarefoundation.github.io/autoware-documentation/main/contributing/coding-guidelines/ros-nodes/topic-message-handling/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant