Goals
This guide walks you through connecting a Universal Robot UR7e industrial arm to its digital twin on Cyberwave via a Raspberry Pi running ROS 2. By the end, you will have:- Flashed a pre-configured ROS 2 image onto a Raspberry Pi
- Created a Cyberwave environment with a UR7e digital twin
- Connected the Raspberry Pi to the UR7e over Ethernet
- Installed the Cyberwave edge stack and paired the robot
- Launched the UR robot driver and MQTT bridge for real-time control
Prerequisites
- Hardware
- Software Image
- Credentials
- Universal Robot UR7e arm, powered on and in Remote Control mode
- Raspberry Pi 4 or 5 (4 GB+ RAM recommended)
- SD card: 32 GB minimum, 64 GB+ recommended
- Ethernet cable connecting the Raspberry Pi to the UR7e
- Monitor, keyboard, and mouse for initial Pi setup
Phase 1: Flash the Raspberry Pi
Write the pre-configured ROS 2 image to your SD card.Option A: Raspberry Pi Imager (recommended)
- Download and install Raspberry Pi Imager.
- Launch the imager, click Choose OS → Use custom, and select the
.img.xzimage file. - Click Choose Storage and select your SD card.
- Click Write. No need to extract the
.xzfile first. - Wait 10–20 minutes, then safely eject the SD card.
Option B: Command line (Linux / macOS)
Phase 2: First Boot and Network Setup
Step 1: Boot the Raspberry Pi
- Insert the SD card into the Raspberry Pi.
- Connect an HDMI monitor, USB keyboard, and Ethernet cable (to the same network as the UR7e).
- Power on and wait 2–3 minutes for the first boot to complete.
Step 2: Log in and expand the filesystem
Step 3: Verify network connectivity to the UR7e
Phase 3: Configure the Cyberwave Environment
Step 1: Create an environment
An environment is a 3D virtual space that mirrors your real-world robot setup.- Go to the Cyberwave dashboard and click New Environment.
- Give it a name (e.g., “UR7e Workstation”) and description.
Step 2: Add the UR7e digital twin
- Inside your environment, click Add from Catalog in the left panel.
- Search for UR7e in the catalog.
- Add the UR7e digital twin and position it to match your physical setup.
Phase 4: Install the Cyberwave Edge and Pair
Step 1: Install the Cyberwave CLI
SSH into the Raspberry Pi and install the CLI:For more details, see Step 3 of the Quick Start guide.
Step 2: Install the Edge Core
The Edge Core bridges the UR7e hardware and the Cyberwave cloud via MQTT.Step 3: Pair the UR7e with its digital twin
Follow the terminal prompts:- Select the environment you created.
- Select the UR7e digital twin.
- The appropriate driver will be automatically installed and configured.
Your Universal Robot UR7e is now paired with its digital twin and syncing in real time.
Phase 5: Launch the Robot Driver
Before Cyberwave can send commands, the ROS 2 driver must be running on the Raspberry Pi.Verify the ROS 2 installation
Rebuild the workspace (recommended on first boot)
Start the UR robot driver
Make sure the UR7e is powered on and in Remote Control mode, then:Start the MQTT bridge
The MQTT bridge connects the ROS 2 driver to Cyberwave’s MQTT broker. First, configure the broker:The UR7e is now streaming data to Cyberwave and accepting commands through MQTT.
EPick Gripper Setup (Optional)
If your UR7e is equipped with a Robotiq EPick vacuum gripper, configure it on the UR teach pendant first:- Installation → URCaps → EPick on the teach pendant.
- Add a Modbus output register named
epick_cmdat address1000with slave ID9, baud rate115200.
Auto-Start on Boot (Optional)
To have the MQTT bridge start automatically when the Raspberry Pi boots, create a systemd service:Troubleshooting
ros2: command not found
ros2: command not found
Source the ROS 2 environment before running any
ros2 command:Cannot reach the UR7e over the network
Cannot reach the UR7e over the network
- Verify the Ethernet cable is connected.
- Check the robot’s IP matches your configuration:
ping 192.168.1.102. - Ensure the robot is in Remote Control mode on the teach pendant.
- Review your netplan config and run
sudo netplan apply.
Build fails with missing dependencies
Build fails with missing dependencies
MQTT bridge won't connect
MQTT bridge won't connect
Verify broker connectivity:Check the
bridge_params.yaml for correct host, port, and credentials.