A world model that unifies kinematic information and semantic meaning for robotic world representations.
Project description
Welcome to the Semantic Digital Twin Package
Introducing Semantic Digital Twin: A unified interface for scene data and asserted meaning.
The Semantic Digital Twin Python package streamlines the integration and management of scene graphs with explicit semantic assertions. Agents and autonomous systems require more than just coordinates, they need contextual understanding. Semantic Digital Twin bridges geometry, kinematics, and meaning, allowing systems for planning, learning, and reasoning to process the environment through actionable, high-level concepts.
This enables the construction of environments that can be readily understood, queried, transformed, and shared across projects. Whether for research prototypes or robust data pipelines, Semantic Digital Twin translates raw environment data into structured knowledge.
Assimilated Technologies
🌍 Model full kinematic worlds, not just meshes. Define bodies, regions, connections, and degrees of freedom as primary, first-class entities within a clean, composable Python API.
🤔 Enhance meaning with Views. Transform raw geometry into actionable concepts like drawers, handles, containers, and task-relevant regions. Express relationships and intent beyond simple shapes.
💡 Intelligent Querying. Use a high-level entity query language to precisely locate relevant elements—e.g., "the handle attached to the drawer that is currently accessible"—to enable targeted interaction.
🛢️️ Reproducible Persistence and Replay. Serialize annotated worlds into a SQL format, allowing for faithful reconstruction as consistent, interactive objects. This facilitates reproducible experiments and robust machine learning data pipelines.
🛠️ Effortless Composition. Leverage factories and dataclasses for simple authoring of complex scenes and extending semantics. Share domain knowledge efficiently without reliance on fragile glue code.
📈 Scale and Consistency. The integrated kinematic tree, DoF registry, and robust world validation ensure model consistency and integrity from initial prototype to large-scale production deployment.
🔮 Flexible Visualization. View worlds in lightweight RViz2, explore within notebooks, or integrate with richer simulation environments. Quickly understand both the structural and semantic layers of your models.
🔌 Pluggable Integration. Use a multitude of adapters for seamless import, no matter if its URDF, USD, MJCF, etc.
🦾 Reliable Kinematics. Compute forward transforms and inverse (backward) kinematics cleanly across the tree, providing a straightforward and robust foundation for pose queries, control, and reasoning.
👯 Real-Time World Synchronization. Maintain a consistent state across multiple processes and robotic agents using lightweight, real-time world synchronization. Structures can be created, merged, and updated at once, ensuring they are accurately reflected across all connected instances.
🚀 Get started with the user-guide!
📖 Read the full documentation!
🤝 Contribute with the developer-guide!
User Installation
You can install the package directly from PyPI:
pip install -U semantic_digital_twin
Contributing
If you are interested in contributing, you can check out the source code from GitHub:
git clone https://github.com/cram2/semantic_digital_twin.git
Development Dependencies
sudo apt install -y graphviz graphviz-dev
pip install -r requirements.txt
Tests
The tests can be run with pytest directly in PyCharm or from the terminal after installing Semantic Digital Twin as a python package.
pip install -e .
pytest test/
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 semantic_digital_twin-0.0.6.tar.gz.
File metadata
- Download URL: semantic_digital_twin-0.0.6.tar.gz
- Upload date:
- Size: 6.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9d071f8f83acf640d1a2d4500d00349a392b4d29abd06f15656fe3cea8e5b4e
|
|
| MD5 |
30de2d35acfb3aede86d7903f5a35a78
|
|
| BLAKE2b-256 |
e2fb5dcadd43bc01419bed346f8fd8804c80a494df50679038dd4d1701414968
|
Provenance
The following attestation bundles were made for semantic_digital_twin-0.0.6.tar.gz:
Publisher:
publish-to-pypi.yml on cram2/semantic_digital_twin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
semantic_digital_twin-0.0.6.tar.gz -
Subject digest:
f9d071f8f83acf640d1a2d4500d00349a392b4d29abd06f15656fe3cea8e5b4e - Sigstore transparency entry: 713969083
- Sigstore integration time:
-
Permalink:
cram2/semantic_digital_twin@8c6f414f0bfda9691fc55978a4c51c8f553b2642 -
Branch / Tag:
refs/tags/v0.0.6 - Owner: https://github.com/cram2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@8c6f414f0bfda9691fc55978a4c51c8f553b2642 -
Trigger Event:
push
-
Statement type:
File details
Details for the file semantic_digital_twin-0.0.6-py3-none-any.whl.
File metadata
- Download URL: semantic_digital_twin-0.0.6-py3-none-any.whl
- Upload date:
- Size: 204.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a90f8db94d895df7e301b8c9da35188725881d8e2bb492251677c16560c1d581
|
|
| MD5 |
d30d2f89f12c0ef4e41fff16d1e7d3d6
|
|
| BLAKE2b-256 |
121477cbb517bc96259d57cf77eb96e99c60ea311bef5905b7907b51585af5c5
|
Provenance
The following attestation bundles were made for semantic_digital_twin-0.0.6-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on cram2/semantic_digital_twin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
semantic_digital_twin-0.0.6-py3-none-any.whl -
Subject digest:
a90f8db94d895df7e301b8c9da35188725881d8e2bb492251677c16560c1d581 - Sigstore transparency entry: 713969084
- Sigstore integration time:
-
Permalink:
cram2/semantic_digital_twin@8c6f414f0bfda9691fc55978a4c51c8f553b2642 -
Branch / Tag:
refs/tags/v0.0.6 - Owner: https://github.com/cram2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@8c6f414f0bfda9691fc55978a4c51c8f553b2642 -
Trigger Event:
push
-
Statement type: