Robots · Robot arms

UR5e teleoperation: RTDE streaming, leader arms and remote help for the arm now sold as the UR7e

The UR5e is the cobot that shows up in research papers and on factory floors alike. Here is how to drive it remotely, record data from it, and keep its safety system in charge while someone else is at the controls.

Universal Robots UR5e (now UR7e), 6-axis industrial cobot
AI-generated illustration of the Universal Robots UR5e (now UR7e). For product photos, see Universal Robots.
Degrees of freedom
6 rotating joints
Payload
5 kg (UR5e); 7.5 kg as the UR7e
Reach
850 mm
Repeatability
±0.03 mm (ISO 9283)
Max TCP speed
4 m/s (joints ±180°/s)
Weight
20.6 kg including cable
Force/torque sensor
Built into the tool flange, ±50 N and ±10 Nm range
Safety
17 configurable safety functions, EN ISO 13849-1 PLd Cat 3

Updated

The Universal Robots UR5e is a 6-axis cobot with a 5 kg payload, an 850 mm reach and ±0.03 mm repeatability. Universal Robots says more than 90,000 of its cobots have been delivered, and the UR5e is the model that three separate community LeRobot integrations target. That gives it two teleoperation audiences: research teams collecting demonstrations, and plants that want a person to step in remotely when a program runs into something it cannot handle. Both start with the same question, because UR no longer sells it under that name.

UR5e or UR7e: what actually changed

UR's e-Series page now lists a UR7e where the UR5e used to be, and UR's own announcement for Vietnam describes the UR7e and UR12e as upgraded versions of the UR5e and UR10e, with payloads raised to 7.5 kg and 12.5 kg. Put the numbers side by side and the overlap is obvious:

UR5e (datasheet)

5 kg payload, 850 mm reach, ±0.03 mm repeatability, 20.6 kg, 4 m/s max TCP speed.

UR7e on CB5

7.5 kg payload, 850 mm reach, ±0.03 mm repeatability, 20.6 kg, 4 m/s. Same reach, weight and speed; a higher payload rating.

UR7e-920

The same 7.5 kg payload with a 920 mm reach. Longer reach means different link lengths, so treat it as a different kinematic model.

For teleoperation and data collection this matters in one place: configuration. The UR ROS 2 driver accepts ur5e and ur7e as separate robot types, and leader arms, URDFs and inverse kinematics should match the arm you actually have. Datasets recorded on a UR5e remain the closest public reference for a UR7e on CB5.

"UR5e remote control" means three different things

Remote Control mode on the pendant

e-Series controllers have a local and a remote control mode. In local mode the dashboard server on port 29999 refuses some commands with "Command is not allowed due to safety reasons, please switch robot to Remote Control mode." This is about who may load and start programs from the network. It is not teleoperation on its own.

Remote access to the pendant screen

A VNC session onto PolyScope lets someone see and press buttons from elsewhere. It is fine for checking status and restarting a program; it is not a usable way to steer the arm, because the operator is jogging through a re-encoded screen with no feel for the motion.

Streaming motion from an external PC

This is real teleoperation: an input device produces targets on a PC, and the PC streams them to the controller through RTDE or the ROS 2 driver. Everything below is about this option.

How to stream motion to a UR5e

The RTDE interface exchanges data with the controller at up to 500 Hz on e-Series robots without breaking its real-time behavior. Two details catch people out. Connecting from an external PC requires enabling the RTDE service in the robot's security settings, and only one RTDE client can control a given input variable at a time, so a teleop client and a second tool cannot both write the same registers. If the controller is short of resources it skips output packages and sends only the most recent data.

The UR ROS 2 driver covers e-Series, PolyScope X and CB3 controllers, with release branches for Humble, Jazzy, Kilted and newer. It runs through the External Control URCap: you press play on an external_control program on the pendant (or use headless mode), and ROS takes over motion from inside that program. Its controller set is what makes it useful for teleoperation:

scaled_joint_trajectory_controller

