ROS 2 Crystal TSC Task List
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
Comment only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
1
Effort estimate
2
CategoryTaskSubtaskWeeksSizeClaimed byStatusConsider cutting?Notes
3
Usability (Functionality)
4
Client library features
5
Python remapping & parameter support13Open Roboticsdonehttps://github.com/ros2/rclpy/issues/202
6
Time: support for simtime, clock / time in Python, rates / timers using specific clocks, using same clock in tf28Open Roboticsdonehttps://github.com/ros2/ros2/issues/530
7
Actions: code generation, server / client API
https://github.com/ros2/ros2/issues/583
15Open Roboticsstartedhttps://github.com/ros2/ros2/issues/583
8
User defined callback queue interfaces
https://github.com/ros2/rclcpp/issues/519
mediumNeeded to enable tf2_ros::message_filters
9
A way to apply namespaces automatically, i.e. NodeHandle from ROS 1
https://github.com/ros2/rclcpp/issues/531
smallUseful for writing libraries that take a node and use to create some things and you'd like to put just that library's entities in a namespace
10
support polling of subscriptions without an executor:
https://github.com/ros2/rclcpp/issues/520
smallThis is useful for integrating with other event loops and real-time programming
11
12
Launch15https://github.com/ros2/launch/issues/101
13
NestingOpen Roboticsdone
14
Pass parameters to nodes/componentsOpen Roboticsdone
15
Support life cycle, support componentsOpen Roboticsstarted
16
Launch in containers
17
Dynamic node graph
18
Design interaction model2Y
19
Design Event-based notifications2Y
20
Implementation tasks12Y
21
Dynamic topic remapping12YDynamic remapping and aliasing through a Service interface
22
IDL support
23
Add support for messages defined directly in .idl files
Parse .idl files to generate client library code
Add handling of wide strings (first step toward internationalization)
11Open RoboticsstartedThis could have a wide impact, need to see if we can do it in a way that doesn't create huge changes
24
Rqt
25
Python 3 support for python_qt_binding2Picknik
26
Convert GUI and GUI-cpp to support ROS2 API4Picknik
27
Port ROS1 rqt packages10This would probably cover about 1/2 of the core plugins, we would need to prioritize which ones, there's 21 packages core package and 49 total
28
Enhanced QoS Settings
29
Expose LIVELINESS QoS setting2ApexShould help to detect when pubs/subs drop in and out
30
LIVELINESS - RMW (Connext, FastRTPS, & OpenSplice)4ApexSupports notifications for node failures and dynamic node remapping
31
Gazebo support
32
Port main plugins from gazebo_ros_pkgs8Open Roboticsalmost doneLast pending PR: https://github.com/ros-simulation/gazebo_ros_pkgs/pull/827
33
Documentation
34
Create a web-accessible central index where packages can be browsed and their metadata searched (e.g., extend/configure rosindex to crawl ROS 2 rosdistro files: https://rosindex.github.io/)4Open Roboticsstartedhttps://github.com/ros2/ros2/issues/534
35
Add the ability for a package to offer .rst documentation that the index will ingest, render, and search over (e.g., add a new url tag to package.xml that specifies a place to fetch the .rst files)
Add the ability to upload/specify in the index non-package-specific .rst documentation
8Open Roboticsstartedhttps://github.com/ros2/ros2/issues/577
36
Supporting packages
37
port image_transport8Open Roboticsdone
38
robot_web_tools:
Update rosbridge to speak ROS 2
Update robot web tools as needed
Support at least robot model, point cloud, TF, laser scan, interactive markers
Improve efficiency of TF and point clouds as needed
Do authentication and encryption on the web socket
Pub, sub, services (and maybe params, unless the robot model is accessible in a different way)
11Open Roboticsstarted
39
navigationlargeIntelstarted
40
tf2_message_filtermedium
41
42
Performance
43
Fair Scheduling
44
Priority and deadline for subscriptions2YSeparate from message priority and deadline, this is used for scheduling and delivery within a process
45
Deterministic scheduler (fair-scheduling)12YUses priority and deadlines to determine execution order for message delivery
46
Scheduling diagnostics messages2YLog failures to meet deadlines at runtime
47
Optimizations
48
No-op publishing for no matching subs6YCurrently ROS2 only uses topic name for matching count, should use QoS settings as well so publishers can avoid expensive work if there's no subscribers (debateable)
49
intra process communication improvements
currently disabled by default and can result in double delivery
also latency concerns:
https://github.com/ros2/rclcpp/pull/504#issuecomment-406115061
medium
50
Performance testing
51
Write performance tests (e.g., ping-pong and burst for a variety of message types)
Identify a couple of EC2 instance types to test on
Establish performance benchmarks on those instance types
Integrate performance test results into Jenkins
8Open RoboticsScheduled for October & November
52
53
Security
54
Secure ROS services
55
Design: Secure ROS services2Amazon
56
Design: Secure parameters service2AmazonDDS does not allow per-key authorization, need next version of DDS-Security in order to provide this, you can either change all parameters or none of them with the current implementation.
57
Changes to security yaml configuration2Amazon
58
RMW Updates (FastRTPS, Connext, OpenSplice)4Amazon
59
Secure key storage
60
Nag script to check key storage and recommend setting2Amazon* DEPENDS on dynamic node graph introspection capabilities
61
Secure configurations storage
62
Signed configuration files4launch, security configuration
63
Signature verification chain design4
64
DDS Security Events Logging
65
High Level Design2How do we integrate ROS2 configuration to support security logging?
66
FastRTPS integration3Does FastRTPS support a logging plugin? Is there an existing implementation?
67
RTI Connext integration3
68
OpenSplice integration3YDoes OpenSplice support security at all?
69
Network Security
70
Robot firewall, network permissions for connections6Need more detail
71
Best Practices
72
Security-Driven Tests4Integration tests as part of CI build that ensure we don't have regressions in security
73
74
Reliability
75
Build farm
76
Make changes at build.ros2.org, not ci.ros2.org
Keep old .debs around (e.g., use aptly with S3)
Allow nightly jobs to be configured with a .repos file
Allow a CI/devel job that crosses multiple repos (can require common branch name)
Allow use of nvidia-docker (for gazebo or rviz)
Add incremental CI job that starts from the most recent nightly artifacts and overlays source from a .repos file
Update to supported Jenkins LTS
19Open Roboticsstarted
77
Static analysis tools
78
Testing framework6ApexstartedNeed to assess what's there today
79
Dynamic fuzzing tools4ApexYMultiple platforms means multiple tools, need to have each integrated into it's respective CI builds
80
Integrate PC-lint Plus to Jenkins (e.g., nightly Linux job)
Perform memory audit on more packages
Check for MISRA compliance and fix/document violations in more packages
8Open Roboticsstarted
81
API review
82
Review selected subset of core APIs for consistency and usability; implement and propagate updates that resultmediumOpen Robotics
83
Monitoring
84
Logging (warnings, errors, etc.)
85
Configuration for logging system (dynamic, file-based)4Amazon
86
Log to file2Amazon
87
Log to rosout topic2Amazon
88
C++ stream operators2Amazon
89
Data Logging (rosbag)
90
Implement one disk storage backend (e.g., sqlite)
Implement librosbag (could be C++ with C API for binding)
Implement command-line tools (probably Python)
19Boschstarted
91
Log Shipping
92
Rotating bag files4YThis is needed for batching data
93
Log file management agent8YNeeds to handle rotating files, clear out old data, publish metrics
94
Diagnostics
95
Diagnostics messages package2Need more detail
96
Instrumentation of core ros22Need more detail
97
Diagnostics logging2
98
diagnostic_aggregatorsmall
99
100
Reference Architectures
Loading...
Main menu