Skip to main content

RoboCore: Unified High-Throughput Robotics Library

License Python

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


📖 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}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synria_robocore-1.0.0.tar.gz (104.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synria_robocore-1.0.0-py3-none-any.whl (140.1 kB view details)

Uploaded Python 3

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

Hashes for synria_robocore-1.0.0.tar.gz
Algorithm Hash digest
SHA256 68ea7ed1eaa23d6983a352af100c226bcada5d54a9612bb10b5dc04b6d172a67
MD5 d5bbd6739e1b9a75c761916a30011328
BLAKE2b-256 3113c77ef2657baf61a4217be4163775fbc03b355573259d5d492d91422bf81a

See more details on using hashes here.

File details

Details for the file synria_robocore-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for synria_robocore-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7e282e44474f14202f8947548238810365a6e44c9c3dc788e19525c30a324c3
MD5 89dd84ffa30bc8298fba33705dbed05f
BLAKE2b-256 6b985f4ede1bc917d61b63c5d895cec640241cdb4f5fbc4185b4958aff54c629

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page