Unified High-Throughput Robotics Library
Project description
RoboCore: Unified High-Throughput Robotics Library
Developed by Synria Robotics Co., Ltd. ๐ค
โจ Features
| Module | Functionality | Status |
|---|---|---|
| Modeling | URDF/MJCF parsing, Robot model abstraction | โ Stable |
| Forward Kinematics | NumPy/PyTorch backends, Batch processing | โ Stable |
| Inverse Kinematics | DLS/Pinv/Transpose methods, Multi-start | โ Stable |
| Jacobian | Analytic/Numeric/Autograd methods | โ Stable |
| Transform | SE(3)/SO(3) operations, Conversions | โ Stable |
| Analysis | Workspace/Singularity analysis | โ Beta |
| Planning | Trajectory generation | ๐ง Alpha |
| Visualization | Kinematic tree display | โ Stable |
| Configuration | YAML-based config management | โ Stable |
Supported Robot Formats
- โ URDF (Unified Robot Description Format)
- โ MJCF (MuJoCo XML) - Subset implementation for serial chains
Backend Support
- โ NumPy - CPU-optimized, 50-100x faster than pure Python
- โ PyTorch - GPU acceleration for batch operations
๐ Performance Benchmarks
Test Platform: Intel i7-10700K, NVIDIA RTX 3080, 6-DOF Manipulator
Single Configuration
| Operation | Pure Python | NumPy | Speedup |
|---|---|---|---|
| Forward Kinematics | 2.5 ms | 0.05 ms | 50x |
| Inverse Kinematics | 450 ms | 5.6 ms | 80x |
| Jacobian (Analytic) | 3.2 ms | 0.03 ms | 107x |
| Jacobian (Numeric) | 18 ms | 0.35 ms | 51x |
Batch Processing (1000 configs)
| Operation | NumPy (CPU) | PyTorch (GPU) | Speedup |
|---|---|---|---|
| Forward Kinematics | 45 ms | 3.2 ms | 14x |
| Jacobian (Analytic) | 28 ms | 2.1 ms | 13x |
๐ฆ Installation
# Clone repository
git clone https://github.com/Synria-Robotics/RoboCore.git
cd RoboCore
# Install (development mode)
pip install -e .
# Optional: Install with PyTorch for GPU support
pip install torch torchvision
๐ฏ Quick Start
Basic Example
from robocore.modeling import RobotModel
# Load robot (auto-detects URDF/MJCF)
robot = RobotModel("path/to/robot.urdf")
# Display model info
robot.summary(show_chain=True)
robot.print_tree()
# Forward Kinematics
q = [0.0] * robot.num_dof()
pose = robot.fk(q, backend='numpy', return_end=True)
# Inverse Kinematics
result = robot.ik(pose, q_initial=q, method='pinv')
print(f"Solution: {result['q']}, Success: {result['success']}")
# Jacobian
J = robot.jacobian(q, method='analytic') # Shape: (6, dof)
Batch Processing (GPU)
import torch
# Generate random configurations
q_batch = robot.random_q_batch(batch_size=1000)
# Batch FK on GPU
poses = robot.fk(
torch.tensor(q_batch),
backend='torch',
device='cuda',
return_end=True
)
๐ Examples
# Robot model loading and validation
python examples/modeling/demo_robot_model.py --validate --show-tree
# Forward/Inverse kinematics
python examples/kinematics/demo_fk.py
python examples/kinematics/demo_ik.py
# Jacobian computation
python examples/kinematics/demo_jacobian.py
# Workspace analysis
python examples/analysis/demo_workspace.py --samples 10000
# Performance benchmark
python examples/kinematics/benchmark.py
๐งช Testing
# Run all tests
pytest
# Specific test suites
pytest test/unit/ # Unit tests
pytest test/integration/ # Integration tests
# With coverage report
pytest --cov=robocore --cov-report=html
๐ TODO & Roadmap
High Priority ๐ด
- Collision Detection - Mesh-based collision checking
- Path Planning - RRT/RRT*/PRM algorithms
- Dynamics - Inverse/Forward dynamics computation
- Control - PID, MPC, impedance controllers
Medium Priority ๐ก
- Optimization - Further SIMD/vectorization improvements
- Mobile Manipulators - Support for mobile bases
- Multi-Arm Systems - Coordinated multi-robot control
Low Priority ๐ข
- Visualization - 3D interactive visualization (PyBullet/MuJoCo)
- Documentation - API docs, tutorials, best practices
๐๏ธ Project Structure
RoboCore/
โโโ robocore/
โ โโโ modeling/ # Robot model abstraction & parsers
โ โโโ kinematics/ # FK/IK/Jacobian solvers
โ โโโ transform/ # SE(3)/SO(3) operations
โ โโโ planning/ # Motion planning (WIP)
โ โโโ analysis/ # Workspace/singularity analysis
โ โโโ configs/ # Configuration management
โ โโโ utils/ # Backend abstraction, utilities
โโโ examples/ # Demo scripts
โโโ test/ # Unit & integration tests
โโโ docs/ # Documentation
๐ License
GPL-3.0 License
Copyright ยฉ 2025 Synria Robotics Co., Ltd.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
See the LICENSE file for the full license text.
๐ง Contact
- Website: synriarobotics.ai
- Email: support@synriarobotics.ai
๐ Citation
@software{robocore2025,
title = {RoboCore: High-Performance Robotics Kinematics Library},
author = {Synria Robotics Team},
year = {2025},
publisher = {Synria Robotics Co., Ltd.},
url = {https://github.com/Synria-Robotics/RoboCore},
version = {1.0.0}
}
Project details
Release history Release notifications | RSS feed
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 synria_robocore-1.0.0.tar.gz.
File metadata
- Download URL: synria_robocore-1.0.0.tar.gz
- Upload date:
- Size: 104.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68ea7ed1eaa23d6983a352af100c226bcada5d54a9612bb10b5dc04b6d172a67
|
|
| MD5 |
d5bbd6739e1b9a75c761916a30011328
|
|
| BLAKE2b-256 |
3113c77ef2657baf61a4217be4163775fbc03b355573259d5d492d91422bf81a
|
File details
Details for the file synria_robocore-1.0.0-py3-none-any.whl.
File metadata
- Download URL: synria_robocore-1.0.0-py3-none-any.whl
- Upload date:
- Size: 140.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7e282e44474f14202f8947548238810365a6e44c9c3dc788e19525c30a324c3
|
|
| MD5 |
89dd84ffa30bc8298fba33705dbed05f
|
|
| BLAKE2b-256 |
6b985f4ede1bc917d61b63c5d895cec640241cdb4f5fbc4185b4958aff54c629
|