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

Publishing to ROS from Webviz #323

Closed
johuber opened this issue Jan 13, 2020 · 3 comments
Closed

Publishing to ROS from Webviz #323

johuber opened this issue Jan 13, 2020 · 3 comments

Comments

@johuber
Copy link

johuber commented Jan 13, 2020

Is there currently a way to publish anything from Webviz to ROS? I am referring to something equivalent to the "Tools" in RVIZ, where you can interact with a point or set a goal pose.

In case you don't have that yet, do you expect implementation of it to be straightforward or do you anticipate any major issues due to your architecture?

@janpaul123
Copy link
Contributor

Currently we don't have support for this in the open source version. The first step would be to implement these methods, which should be pretty straightforward: https://github.com/cruise-automation/webviz/blob/master/packages/webviz-core/src/players/RosbridgePlayer/index.js#L281-L282

Once that's done we can make our "Publish" panel open source, which we currently only have in our internal version. It allows publishing JSON strings as ROS messages.

Then after that we'd have to implement integration in the 3d panel for the tools that you're referring to. That's probably the hardest part since the 3d panel is quite complicated and heavily in flux at the moment. But these rviz-like tools should hopefully not conflict too much with other work that we're doing on it, so it might not be too bad. 😄

Let me know if you want go give any of this a shot, so I can see if I can help. For example, I could put a branch up with the Publish panel if you want to try working on the first bit.

@johuber
Copy link
Author

johuber commented Jan 14, 2020

That's more or less the answer that I expected, thank you.

Unfortunately, I currently don't have the resources to implement this. I still think it could be an interesting feature for many users who want to use Webviz as a replacement for RVIZ; maybe someone else in the community is interested in doing it..

janpaul123 pushed a commit that referenced this issue Mar 25, 2020
Changelog:
- Added support for streaming a second bag using the `remote-bag-url-2` query parameter in the URL. #374
- Fixed crashing on bags with topics that don't have a message definition. #373
- Fixed not always loading messages when subscribing to a new topic when paused ("backfilling").
- Various performance improvements.
- Improved caching of deserialized messages should result in fewer browser crashes.
- Added `unlimitedMemoryCache` experimental feature to load everything in memory without regard for caching limits. Useful for when you have a machine with lots of memory and you're explicitly OK with Webviz taking up a lot of it. Use at your own risk; this might crash your browser!
- Included an "Add Topics" option for adding markers to the Image panel.
- Made performance improvements to the Plot and State Transitions panels. If you notice any issues, these performance improvements can be disabled in the Experimental Features menu, under "Use a web worker to render the Plot panel".
- In the Image panel, we again filter available marker topics by the namespace of the currently selected camera.
- Added support for publishing messages over the Websocket connection using a Publish panel. #323
janpaul123 pushed a commit that referenced this issue Mar 26, 2020
Changelog:
- Added support for streaming a second bag using the `remote-bag-url-2` query parameter in the URL. #374
- Fixed crashing on bags with topics that don't have a message definition. #373
- Various performance improvements.
- Improved caching of deserialized messages should result in fewer browser crashes.
- Added `unlimitedMemoryCache` experimental feature to load everything in memory without regard for caching limits. Useful for when you have a machine with lots of memory and you're explicitly OK with Webviz taking up a lot of it. Use at your own risk; this might crash your browser!
- Included an "Add Topics" option for adding markers to the Image panel.
- Made performance improvements to the Plot and State Transitions panels. If you notice any issues, these performance improvements can be disabled in the Experimental Features menu, under "Use a web worker to render the Plot panel".
- In the Image panel, we again filter available marker topics by the namespace of the currently selected camera.
- Added support for publishing messages over the Websocket connection using a Publish panel. #323
janpaul123 pushed a commit that referenced this issue Apr 9, 2020
Changelog:
- Added support for streaming a second bag using the `remote-bag-url-2` query parameter in the URL. #374
- Fixed crashing on bags with topics that don't have a message definition. #373
- Various performance improvements.
- Improved caching of deserialized messages should result in fewer browser crashes.
- Added `unlimitedMemoryCache` experimental feature to load everything in memory without regard for caching limits. Useful for when you have a machine with lots of memory and you're explicitly OK with Webviz taking up a lot of it. Use at your own risk; this might crash your browser!
- Included an "Add Topics" option for adding markers to the Image panel.
- Made performance improvements to the Plot and State Transitions panels. If you notice any issues, these performance improvements can be disabled in the Experimental Features menu, under "Use a web worker to render the Plot panel".
- In the Image panel, we again filter available marker topics by the namespace of the currently selected camera.
- Added support for publishing messages over the Websocket connection using a Publish panel. #323
- Added layout undo/redo shortcuts.
- Added support for transforms from [`/tf_static`](http://wiki.ros.org/tf2/Tutorials/Writing%20a%20tf2%20static%20broadcaster%20%28C%2B%2B%29). #336
- Deployed a faster format for displaying text in the 3D panel. You can now use `ctrl-f` (or Mac equivalent) to physically move the camera to matched text. If you notice any issues, this change can be disabled in the Experimental Features menu, under "Faster 3D Text".
- Fixed Webviz getting stuck in a reloading loop.
- Added support for streaming a second bag using the `remote-bag-url-2` query parameter in the URL. #374
- Fixed crashing on bags with topics that don't have a message definition. #373
- Fixed not always loading messages when subscribing to a new topic when paused ("backfilling").
- Improved caching of deserialized messages should result in fewer browser crashes.
- Improved startup time by not making multiple requests with different topics when loading the page.
- Fix some cases in which "syncing" 3d panels could cause panels to display a blank screen.
- Fixed not always loading messages when subscribing to a new topic when paused ("backfilling").
- Switched Websocket message encoding to [cbor-raw](RobotWebTools/rosbridge_suite#452). #361
janpaul123 added a commit that referenced this issue Apr 9, 2020
Changelog:
- Added support for streaming a second bag using the `remote-bag-url-2` query parameter in the URL. #374
- Fixed crashing on bags with topics that don't have a message definition. #373
- Various performance improvements.
- Improved caching of deserialized messages should result in fewer browser crashes.
- Added `unlimitedMemoryCache` experimental feature to load everything in memory without regard for caching limits. Useful for when you have a machine with lots of memory and you're explicitly OK with Webviz taking up a lot of it. Use at your own risk; this might crash your browser!
- Included an "Add Topics" option for adding markers to the Image panel.
- Made performance improvements to the Plot and State Transitions panels. If you notice any issues, these performance improvements can be disabled in the Experimental Features menu, under "Use a web worker to render the Plot panel".
- In the Image panel, we again filter available marker topics by the namespace of the currently selected camera.
- Added support for publishing messages over the Websocket connection using a Publish panel. #323
- Added layout undo/redo shortcuts.
- Added support for transforms from [`/tf_static`](http://wiki.ros.org/tf2/Tutorials/Writing%20a%20tf2%20static%20broadcaster%20%28C%2B%2B%29). #336
- Deployed a faster format for displaying text in the 3D panel. You can now use `ctrl-f` (or Mac equivalent) to physically move the camera to matched text. If you notice any issues, this change can be disabled in the Experimental Features menu, under "Faster 3D Text".
- Fixed Webviz getting stuck in a reloading loop.
- Fixed not always loading messages when subscribing to a new topic when paused ("backfilling").
- Improved startup time by not making multiple requests with different topics when loading the page.
- Fix some cases in which "syncing" 3d panels could cause panels to display a blank screen.
- Switched Websocket message encoding to [cbor-raw](RobotWebTools/rosbridge_suite#452). #361
@janpaul123
Copy link
Contributor

A first version of this (the "Publish" panel) is in the latest release! #396 Thanks for the request!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants