Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate the replacement of custom JSON and websockets with rosbridge and roslibjs #32

Open
philippewarren opened this issue Jan 13, 2022 · 3 comments

Comments

@philippewarren
Copy link
Collaborator

philippewarren commented Jan 13, 2022

Custom JSON and WebSockets could benefit from being replaced by a standardized rosbridge + roslibjs to facilitate the communication with ROS for any kind of message and any topic.
We need to evaluate if that helps the frontend code be more easy to understand and flexible.

@philippewarren philippewarren changed the title Replace custom JSON and websockets with rosbridge and roslibjs Evaluate the replacement of custom JSON and websockets with rosbridge and roslibjs Jan 13, 2022
@philippewarren
Copy link
Collaborator Author

philippewarren commented Apr 11, 2022

The rosbridge should be reimplemented using OpenTera WebRTC's data channels.
The idea is to add a rosbridge implementation node that subscribes to the json data published by the data channel bridge ROS node, replacing the json_data_handler node.

This is to prevent re-implementing the ROS data channel bridge node in Python to add rosbridge functionnalities to it (the rosbridge_library is only available in Python).

A Web implementation using WebRTC will also be needed.

@philippewarren
Copy link
Collaborator Author

The roslibjs side could use a slightly modified version of the Ros.js file, where we add a new if to support OpenTera WebRTC in connect. Or, we use the standard Ros.js, but we reassign the constructor before creating an instance so that it takes a proxy to an OpenTera WebRTC DataChannelClient to create the connection.
We could then wrap it in an equivalent of the SockerAdapter.js.

@philippewarren
Copy link
Collaborator Author

The ROS side of things is implemented as described above, in the rosbridge branch.
The Web side of things is partly implemented, as described in here: introlab/opentera-webrtc-teleop-frontend#33

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

No branches or pull requests

1 participant