Unified High-Throughput Robotics Library
Project description
RoboCore: Unified High-Throughput Robotics Library
Developed by Synria Robotics Co., Ltd. ๐ค
๐ฅ Features & Roadmap
| Module | Features | Status |
|---|---|---|
| Kinematics | Forward Kinematics (NumPy/PyTorch Batch) | โ |
| Inverse Kinematics (NumPy/PyTorch Batch) | โ | |
| Jacobian (NumPy/PyTorch Batch) | โ | |
| Bimanual FK (indep/relative/mirror) | โ | |
| Bimanual IK (indep/relative/mirror) | โ | |
| Bimanual Jacobian (indep/relative) | โ | |
| Modeling | URDF parsing | โ |
| MJCF parsing | โ | |
| Robot model abstraction | โ | |
| Multi-chain support | โ | |
| Bimanual robot model | โ | |
| Workspace analysis | โ | |
| Transform | SE(3) operations | โ |
| SO(3) operations | โ | |
| Rotation conversions | โ | |
| Quaternion operations | โ | |
| Planning | Joint space (polynomial/spline/multi-segment) | โ |
| Cartesian space (linear/circular/spline) | โ | |
| Orientation planning (SLERP) | โ | |
| Velocity profiles (trapezoidal/S-curve) | โ | |
| Control | Joint position controller (PD/PID) | โ |
| Joint velocity controller | โ | |
| Joint trajectory tracking controller | โ | |
| Cartesian position controller | โ | |
| Cartesian velocity controller | โ | |
| Cartesian trajectory tracking controller | โ | |
| Computed torque controller | โช | |
| Impedance controller | โช | |
| MPC controller | โช | |
| Analysis | Workspace analysis | โ |
| Singularity analysis | ๐ก | |
| WDF | SDF (Signed Distance Field) | โ |
| RDF (Relative Distance Field) | โ | |
| Visualization | โ | |
| Config | YAML configuration | โ |
| Config schemas | โ | |
| Bridge | MuJoCo simulation bridge | โ |
| Physics simulation & evaluation | โ | |
| Real robot bridge (partial) | ๐ก | |
| Dynamics | Inverse dynamics | โช |
| Forward dynamics | โช | |
| Mass matrix computation | โช | |
| Coriolis & gravity computation | โช | |
| Collision | Mesh-based collision detection | โช |
| Distance computation | โช | |
| Path Planning | RRT/RRT* algorithms | โช |
| PRM algorithms | โช | |
| Optimization-based planning | โช |
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 .
pip install -r requirements.txt
๐ฏ 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, 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
import robocore as rc
# Generate random configurations
q_batch = robot.random_q_batch(batch_size=1000)
# Set global backend for GPU
rc.set_backend('torch', device='cuda')
# Batch FK on GPU
poses = robot.fk(
torch.tensor(q_batch),
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
๐๏ธ 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-2.0.0a1.tar.gz.
File metadata
- Download URL: synria_robocore-2.0.0a1.tar.gz
- Upload date:
- Size: 313.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 |
63221406ad72a2f59900de15ee2ee8662521fbdc4f108068530df0e70d121f66
|
|
| MD5 |
a3336ff618394b646f784dd367bb5510
|
|
| BLAKE2b-256 |
f46428dbfb381499128811261ec097cfbd13f6b94954a561159d5c2566081a89
|
File details
Details for the file synria_robocore-2.0.0a1-py3-none-any.whl.
File metadata
- Download URL: synria_robocore-2.0.0a1-py3-none-any.whl
- Upload date:
- Size: 435.8 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 |
89e6efd67f73431d5efb521bc3a5b7ebb7113bbd26d87fda457b6ed1bfc4b36f
|
|
| MD5 |
9a0c340740dadf4ff195f717add51cb4
|
|
| BLAKE2b-256 |
fcd88aadb7e67d449b9a18b4709c9b0d174e3a3d91ae85e417f3e500444eed99
|