ROS 2 TSC Contribution Report 2022-07-21.pdf (123.3 KB)
ROS 2 TSC Meeting Minutes for 2022-07-21
- Attendees
- Jaime Martin Losa - eProsima
- Ralph Lange - Bosch
- Toffee Albina - Toyota Research Institute
- Kat Scott, Chris Lalancette, Louise Poubel, Geoffrey Biggs, William Woodall, Audrow Nash - Open Robotics
- Aaron Blasdel - Amazon
- Angelo Corsaro – ZettaScale
- Tyler Weaver - PickNik Robotics
- Lou Amadio - Microsoft
- Hanif Zaini – ROS Industrial
- Brett Aldrich,
- Patrick Musau
- Will Son - ROBOTIS
- Jeremie Deray (artivis) | Canonical
- Phillippe Couvignou
- Adrian Macneil– Foxglove
- Christophe Bedard
- Darryl Lee
- Preliminaries
- [Kat ][1 min] Please remember to fill out your contribution report at the bottom of this document prior to the meeting.
- Old business
- Follow up on ROS 2 Humble Docs
- New business
- [Lalancette | 20min] Results Default DDS Poll / Discussion of Results
- TLDR – resolved: we will revisit the default DDS vendor in K turtle (next non-LTS ROS release after Iron) and all Subsequent non-LTS releases.
- Open Ended responses:
- Consistency over time is preferred.
- I am in favor of stricter boundaries around “the ROS project” (as owned by the TSC). Fast DDS is not part of ROS, any more than PostgreSQL is part of Rails - it is a dependency, chosen by the TSC based on what we believe will provide the best experience for new users. Other alternative middlewares are provided for those who need them. We should only change a default dependency when a strong case is put forward (with the onus on the change proposer to bring data supporting such case, as with any other technical change). Agreeing to a regularly scheduled re-evaluation of defaults means accepting a ton of evaluation work (high cost) and I have not heard any clear explanation of the benefit (other than politics - DDS vendors understandably want to score marketing points by being the default, but that should have zero influence on how “the ROS project” is governed). Fallback thought: Changing the default on an LTS release might be a bad idea (e.g. Ubuntu doesn’t usually introduce major changes to LTS releases). Maybe we should consider that and only change the default on a non-LTS year.
- The options posed are great. My votes are what I think are best for new users, and generally out of box experience. WRT having a neutral party write the report, I would propose that non-vendor TSC member(s) is responsible. Having a mini (or full) task force from the TSC would keep costs lower, and the efforts could even count towards those companies contributions for the month. Lastly, I have fairly strong feelings that if the two reports are not written using the same infrastructure (testing tools, profiling tools, and configurations), we unfortunately waste a lot of time. This to me is an additional benefit of having a neutral party write the reports, since they’ll naturally use the same tools for collecting data in each available RMW.
- Develop automated benchmark tool on ROS2 to evaluate performance of different DDS options and generate report for decision. The real value of ROS2 is to provide an open framework to accommodate different DDS solution.
- I think the RMW selection should be a technical decision rather than a political one. A technical report and a votation is the most transparent way to ensure this, and maintain ROS 2 as an open project
- Default RMW implementation should support all RMW interfaces.
- The so far bumpy roll out of Fast-DDS as the default highlights why its important to have the votes and change / make decisions every distribution. We probably should not have changed DDS vendors at an LTS distribution and only change them on non-LTS distributions so that by the time we get to an LTS distribution, we have 1 full distribution to find and resolve any major issues so we don’t ship an LTS distribution with large issues.
- As much as I’d like to deal with the politics, I think that this is a case where Open Robotics being the BDF L makes sense. It’s in our strong interest to have the best experience for the users. And we can maintain that role and I would recommend getting the TSC to explicitly endorse that process where the Tech Lead of the ROS project at Open Robotics will get the final decision.
- There are really 2 questions in 1 here - decision process & decision cadence. Both could (should?) be addressed separately. Personally my first choice would be for a change on odd years (non-LTS, offering time to smooth or even revert a decision before the next LTS) motivated by a neutral party analysis.
- Resolution: We will revisit default DDS vendor in K turtle (next non-LTS ROS release after Iron) and all Subsequent non-LTS release.
- TODO: Draft a new plan going forward summarizing feedback.
- Open Ended responses:
- [Lalancette | 20min] Discussion on Responding to REPS – Is this a TSC Task
- REP are used to create standards within the ROS community - example is REP 145 -- Conventions for IMU Sensor Drivers (ROS.org)
- They can also, potentially, be used for design documents
- REP process is documented in REP-1, but pretty out-of-date
- REP process has gone kind of moribund - unclear what the process is and who is responsible.
- Open Robotics is going to revise REP-1 to bring it up-to-date.
- Open questions:
- Who is the final authority on accepting REPs? Should it be the TSC?
- By unanimous straw vote ROS 2 TSC approves / rejects REPS.
- Chris or a committee will review REPs and bring them to the TSC. Email will be sent out before the meeting.
- Roughly the process is as follows:
- Draft REP received.
- Review committee works with REPs authors to iterate on draft based on feedback. We try to match a TSC member to be the REP proposers
- TSC does final vote / resolves conflict. At this point the REP should be mostly complete.
- TODO: draft a document covering REP process and bring it to the TSC [Technical Steering Cabal].
- Should the TSC review open REPs as a regular part of this meeting?
- Who is the final authority on accepting REPs? Should it be the TSC?
- Recurring business
-
Next ROS 2 distro release
- Iron planning still in progress
- Should have Open Robotics roadmap items for August TSC meeting
- Will almost certainly contain items for improving DDS out-of-box experience (this has also been discussed at the middleware working group)
- Timeline has been merged: Proposed timeline for Iron Irwini by gbiggs · Pull Request #2803 · ros2/ros2_documentation · GitHub
- But there is still time to change it; let’s discuss
- Changed all branches to rolling in core repositories and GitHub - ros2/ros2: The Robot Operating System, is a meta operating system for robots. ; update your scripts!
- Iron planning still in progress
-
Working groups [<=5 mins each]
- [Bence] Control
- Chainable controllers functionality landed
- Visualization coming soon
- Definitely happening:
- ros2_control ROSCon workshop
- ros2_ control ROSCon talk
- Deprecation of FakeSystem → MockSystem
- Deprecating pluginlib plugins is interesting
- ros2_control CLI commands cleanup / streamlining
- First time ros2_control node detect/support realtime kernel here
- Chainable controllers functionality landed
- [Angelo Cosaro] Edge AI
- No Updates.
- [Martin Losa] Embedded
- Vulcanexus new Release by Eduardo Ponz. Vulcanexus is the all-in-one ROS 2 tool set, and one of the goals is the integration of micro-ROS, the resource-constrained devices (microcontrollers) seamlessly into ROS 2 networks.
- Vulcanexus the all in one ROS 2 Toolset Presentation
- Drone swarm in the cloud by Javier Paris. Javier will present a Micro-ROS application scenario, in which a Micro-ROS based device is controlled through a remote machine (Cloud) via the ROS 2 Router. ROS 2 Router is the technology that allows to seamlessly communicate geographically distributed edge devices.
- DDS-Router
- eprosima DDS Router. A Micro-ros Cloud Scenario Presentation
- New Release micro-ROS Humble integrates microcontrollers seamlessly into ROS 2 Humble Hawskill by Pablo Garrido. Pablo will talk about the new features and enhancements released on the latest version of micro-ROS.
- Microros Humble Hawskbill Presentation
- [Bence] Control
-
[Tyler Weaver] Manipulation
- MoveIt Setup Assistant
- Many tutorial/docs updates
- Difficulty with changing trim subdirectory is blocking MoveIt release - How to change trim sub directory? - ROS Answers: Open Source Q&A Forum
- [Woodall] Middleware
- Agenda and minutes:
Middleware Working Group - Agenda and Meeting Notes - Google Docs - Discussed options for improving control of the network communication in ROS 2, e.g. how to have a single workstation talk to a single robot in an environment where there are many robots and workstations, all while not interfering with others.
- Agenda and minutes:
-
[Macenski] Navigation
- Continued development on MPPI controller
- Release of collision monitor Collision Monitor — Navigation 2 1.0.0 documentation
-
[Johnson] Real-time
-
[Andrei] Real-Time
-
[Biggs] Client libraries
- Discussed shortcomings in rclpy, some when compared with rclcpp
- Use of a default (globalish) context in rclcpp
- Rust client library is approaching a 1.0 release
- rclc is planning on improving executors for Iron Irwini
-
[Biggs] Safety
- No updates this month
-
[Deray] Security](mailto:adrian@foxglove.dev)
- Discussing a plan to publish a Journal of Open Source Software paper for SROS2 - planning to start after summer break
- No meeting in August for the summer break
-
[Macneil] Web
- Nothing major to report
- Excited about message types at runtime (REP 2011)
-
[Orlov] Tooling
- Michael Orlov (Apex.ai) is new lead for this WG
-