Skip to content

Commit 6da8404

Browse files
committed
bump version to 0.3.10
1 parent 9f518c9 commit 6da8404

4 files changed

Lines changed: 32 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.10] — 2026-07-10
9+
10+
### Fixed
11+
- RTDE connection retries once after boot (5s delay) — Secondary Interface may not be ready immediately after power-on + brake release
12+
813
## [0.3.9] — 2026-07-10
914

1015
### Fixed

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "urkit"
7-
version = "0.3.9"
7+
version = "0.3.10"
88
description = "Universal Robots e-Series control toolkit built on ur_rtde"
99
readme = "README.md"
1010
license = {text = "MIT"}
11-
requires-python = ">=3.8"
11+
requires-python = ">=3.10"
1212
authors = [
1313
{name = "URKit Contributors"},
1414
]
@@ -44,10 +44,10 @@ classifiers = [
4444
"Topic :: Scientific/Engineering :: Human Machine Interfaces",
4545
]
4646
dependencies = [
47-
"ur_rtde>=1.4.0",
47+
"ur_rtde>=1.6",
4848
"pyyaml>=6.0",
49-
"colorama>=0.4.6",
50-
"rich>=13.0.0",
49+
"colorama>=0.4",
50+
"rich>=15",
5151
]
5252

5353
[project.urls]

src/urkit/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
from __future__ import annotations
2626

27-
__version__ = "0.3.9"
27+
__version__ = "0.3.10"
2828

2929
from urkit.config import load_config, resolve_config
3030
from urkit.exceptions import (

src/urkit/robot.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,27 @@ def __init__(
188188
"Continuing — RTDE connection may fail if a program is running."
189189
)
190190

191-
# Connect RTDE
192-
self._rtde_c, self._rtde_r, self._rtde_io = _connect_rtde(
193-
ip,
194-
frequency=self._rtde_frequency,
195-
)
191+
# Connect RTDE — retry after boot, the Secondary Interface may need
192+
# extra time to accept connections even after the robot is IDLE.
193+
rtde_attempts = 2 if boot_needed else 1
194+
for attempt in range(1, rtde_attempts + 1):
195+
try:
196+
self._rtde_c, self._rtde_r, self._rtde_io = _connect_rtde(
197+
ip,
198+
frequency=self._rtde_frequency,
199+
)
200+
break
201+
except Exception as e:
202+
if attempt < rtde_attempts:
203+
logger.warning(
204+
"[URRobot] RTDE connection attempt %d failed: %s. "
205+
"Retrying in 5s...",
206+
attempt,
207+
e,
208+
)
209+
time.sleep(5)
210+
else:
211+
raise
196212

197213
# Initialize subsystems
198214
self._telemetry = Telemetry(self._rtde_r)

0 commit comments

Comments
 (0)