ADVRHumanoids / WebGUIDistr

web GUI distribution
0 stars 0 forks source link

Release WebGUI 1.0.0 #3

Open liesrock opened 5 years ago

liesrock commented 5 years ago

@alaurenzi @TheCzar87 @ntsagarakis

Changelog required.

Sources commit/tag required.

alaurenzi commented 5 years ago

Hi @pepperig, all! As discussed via email, the techincal discussion on this first release will happen here on the github issue tracker.

Together with Paolo and Luca, we have started testing the GUI v1.0.0. I'll try to summarize our feedback below, which was also validated by Nikos.

First of all, the web gui has proven to be a fundamental tool for the online monitoring of the robot state. However, we believe that it could become way more effective after a partial layout refactor. The main purpose of this refactor is to optimize the space use, and to make sure that the user (or the pilot) must do the fewest possible number of interactions (mouse clicks, etc..) in order to get critical information available. In other words, we want to achieve a single compact view that summarizes all the most important signals from the robot.

Right now, "global views" are mostly achieved with

Bar Plots

Concerning bar plots, we propose the following improvements:

Other possibilities could be (if they don't affect the clarity in a negative way):

3D View

The 3D view is a useful tool that allows to:

The main improvement that we propose here is latching of fault events. What I mean is that joints may experience one-time-failures (e.g. some kinds of encoder error) that result in the joint shutting down. Afterwards, the joint could not report any other faults, making it impossible to understand the cause of the failure. We think that faults should be displayed in the GUI in a latched fashion. Some possibility to mitigate this issue are:

Space optimization

Concerning space optimization you can notice that:

Minor problems

General remarks

The GUI is nice and functional, but some work is needed to minimize the need of the pilot to interact with it to get the information.

The pilot is usually overloaded with work because he/she has to monitor the robot, start/stop modules in the correct order, solve control problems on-the-fly, ... . The GUI needs to make his/her life as simple as possible! Moreover, exceptional events (faults) should really "jump to the eye" of the pilot, in any situation!

We provided suggestions on how to achieve this as every-day users, but better ideas from your side are totally welcome, and we can discuss them in this issue. As you have seen, most of our feedback is about layout, because this aspect really has huge impact in terms of usability. Afterwars, we'll work on improving the "functional" part.

Have a nice weekend, Arturo

@TheCzar87 @ntsagarakis @liesrock

pepperig commented 5 years ago

Hi all @liesrock @alaurenzi @TheCzar87 @ntsagarakis Thanks for the feedback! 1) Bar Plot I am planning to add an always visible field for the selected joint. I tried to show this info on the plot but due to a label flickering bug on the plotter third party library i did not success. I can try if I came up with a different idea. Horizontal bar I think it will not fit..usually the screen is a landscape format.. Unsigned bar could be ok..but how to do with motor position? you have a different limits. Numerical value is related to the flickering bug..let'see. I like the possibility to have multiple bar in the same view.I can be done 2 way I think: 1)using some plot setting to add dynamically a chart, but it will disappear once the webgui is closed 2) create some sort of custom bar chart and add it to the bottom list, it can be static at the beginning and dynamic once the db is integrated.

2)View The fault event behaviour is related on how the low level works. There are faults that are temporary.. To make things more clear I can show message on the detail view, mark red the joint on the tree view, and show a message popup on the screen. The logger will still keep all the faults list. I might add a logger list also on the detail to get the joint filtered logger. I do not have a way to understand when a fault is temporary or not. Maybe later on with a better fault handling we can implement what you say.

3) Space I can reduce the space but consider that this is a style coming from google ( is done considering usability for click button and so on).

4)Detail view It depends on the size of the screen, for example I do not see that, but let'see what can i do

5)limits the limits are taken from the srdf file, so it means they are wrong.

Thanks Giuseppe

liesrock commented 5 years ago

Thanks a lot @alaurenzi for the very clear recap on the current version of the GUI and @pepperig for the detailed answer.

I encourage @pepperig to work towards our first objectives, very nice summarized by @alaurenzi after a meeting with @TheCzar87 and @ntsagarakis: once you will have a GUI version with the above exposed requirements I kindly ask you to provide us a simple changelog and the commit/tag on the WebGUI sources as requested by @ntsagarakis (please double check with him if you have any doubts, we just do the requested technical work here).

We will then try the GUI with both CENTAURO and COMAN+ and we will come back to you with some comments/feedbacks here on the Github issue tracker!

Thanks a lot for the collaboration, we look forward for the new release.

pepperig commented 5 years ago

Hi @ntsagarakis , @alaurenzi , @liesrock , @TheCzar87

The new changes are available. Do not forget to clear the browser cache after the git pull command.

Home Toolbar with left menu, Logger button and display component list. Possibility to show/hide the right panel ( control panel, 3dview, plotter) The logger will open a popover panel to show all the faults.

Logger Show all the faults with the possibility to order by event and time stamp. Filter available. A pop up will show automatically when an event occurs

Tree Panel View Indicator of the selected item and the health status (red, orange, grey) Joints grouped by chains with the possibility to filter what to show on the chart bar. Items on the tree show the ID.

Bar Chart Setting popover panel for show/hide labels, magnitude, bar value and choose between vertical and horizontal bar. Show/Hide overlay reference signal.

Control Panel Paginated Fault table for each joint

pepperig commented 4 years ago

Hi @ntsagarakis @liesrock @alaurenzi @TheCzar87 , have you got the time to test the last release?