The default. It follows the robot's speed scaling, so it respects the pendant speed slider and pauses on a safeguard stop. Good for supervised moves and for replaying corrections.

forward_velocity_controller / forward_position_controller

Direct joint velocity or position targets, which the docs recommend for servoing with moveit_servo. This is how a 3D mouse or gamepad drives the end effector in Cartesian space.

force_mode_controller

Uses the UR's built-in force mode, useful when the operator needs to press, wipe or insert with a controlled force rather than a controlled position.

freedrive_mode_controller

Puts the arm in freedrive so someone on site can move it by hand, for example to clear a jam or set a new start pose.

For joint-space teleoperation, the open-source GELLO leader arm already has UR5e code you can start from. The lerobot_ur5e_gello project pairs a GELLO leader with a UR5e and Robotiq gripper over RTDE, records LeRobot datasets, and serves π0 policies from a GPU server for inference.

Control rates and latency

The controller can take updates at 500 Hz, but nobody teleoperates at 500 Hz. The operator's device and the policy you train usually run at 10 to 30 Hz, and the PC next to the robot fills the gap by interpolating and clamping velocity. At 20 Hz a step is 50 ms, which sets the budget for a remote operator:

Under ~50 ms round trip

Fine insertion and tight placement are realistic. In practice the operator is in the same region as the robot.

~100 to 200 ms

Pick-and-place, regrasping, clearing a misplaced part and most machine-tending exceptions stay comfortable. Contact work gets slower; force mode helps.

Above ~250 ms

Direct control of fine work becomes hard. Approving, correcting and resuming a program still works well, and is what most production exceptions need anyway.

Run the operator's client on your side of a VPN and stream targets, rather than streaming a remote desktop. Our latency guide has budgets by task.

Safety with a remote operator: the controller stays in charge

Per the UR5e datasheet, the arm has 17 configurable safety functions and complies with EN ISO 13849-1 (PLd, Category 3) and EN ISO 10218-1. A remote operator works inside that configuration and never edits it. The practical rules we apply on a UR cell:

Speed and separation stay local

Safety-rated scanners, light curtains and reduced-speed zones are wired to the controller. If a person walks into the cell, the robot slows or stops regardless of what the remote operator is commanding. The scaled trajectory controller pauses on a safeguard stop by design.

Anyone can stop the robot; restarting is a decision

The emergency stop on the pendant and in the cell always wins. The dashboard server can clear a protective stop remotely, but whether a remote operator may do that, or must wait for someone on site to confirm the cause, belongs in the site's procedure. If one joint hits 50 protective stops of the same type within 8 hours, the controller reports TOO_FREQUENT_PROTECTIVE_STOPS and makes you wait before clearing it.

The program hands over, not the other way round

In a production cell the robot program pauses at a defined point and hands control to the operator. When the operator finishes, control returns to the program. Nobody takes control of a running program mid-motion.

Typical exceptions on a UR cell are a part that landed in the wrong place, a regrasp after a slipped pick, or a fixture that jammed. Each one is a short teleoperated recovery, and each recovery can be logged as a correction episode for the next version of the program or policy. More on that model in our warehouse and factory page.

Data and LeRobot on a UR5e

LeRobot does not include a UR driver of its own, but its third-party robots page lists three UR5e integrations: lerobot_robot_ur5e, a drop-in plugin for a UR5e with a Robotiq gripper over RTDE; UR5e-LeRobot, an extension with single-arm and bimanual support; and lerobot_ur5e_auto, an extension for a mobile UR5e that records at scale with minimal supervision. The two extensions are marked as needing custom setup rather than working with an unmodified LeRobot install.

Record the wrench

The UR5e has a force/torque sensor in the tool flange, and the ROS 2 driver publishes it through a force_torque_sensor_broadcaster. For contact-rich tasks it is a cheap extra observation that cameras cannot replace.

Record the speed scaling

If a safeguard slowed the arm during an episode, the commanded and actual motion diverge. The driver reports the current speed scaling from 0 to 1; log it, and you can filter or explain those episodes later.

