ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

ROS 2 Real-time Working Group Online Meeting 8 - Jan 8, 2020, 7AM PDT (UTC-8)

Happy NY everyone.

RTWG folks, here is an agenda for our next meeting. Please add your topics if you have them.

Previous meeting: ROS 2 Real-time Working Group Online Meeting 7 - Dec 11, 2019, 7AM PDT (UTC-8).

Note: As Dejan is at CES this week, @christophebedard will coordinate the meeting.

From previous meeting minutes: ROS 2 Real-time Working Group Online Meeting 7 - Dec 11, 2019, 7AM PDT (UTC-8)

  1. Update: LET executor => @JanStaschulat
  2. Update: Single-process, real-time rmw => @eboasson
    1. ALL: please provide feedback on
  3. DDS direct access
    1. @BorjaOuterelo @joxoby: provide more concrete set of requirements for this use case
  4. ROS 2 F feature roadmap will be finalized early 2020
    1. ALL: Please provide your desired features to the roadmap so Dejan can take them to the TSC
    2. Below is an input from Apex.AI, please feel free to comment on it.

Apex.AI input regarding the ROS 2 F feature list

High-level summary

  1. Adopt DDS standard for communication. This is the most production-ready
  2. Strive to the performance parity with the underlying middleware
  3. Ensure new components are real-time in terms of blocking call and memory management.
  4. Do not duplicate functionality (e.g. for Logging use Log4CXX, for time use std::chrono)

Sorted list of features

  1. Measure performance: using performance testing framework presented in item 1 here: ROS 2 Real-time Working Group Online Meeting 7 - Dec 11, 2019, 7AM PDT (UTC-8)
  2. Changes affecting API
    1. API review, specifically user facing API in rclcpp and rclpy (also necessary for quality levels) -> We should focus on bringing ROS 2 and DDS API to parity. Meaning take/read of loaned messages, conditions, waitset, instance handles etc. We need all of this for the real-time system.
    2. Revisit message allocators, consider using std::polymorphic_allocator to address problems with custom allocators -> We suggest to eliminate all copies in the middleware (e.g. between ROS 2 and IDL messages). This should have a priority over allocators.
    3. Support for IDL keys in rclcpp
  3. New features
    1. RMW interface: notification about event, e.g. new entities, matching of endpoints, etc. -> We should use the DDS standard here.
    2. RWW configuration: unified/standard way of configuring the middleware -> This probably refers to point 6.3 here ROS 2 Real-time Working Group Online Meeting 7 - Dec 11, 2019, 7AM PDT (UTC-8)
    3. rosbag: support recording services (and actions) -> rosbag2 needs a thorough systematic testing.
    4. ros1_bridge: support actions -> We think we should encourage proper migration to ROS 2, and spend resources there.
  4. Executor improvements and determinism -> We agree that the ROS 2 executor needs to be probably rethought, rearchitected and rewritten. RTWG is helping here: ROS 2 Real-time Working Group Online Meeting 7 - Dec 11, 2019, 7AM PDT (UTC-8)
  5. Missing features - valuable for porting code
    1. Introspect QoS settings for remote topics (e.g. enables recording reliable and best-effort topics) -> DDS already has this feature. What would be exact plan here?
    2. Logging subsystem: configuration file, per-logger configuration (ala rqt_logger_level) -> We would suggest to stick to Log4CXX as much as possible.

@wjwwood @joespeed FYI

1 Like

Meeting coordinates:

Topic: ROS 2 Real-time Working Group Online Meeting 8 - Jan 8, 2020, 7AM PDT (UTC-8)
Time: Jan 8, 2020 07:00 AM Pacific Time (US and Canada)

Join Zoom Meeting

Meeting ID: 439 517 570
Password: 887389

One tap mobile
+16699006833,439517570# US (San Jose)
+19294362866,439517570# US (New York)

Dial by your location
+1 669 900 6833 US (San Jose)
+1 929 436 2866 US (New York)
Meeting ID: 439 517 570
Find your local number:

@Dejan_Pangercic We would like to request a 5 minute slot in today’s RTWG meeting to present our current status on the testing platform.

1 Like

Here are the minutes from last week’s meeting. Next one should be January 22, 2020.

Video recording:

  1. LET executor update
    1. Working on addressing comments with new PR on rclc (within the next week)
    2. Planning new/additional features
    3. Add trigger conditions. In example for multiple sensor data (Lidar+IMU) and trigger for one topic.
    4. Working on testbench with Nobleo to compare the performance of different executors.
  2. Single-process, real-time RMW
    1. Will come back to it next meeting
  3. DDS direct access
    1. Will come back to it next meeting
  4. ROS 2 F feature roadmap
    1. Inviting RTWG members to comment on Apex.AI’s list of features and add feedback
    2. @eboasson: regarding improve ROS 2 performance to match DDS performance. This may imply changes in the ROS 2 API. What is the input of Open Robotics on this?
  5. Update on Silexica Performance Testing Platform from @kaineumann
    1. First steps for putting platform on AWS
    2. Measurements on x86_64 system with RT_PREEMPT using pendulum demo: want to measure stability
    3. Question about RT pendulum demo: is it up to date with master?
      1. @carlossv: currently on dashing, plan on updating it for eloquent. Have been asked for support for crystal.
    4. Question about AWS hardware pool (AI for @Dejan_Pangercic from last meeting, pushed to next one)

I have connected @kaineumann and @Aaron_Blasdel over email regarding 5.4.