Skip to main content

Curated URDFs and 3D models of the robots and gripper used at airo.

Project description

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.

  1. Update the version in pyproject.toml.
  2. git add pyproject.toml
  3. git commit -m ""
  4. git push
  5. git tag -a v0.1.0 -m "airo-models v0.1.0"
  6. git push origin v0.1.0

This was set up following this guide first and then this guide.

Project details


Download files

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

Source Distribution

airo_models-0.0.12.tar.gz (12.9 MB view details)

Uploaded Source

Built Distribution

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

airo_models-0.0.12-py3-none-any.whl (12.9 MB view details)

Uploaded Python 3

File details

Details for the file airo_models-0.0.12.tar.gz.

File metadata

  • Download URL: airo_models-0.0.12.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for airo_models-0.0.12.tar.gz
Algorithm Hash digest
SHA256 0e20a53f74f0d197545681f0b94b222c7c0ab4718639979b05b4ed53711194ca
MD5 4e2c6de6f4902e29157ed650773aa2b0
BLAKE2b-256 c2cbe9d937be64034501264472636769e2784c49380b557e67323f8acdf91c1a

See more details on using hashes here.

File details

Details for the file airo_models-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: airo_models-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for airo_models-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 e809f7a97d117454c98be3e7f2cc9593a649dc9e6ca910b7dd1cbb6fb67e6d4a
MD5 4ee396c73bb4c6c4a6038785027ebfa3
BLAKE2b-256 ff8e0df83229a7d06a3501307f5209cc8ce774213da528825c09c06a52a6da8b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page