Add documentation for KUKA Sunrise features and programs

- Created a new document for the Station interface, detailing its menu structure, process data, safety functions, frames, and smartPAD function buttons.
- Added a document for RobotPowerControl, explaining its purpose for safely shutting down or restarting the KUKA Sunrise Cabinet controller.
- Introduced ServerFriRos2 documentation, outlining its role in establishing an FRI connection between the KUKA LBR iiwa and a ROS 2 computer.
- Documented the TeachKuka application, which allows manual teaching of the KUKA LBR iiwa, including position capturing and trajectory recording.
- Added an overview of Sunrise Workbench, including installation instructions for Windows and Linux.
- Created a section on installing a Windows compatibility tool (PortProton) on Linux.
- Documented the installation process for SunriseWorkbench on Linux using PortProton.
- Added installation instructions for SunriseWorkbench on Windows.
- Created troubleshooting documentation for configuration errors and SSL errors during installation.
- Implemented a hook to generate the shared PDF only during the default-language build.
This commit is contained in:
Даниил Грабарь
2026-08-13 18:01:59 +03:00
parent 08ebd40671
commit 79d88db930
42 changed files with 2973 additions and 17 deletions
@@ -0,0 +1,59 @@
# Applications
The **Applications** section lets you select and control programs developed in SunriseWorkbench and deployed to the controller. Open it with the **Applications** button in the smartHMI navigation bar.
## Application list
The application selection page has two columns:
| Column | Description |
|---|---|
| Robot applications | Control programs started manually by the operator |
| Background applications | Programs that run automatically as a `backgroundTask` |
Each list entry contains:
- a **status indicator** — the colored dot to the left of the name;
- the **application name** — the Java class name;
- the **package** — namespace or category such as `[application]`, `[ros]`, or `[demo]`;
- a **checkbox** — used to select or deactivate the application.
![Applications menu](../../assets/kuka/applications/menu.jpg)
The **Reset selected robot application** button (hand icon) clears the active application selection without stopping it. Running background applications are shown with a green dot and a **Stop** button.
## Selecting and activating an application
Click an application name in the list to select it. The selected application is highlighted in orange, its checkbox is selected (✓), and its name appears in the smartHMI navigation bar. The system automatically opens the **Application control** page, which shows the current program state and execution log.
## Application states
### Activated
A gray circular indicator means that the application has been selected and loaded into the controller but has not started yet.
![Selecting an application](../../assets/kuka/applications/choose_app.jpg)
### Running
A green play indicator means that the program is running. Events defined by the developer appear in the log in real time. If the program requires operator interaction, a selection dialog appears over the log.
![State: activated](../../assets/kuka/applications/app_active.jpg)
### Motion paused
A yellow pause indicator means that execution has been interrupted. Resume the program in the same way it was started.
![State: paused](../../assets/kuka/applications/app_stoped.jpg)
### Error
A red indicator means that an unhandled exception occurred during execution. The status line displays the error code. Logic errors must be corrected in SunriseWorkbench.
![State: error](../../assets/kuka/applications/app_error.jpg)
## Deactivating an application
Open **Applications**, find the active application (orange highlight and selected checkbox), and click its checkbox to deactivate it.
![Deactivating an application](../../assets/kuka/applications/selected_app.jpg)
@@ -0,0 +1,84 @@
# Extra menu
In addition to the main functional areas under [Station](station.md), smartHMI provides additional robot control parameters through the smartPAD side panel. These panels open over the current view without navigating to another section.
## Manual control method
The **Manual method options** panel configures manual motion: the active tool, control point (TCP), base coordinate system, and motion frame.
![Manual method options](../../assets/kuka/extra-menu/move_method.jpg)
### Selecting the tool and TCP
| Parameter | Description |
|---|---|
| Tool | Active tool attached to the flange. Default: `Flange` |
| TCP | Tool control point. Default: `Flange (Root)` |
### Selecting the base
The base coordinate system relative to which manual motion is performed. Select it from the frames defined in the project, for example `P1`.
### Motion frame
Determines the coordinate system used by the A1A7 axis buttons:
| Mode | Description |
|---|---|
| Axes | Joint-by-joint control. Each button moves its corresponding axis independently. |
| World | Motion in the universal (world) coordinate system. |
| Base | Motion in the selected base coordinate system. |
| Tool | Motion in the coordinate system of the active tool (TCP). |
## Control speed
The **Speed** panel sets the percentage limit for manual motion and program execution speed.
![Speed panel](../../assets/kuka/extra-menu/speedmenu.jpg)
## Motion mode
The **Motion mode** panel controls how the **Start** button works and how the robot approaches frames.
![Motion mode](../../assets/kuka/extra-menu/viewmove.jpg)
### Application mode
| Mode | Description |
|---|---|
| Start — continuous | The Start button runs the application continuously (default). |
| Step execution | The Start button executes one program step at a time. Used for debugging. |
### Approaching a frame
| Type | Description |
|---|---|
| PTP approach | Motion along the shortest path in joint space (Point-to-Point). |
| LIN approach | Straight-line TCP motion in Cartesian space (Linear). |
The **Open frame view** button opens the Frames section.
## Clock
Clicking the clock icon displays the controller's current system time and date.
![Clock](../../assets/kuka/extra-menu/clock.jpg)
!!! note
System time is synchronized with the KUKA Sunrise Cabinet controller clock. Change it in the controller operating system settings.
## User group
The **Log on** dialog changes the active user group and the corresponding HMI access level.
![User group](../../assets/kuka/extra-menu/groupusers.jpg)
The access level determines which operations are available, including editing frames, managing Safety settings, and changing the project configuration.
## Changing the language
The **Language selection** dialog changes the smartHMI interface language.
![Changing the language](../../assets/kuka/extra-menu/changelang.jpg)
The change takes effect immediately without restarting the system. The current interface locale appears in the lower-left corner of smartHMI, for example `ru-RU`.
@@ -0,0 +1,41 @@
# IO Group menu
The **I/O groups** section provides monitoring and manual control of digital input/output signals configured in the Sunrise project. Open it from the smartHMI navigation bar.
## Available groups
Click **I/O groups** in the navigation bar to open the list of available groups. This project defines the following groups:
![I/O group list](../../assets/kuka/io-group/main.jpg)
| Group | Description |
|---|---|
| FRI | FRI (Fast Robot Interface) signal group |
| IO_group | Custom digital input/output group |
## Viewing signals
Selecting a group opens a page containing all of its signals.
![Controlling output signals](../../assets/kuka/io-group/output.jpg)
### Signal table structure
| Column | Description |
|---|---|
| Input / Output | Signal direction icon |
| Name | Signal name, such as `In_1` or `Out_16` |
| Type | Signal type; digital Boolean for this group |
| Value | Current signal state (`0` / `1`) |
## Controlling output signals
For signals whose direction is **Output**, the lower panel provides buttons that force a value:
| Button | Action |
|---|---|
| True | Set the output signal to `1` (active) |
| False | Set the output signal to `0` (inactive) |
!!! note
**Input** signals are read-only.
@@ -0,0 +1,146 @@
# Robot menu
The **Robot** section is one of the main areas of KUKA smartHMI. It provides diagnostic robot-state information, mastering functions, tool and base calibration, and load parameters.
![Robot menu](../../assets/kuka/robot-menu/step-01.jpg)
The table below lists the main menu items.
| Item | Description |
|---|---|
| Axis position | Displays the current position of each robot axis in degrees |
| Cartesian position | Displays the current tool position in Cartesian coordinates |
| Axis torques | Displays the current torque on each robot axis |
| Mastering | Provides axis mastering and tool-offset teaching functions |
| Load data | Enters or calibrates the load parameters at the flange |
| Move enable | Displays the manual-motion enable signal state |
| Log | Displays events and errors; equivalent to the item under [Station](station.md) |
| Device state | Displays the current device state with a color indicator |
| Calibration | Provides tool and base calibration functions |
## Axis position
This section displays the current angular position of each of the robot's seven axes in degrees. Values update in real time. Software limits are also shown as minimum and maximum permitted values for each axis.
![Axis position](../../assets/kuka/robot-menu/step-02.jpg)
## Cartesian position
This section displays the tool center point (TCP) position in Cartesian coordinates relative to the selected base. The following parameters are available:
- **X, Y, Z** — linear TCP coordinates in millimeters;
- **A, B, C** — orientation angles in degrees.
!!! info "Angle-axis correspondence"
**A** is rotation around Z, **B** around Y, and **C** around X, following the ZYX convention.
The current calculation context is also displayed:
- selected Tool;
- active TCP;
- selected Base.
Change these values under **Manual method options**; see [Extra menu](extra-menu.md). After selecting another tool, TCP, or base, the values on this page are recalculated accordingly.
![Cartesian position](../../assets/kuka/robot-menu/step-03.jpg)
## Axis torques
This section displays current torque on each of the seven axes in newton-meters (Nm). Values update in real time. This information lets the operator:
- monitor the load on each axis;
- diagnose possible mechanical problems;
- identify characteristic torque values for later control-program tuning.
![Axis torques](../../assets/kuka/robot-menu/step-04.jpg)
## Mastering
Mastering maps the mechanical robot position to its software model. Without correct mastering, software coordinates do not match the actual axis positions.
The main mastering menu provides functions for updating mastering data, unmastering individual axes, and teaching tool offsets.
![Main mastering menu](../../assets/kuka/robot-menu/step-05.jpg)
Use **Update mastering data** to save new mastering values after completing the procedure. The controller records the current mechanical axis positions as references.
![Updating mastering data](../../assets/kuka/robot-menu/step-06.jpg)
**Unmaster** removes mastering data from a selected axis. An unmastered axis is considered uncalibrated and may move beyond software limits.
![Unmastering an axis](../../assets/kuka/robot-menu/step-07.jpg)
!!! warning "When should an axis be unmastered?"
Unmaster an axis if it reaches a software limit and cannot continue moving. After moving it away from the limit, master it again to restore correct robot operation.
**Teach tool offset** applies a correction to an axis zero position without repeating the complete mastering procedure. Use it for small mechanical offsets.
![Teaching a tool offset](../../assets/kuka/robot-menu/step-08.jpg)
!!! warning "Important"
Select the tool whose offset will be taught before activating this function.
## Load data
Correct load parameters are required for accurate motion planning, prevention of axis overload, and proper operation of Power and Force Limiting (PFL).
The main load-data menu lists the available tool slots. Load parameters can be entered or calibrated for each tool.
![Main load-data menu](../../assets/kuka/robot-menu/step-09.jpg)
Under **Determine load data**, enter or automatically determine mass, center of mass, and inertia tensor.
![Determining load data](../../assets/kuka/robot-menu/step-10.jpg)
The **Tool mass calibration** procedure lets the controller measure the attached tool mass automatically by performing test motions. Follow the on-screen instructions.
![Tool mass calibration](../../assets/kuka/robot-menu/step-11.jpg)
When the procedure finishes, the controller displays the measured load parameters. Review them and verify that they match the actual tool characteristics.
![Calibration results](../../assets/kuka/robot-menu/step-12.jpg)
After confirmation, the controller saves and immediately applies the updated load data.
![Updated load data](../../assets/kuka/robot-menu/step-13.jpg)
## Move enable
This item displays the state of the manual-motion enable signal. The signal is activated by pressing the enable button on the manipulator body. smartHMI indicates the active state by changing the axis indicators from gray to white.
!!! note "Mode limitation"
Move enable is unavailable in **automatic mode** (AUT). The signal is active only in manual modes T1 and T2.
## Log
This section is equivalent to **Log** under [Station](station.md). It displays controller events, warnings, and errors so that the operator can review their chronology and diagnose faults.
## Device state
This section displays the current device state with a color indicator:
| Color | State |
|---|---|
| Green | The device is operating normally |
| Yellow | A warning or potential issue requires attention |
| Red | A critical error or fault has been detected |
## Calibration
The **Calibration** section contains procedures for determining the geometric parameters of tools and bases used by the controller to calculate Cartesian coordinates.
The main menu contains two categories: base calibration and tool calibration.
![Main calibration menu](../../assets/kuka/robot-menu/step-14.jpg)
**Base calibration** defines the position of a working coordinate system relative to the World coordinate system. It associates the program with the physical location of a workpiece or equipment in the robot cell.
![Base calibration](../../assets/kuka/robot-menu/step-15.jpg)
**Tool calibration** determines the TCP position and tool orientation relative to the robot flange. Several calibration methods are available for each tool.
![Tool calibration](../../assets/kuka/robot-menu/step-16.jpg)
The selected method determines the procedure. The common **XYZ 4-Point** method approaches one reference point from four different orientations.
![Selected tool calibration method](../../assets/kuka/robot-menu/step-17.jpg)
@@ -0,0 +1,168 @@
# Station
The **Station** section is the main navigation level of KUKA smartHMI. Open it by pressing **Station** in the smartPAD navigation bar. It provides access to the primary robot-cell control functions.
![Station main window](../../assets/kuka/station/main.jpg)
## Menu structure
The Station interface contains four functional areas:
| Area | Description |
|---|---|
| Navigation menu | Station, Applications, Robot menu, and IO Group menu |
| Station menu | Process data, Safety, Frames, KUKA_Sunrise_cabinet, HMI status, Information, and Log |
| Extra menu | Motion mode, clock, and user buttons |
| smartPAD function buttons | Program and motion control |
## Process data
**Process data** displays the current state of the active application, for example `Ok`. Use it to monitor parameters of the running program in real time.
## Safety
The **Safety** section provides access to robot safety-system settings and status.
![Safety](../../assets/kuka/station/safety1.jpg)
### Safety functions
| Function | Description |
|---|---|
| Status | Displays the current safety configuration state |
| Activation | Activates or deactivates the safety configuration |
### Actions on the Activation page
| Action | Description |
|---|---|
| Activate | Apply and activate the current safety configuration |
| Deactivate | Disable the active safety configuration |
| Reset | Restore the previous safety configuration state |
The **Safety configuration ID** field displays the unique identifier of the loaded configuration, for example `2BCAB6DD`.
![Safety — Activation](../../assets/kuka/station/safety2.jpg)
## Frames
The **Frames** section opens the coordinate-system editor.
![Frames overview](../../assets/kuka/station/frames.jpg)
It lists all frames defined in the Sunrise project and lets you inspect, correct, and navigate their hierarchy.
### Frame table structure
| Column | Description |
|---|---|
| Frame name | Frame name in the project |
| X, Y, Z | Axis offsets in millimeters |
| A, B, C | Orientation in degrees |
Frame data is also available in SunriseWorkbench.
### Navigation and correction
To open child frames, press **>** next to the required frame. The breadcrumb path updates automatically. Select an item in the breadcrumb to return to a previous level.
![Nested frames](../../assets/kuka/station/frames2.jpg)
Press **Correct** to open a dialog that compares current and new values. Press **Save** to confirm or **Cancel** to discard the changes.
![Correcting a frame](../../assets/kuka/station/frames3.jpg)
Frames support multiple nesting levels. The navigation bar displays the complete hierarchy path, for example `World > grant_RNF > P4`.
![Frame hierarchy](../../assets/kuka/station/frames4.jpg)
## KUKA_Sunrise_cabinet
**KUKA_Sunrise_Cabinet** displays the status of the controller hardware components.
![KUKA Sunrise Cabinet](../../assets/kuka/station/cabinet.jpg)
| Component | Description |
|---|---|
| Boot status | Controller boot status |
| Fieldbuses | EtherCAT bus status |
## HMI status
**HMI status** displays the connection state between smartHMI and the Sunrise Cabinet controller.
## Log
The **Log** section opens the system event log.
![Log](../../assets/kuka/station/protocol.jpg)
### Log filters
| Filter | Description |
|---|---|
| Source(s) | Station, LBR_iiwa_7_R800, or both |
| Level | Information, warning, or error |
| Time period | Time range to display |
Each entry contains a severity icon, event date and time, source, name, and description.
## Information
The **Information** section contains detailed system information about the controller and connected robot.
![Information](../../assets/kuka/station/info.jpg)
## smartPAD function buttons
The physical smartPAD buttons are divided into three groups: program control buttons on the left, manual axis control buttons on the right, and user buttons.
### Program control buttons
| Button | Description |
|---|---|
| Edit | Enters Teach mode and enables manual modification of program points |
| Stop | Stops program execution or robot motion |
| Backward step | Executes one program step in reverse; used for debugging |
| Start | Starts the selected application or resumes a stopped program; in T1/T2, the enabling device must be held |
!!! note
Editing from the smartPAD is not used in this project. Programs are written in Java and changed only in SunriseWorkbench.
### Axis control buttons (T1 and T2)
| Button | Description |
|---|---|
| A1 / A1 + | Move axis 1 in the negative or positive direction |
| A2 / A2 + | Move axis 2 in the negative or positive direction |
| A3 / A3 + | Move axis 3 in the negative or positive direction |
| A4 / A4 + | Move axis 4 in the negative or positive direction |
| A5 / A5 + | Move axis 5 in the negative or positive direction |
| A6 / A6 + | Move axis 6 in the negative or positive direction |
| A7 / A7 + | Move axis 7 in the negative or positive direction |
In Cartesian control mode, the same buttons move the TCP along X, Y, and Z and rotate it around A, B, and C.
### Speed control (Override)
| Button | Description |
|---|---|
| 0 | Decrease manual motion speed |
| 100 | Increase manual motion speed |
The value is displayed as a percentage of maximum speed. In T1 mode, TCP speed is hardware-limited to 250 mm/s.
### User buttons
Four white round buttons are located at the bottom of the left panel. Their behavior is programmed through the Sunrise project API. They are unassigned by default.
## Operating modes
| Mode | Description |
|---|---|
| T1 | Manual control with TCP speed limited to 250 mm/s; the enabling device must be held |
| T2 | Manual control at normal speed; the enabling device must be held |
| AUT | Automatic mode; axis buttons are unavailable and Start/Stop buttons control execution |
!!! tip "Extra menu"
See [Extra menu](extra-menu.md) for additional control parameters.