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!
Metadata
Release files for orca_arm 0.0.0
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 |
|---|---|---|---|---|
| orca_arm-0.0.0.tar.gz | 47.0 MB | Without provenance | Details for orca_arm-0.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| orca_arm-0.0.0-py3-none-any.whl | Python 3 | none | any | Details for orca_arm-0.0.0-py3-none-any.whl |
Total release size: 94.0 MB
Release files / orca_arm-0.0.0.tar.gz
| Download URL | orca_arm-0.0.0.tar.gz |
|---|---|
| Size | 47.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8ab1f995ba8333c0f12c3d240fb2d07e0a334ded015b482c947d9acb334abb6
|
|
BLAKE2b-256 checksum How to use checksums |
65e0f1d37f5c688f32956bbc1b612ffe9c95b4757fce5ca9f98da0bbe43618ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / orca_arm-0.0.0-py3-none-any.whl
| Download URL | orca_arm-0.0.0-py3-none-any.whl |
|---|---|
| Size | 47.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f9032ade64da21cddb37297f0112d74274078d09343194900f1cc969b59c105
|
|
BLAKE2b-256 checksum How to use checksums |
7e476189a9cb4873fe8523c0cd262a08c47473c7d71e4c9e23dacdb7eb4f76b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Security for orca_arm 0.0.0
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.