../_images/tiagopro-icon.png ../_images/tiago-head-icon.png ../_images/kangaroo-icon.png ../_images/tiago-icon.png ../_images/triago-icon.png ../_images/ari-icon.png ../_images/talos-icon.png ../_images/mobile-bases-icon.png

Web User Interface#

Overview#

The Web User Interface (also referred to as WebGUI) is a tool, consisting of a set of applications (apps) designed to simplify the configuration and control of the robot as well as the user experience. The Web User Interface is accessed using a web browser.

Note

The recommended browser is Google Chrome (latest versions). Accessing the Web User Interface from a different browser might result in some of the functions not working properly or at all.

You can access the WebGUI via http://robot-type-Xc, where robot-type is the robot’s type (e.g. ari, tiago), and X is the robot’s serial number.

../_images/access_webgui.png

Note

Depending on the network configuration for the robot, the URL address might change.

Control Joint#

The Control Joint application allows easy real-time control and movement of the robot’s individual joints. The joint types available to control from WebGUI are:

  • Revolute

  • Prismatic

Interface#

The interface of Control Joint consists of joint groups that contain the corresponding interactive joint sliders.

../_images/control_joint_interface.png

The joint component is made up from the following elements:

  • Joint name: Shows ROS defined name of the joint (e.g.: “arm_1_left”).

  • Input slider: Move the slider thumb to make the robot joint move in real time.

  • Joint limits: Available minimum and maximum limits of joints, where possible the soft limits assigned in the URDF are used otherwise hard limits instead.

  • Input field: Numerical input field, to move joint using the stepper inside it or directly inputting the desired joint value.

Each joint can be moved from the slider or the numerical input field. The input slider has two thumbs, a ghost thumb (grey) and a movable thumb (black).

../_images/control_joint_slider.png

Only the dark color thumb is draggable by the user. Move it to the desired joint position. The ghost thumb indicates the real joint position at any time. Below there is an example of how the movement of WebGUI’s sliders controls the robot’s arm (in Gazebo simulation).

Warning

Dragging the slider’s thumb moves the robot without any security. Be sure the robot has enough space and no obstacles around to move freely.

../_images/control_joint_move.gif

Gazebo simulation of the interactive sliders and the robot movement correlation#

If the joints are controlled from a different tool or command, WebGUI’s sliders thumbs will reflect the real time change of joints positions, e.g.:

../_images/control_joint_live_view_change.gif

Sending a ros2action goal to play_motion2.#

Technical Overview#

The available joint groups can vary on the robot and its configuration.

The displayed groups (controllers) are obtained from the following ROS2 service: /controller_manager/list_controllers

The response is the list of available controllers on the robot, from which only the joint_trajectory_controller/JointTrajectoryController are displayed.

The robot description (URDF) is parsed to obtain the limits of the joints that belong to each controller.

Demos#

Simple app to start and stop robot demos that come out of the box with the robot.

Interface#

The interface consists of a grid of buttons that launch the corresponding demos.

../_images/demos_interface.png

Click on a given demo to start it:

../_images/demos_start.png

The demo will start and the button will change to a STOP button. Click on it to stop the demo.

../_images/demos_stop.png

Diagnostics#

Diagnostics app displays the real time status of the robot’s hardware and software.

Overview#

The diagnostics data is organised in an hierarchical tree. The first level contains the Hardware, Software, and Others groups.

The Hardware diagnostics contain the status of the physical components of the robot, its readings and possible errors, e.g., status of motors, joints, etc.

The Software group contains the programs and data elements that run on the robot, such as vision or text to speech applications.

The Other groups any unfiltered elements.

Inside the hardware and software categories, there’s an entry (log) for each individual functionality or device. Some devices are grouped together (motors, sonars), but each device can still be seen in detail.

Table with level, icon and description of the diagnostics tree:

Level

Icon

Description

Ok

ok-icon

No errors detected.

Warning

warn-icon

One or more issues were detected but nothing critical.

Error

err-icon

One or more errors detected that can affect the robot’s behaviour.

Stale

stale-icon

No information about the status is being provided.

Interface#

../_images/diag_interface.png

The status of a particular category can be expanded by clicking on its name. This will provide information specific to the device or functionality. The Logs card displays the latest messages printed by the applications’ logging system.

