diff --git a/README.md b/README.md index b48a53fe..34b4f21a 100644 --- a/README.md +++ b/README.md @@ -502,3 +502,51 @@ topics: ``` Note that the `qos` section can be omitted entirely and options not set are left default. + +# Action bridge + +This bridge extends the `ros1_bridge` to action interface. The bridge works in both directions, meaning an action goal can be sent from ROS1 client to ROS2 server, or from ROS2 client to ROS1 server. + +The arguments for `action_bridge` node are: +`direction`: from client (`ros1` or `ros2`) +e.g.: +- `ROS1` client to `ROS2` server --> `direction` = `ros1` +- `ROS2` client to `ROS1` server --> `direction` = `ros2` + +`package`: package of the `ROS1` server node +`type`: action interface type of `ROS1` +`name`: action name + +For sending goals from ROS2 action client to ROS1 action server +``` +# Terminal 1 -- action bridge +# Make sure roscore is already running +source /setup.bash +ros2 run ros1_bridge action_bridge ros1 actionlib_tutorials Fibonacci fibonacci + +# Terminal 2 -- ROS1 action server +source /setup.bash +rosrun actionlib_tutorials fibonacci_server + +# Terminal 3 -- ROS2 action client +source /setup.bash +ros2 run action_tutorials_cpp fibonacci_action_client 20 +``` + +For sending goals from ROS1 action client to ROS2 action server +``` +# Terminal 1 -- action bridge +# Make sure roscore is already running +source /setup.bash +ros2 run ros1_bridge action_bridge ros2 action_tutorials_interfaces action/Fibonacci fibonacci + +# Terminal 2 -- ROS2 action server +source /setup.bash +ros2 run action_tutorials_cpp fibonacci_action_server + +# Terminal 3 -- ROS1 action client +source /setup.bash +rosrun actionlib_tutorials fibonacci_client 20 +``` + +`dynamic_bridge` has been extended to handle actions as well.