Skip to content

Conversation

@koonpeng
Copy link

Note

This is on top of #62.

Adds a new local_flowstate_ros_bridge package, the difference between this and flowstate_ros_bridge is that local_flowstate_ros_bridge is designed to run locally, outside of flowstate.

Currently only Executive works. World is WIP because it uses pubsub which requires flowstate's zenoh router to be exposed. In theory we should be able to make World work if we sideload a zenoh router service and use the method in #62 to connect.

To test:

colcon build --packages-up-to local_flowstate_ros_bridge
. install/setup.bash
# start a solution in flowstate
ros2 run local_flowstate_ros_bridge local_flowstate_ros_bridge --ros-args --param org:=$INTRINSIC_ORG --param cluster:=$CLUSTER --param bridge_plugins:='[flowstate_ros_bridge::ExecutiveBridge]'

in another terminal

ros2 service call /list_behavior_trees flowstate_interfaces/srv/ListBehaviorTrees

Note: Not all grpc services are exposed publicly in production, so far I think all the services used in Executive are public.

Why run the bridge locally?

  • Supports all ros2 middleware.
  • Less configuration required.
    • We will need a websocket proxy to inject auth tokens for zenoh no matter what (either for intrinsic pubsub or rmw_zenoh). Running the bridge locally allows us to hide that behind implementation detail.

Known issues

  • There is no error message if the cluster is invalid. Needs to be fixed upstream in the sdk.
  • World does not work because of lack of pubsub. I am working with the infra squad to address this.

Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
Signed-off-by: Teo Koon Peng <[email protected]>
@koonpeng koonpeng marked this pull request as draft October 24, 2025 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants