ROS 2 TSC Meeting Agenda 2020-07-16
- Attendees
- Apex.AI: Dejan Pangercic
- ADLINK: Joe Speed
- eProsima: Jaime Martin Losa
- Bosch: Karsten Knese
- Samsung: Steve Macenski
- Rover Robotics: Nick Fragale
- TRI: Toffee Albina, Ian McMahon
- Microsoft: Sean Yen
- ROBOTIS: Will Son
- Amazon: Aaron Blasdel
- LG Electronics: Lokesh Kumar Goel
- Open Robotics: Brian Gerkey, Dirk Thomas, Chris Lalancette, Tully Foote, Louise Poubel
- Canonical: Kyle Fazzari
- Intel: Harold Yang
- SwRI, representing CCDC-GVSC: Jerry Towler
- PickNik: Dave Coleman
- Preliminaries
- [Gerkey] Open Robotics rep change: Chris Lalancette
- [Toffee] TRI rep change: Ian McMahon
- Old business
- [Macenski] Pending REP-2005 PRs for inclusion (robot_localization, slam_toolbox, navigation.ros.org, bond)
- [Gerkey] Need follow-up on performance issues discussion
- TSC-internal doc in progress
- New business
- [Gerkey] Reminder to fill in your contribution report, to be included in the minutes
- [Aaron] Will look into sharing the Amazon script for generating contribution reports with TSC members.
- Recurring business
- Working groups [TBD mins each]
-
[Knese] Control
- First big design PR, how to compose robot hardware dynamically through URDF: https://github.com/ros-controls/ros2_control/pull/101
- Trying to set up RT CI: https://github.com/ros-controls/ros2_control/issues/118
- Porting controllers from ROS1 to ROS2: https://github.com/ros-controls/ros2_controllers/issues/78
- First try to cross-talk with manipulation WG: https://github.com/ros-controls/ros2_control/issues/116
-
[Speed] Edge AI
- 43 community responses, could use more. Please share widely this ROS user ML survey https://forms.gle/eMVGUqpXNgVPfBGs7
- July 23rd WG meeting: review ROS user ML survey, plan next steps, ros2 YOLACT guest speaker, NVIDIAâs planned contrib
-
[Martin Losa] Embedded
- Weâll retake the meetings starting the next 22nd of July, at 5 pm CEST (8 am PDT), every four Wednesdays.
- Micro-ROS: Foxy Official Release is delayed until the end of this month. The current status:
- There is a feature/foxy_migration branch (PR)
- Tested on FreeRTOS, Zephyr and Nuttx, on the boards: Olimex STM32-E407, ST Discovery IoT y Crazyflie 2.1.
- Doing a latest code review, and improving docs to create a better release.
-
[Macenski] Navigation
- 3 students joining us this summer working on localization, testing, and dynamic obstacle avoidance capabilities
- Released Navigation2 and dependencies for Foxy
- Holding retention at about 20 people attending working group meetings
- Big pushes on test coverage, now at 70% total coverage with 5 packages exceeding 90%.
- Working on getting other senior co-maintainers from companies and research organizations that rely on Nav2 / ROS2 mobile robot support, any interest please reach out. We currently fail the âbus testâ.
- So far Rover has committed to 0.25 FTE to help me triage and review. Looking for 1-2 more organizations to help part time to have distributed support
-
[Pangercic] Real-time
- We have proposal for âThreaded Callback with priority, affinity and overrun handlerâ: Threaded Callback with priority, affinity and overrun handler
- ros2 timer latency measurement by @takuya.azumi
- Invited talk: microblx Announcing the microblx-ROS connector block
- Invited talk 2: High performance edge data processing using advanced lock-free techniques by Pablo Ghiglino (@pablogh) at Klepsydra
- Starting to create a backlog of issues to work on: https://docs.google.com/document/d/1zBKwDUDeWvJNyCvjzYriaZQoZO2VYGWe1uxw5Xxn5cY/edit#heading=h.7who02hycsml => 2.c
- Are WG project templates ready?
-
[Biggs] Safety
- [Gerkey] Talk to Geoff and figure out how to handle reporting on this one.
-
[Fazzari] Security
- CIS benchmark draft for ROS has been opened to the community (forum post with more info coming soon)
- Working on internal vuln handling process
- Released nodl v0.2 to Foxy
- Updated NoDL design doc to reflect reality
-
[Blasdel] Tooling
- Had âBig Ideas Dayâ to take time to consider the purpose of the WG. Landed on the following decisions:
- First focus of the WG should be to present a clear backlog & roadmap, triage bugs and feature requests, and make it very easy for the community to know what is important to contribute to.
- Will double down on quality, stability, and maintenance processes before taking on any new products.
- Those new products should probably be focused on the âROS-specificâ e.g. rosbag2, diagnostics, ros development environment, (rviz, rqt?) and focus slightly less on e.g. CI which has a wider community building tools.
- Semiweekly meetings will spend more time on the backlog.
- Had first âTopic Specific Breakout Sessionâ to discuss rosbag2 performance
- Had âBig Ideas Dayâ to take time to consider the purpose of the WG. Landed on the following decisions:
-
Went very well, we like the idea of more âBreakout Sessionsâ to discuss designs for e.g. Diagnostics, Cross-compile, etc
-
Adam Dabrowski from Robotec presented his findings on rosbag2 performance, identifying low hanging fruit for us to prioritize.
-
[Coleman] Manipulation
- Effort to reduce compile time of MoveIt
- Started Noetic bloom release
- Dropping Kinetic support in our primary branch
- 2 GSoC students and 2 interns working on new features
- Adding multiple planner support
- Started Foxy bloom release
- 80% of MoveIt functionality now ported to MoveIt 2
-
World MoveIt Day 2020 Recap
- 67 pull requests merged
- 100 pull requests opened
-
- Working groups [TBD mins each]
Monthly contribution self-reporting
Guidelines
- Each TSC representative: Please fill in your organizationâs section with the engineering activities and other contributions that your organisation has made to ROS 2.
- Please fill your section prior to our next meeting on 2020-07-16.
- This report covers work done since the previous TSC meeting: 2020-06-19 - 2020-07-16. Donât include work done earlier or planned for the future.
- Contributions may come from you, your colleagues, and/or external collaborators that youâre funding to do the work thatâs reported.
- Each package to which youâre contributing should be included on the list of ROS 2 Common Packages.
- When possible, provide links to your contributions (e.g., pull requests).
- Provide enough detail for everyone to understand what was done.
- These reports will be included in the published meeting minutes.
- Example:
Reports
-
ADLINK Technology: Joe Speed
- Preparing cyclonedds 0.7.0 for rolling, dashing and eloquent.
- cyclonedds ease-of-use improvements, new features, performance, fixes for flakey tests, more Windows fixes, etc. Eclipse Foundationâs EMO reviews for release to Open Robotics August 5th
- To support needs of several ROS community members, extensive testing and tuning with result that:
- 2.4x throughput increase with defaults to 11Gbs with 100KB messages. Details here https://github.com/eclipse-cyclonedds/cyclonedds/pull/558
- Fixed long latency for large messages including 10M point clouds https://github.com/eclipse-cyclonedds/cyclonedds/pull/555
- fyi - 0.7.0 is the follow-up to release 0.6.0 that I didnât sufficiently report on last month
https://github.com/eclipse-cyclonedds/cyclonedds/releases/tag/0.6.0- SROS2 (please thank Canonical) & DDS Security
- Mixed language programming, supporting multiple (de)serializers for a single topic in a single process
- Improved QoS support: full support for deadline, lifespan and liveliness
- Improved scalability in matching readers and writers
- Improved tracing
- Extension of platform support: Android, Android Auto; Known to work on FreeBSD, CheriBSD; known to work with the musl C library. Still supports Solaris 2.6 because Morgan & Erik are sentimental
- Windows-specific changes: Fixes multicasts to addresses also used by non-Cyclone processes (caused by accidentally linking with an old sockets library); Correct handling of non-English network interface names
-
Amazon: Aaron Blasdel
-
ament/ament_lint
- [backport dashing] support flake8 3.8 | Emerson Knapp | https://github.com/ament/ament_lint/pull/252
-
colcon/colcon-bundle
- Fix support for --pip-requirements | Devin Bonnie | https://github.com/colcon/colcon-bundle/pull/173
- 0.0.23 | Anas Abou Allaban | https://github.com/colcon/colcon-bundle/pull/176
- Bump to version 0.0.21 for release | Emerson Knapp | https://github.com/colcon/colcon-bundle/pull/172
- Bump version to 0.0.22 for release | Devin Bonnie | https://github.com/colcon/colcon-bundle/pull/174
- Use ubuntu mirrors package for debian sources.list | Anas Abou Allaban | https://github.com/colcon/colcon-bundle/pull/175
-
colcon/colcon-ros-bundle
- Bump version to 0.0.15 for release | Emerson Knapp | https://github.com/colcon/colcon-ros-bundle/pull/41
-
ros-infrastructure/rospkg
- Add Pop! OS detector | Emerson Knapp | https://github.com/ros-infrastructure/rospkg/pull/199
-
ros-tooling/action-pypi
- Remove reviewers from dependabot config | Anas Abou Allaban | https://github.com/ros-tooling/action-pypi/pull/93
-
ros-tooling/action-ros-ci
- Add symlink install only to build command | Anas Abou Allaban | https://github.com/ros-tooling/action-ros-ci/pull/263
- Bump setup-ros to 0.0.21 | Thomas Moulard | https://github.com/ros-tooling/action-ros-ci/pull/237
- Bump setup-ros to 0.0.22 | Devin Bonnie | https://github.com/ros-tooling/action-ros-ci/pull/239
- Bump setup-ros to 0.0.23 | Devin Bonnie | https://github.com/ros-tooling/action-ros-ci/pull/243
- Remove reviewers from dependabot config | Anas Abou Allaban | https://github.com/ros-tooling/action-ros-ci/pull/261
-
ros-tooling/action-ros-lint
- Bump setup-ros to 0.0.21 | Thomas Moulard | https://github.com/ros-tooling/action-ros-lint/pull/126
- Remove reviewers from dependabot config | Anas Abou Allaban | https://github.com/ros-tooling/action-ros-lint/pull/138
-
ros-tooling/cross_compile
- Add more informative messaging when user provides unsupported OS value | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/228
- Add x86 mixin to fix error, and reformat mixin as compact yaml | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/218
- Allow relative paths for the workspace argument | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/216
- Donât swallow exceptions in the timer | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/227
- Fix units to be units instead of measurable properties | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/220
- Rename data_timer api to just âtimerâ | Emerson Knapp | https://github.com/ros-tooling/cross_compile/pull/229
-
ros-tooling/libstatistics_collector
- Add autoapprove action for dependabot | Prajakta Gokhale | https://github.com/ros-tooling/libstatistics_collector/pull/40
-
ros-tooling/setup-ros-docker
- Create README.md | Devin Bonnie | https://github.com/ros-tooling/setup-ros-docker/pull/18
- Only allow flake8<3.8 to be installed | Thomas Moulard | https://github.com/ros-tooling/setup-ros-docker/pull/16
-
ros-tooling/system_metrics_collector
- Add autoapprove action for dependabot | Prajakta Gokhale | https://github.com/ros-tooling/system_metrics_collector/pull/156
- Add automerge action for dependabot | Prajakta Gokhale | https://github.com/ros-tooling/system_metrics_collector/pull/157
- Bump setup_ros version to fix test failure | Emerson Knapp | https://github.com/ros-tooling/system_metrics_collector/pull/150
- Bump test and nightly actions versions | Devin Bonnie | https://github.com/ros-tooling/system_metrics_collector/pull/151
- Use setup-ros-docker for the e2e test | Emerson Knapp | https://github.com/ros-tooling/system_metrics_collector/pull/149
- [Test PR] No-op test commit | Prajakta Gokhale | https://github.com/ros-tooling/system_metrics_collector/pull/159
- [Test PR] Prajaktg/test auto merge | Prajakta Gokhale | https://github.com/ros-tooling/system_metrics_collector/pull/160
-
ros2/demos
- Remove deprecated warning for rclcpp in clang builds | Anas Abou Allaban | https://github.com/ros2/demos/pull/459
-
ros2/rclcpp
- [Foxy] Add check for invalid topic statistics publish period | Devin Bonnie | https://github.com/ros2/rclcpp/pull/1172
-
ros2/rcpputils
- Bump actions versions and add ament_package dependency workaround | Devin Bonnie | https://github.com/ros2/rcpputils/pull/75
- Update actions to the latest versions | Devin Bonnie | https://github.com/ros2/rcpputils/pull/77
-
ros2/ros2_documentation
- Add Topic Statistics to concepts | Devin Bonnie | https://github.com/ros2/ros2_documentation/pull/767
-
ros2/ros_buildfarm_config
- Revert âBlacklist cartographer{_ros} for Foxy Focal arm64. (#101)â | Emerson Knapp | https://github.com/ros2/ros_buildfarm_config/pull/105
-
ros2/rosbag2
- [foxy backport] Disable broken tests for pull requests (#440) | Emerson Knapp | https://github.com/ros2/rosbag2/pull/441
-
-
Apex.AI: Dejan Pangercic
- Apex.AI paid Robotec.AI for the rosbag2 performance investigation work https://github.com/ros2/rosbag2/issues/435. With Bosch we also âsupervisedâ the workâŚ
- Fixes in https://github.com/colcon/colcon-lcov-result/pulls
- Apex.AI will in the remaining of the 2020 have very low contribution to packages listed here: https://ros.org/reps/rep-2005.html because of 2 reasons:
- We are 100% focused on ISO 26262 certification of ROS 2 (findings of this process we will share in early 2021)
- We drive and contribute masively to this project https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto (which was not accepted in REP-2005)
- We want to be fully transparent and If this fact requires actions or sanctions we will accept this
-
Bosch: Karsten Knese
- ros2/rclcpp
- Callback-Group Executor demo was ported to Foxy. It is getting integrated by Pedro Pena: https://github.com/ros2/rclcpp/pull/1218/
- ros2/rclc
- Working on support for services, clients, and guard-conditions in rclc Executor.
- Lifecycle node for C API, i.e. in micro-ros/rclc (and later ros2/rclc). Technically a wrapper around the rcl node: https://github.com/micro-ROS/rclc/pull/38
- Micro-ros
- Rolling release of system modes package (minor changes w.r.t. to deprecated APIs).
- ros/diagnostics
- Released Diagnostics in Foxy with Diagnostics Aggregator support: https://github.com/ros/diagnostics/pull/147
- RFC: Move maintainership of ROS1 branches to âOrphaned Package Maintainer Groupâ: https://github.com/ros/diagnostics/issues/154
- ros2/rosbag2
- Lots of little bug and test fixes
- Working on improving the C++: https://github.com/ros2/rosbag2/pull/457 https://github.com/ros2/rosbag2/pull/452 https://github.com/ros2/rosbag2/pull/451
- Performance Testing Review (credits robotec.ai): https://github.com/ros2/rosbag2/issues/435
- ros-controls/ros2_control & ros2_controllers
- Coordinating all efforts around re-architecture
- First big design change PR: https://github.com/ros-controls/ros2_control/pull/101
- ros2/rclcpp
-
Canonical: Kyle Fazzari
- ubuntu-robotics/nodl_python
- Update design doc to reflect current reality
- Move away from tooling WG actions and integrate codecov (https://github.com/ubuntu-robotics/nodl/pull/22)
- Remove qos until we have a better use-case (https://github.com/ubuntu-robotics/nodl/pull/23)
- Split out coverage by package (https://github.com/ubuntu-robotics/nodl/pull/24)
- Move away from pkg_resources (https://github.com/ubuntu-robotics/nodl/pull/25)
- (in progress) Move from ambiguous true/false to role (https://github.com/ubuntu-robotics/nodl/pull/21)
- Release 0.2.0 into Foxy (https://github.com/ubuntu-robotics/nodl/pull/29)
- fastrtps/fastrtps
- (in progress) Implement logging to DDS
- ament/ament_lint
- Add ability to customize ignored error codes to pep257 (https://github.com/ament/ament_lint/pull/241)
- Remove use of âextendâ (https://github.com/ament/ament_lint/pull/262)
- ubuntu-robotics/nodl_python
-
eProsima: Jaime Martin Losa
- fastdds/fastdds
- Phase III of Shared Mem Transport:
- Design of architecture changes to avoid if possible copies, serialization and RTPS encapsulation
- Scalability & Discovery improvements
- Testing intensively discovery, including Server Based discovery, with real world examples, to improve performance
- Large Data Persistence Support.
- Fast DDS didnât support trasient durability for large data, we are fixing that.
- DDS API:
- On_incompatible_qos support
- 2.0 Bug fixing
- Phase III of Shared Mem Transport:
- micro-ROS
- Intensive dissemination work. Many conferences to demonstrate Micro-ROS: ROS Developers Day, Bosch internal webinars, FIWARE webinars, Zephyr partnership, and others.
- micro-ROS for Foxy in PR. Improving docs. Release delayed until end of July.
- fastdds/fastdds
-
Intel: Harold Yang
- Enable moveit_ros_visualization/trajectory_rviz_plugin to MoveIt2 (https://github.com/ros-planning/moveit2/pull/201)
- Enable moveit_ros_benchmarks to MoveIt2 (https://github.com/ros-planning/moveit2/pull/225), review in progress
- ROS2 Realsense for Foxy release
-
LG Electronics: Lokesh Kumar Goel
- ros/meta-ros
- Enabled support for Foxy release build for dunfell version of OpenEmbedded Platform
- Added support for latest yocto releases: warrior, zeus and dunfell
- Dropped support for Kinetic and Crystal in meta-ros
- Updated recipes for Melodic, Dashing and Eloquent to Q12020 version of ROS and ROS2 index.
- PR list: https://github.com/ros/meta-ros/pulls?q=is%3Apr+is%3Aclosed+is%3Amerged
- Roadmap: https://github.com/ros/meta-ros/wiki/Superflore-OE-Recipe-Generation-Scheme (See Milestone 12 and 13)
- ros/meta-ros
-
Microsoft: Sean Yen
-
https://github.com/ros2/ros2_documentation/pull/506
- Met with Open Robotics and got a better understanding of what ideal to be released.
- The work is booked by our team in August and we will update we make progress.
-
https://github.com/ros-planning/moveit.ros.org/pull/466
- Updated the MoveIt build instructions and installation for Windows users.
- Porting MoveIt2 to Windows is in progress.
-
https://github.com/ros2/ros2_documentation/pull/506
-
Open Robotics: Dirk Thomas
- Meta ticket for Galactic Geochelone: GitHub issue
- Please consider posting your planned contributions there
- The new ROS 2 distribution Rolling Ridley has been created (from Foxy) which represents the unstable development version of ROS 2. Future stable distros (like Galactic in May 2021) will be forked from Rolling some time before the release. [REP 2002, initial population]
- Going Green⢠initiative: significant progress of triaging test failures and warnings
- Unfortunately Windows builds are broken since last night
- CI packaging jobs: all green
-
CI nightly jobs:
- most jobs are green, except:
- *_repeated jobs: still having some test failures since flaky tests are more likely to show here
- CentOS: has a compiler warning due to bullet, waiting for upstream update
- clang_libcxx: a few compiler warnings remaining
- Windows debug: some test failures, mostly geometry2
- most jobs are green, except:
- Rolling dev job (Linux only): almost all green
- Rolling CI (Linux only): more updates hopefully next time
- Meta ticket for Galactic Geochelone: GitHub issue
-
PickNik: Dave Coleman
- ros-planning/moveit2
- Port trajectory_rviz_plugin (https://github.com/ros-planning/moveit2/pull/201) *
- Port moveit_fake_controller_manager to ROS2 (https://github.com/ros-planning/moveit2/pull/202) *
- simple_controller_manager_fixes, fix node spinning (https://github.com/ros-planning/moveit2/pull/204) *
- Port IKFast kinematics solver (https://github.com/ros-planning/moveit2/pull/205)
- Port CachedIKKinematicsPlugin (https://github.com/ros-planning/moveit2/pull/207)
- Enable clang-tidy-fix and ament_lint_cmake (https://github.com/ros-planning/moveit2/pull/210)
- Apply missing clang-tidy fixes (https://github.com/ros-planning/moveit2/pull/215)
- Preparations for Foxy branch (https://github.com/ros-planning/moveit2/pull/226)
- ros-planning/moveit
- MoveIt still synced routinely to MoveIt 2
- During this 30 day date range 20 pull requests merged from PickNik (62%)
- ros-planning/moveit2
-
ROBOTIS: Will Son
- Update and release for Noetic/Foxy TurtleBot3 dependency packages
- hls_lfcd_lds_driver
- Turtlebot3_msgs
- Working on applying ament_lint by GitHub Actions for ROS2 turtlebot3 packages
- Update and release for Noetic/Foxy TurtleBot3 dependency packages
-
Rover Robotics: Nick Fragale
- Creating Webinar Series âOvercoming the challenges of teaching ROS and ROS 2 during COVID-19â, first one scheduled for July 21, will repeat bi-weekly or monthly, havenât decided yet.
- Training Will Rook in on ROS 2 to increase contribution ability and reduce our dependence on Dan Rose being the oracle or ROS 2 knowledge internally. He has been on vacation and his absence was strongly felt in terms of ROS 2 progress.
- Talking with computer vendors (simplyNUC and NVIDIA) on getting Ubuntu 20.04 pre-installed, the timeline of this will determine the adoption rate of ROS 2 Foxy and we want to make sure it happens before the school year starts.
-
Samsung: Steven Macenski
- Releasing Navigation2 and related ecosystem packages
- Designing new localization framework to replace AMCL
- Managing technical development of Hybrid-A*, Theta*, and OMPL planners
- Porting Grid Maps to ROS2 for use in Navigation2
- Increasing Navigation2âs test coverage
- General Navigation2 community contribution and technical management
- Adding Lifecycle BondCpp support
-
GVSC: Jerry Towler (SwRI)
- Contributing to rosbag improvements
- Continuing work on launch system refactoring
- https://github.com/ros2/design/pull/272 (design addresses https://github.com/ros2/launch/issues/114)
- Launch system refactoring leads into multi-machine launch control, which has been our primary goal for a while
-
Tier IV: TBD
-
Toyota Research Institute: Toffee Albina (-> Ian McMahon)
- We are working on initial support for SDFormat in the ROS2 ecosystem. Our first goal is to use SDF files with all the current URDF tooling: urdf, urdf_parser_plugins, joint_state_publisher, and downstream tools like robot_state_publisher and RViz. In this initial support, we are not dealing with certain SDFormat topologies that do not conform to URDF: no closed loop kinematic chains, only one model per file, limited support for meshes, but we hope to address these limitations in the future. Along the way, we have ported Collada plugin support to ROS2, as it was helpful to debug some of the other tooling in the pipeline. Please feel free to read and comment on the overarching proposal in this URDF issue:
- Large caveat - pull requests are open, but nothing has landed yet
- urdf_parser_plugin ported to ROS2 (allowing alternative file formats to populate URDF Model data): https://github.com/ros2/urdf/pull/13
- Collada-URDF support ported to ROS2: https://github.com/ros/collada_urdf/pull/39
- Initial SDFormat for ROS2 ecosystem: https://github.com/ros/sdformat_urdf/pull/1/files
- joint_state_publisher support for robot_descriptions containing sdformat strings: https://github.com/ros/joint_state_publisher/pull/55