KUKA LBR iiwa R800¶
Introduction¶
Sunrise Setup¶
Sunrise Workbench is the typical method of programming and controlling the robot in a factory installation. As a research platform, however, it's not suited to our purposes; instead, we use the Fast Robot Interface (FRI) to interface with the robot at a low level and achieve real-time 1 kHz communication. For day-to-day operations at MItHRIL, Sunrise Workbench isn't generally needed. There are, however, instances where you may need it to change the robot's configuration, including:
- changing the safety configuration of the robot (so it doesn't e-stop before touching any permanent fixtures or obstacles such as its own pedestal); or
- creating a new Java-based program that allows an FRI connection and motion overlay on the robot.
Both situations are rare, and previous lab members (Eric Godden) have already set these up for the current configuration. If a change to the safety configuration or the FRI Java-side program is needed, check with Prof. Pan before continuing to use Sunrise Workbench.
Install Sunrise Workbench¶
Windows is required for the initial setup and configuration of the KUKA iiwa Sunrise Workbench.
Sunrise Workbench is located on a CD named "KUKA Sunrise.Connectivity 1.7.0_B2_C172436". It's important to use the Sunrise Connectivity Suite, since it contains the high-performance tools (namely FRI) needed for this system; install it using the SunriseWorkbench 1.7 Connectivity installer.
With the purchase of the KUKA integrated with the Clearpath Ridgeback platform in 2024, updated software versions were included. Sunrise Workbench v1.16 can be found in this SharePoint's file directory, at the bottom of the Home page under Documents/files/0000320739_01_KUKA Sunrise.OS 1.16_1.16.1_B9_C495630. Sunrise OS and FRI installations are on a CD and USB drive respectively, found in a plastic bin on the east side of Ingenuity Labs on a wire rack; this bin also contains the software disks for v1.7 and other KUKA accessories.
Connect the KUKA Controller¶
The KUKA Sunrise Cabinet has three ethernet ports labelled KONI, X65, and X66. X65 can be ignored, as it isn't used in our operations. Use an ethernet cable to connect the Windows computer running Sunrise Workbench to the controller through port X66 (also the port used for programming the robot via the Java interface). A second ethernet cable should be plugged into the KONI port, connecting a real-time Ubuntu-based computer that communicates over FRI through this port.
Set IP Address for Connection with Sunrise Workbench¶
For Sunrise Workbench to see the robot, configure the ethernet adapter's IP address manually:
- On your Windows machine, go to Control Panel > Network and Internet > Network Connections.
- Right-click the ethernet connection to the KUKA Sunrise Controller (typically called "Ethernet") and select Properties.
- Under the Networking tab, select "Internet Protocol Version 4 (TCP/IPv4)" and click Properties.
- Instead of "Obtain an IP address automatically", select "Use the following IP address" and enter:
- IP Address:
172.31.1.100(the last number can be anything from 1-255 except 1, 147, and 255) - Subnet Mask:
255.255.0.0(should autofill) - Select OK.
Launch Sunrise Workbench¶
Right-click the Sunrise Workbench desktop icon and select "Run as Administrator" (the application may not launch otherwise).
Create a New Sunrise Project¶
For most cases, do not create a new Sunrise project. Instead, download the project currently used on the robot controller by clicking the left arrow on the toolbar within Sunrise Workbench; with correctly configured IP addresses, you'll be asked to confirm downloading the configuration from the robot controller.
If starting a new project, use IP address 172.31.1.147, select the arm (LBR iiwa 14 R800) and the end effector attachment/media flange (Media Flange Touch pneumatic, in our case).
Configure Safety System to Run a Bare Robot¶
Safety-system changes
The following steps disable safety systems; it is your responsibility to ensure the safety of yourself and those around you.
If you don't have any safety systems set up and are just starting with the robot for the first time, within Sunrise Workbench:
- Open
SafetyConfiguration.sconf. - Uncheck rows 1, 2, and 3: "Emergency Stop External", "Operator Protection", and "Protective Stop" respectively.
Enable Required Software Modules¶
- Open
StationSetup.cat. - At the bottom, select the "Software" tab (among Topology, Software, Configuration, Installation).
- Check "Install" for the following modules, without removing any already installed: Interface for Rendering Standalone (without plugin); Implementation Tools and Models for Rendering; VREPSimple Tutorials for DirectServo (optional); Simple Tutorials for SmartServo (optional); Direct Servo Motion Extension; Smart Servo Motion Extension; and Fast Robot Interface Extension (crucial).
- Go to the "Installation" tab and click the button to install the software on the robot.
- After installation completes, the
FRI-Client-SDK_Cpp.zipfile should be present. Copy it onto your Linux machine that will control the robot through FRI, and extract it into a development folder.
Install Software onto the KUKA Controller¶
This installs the software by syncing a git repository that KUKA automatically creates with the robot. Note that installing and syncing are two separate steps.
- Open
StationSetup.catand select the "Installation" tab. - Click Install.
Sync Software onto the KUKA Controller¶
Make sure the software is already installed, then hit the Sync button (a grey box on the top row with arrows pointing right and left).
Enabling the Safety Configuration¶
Before the robot can run, the safety configuration must be activated on the robot using the smartPAD:
- Touch the "Station" button on the smartPAD screen.
- Select Safety > Activation at the Station level.
- Press Activate. The user group is password-protected; ask the Lab Director for the password.
Run in Autonomous Mode¶
Autonomous-mode safety
You are responsible for running the robot safely. The following actions disable safety features, so check with someone knowledgeable, read KUKA's documentation, and be very aware of the robot and its surroundings.
- Pick up the smartPAD for the KUKA iiwa.
- Turn the black key horizontally.
- Select "AUT" for autonomous mode.
- Turn the black key vertically.
Running and Stopping Applications¶
To run a Java program on the smartPAD: select the "Applications" list, select your application (e.g., "FRIApp"), and press the green play button on the left side of the tablet. To stop a program: the red square button pauses the app, and the page-with-an-X icon kills it.
Current KUKA Safety Configuration (Ingenuity Labs)¶
The KUKA LBR iiwa R800 is mounted with a -90 degree transformation about the y-axis from the global coordinate system.
The safety configuration file currently loaded on the robot is SafetyConfiguration.sconf, within the Sunrise Workbench project "PanSunriseProject". The safety configuration is based on the world reference frame, and comprises 7-axis range monitoring functions (one per axis) and 6 cartesian protected space monitoring functions. The reaction for all of these protected space monitoring (PSM) functions is "Stop 1 (path-maintaining)", as recommended in the manual (see Section 11 of the KUKA manual for more detail). Each unique PSM of a specific type (e.g., a cartesian protected space) should be saved under a unique instance; using multiple PSMs of the same type with a single instance results in only a single set of parameters.
| PSM | Function |
|---|---|
| PSM 21 (Axis 1) | Axis range monitoring (-160, 160) |
| PSM 24 (Axis 2) | Axis range monitoring (-115, 115) |
| PSM 25 (Axis 3) | Axis range monitoring (-160, 160) |
| PSM 26 (Axis 4) | Axis range monitoring (-115, 115) |
| PSM 27 (Axis 5) | Axis range monitoring (-160, 160) |
| PSM 28 (Axis 6) | Axis range monitoring (-115, 115) |
| PSM 29 (Axis 7) | Axis range monitoring (-170, 170) |
| PSM 31 | Cartesian protected space monitoring (x: -540, y: -3000, z: -3000, length: 1300, width: 3200, height: 2450) |
| PSM 32 | Cartesian protected space monitoring (x: -50, y: -150, z: -600, length: 300, width: 300, height: 100) |
| PSM 35 | Cartesian protected space monitoring (x: -30, y: -200, z: 150, length: 200, width: 400, height: 100) |
| PSM 36 | Cartesian protected space monitoring (x: -150, y: -200, z: -600, length: 350, width: 400, height: 460) |
| PSM 37 | Cartesian protected space monitoring (x: -30, y: -200, z: -150, length: 200, width: 50, height: 350) |
| PSM 38 | Cartesian protected space monitoring (x: -30, y: 150, z: -150, length: 200, width: 50, height: 350) |
All cartesian protected space monitoring functions have no rotation components (A=B=C=0). The source page also included figures illustrating the protected spaces (red zones) and the robot's mounting within Ingenuity Labs; re-attach these images once migrated.
Running the Robot via FRI¶
Running the robot using the Fast Robot Interface is something we do commonly in the lab. To run the robot using FRI, use a computer running Ubuntu with a real-time Linux kernel (PREEMPT-RT); if you need to install one, see Compile and Install a Real-Time Kernel. While KUKA installation steps are done on Windows, programming happens in Linux Ubuntu.
Note: the safety-activation password is redacted in this public copy of the handbook; current members can get it from the Lab Director, or see the internal GitLab wiki. This page also referenced manuals and figures that were not extracted as text; re-attach the manuals/images.