urkit 0.3.14__tar.gz → 0.3.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {urkit-0.3.14 → urkit-0.3.16}/PKG-INFO +18 -1
  2. {urkit-0.3.14 → urkit-0.3.16}/README.md +17 -0
  3. {urkit-0.3.14 → urkit-0.3.16}/pyproject.toml +1 -1
  4. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/__init__.py +1 -1
  5. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/cli/teach.py +5 -5
  6. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/robot.py +73 -0
  7. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/PKG-INFO +18 -1
  8. {urkit-0.3.14 → urkit-0.3.16}/setup.cfg +0 -0
  9. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/__main__.py +0 -0
  10. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/cli/__init__.py +0 -0
  11. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/cli/colors.py +0 -0
  12. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/cli/connection_monitor.py +0 -0
  13. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/cli/points.py +0 -0
  14. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/config.py +0 -0
  15. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/connection.py +0 -0
  16. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/exceptions.py +0 -0
  17. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/geometry.py +0 -0
  18. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/__init__.py +0 -0
  19. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/base.py +0 -0
  20. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/digital.py +0 -0
  21. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/presets.py +0 -0
  22. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/robotiq.py +0 -0
  23. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/gripper/robotiq_preamble.py +0 -0
  24. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/io.py +0 -0
  25. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/motion.py +0 -0
  26. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/points.py +0 -0
  27. {urkit-0.3.14 → urkit-0.3.16}/src/urkit/telemetry.py +0 -0
  28. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/SOURCES.txt +0 -0
  29. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/dependency_links.txt +0 -0
  30. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/entry_points.txt +0 -0
  31. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/requires.txt +0 -0
  32. {urkit-0.3.14 → urkit-0.3.16}/src/urkit.egg-info/top_level.txt +0 -0
  33. {urkit-0.3.14 → urkit-0.3.16}/tests/test_exceptions.py +0 -0
  34. {urkit-0.3.14 → urkit-0.3.16}/tests/test_geometry.py +0 -0
  35. {urkit-0.3.14 → urkit-0.3.16}/tests/test_gripper.py +0 -0
  36. {urkit-0.3.14 → urkit-0.3.16}/tests/test_gripper_factory.py +0 -0
  37. {urkit-0.3.14 → urkit-0.3.16}/tests/test_gripper_presets.py +0 -0
  38. {urkit-0.3.14 → urkit-0.3.16}/tests/test_points.py +0 -0
  39. {urkit-0.3.14 → urkit-0.3.16}/tests/test_robot_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: urkit
3
- Version: 0.3.14
3
+ Version: 0.3.16
4
4
  Summary: Universal Robots e-Series control toolkit built on ur_rtde
5
5
  Author: URKit Contributors
6
6
  License: MIT
@@ -502,6 +502,23 @@ robot.get_speed_slider() # read current slider (0.0-1.0)
502
502
 
503
503
  The speed slider controls the pendant's speed multiplier. It's global, persistent, and affects all motion commands.
504
504
 
505
+ #### Changing Default Speed & Acceleration
506
+
507
+ Override the constructor defaults at runtime — all subsequent moves pick up the new values:
508
+
509
+ ```python
510
+ robot.set_speed(0.1) # slow for precision work
511
+ robot.move_to("insert")
512
+ robot.set_speed(0.5) # back to normal
513
+
514
+ robot.set_acc(0.05) # gentle acceleration
515
+
516
+ robot.default_vel # read current velocity (m/s)
517
+ robot.default_acc # read current acceleration (m/s²)
518
+ ```
519
+
520
+ Soft warnings log when values exceed typical robot limits (> 2 m/s for velocity, > 6 m/s² for acceleration). The controller may clamp aggressive values based on payload and configuration.
521
+
505
522
  #### Inverse Kinematics
506
523
 
507
524
  ```python
@@ -476,6 +476,23 @@ robot.get_speed_slider() # read current slider (0.0-1.0)
476
476
 
477
477
  The speed slider controls the pendant's speed multiplier. It's global, persistent, and affects all motion commands.
478
478
 
479
+ #### Changing Default Speed & Acceleration
480
+
481
+ Override the constructor defaults at runtime — all subsequent moves pick up the new values:
482
+
483
+ ```python
484
+ robot.set_speed(0.1) # slow for precision work
485
+ robot.move_to("insert")
486
+ robot.set_speed(0.5) # back to normal
487
+
488
+ robot.set_acc(0.05) # gentle acceleration
489
+
490
+ robot.default_vel # read current velocity (m/s)
491
+ robot.default_acc # read current acceleration (m/s²)
492
+ ```
493
+
494
+ Soft warnings log when values exceed typical robot limits (> 2 m/s for velocity, > 6 m/s² for acceleration). The controller may clamp aggressive values based on payload and configuration.
495
+
479
496
  #### Inverse Kinematics
480
497
 
481
498
  ```python
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "urkit"
7
- version = "0.3.14"
7
+ version = "0.3.16"
8
8
  description = "Universal Robots e-Series control toolkit built on ur_rtde"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -24,7 +24,7 @@ Quick start::
24
24
 
25
25
  from __future__ import annotations
26
26
 
27
- __version__ = "0.3.14"
27
+ __version__ = "0.3.16"
28
28
 
29
29
  from urkit.config import load_config, resolve_config