Examples:

../_images/diag_hardware_expanded.png

Clicking on the Hardware category will expand the group and display its sub-entries.#

../_images/diag_motor_expanded.png

Clicking on the Motors sub-group will show the subsequent entries and the corresponding logs.#

Dummy devices#

The Dummy devices app simplifies the way to set or unset the available RT devices as dummies.

Interface#

The interface consists of the three main device type groups: actuators, sensors, and IOs.

Each device type group contains the list of devices corresponding to it. For actuators and sensors the devices can be grouped based on their prefix to select or unselect multiple devices at once.

Note

Some robots can come without any sensor dummy device, in that case only actuator and IO devices are shown.

When you enter the app, the devices that already have their checkboxes marked in black are the ones previously set as dummy.

../_images/dummies_ui_initial.png

Dummy Devices app interface with some actuators marked as dummies#

While you are marking or unmarking the checkboxes, the ones that differ from the original state will be marked with orange or have an orange highlight around them. You can click the RESET button to go back to original values for all the devices.

../_images/dummies_ui_unsaved_changes.png

Unsaved changes marked with orange checkboxes highlight#

After marking the devices you want to set or unset as dummy, click on the SAVE CHANGES button and confirm in the prompt.

Important

The robot must be restarted for the changes to take effect.

../_images/dummies_ui_updated.png

After the new values are processed, the orange highlights and SAVE / RESET buttons disappear, with checkboxes returning to black#

Modules#

The Modules app displays the list of PAL Robotics modules that are configured to be started on the robot, and the states these modules can be in.

Overview#

Each module or group of modules that provide a functionality can choose to specify a startup dependency on other modules or groups of modules. Below there is the possible states legend.

Table with level, icon and description of the modules:

State

Icon

Description

FINISHED

ok-icon

Module finished execution on its own. This was an expected outcome.

WAITING

wait-icon

Module has been started but it’s waiting for dependencies.

CRAHSED

crash-icon

Module has ended execution unexpectedly

RUNNING

run-icon

Module is currently running.

Interface#

../_images/startup_interface.png

Each item of the list has the following parts:

  1. Icon showing the state of the module.

  2. Name of the module.

  3. Button to start or stop the module depending on the state. If the module is running, a STOP button is displayed, which will stop it when clicked. If the module is stopped or has crashed, the button START will start it when clicked.

Example:

../_images/startup_start_stop.png

For more information about the PAL Module Manager, and how the modules are created and managed, please refer to The startup process of the robot and application management.

Networking#

The Networking application provides information about the robot’s network configuration, check out Network configuration for more information on how you can use the WebGUI, and other tools to manage the robot’s network.

Validation#

The Validation app serves to run validation tests on the robot using available validation modules.

Overview#

Multiple validation modules can be launched at once. Some modules are already grouped, and you can run individual modules or entire groups. Icons next to each module’s name show if the validation is in progress or finished. The legend below shows the possible statuses.

Legend:

State

Icon

Description

FINISHED

ok-icon

Module finished execution on its own. This was an expected outcome.

WAITING

wait-icon

Module has been started but it’s waiting for dependencies.

CRAHSED

crash-icon

Module has ended execution unexpectedly

RUNNING

run-icon

Module is currently running.

Logs

info-icon

Module has available logs information. Click the icon to open it.

Interface#

When you first open the Validation app, you’ll see a list of validation modules with corresponding checkboxes. Grouped modules are shown as dropdowns.

../_images/validation_start_screen.png

Choose the modules you want to launch and click the START TESTS button. For safety reasons you will be prompted to confirm starting validation again in the dialog message.

../_images/validation_alert_dialog.png

Once the validation process starts, each active module will display a status icon. Some modules may still be running run-icon, while others may show as finished ok-icon or failed crash-icon.

../_images/validation_is_running.png

If you need to stop the validation process while it’s running (this will affect all active modules), click the CANCEL TESTS button and confirm your choice in the dialog window.

../_images/validation_cancel_dialog.png

For modules with validation triggered, the log button info-icon is available. Click the button to display the messages on the right panel.

../_images/validation_logs.png

After all validation tests have been executed, click the RESET button to exit the validation mode and clear the modules selection and its states.