Status of Robot Web Tools for ROS2

Hi all,

I’ve just started using ROS for the first time and I’ve been researching the tools and libraries that are available. I’ve been very impressed with everything that is available as well as the community surrounding this project! Since this is a new project, my team and I are planning to use ROS2 Dashing so we can use Python 3 instead of 2. I discovered the Robot Web Tools (in particular Webviz) which we are very interested in using since we connect to our robots over Ethernet.

It seems like webviz and the other Robot Web Tools rely on running the rosbridge websocket server. I found a couple of efforts that seem to be porting rosbridge to ROS2:

  1. ros2-web-bridge: https://github.com/RobotWebTools/ros2-web-bridge. It looks like the server portion of this is complete, but the rosapi has not been ported to ROS2. Latest commit was Feb 2020.
  2. RobotWebTools/rosbridge_suite (ros2 branch): https://github.com/RobotWebTools/rosbridge_suite/tree/ros2. This port seems to be relatively complete (although I could not get it working with webviz). Latest commit was Nov 2019.
  3. ros2/rosbridge_suite: https://github.com/ros2/rosbridge_suite. This looks like an official ROS2 fork for the rosbridge_suite. The GitHub issues show some progress, but indicate that things are not finished. Latest commit was Dec 2018.

Does anyone know what the status of any of these projects is? To me it seems like they overlap in scope and it’s unclear which project would be the main path forward. I’ve tried playing around with ros2-web-bridge as well as the ros2 branch of RobotWebTools/rosbridge_suite (installed through rosdep) but I was unable to get either project working with webviz. I’d love to try contributing as time allows in order to keep this effort moving forward.

Alternatively, has anyone been able to successfully run webviz with a live robot running ROS2?

Thanks!

The fork was used during development. All changes have been merged into the ros2 branch of the upstream repo. I just archived the fork in favor of option 2.

Option 2 should work (or at least it did work for us at some point). If it doesn’t work for you please consider creating a ticket describing the problem. Maybe the maintainers can help.

Thanks for the insight. I’ll see if I can more reliably reproduce the issue I was having with the rosbridge_suite ros2 branch and open a ticket on Github.