airo-models
Curated URDFs and 3D models of the robots and gripper used at airo.
Installation
airo-models is available on PyPi and can be installed with pip:
pip install airo-models
Usage
Example of loading a URDF from airo-models, customizing it and writing it to a temporary file:
import airo_models
robotiq_urdf_path = airo_models.get_urdf_path("robotiq_2f_85")
robotiq_urdf = airo_models.urdf.read_urdf(robotiq_urdf_path)
# Make the robotiq gripper static
airo_models.urdf.replace_value(robotiq_urdf, "@type", "revolute", "fixed")
airo_models.urdf.delete_key(robotiq_urdf, "mimic")
airo_models.urdf.delete_key(robotiq_urdf, "transmission")
# Write it to a temporary file to read later with Drake's AddModelFromFile
robotiq_static_urdf_path = airo_models.urdf.write_urdf_to_tempfile(
robotiq_urdf, robotiq_urdf_path, prefix="robotiq_2f_85_static_"
)
To check which models are available:
from airo_models.files import AIRO_MODEL_NAMES
print(AIRO_MODEL_NAMES)
>>> ['ur3e', 'ur5e', 'robotiq_2f_85']
Modeling conventions
The standard convention we follow is X+ forward, Z+ up.
For cameras, we follow Z+ forward through the eye of the camera, X+ right. The origin of the camera is at the center of the (left) lens. Left is defined egocentric of the camera (i.e. looking out of the eyes of the camera).
For grippers, we follow Z+ pointing outwards from the fingers and X in the direction in which the parallel gripper closes its fingers. The origin of the gripper (base_link) is at the mounting point of its base.
Development
Local installation
- Clone this repo
- Install the dependencies using
uv sync - Initialize the pre-commit hooks
uv run pre-commit install - Run the tests with
uv run pytest .
Releasing
Releasing to PyPi is done automatically by github actions when a new tag is pushed to the main branch.
- Update the version in
pyproject.toml. git add pyproject.tomlgit commit -m ""git pushgit tag -a v0.1.0 -m "airo-models v0.1.0"git push origin v0.1.0
This was set up following this guide first and then this guide.
Metadata
Release files for airo-models 0.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| airo_models-0.0.12.tar.gz | 12.9 MB | Without provenance | Details for airo_models-0.0.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| airo_models-0.0.12-py3-none-any.whl | Python 3 | none | any | Details for airo_models-0.0.12-py3-none-any.whl |
Total release size: 25.8 MB
Release files / airo_models-0.0.12.tar.gz
| Download URL | airo_models-0.0.12.tar.gz |
|---|---|
| Size | 12.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e20a53f74f0d197545681f0b94b222c7c0ab4718639979b05b4ed53711194ca
|
|
BLAKE2b-256 checksum How to use checksums |
c2cbe9d937be64034501264472636769e2784c49380b557e67323f8acdf91c1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / airo_models-0.0.12-py3-none-any.whl
| Download URL | airo_models-0.0.12-py3-none-any.whl |
|---|---|
| Size | 12.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e809f7a97d117454c98be3e7f2cc9593a649dc9e6ca910b7dd1cbb6fb67e6d4a
|
|
BLAKE2b-256 checksum How to use checksums |
ff8e0df83229a7d06a3501307f5209cc8ce774213da528825c09c06a52a6da8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for airo-models 0.0.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.