OpenUR
A comprehensive Python library for controlling Universal Robots through their TCP/IP interfaces. OpenUR provides a unified interface for Dashboard Server, RTDE (Real-Time Data Exchange), and URScript commands.
Features
- Dashboard Server Integration: Complete control over robot state, programs, and safety
- RTDE Support: Real-time data exchange for monitoring and control
- URScript Interface: Send and execute URScript programs
- Context Manager Support: Safe resource management with automatic cleanup
- Comprehensive Error Handling: Robust error handling and connection management
- CLI Tools: Command-line interface for configuration and testing
Installation
pip install OpenUr
Quick Start
from openur import OpenUR
# Connect to robot
with OpenUR('192.168.1.11') as robot:
# Check robot status
if robot.is_in_remote():
print("Robot is in remote control mode")
# Get current joint positions
joint_positions = robot.actual_q()
print(f"Current joint positions: {joint_positions}")
# Move robot
robot.movej([0, -1.57, 0, -1.57, 0, 0])
CLI Commands
Create RTDE Configuration
openur make . # Create rtde_configuration.xml in current directory
openur make /path/to/config # Create in specified directory
openur make . --force # Overwrite existing file
Test Robot Connection
openur test 192.168.1.11 # Test connection to robot
openur test 192.168.1.11 -t 30 # Test with 30 second timeout
Configuration
Before using OpenUR, you need to create an RTDE configuration file:
openur make .
This creates rtde_configuration.xml with the necessary fields for data exchange.
Documentation
For full documentation visit Documentation.
Requirements
- Python 3.7+
- numpy>=1.19.4,<2.0.0
- math3d>=3.3.5
License
GNU GPL v3 License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Project Structure
openur/
├── dashboard/ # Dashboard server interface
├── rtde_command/ # RTDE data exchange
├── urscript/ # URScript interface
├── connections/ # Connection management
└── cli.py # Command-line interface
Support
For support and questions, please open an issue on GitHub.
Release files for OpenUr 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openur-0.3.0.tar.gz | 90.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openur-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 195.8 kB
Release files / openur-0.3.0.tar.gz
| Download URL | openur-0.3.0.tar.gz |
|---|---|
| Size | 90.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3d9057891e66ba74acd1720777e394fbfa4d0ed95add9381558d72b34d87167
|
|
BLAKE2b-256 checksum How to use checksums |
fb3e26fab78b2ad0ca3c40a8919f6a6a8d7176c08c3dbfc95e70b4ebe28ecfba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / openur-0.3.0-py3-none-any.whl
| Download URL | openur-0.3.0-py3-none-any.whl |
|---|---|
| Size | 104.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b71dc14ed65413f40230583c2a991f0499ba32b70b8f5785b9ef7beec7b00a7f
|
|
BLAKE2b-256 checksum How to use checksums |
ef45712446b673c782f623ab548fff1f036e7e418abba401c0ac888b50cd2a77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|