All in one package for complete control of your UR robot.
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openur-0.3.0.tar.gz.
File metadata
- Download URL: openur-0.3.0.tar.gz
- Upload date:
- Size: 90.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3d9057891e66ba74acd1720777e394fbfa4d0ed95add9381558d72b34d87167
|
|
| MD5 |
42b3c164f5ce9dbe5357f47c57d8a84c
|
|
| BLAKE2b-256 |
fb3e26fab78b2ad0ca3c40a8919f6a6a8d7176c08c3dbfc95e70b4ebe28ecfba
|
File details
Details for the file openur-0.3.0-py3-none-any.whl.
File metadata
- Download URL: openur-0.3.0-py3-none-any.whl
- Upload date:
- Size: 104.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b71dc14ed65413f40230583c2a991f0499ba32b70b8f5785b9ef7beec7b00a7f
|
|
| MD5 |
c849a9a2d551f07a71e1989d8600bf7e
|
|
| BLAKE2b-256 |
ef45712446b673c782f623ab548fff1f036e7e418abba401c0ac888b50cd2a77
|