Fix the action space

Joint targets from a GELLO and Cartesian twists from a 3D mouse are different datasets. Pick one per dataset.

For a public reference, lerobot/berkeley_autolab_ur5 is a LeRobot port of UC Berkeley Autolab's UR5 demonstrations: 1,000 episodes with three 640×480 camera streams, recorded at 5 fps. It is the older UR5, not the e-Series, and 5 fps is slower than most current policies expect, so treat it as a reference rather than a pretraining set. Our data collection guide covers formats and checks.

What a good UR operator does

Knows the cell's safety zones and works with them: slows before a reduced-speed boundary instead of letting the controller brake the arm.
Uses force mode or a soft approach for contact, rather than pushing in position control until a protective stop fires.
On a production cell, finishes the exception and hands control back cleanly, with the part and fixture in the state the program expects.
On a research rig, keeps one grasp strategy across episodes and labels failures honestly.
Reports repeated protective stops of the same type. They usually point to a fixture, a payload setting or a path problem, not to bad luck.

UR5e, UR10e or a research arm?

The UR10e (now UR12e) uses the same software stack with 12.5 kg and 1300 mm, which suits palletizing and larger machine tending. For pure research data on contact-rich tasks, a torque-sensing 7-axis arm such as the Franka Research 3 gives joint-level torque feedback and a redundant elbow. The UR5e's strengths are an interface that is the same on the lab bench and the factory floor, and a software ecosystem (the ROS 2 driver, RTDE and three LeRobot integrations) that already exists.

How RoboPilots runs UR5e teleoperation

The arm stays where it is. We agree the input device with you (GELLO, 3D mouse or VR), install the operator client on your side of a VPN, and agree the hand-over points and stop rules with whoever owns the cell's safety. Then we train a dedicated group of operators on your unit and your task protocol before they touch a live cell or record an episode.

One-week trial

A short run sets the baseline: clean episodes per operator hour for a research rig, or exceptions resolved per shift and time to resolve for a production cell. If your latency or cell layout rules something out, we say so that week.

Coverage

Shifts across time zones, including US Pacific hours, with your on-site staff handling physical resets and anything that needs a hand in the cell.

Data

Episodes and recoveries labeled by task and outcome, delivered as LeRobot, RLDS or HDF5.

Interfaces, specs and sources

  • RTDE (up to 500 Hz)
  • UR ROS 2 driver + MoveIt 2
  • MoveIt Servo (3D mouse, gamepad)
  • GELLO leader arm
  • LeRobot community plugins
  • PolyScope / URScript

Specs are the maker's published figures, checked on . RoboPilots is not affiliated with Universal Robots; product names are trademarks of their owners.

Frequently asked questions

Is the UR7e the same as the UR5e?
Universal Robots describes the UR7e as an upgraded UR5e with the payload raised to 7.5 kg. The UR7e on CB5 shares the UR5e's 850 mm reach, ±0.03 mm repeatability and 20.6 kg weight, while the UR7e-920 variant has a longer 920 mm reach.
How do I control a UR5e remotely from a PC?
Stream targets from an external PC through RTDE, which runs at up to 500 Hz on e-Series, or through the UR ROS 2 driver with the External Control URCap. Pendant Remote Control mode only decides whether network commands may load and start programs.
Does LeRobot support the UR5e?
Not with a built-in driver. LeRobot's third-party page lists three community UR5e integrations, including a drop-in RTDE plugin with Robotiq gripper support and an extension with bimanual support.
Can you use a GELLO leader arm with a UR5e?
Yes. Open projects such as lerobot_ur5e_gello pair a GELLO leader with a UR5e and Robotiq gripper over RTDE and record LeRobot datasets.
Is it safe to let a remote operator drive a UR5e in a production cell?
It can be, as long as the controller's safety configuration, scanners and emergency stops stay in charge and the site procedure defines who may restart after a protective stop. The remote operator works inside those limits and never changes them.