Skip to main content

OrcaArm: bimanual OpenArm with two OrcaHand v2 end effectors. Provides URDF/MJCF assets and Python paths to them, with all meshes bundled in the package.

Project description

orca_arm logo

orca_arm

URDF and MJCF descriptions for the OrcaArm---a bimanual OpenArm with two OrcaHand end effectors, plus every referenced mesh bundled inside the package: use it

This repository does not come with controllers, IK, motion planning, or a simulator---bring your own!

Install

git clone https://github.com/fracapuano/orca_arm.git
pip install -e .            # core: paths to URDF / MJCF / meshes
pip install -e .[viz]       # optionally adds meshcat + yourdfpy for the visualizer

What you get

The package exposes absolute paths to the bundled URDF and MJCF files of the OrcaArm:

import orca_arm

orca_arm.URDF_PATH    # path to orcabot.urdf
orca_arm.MJCF_PATH    # path to orcabot.xml (MuJoCo)

The URDF and MJCF reference meshes via paths relative to their own location, so any tool that resolves mesh paths from the URDF/MJCF file finds them without further configuration. No environment variables, no package:// resolver setup.

Visualize

You can visualize the OrcaArm with a meshcat viewer for a quick inspection:

python visualize_orcabot.py            # live FK loop with a random joint sweep - no collision detection here
python visualize_orcabot.py --idle     # static home configuration

MuJoCo

Load the bundled MJCF directly:

import mujoco
import orca_arm

model = mujoco.MjModel.from_xml_path(orca_arm.MJCF_PATH)
data = mujoco.MjData(model)

This is the entry point for any MuJoCo-based stack consuming MJCF.

Other URDF-consuming simulators

PyBullet, SAPIEN, ManiSkill, Isaac Sim, Drake, ROS — all accept the URDF path. PyBullet example:

import pybullet as p
import orca_arm

p.connect(p.DIRECT)
robot = p.loadURDF(orca_arm.URDF_PATH)

The same pattern works for any other URDF loader: hand it orca_arm.URDF_PATH.

Forward kinematics with yourdfpy

For pure kinematics — link / joint queries, forward kinematics, scene graph — without a physics simulator:

import numpy as np
import yourdfpy
import orca_arm

robot = yourdfpy.URDF.load(orca_arm.URDF_PATH)

q = np.zeros(len(robot.actuated_joint_names))
robot.update_cfg(q)

# 4x4 world transform of any link in the current configuration
T_world_link, _ = robot.scene.graph.get("<link_name>")

Layout

Path Purpose
orca_arm/orcabot.urdf Bimanual robot description
orca_arm/orcabot.xml MuJoCo MJCF, generated from the URDF
orca_arm/assets/ Bundled mesh files (.stl, .dae)
visualize_orcabot.py Meshcat viewer (live FK, or optionally --idle)
build_orcabot_urdf.py Regenerates the URDF from the OpenArm + OrcaHand source descriptions
build_orcabot_mjcf.py Regenerates the MJCF from the URDF
tests/ Checks every referenced mesh resolves and FK is well-defined

We are also releasing build_*.py scripts to regenerate the URDF and MJCF from the OpenArm and OrcaHand source descriptions. These are only relevant if you are updating the assets themselves; ordinary downstream use does not require running them!

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

orca_arm-0.0.0.tar.gz (47.0 MB view details)

Uploaded Source

Built Distribution

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

orca_arm-0.0.0-py3-none-any.whl (47.0 MB view details)

Uploaded Python 3

File details

Details for the file orca_arm-0.0.0.tar.gz.

File metadata

  • Download URL: orca_arm-0.0.0.tar.gz
  • Upload date:
  • Size: 47.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for orca_arm-0.0.0.tar.gz
Algorithm Hash digest
SHA256 d8ab1f995ba8333c0f12c3d240fb2d07e0a334ded015b482c947d9acb334abb6
MD5 217236dd1414dc1a4fd516141bf4fcc9
BLAKE2b-256 65e0f1d37f5c688f32956bbc1b612ffe9c95b4757fce5ca9f98da0bbe43618ea

See more details on using hashes here.

File details

Details for the file orca_arm-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: orca_arm-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 47.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for orca_arm-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f9032ade64da21cddb37297f0112d74274078d09343194900f1cc969b59c105
MD5 a9aff11703d6445d50bdd0663b1ff65b
BLAKE2b-256 7e476189a9cb4873fe8523c0cd262a08c47473c7d71e4c9e23dacdb7eb4f76b4

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