Hey all,
In the WebTools working group, we’ve been discussing how the current rosbridge
naming is a little bit confusing, especially with ros1_bridge
in the mix now.
One major thought was to separate the name of the protocol from the name of the client/server implementations. Some top candidates to illustrate the thinking:
- Call the protocol
rwtp
ROS Web Transport Protocol- Have something like
ros-websocket-server
(device-side) andros-websocket-client
(browser-side) applications that know how to speak this protocol, but are separated from its definition. Other transport layers could be used as long as they speak the same protocol.
- Have something like
- Call it
ros-web-bridge
to differentiate fromros1_bridge
- Name the protocol
ROS-JSON
- Never change it! (rosbridge forever)
- RWTP (ROS Web Transport Protocol)
- ros-web-bridge
- ROS-JSON
- Something else (all of the above are bad options)
0 voters
On a related note - we’re also thinking about how to structure the client-side libraries for best usability. We think it makes sense to move in the direction of more atomic functionalities, similar to how the ROS 2 core is working. roslibjs
is a great tool, but it does a lot of things, and we think it may make sense to break it up into separate NPM-released packages, like:
- transport (see rmw/rcl)
- client (see rclcpp - the user-friendly API that can have transport swapped out)
- math
- TF
- URDF
Some of the above set could then be considered a “ros-web-core” subset of a wider ecosystem that includes more utility libraries, modular GUI components, end applications, and so on.
This is pretty open-ended, but we’re just trying to start the conversation, not finish it