Graphical User-Interface
We have developed a graphical user interface to present all processes within RISE in an understandable and comprehensible manner. This allows for easy control of robot behavior and adjustment of internal variables directly via the interface.
Overview
|
Settings
|
ROS IP
The IP-address of the system that the TCP-Connector is running on needs to be inserted here.
Directories
The absolute path of the three folders in RISE/rise-configurations/Configurations
ActiveCommunicationRobotActs
ActiveInteractionRules
ActiveWorkingMemory
need to be inserted here.
After changing the directory path the settings (JSON file) need to be rebuilt. This can be achieved by pressing the corresponding reload button behind each input field.
Mode and Robot
The application can be put in different modes:
The Debug
mode can be used if no tcp-connection is needed for simulating state-machine transitions only in the GUI.
The Real
mode is used when connecting to one of the available robots.
The Headless
mode is used to run the application without any use of the GUI (e.g. as a server application).
Communication Robot Acts
There is a list of all Communication Robot Acts
.
To start one the play-button at the end of the item needs to be clicked.
To stop it the same button, now representing a stop-button, needs to be clicked.
For a look into the Communication Robot Act
click on the content.
Interaction Rules
There is also a list of all Interaction Rules
.
It works the same as the Communication Robot Acts
list listed above.
Parameter Server
|
Type
The column Type shows the type of the variable.
There are four types: Integer, Double, Boolean, String
Edit Variable
The lock-button is used to edit already existing variables.
The standard is locked. Then the variable cannot be edited.
With a click the variable is unlocked and can be edited.
Add Variable
To create a new variable the add-button needs to be pushed.
In the new input fields a key and a value have to be entered.
The confirm-button saves the variable in the parameter server.
When no input is given the confirm-button cancels the process.
When trying to save wrong input no variable gets saved and new input can be given.
Task Scheduler
|
Task Type
The column Function shows what kind of task is currently operating.
One of these task types is startCommunicationRobotAct
which, according to its name, starts a Communication Robot Act
with the given Task Name
.
Another one is raiseEventTopic
which raises an event topic that transitions might be waiting for.
Execution
RISE allows to calls of execution types for internal processes.
The type Blocking
is used for tasks that cannot be interrupted by the scheduler because another task has become a higher priority. Tasks with the type None
can also be interrupted because of a priority change in the list.
Task Status
There are two task status that show how a function is currently operating.
Running
means the function is being executed.
A function has the status Waiting
when it is waiting for another function to finish running.
Interaction Rule States
|
State
Every State
has a status indicator which shows whether it is the current status.
In the header it also shows its state ID which it can be identified with.
In the body are the onEntry and transitions block. It reveals more information when hovered over.
Communication Robot Act States
|
Communication Robot Act
Every Communication Robot Act
has a status indicator which shows whether it is the current status.
In the header it also shows its actionID
which it can be identified with and its type of Communication Robot Act
.
In the body the content components are shown. These vary depending on its type (exp. Speech -> message
).
WaitForActions
The different Communication Robot Acts
are connected by a line if one of them is waiting for the other to stop.
ROS - Domain Task Action Server
|
Action Status
There are some in-process status like:
PENDING
ACTIVE
RECALLING
PREEMPTING
And end-process status like:
SUCCEEDED
REJECTED
ABORTED
PREEMPTED