DRS windows and GUI components
Diese Seite ist zurzeit nur auf Englisch verfügbar. / This page is currently only available in English.
This section will give a general overview over the DRS main application window, the different areas of its graphical user interface and their functions.
The main application window is split into different areas which give access to its functions:
The Node Graph is the main part of the graphical programming interface, it is where the automation application is build using nodes connected by edges. A node is a small processing unit that only executes a single function. These functions can be small (example: take an image) or more complicated (plan a collision free robot movement in an obstacle filled working room). All nodes have their own inputs, outputs and parameters. The default node setup has event inputs to start a node, data inputs to feed in needed input data, parameters to configure its processing details and outputs for data results and to trigger the next node in the program.
After running its embedded function a node has a result state and result data, which can be connected to other nodes and used in the following nodes in the graph.
Nodes are connected together using edges which connect nodey by their ports. These edges transport events or data. A single nodes function is run when it receives an event on its ‘start’ event input port, after the node finishes the work it sends an event out on its ‘finished’ (or ‘failed’, depending on the nodes result state) port.
Nodes can be chosen from a catalog of already prepared nodes, more about which topics and functions our nodes cover can be found in the section on the next pages.
Special nodes ‘Resources’ serve as hardware abstractions (for example: robot arms) and interface to their (real or simulated) hardware counterparts. After setting up a resource node and configuring it with needed details (for example: IP address to connect to the real robots command interface; or: camera sensor settings like resolution or exposure time) it can be used later by function nodes that move the robot arm or take an image using the camera.
To aid in program overview and functionality reuse of parts of the node graph: multiple nodes and their edge connections can be grouped together.
Nodes and groups are displayed color coded to show their status, so the users attention can be guided to problematic situations.
The node graph can be loaded from the computers disk and edited in this window, it can be run or saved back to disk (all together or split into groups).
This window shows a generated view of the 3D workspace. It can show animated hardware models (for example: the current position of the robot arm), objects, sensor data, poses, position markers and robot motion paths. It is updated while the program is running and displays a live view of the current state of the models and objects.
It is used to visualize the current state of the important objects and the environment for the robot application. Additionally these objects can be manually moved, for example for trying out a good robot mounting position so that the object and work positions are reachable by the arm. The camera position and visualization settings can be set by the user.
The 2D view allows displaying images that were taken from cameras or from their processing steps. It allows control and visual inspection of the results of the image processing steps.
The Robot Panel displays the current state of a robot arm. Its current joint angles or positions of the base or the current tool position are displayed as numerical values to allow copy & paste operations, the joints can be individually moved using sliders or by entering new angle values.
The properties panel is the location where the parameters of a node from the node graph can be viewed and changed. All parameters for a single node or group are displayed in a list and are changeable. Special support for grouped parameter types like poses or for filenames exists.
The node browser shows a searchable list of all available node types. It allows selecting a node type to be created and added to the node graph by ‘dragging out’ the node name and dropping it in the node graph window. It shows all available nodes from the base DRS installation and in addition from all installed DRS plugins.
The node tree is a textual representation of the whole applications node graph. It allows text searches over all nodes, their given names and their parameters. It shows the different groups of the node graph as different levels in a tree structure. An entry from the node tree can be easily highlighted in the node graph itself.
In the dashboard an application specific user interface can be build. Using input and output widgets the user is able to connect them and their values to the program to control an application. There are input widgets (buttons, text fields, chooser boxes) and output widgets (text and numerical displays). These widgets are connected to node parameters and control or display their values or events. Each application (each node graph) can bring its own user interface to the dashboard.
The log view displays a log of events (from the user or the application) in a textual table. Log entries have a timestamp, a log channel and a severity marker and can be selected to be displayed or searched for broader or specific information needs. The log allows deep inspection of the applications internals and their timed sequence of occurance.
The time view window allows the creation and visualization of timing graphs of node or group status in a running application.
Main Application Window
The main DRS application window holds all the single windows from above and has some additional capabilities:
It holds the main DRS menu for file operations, loop control and additional tools. It allows a node graph to be started (only once or to keep it running in a continuous loop) or stopped again. The different GUI windows can be arranged in different layouts or configurations according to the users wishes. Log files can and often are written to the disk for later analysis.
The runtime directory is the place where a DRS installation holds all its assets like the different robot setups (models and kinematic files for robots of different manufacturers), object files, saved whole node graphs and exported groups. It is also used as the working directory to hold recorded sensor data (images, raw data, pointclouds), calibration files, object model files and results of data processing steps (if they are saved by the application).