ROS 2 Action Plan
At a high level the goal for actions in Crystal is to enable porting moveit and the navigation stack to ROS 2.
Required by Crystal release
- rclpy API for action client and action server
- rclcpp API for action client and action server
- rcl has code for action server and action client that is used by client libraries
- Action server and client support features needed to make it possible to write a bridge with ROS 1
- supports multiple goals simultaneously
- examples repo has action API examples for rclpy and rclcpp
- test_communication tests for cross client library actions
- test_communication tests for cross rmw implementation actions
- CLI
ros2 topic list and ros2 service list should not show action topics by default
- Support ROS 1 .action files
- Support .idl files once the IDL pipeline for services and messages is fully functioning
Issues
g1
g2
g2.5
g2.75
g3
g4
g5
g5.5
g6
g7
g8
g9
Likely not included in Crystal release
Good places for community contribution
- ROS 1 bridge for actions
- CLI
ros2 action
- SimpleActionServer and SimpleActionClient APIs in python or c++
Places for Action discussion
ROS 2 Action Plan
At a high level the goal for actions in Crystal is to enable porting moveit and the navigation stack to ROS 2.
Required by Crystal release
ros2 topic listandros2 service listshould not show action topics by defaultIssues
g1
actionrosidl#301 Neeed to be able to generate msg and srv c and c++ code in anactionnamespaceactionfolder rosidl_typesupport_fastrtps#9 Allow fastrtps typesupport to generate service in action folderactionfolder rosidl_typesupport_opensplice#6 Allow opensplice typesupport to generate services in actionactionfolder rosidl_typesupport_connext#11 Allow connext typesupport to generate services in action folderg2
.actionfiles into intermediate representationg2.5
actionrosidl_python#13 Need to be able to generate msg and srv python code inactionmoduleg2.75
g3
g4
folder
g5
rclcan depend on in ROS 2 There is https://github.com/ros-geographic-info/unique_identifier/tree/ros2 , but it depends on boost/rospy/roscpp , will need something with fewer dependencies.g5.5
g6
g7
g8
g9
Likely not included in Crystal release
Good places for community contribution
ros2 actionPlaces for Action discussion