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

ROS 2 Eloquent Elusor #734

Open
wjwwood opened this issue Jun 19, 2019 · 5 comments

Comments

Projects
6 participants
@wjwwood
Copy link
Member

commented Jun 19, 2019

This meta ticket aggregates the tasks targeted for the next ROS 2 release, Eloquent Elusor.

Release date is TBD.

Tasks will be updated as they progress.


Planned for Inclusion

  • rclcpp:
    • general improvements
    • refactor executor
  • rclcpp/rclpy parameters:
    • passing key-value parameters on CLI
  • launch/launch_ros:
    • XML frontend
  • ros2cli:
    • make daemon “reset” itself when the IP address changes (e.g. by DHCP)
  • rviz:
    • support for interactive markers
    • finish migration of wrench display (torque ring) ros2/rviz#396
    • support for use_sim_time
    • using message_filters (ros2/rviz#375)
  • rqt:
    • port parameter plugin
  • diagnostics:
    • continue porting
  • rosbridge_suite:
    • continue porting
  • rosbag2:
    • continue improving
  • buildfarm:
    • RPM packages for Centos
  • Performance testing

Stretch Goals

We think that these items are important but don't currently have the bandwidth to commit to them; if you can help out, let us know!

Architecture

  • Node / participant mapping, move into context
  • Node name uniqueness:

Improvements

  • Increase test coverage to reduce release-time manual testing
  • Improve documentation content
  • macOS support
  • powershell support in ament_cmake
  • performance of sourcing large isolated workspaces

Feature “holes”

  • rviz/image_transport: support image transport
  • Parameter: expanding constraints, set allowing to override
  • 3/N-part type names in the resource index
  • Expose QoS settings, graph API
  • log4cxx revisit

Technical Debt

  • ros2interface CLI tool (replacement for ros2msg/ros2srv)
  • rclcpp improvements, high level structure
  • Use pybind11 in rclpy, best practice
  • API review

Infrastructure

  • support rebase from forked repos in CI
  • generate package-specific docs
  • versioned documentation

Demo

  • Support TurtleBot 2/3 with Dashing

We will continue to refine this list as we consider more input.

@wjwwood wjwwood added the enhancement label Jun 19, 2019

@wjwwood wjwwood added this to To do in Eloquent via automation Jun 19, 2019

@vmayoral

This comment has been minimized.

Copy link

commented Jun 19, 2019

Find below a first peek into @AcutronicRobotics contributions (to be edited and detailed as we progress):

  • RT QA buildfarm
  • Information models
  • Manipulation
  • Security

Edit: Unfortunately despite our team's efforts, due to internal issues, Acutronic Robotics has to take back their commitments for Eloquent. What looked like a clear road ahead for us at the time of writing has recently changed. It's highly unlikely we'll be able to fulfill our commitments thereby we'd like to apologize and take them back.

@o-olalde

This comment has been minimized.

Copy link

commented Jun 19, 2019

From @aliasrobotics we have these contributions in mind:

  • Best security practices for robot hardening

  • Security tool development

  • Security testing for applications on top of ROS-Eloquent

  • Security workshops to the community

@gbiggs

This comment has been minimized.

Copy link

commented Jun 23, 2019

From Tier IV we are looking at the following contributions initially, but we expect this list to change as we figure out more about our needs and resources.

  • (Firm goal) Debian as Tier 2 platform
  • (Fuzzy goal) Contribute to implementing deterministic publish/subscribe (coordinated via Real-time WG)
    • Possibly implement a wait-list-based executor (coordinate with ?)
    • Possibly implement callback groups functionality (coordinate with @wjwwood)
  • Implement an rmw library for RTI's real-time/certifiable DDS (coordinate with Real-time WG/Apex.AI)
  • Sample structured safety case for a robot application (coordinated via Safety WG)
@robotpilot

This comment has been minimized.

Copy link

commented Jul 16, 2019

These are the efforts ROBOTIS is working on for ROS 2 Eloquent:

  • TurtleBot3:
    • Support ROS 2 Eloquent
    • Support ROS 2 binary packages for TurtleBot3
    • Support Linux distro image based on Raspbian for ROS 2 Dashing and Eloquent with TurtleBot3
    • Porting ROS 1 package of existing TurtleBot3 to ROS 2
      (https://github.com/ROBOTIS-GIT/turtlebot3)
  • turtlesim:
  • ros2arduino:
    • Support ROS 2 Eloquent and add examples and documentation
    • Support Arduino and OpenCR (provide completely open-source hardware and software for ROS 1 and 2)
  • ROS 2 Tools (rqt plugin):
    • We would like to join the development of the existing ROS 2 Tools based on rqt and contribute to the more diverse ROS 2 tools.

(to be edited and detailed as we progress)

@Karsten1987

This comment has been minimized.

Copy link
Contributor

commented Jul 17, 2019

Bosch's contribution for Eloquent:

  • diagnostics
    • obtain maintainership of the ros2-devel branch
    • finish porting core packages
    • releasing packages into Eloquent (and Dashing if possible)
  • rosbags
    • continuing maintaining rosbags
    • further feature improvements (start, stop, looping)
    • handling QoS settings correctly
  • ros2 executor
    • further research on possible ros2 rclcpp executor models
    • release of EDF (earliest deadline first) executor
    • rcl executor model for embedded ros2
  • zero-copy middleware
    • release of Bosch's zero-copy shared memory middleware
    • fleshed out RMW implementation to interface and enable zero-copy of ROS2 messages (changes to rclcpp have to be made for this)
    • (optional) bridge application for remote access with DDS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.