Creating a web interface for a ROS robot
Hi, I want to create a web interface for controlling my ROS application.
Some of the interface will be very generic for machine control: e.g. screens like "main overview", "setup", "job control" with start/stop/options etc.. User login also required.
I recognize much if this is not very ROS specific except for the controls that needs to interact with the ROS topics/services/actions, but on the other hand it is very generic so I hope work exists that I could benefit from.
I hope to find some good advice here.
- Maybe some ROS projects comes with much of this as a good starting point?
- Any tutorials that demonstrate a solution to look at?
- Maybe something that demonstrates a full robot web application with angular or react (which I don't know much about either)?
As someone who has only used html/css/php 15 years ago, and never used javascript I am in bit in doubt where to start.
- Will I need to install a fullfledged webserver like Apache or does some ROS package provide a more dedicated web server?
I have found several packages that could be part of the solution, but most of them look rather old and unmaintained. Feel free to comment on:
Rostful ... latest commit is 5 years ago. However I like that it aims for: "services, topics, and actions to be provided as web services ... without exposing underlying ROS concepts"
Rosauth ... authentication is a must-have, but I am not really sure how I glue this in.
WebUI ... old and unmaintained. Specific to PR2 robot.
Robot Web Tools Seems like a good and up-to-date resource, but I am not sure how much of the stack it contains.
Ros Industrial ... mentions future plans for "standard industrial UI" which could be exactly what I need. Do open source projects already exists with such a (fairly standard) web UI to start from?
Asked by MikeWx on 2018-04-13 08:04:33 UTC
Comments
One 'industrial option': ros-industrial/flexgui_industrial.
There's also some discussion on ROS Discourse: QtQuick support for RViz to build fancy HMIs.
Asked by gvdhoorn on 2018-04-13 08:24:42 UTC
Robot web tools has full applications under Tools->Systems. Check them out. Since I don't think that there is a single good answer to your questions I suggest to do some basic javascript tutorials first and make yourself comfortable in backend & frontend.
Asked by Humpelstilzchen on 2018-04-15 09:21:32 UTC
Thanks for these inputs. Flexgui looks interesting, I will give it a try. The robot web tools also looks interesting: rms looks good but maybe no longer actively developed.
Asked by MikeWx on 2018-04-17 02:26:45 UTC
ros-control-center seems actively maintained, very basic, maybe too basic. rosweb looks very limited. Let me know if anyone has concrete experiences with some of these systems.
Asked by MikeWx on 2018-04-17 02:30:27 UTC