30
30
  from urkit.exceptions import (
@@ -25,7 +25,7 @@ from pathlib import Path
25
25
 
26
26
  import yaml
27
27
 
28
- from urkit import load_config, resolve_config
28
+ from urkit import load_config
29
29
  from urkit.cli.colors import blue, cyan, dim, green, red, yellow
30
30
  from urkit.cli.connection_monitor import ConnectionMonitor
31
31
  from urkit.cli.points import _interactive_points_filter
@@ -54,10 +54,10 @@ _cli_monitor: "ConnectionMonitor | None" = None
54
54
 
55
55
  # Default configuration path — resolved relative to the calling script's directory
56
56
  def _resolve_default_config_path() -> Path:
57
- """Resolve the default config.yaml path for save operations."""
58
- resolved = resolve_config()
59
- if resolved is not None:
60
- return resolved
57
+ """Resolve the default config.yaml path for save operations.
58
+
59
+ Always saves to CWD so the config follows the user, not the package.
60
+ """
61
61
  return Path.cwd() / "config.yaml"
62
62
 
63
63
  # Default step sizes
@@ -1372,6 +1372,79 @@ class URRobot:
1372
1372
  """Get the current speed slider setting (0.0–1.0)."""
1373
1373
  return self._telemetry.get_speed_slider()
1374
1374
 
1375
+ # ------------------------------------------------------------------
1376
+ # Velocity / acceleration defaults
1377
+ # ------------------------------------------------------------------
1378
+
1379
+ @property
1380
+ def default_vel(self) -> float:
1381
+ """Current default velocity (m/s) for motion commands."""
1382
+ return self._default_vel
1383
+
1384
+ @property
1385
+ def default_acc(self) -> float:
1386
+ """Current default acceleration (m/s²) for motion commands."""
1387
+ return self._default_acc
1388
+
1389
+ def set_speed(self, vel: float) -> None:
1390
+ """Change the default velocity for subsequent motions.
1391
+
1392
+ Updates both the URRobot-level default and the internal
1393
+ Motion instance so that ``move_to``, ``move_relative``, etc.
1394
+ pick up the new value when no per-call override is given.
1395
+
1396
+ Args:
1397
+ vel: Linear velocity in m/s (must be > 0).
1398
+
1399
+ Raises:
1400
+ MotionError: If vel is <= 0.
1401
+
1402
+ Example:
1403
+ >>> robot.set_speed(0.1) # slow for precision
1404
+ >>> robot.move_to("insert")
1405
+ >>> robot.set_speed(0.5) # back to normal
1406
+ """
1407
+ if vel <= 0:
1408
+ raise MotionError(f"vel must be > 0, got {vel}.")
1409
+ if vel > 2.0:
1410
+ logger.warning(
1411
+ "set_speed(%s): %.1f m/s exceeds typical TCP speed limits "
1412
+ "(UR3e/5e/10e: ~1–2 m/s). The controller may clamp this value.",
1413
+ vel,
1414
+ vel,
1415
+ )
1416
+ self._default_vel = vel
1417
+ self._motion._default_vel = vel
1418
+
1419
+ def set_acc(self, acc: float) -> None:
1420
+ """Change the default acceleration for subsequent motions.
1421
+
1422
+ Updates both the URRobot-level default and the internal
1423
+ Motion instance so that ``move_to``, ``move_relative``, etc.
1424
+ pick up the new value when no per-call override is given.
1425
+
1426
+ Args:
1427
+ acc: Linear acceleration in m/s² (must be > 0).
1428
+
1429
+ Raises:
1430
+ MotionError: If acc is <= 0.
1431
+
1432
+ Example:
1433
+ >>> robot.set_acc(0.05) # gentle acceleration
1434
+ >>> robot.move_to("insert")
1435
+ """
1436
+ if acc <= 0:
1437
+ raise MotionError(f"acc must be > 0, got {acc}.")
1438
+ if acc > 6.0:
1439
+ logger.warning(
1440
+ "set_acc(%s): %.1f m/s² is high. The controller may clamp "
1441
+ "this value based on payload and configuration.",
1442
+ acc,
1443
+ acc,
1444
+ )
1445
+ self._default_acc = acc
1446
+ self._motion._default_acc = acc
1447
+
1375
1448
  # ------------------------------------------------------------------
1376
1449
  # Kinematics
1377
1450
  # ------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: urkit
3
- Version: 0.3.14
3
+ Version: 0.3.16
4
4
  Summary: Universal Robots e-Series control toolkit built on ur_rtde
5
5
  Author: URKit Contributors
6
6
  License: MIT
@@ -502,6 +502,23 @@ robot.get_speed_slider() # read current slider (0.0-1.0)
502
502
 
503
503
  The speed slider controls the pendant's speed multiplier. It's global, persistent, and affects all motion commands.
504
504
 
505
+ #### Changing Default Speed & Acceleration
506
+
507
+ Override the constructor defaults at runtime — all subsequent moves pick up the new values:
508
+
509
+ ```python
510
+ robot.set_speed(0.1) # slow for precision work
511
+ robot.move_to("insert")
512
+ robot.set_speed(0.5) # back to normal
513
+
514
+ robot.set_acc(0.05) # gentle acceleration
515
+
516
+ robot.default_vel # read current velocity (m/s)
517
+ robot.default_acc # read current acceleration (m/s²)
518
+ ```
519
+
520
+ Soft warnings log when values exceed typical robot limits (> 2 m/s for velocity, > 6 m/s² for acceleration). The controller may clamp aggressive values based on payload and configuration.
521
+
505
522
  #### Inverse Kinematics
506
523
 
507
524
  ```python
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes