dheera / rosboard

ROS node that turns your robot into a web server to visualize ROS topics
Other
822 stars 161 forks source link

[Feature request] Support for external visualizers #80

Open mjbogusz opened 2 years ago

mjbogusz commented 2 years ago

Is there any plan for supporting outside visualizers? This way updating to newer ROSboard version would be much easier.

Alternatively ROSboard could be converted into a library so that another package could use it as dependency and only provide additional visualizers (and possibly a simple entry point).

dheera commented 2 years ago

Hi @mjbogusz , interesting idea, this makes a lot of sense. I think I'd like to keep ROSboard with the ability to launch it standalone since probably a lot of people won't write a visualizer, but I also fully want to make it extremely easy to extend and build visualizers for the many who do need that functionality.

I'm not opposed to having another library call and launch rosboard (in fact it already is a Python library, it can be imported and run from Python), but that structure might make it hard for multiple visualizer add-ons to be used simultaneously.

What are your thoughts on where such visualizers could go?

I was thinking maybe if there was a way for any ROS package to implement visualizers for ROSboard, and ROSboard could automatically scan the system for them, that would be cool, that way people who release ROS packages can also release visualizers with them. (Although maybe it's a stretch to think many people would actually do that?)

Another option maybe is to just have them in some common pre-defined directories e.g. /opt/ros/DISTRO/share/rosboard/visualizers/ and the user can just add them there. ROS packages could also install things to that directory if they wish.

mjbogusz commented 2 years ago

Hmm I thought about having an entry point in the Python part taking a list of extra visualizer files as an argument and injecting them into a templated index.js - the main rosboard package could simply have an executable using that entry point with an empty list.

samuk commented 2 years ago

Do you plan any support for https://github.com/RobotWebTools/ros2-web-bridge