Skip to main content

dora-rs nodes for forward and inverse kinematics on OpenArm

Project description

dora-openarm-kinematics

Dora nodes for forward and inverse kinematics on the OpenArm bimanual robot, backed by MuJoCo and mink. FK/IK logic lives in the openarm_control package, imported as control.

Install

uv sync

Dora Nodes

dora-openarm-fk — Forward Kinematics

Converts per-arm joint angles to end-effector poses via mj_forward.

Inputs position_right float32[8], position_left float32[8] — joints 1–7 + gripper
Outputs pose_right float32[7], pose_left float32[7][px, py, pz, qw, qx, qy, qz]
--mode           right | left | bimanual  (default: bimanual)
--frame-right    MuJoCo site/body/geom name for right EE  (default: right_ee_control_point)
--frame-left     MuJoCo site/body/geom name for left EE   (default: left_ee_control_point)
--frame-type-*   body | site | geom  (default: site)
--keyframe       initial keyframe name  (default: home)
--xml            MJCF scene file

dora-openarm-ik — Differential IK

Solves joint angles from EE pose targets using mink's QP-based differential IK. Both arms share one mink.Configuration and are solved in a single QP per step. DOFs not driven by IK outputs are frozen (finger joints, lifter).

Inputs target_right float32[7], target_left float32[7] — EE pose targets; position float32[16] — optional joint-state sync; trigger_right / trigger_left float32[1] — gripper pass-through
Outputs position_right float32[8], position_left float32[8]
--mode           right | left | bimanual  (default: bimanual)
--max-iters      IK iterations per event  (default: 5)
--dt             integration timestep per iteration  (default: 0.5)
--damping        global Tikhonov regularization  (default: 1e-3)
--lm-damping     per-task LM damping  (default: 1e-4)
--posture-cost   posture task weight, 0 = disabled  (default: 0.0)
--pos-cost       position task cost  (default: 1.0)
--ori-cost       orientation task cost  (default: 1.0)
--solver         QP backend  (default: daqp)
--frame-right    site/body name for right EE  (default: right_ee_control_point)
--frame-left     site/body name for left EE   (default: left_ee_control_point)
--keyframe       initial keyframe  (default: home)
--xml            MJCF scene file

Quick Start

FK — visualise leader arm poses

Reads joint angles from a physical leader arm and publishes end-effector poses. Requires a connected leader device.

uv run dora build example/dataflow-dummy-fk.yaml --uv
uv run dora run example/dataflow-dummy-fk.yaml --uv

FK → IK roundtrip

Pipes FK output directly back into IK to verify the solver round-trips correctly. No physical hardware needed beyond the leader.

uv run dora build example/dataflow-dummy-ik.yaml --uv
uv run dora run example/dataflow-dummy-ik.yaml --uv

Dataflow: leaderfk (joints → poses) → ik (poses → joints) → viewer

Tune the ik solver parameters in:

args: "--mode bimanual --max-iters 5 --dt 0.1 --damping 0.25 --posture-cost 0.01 --lm-damping 0.01"

License

Licensed under the Apache License 2.0. See LICENSE for details.

Copyright 2026 Enactic, Inc.

Code of Conduct

All participation in the OpenArm project is governed by our Code of Conduct.

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

dora_openarm_kinematics-0.1.1.tar.gz (8.9 kB view details)

Uploaded Source

File details

Details for the file dora_openarm_kinematics-0.1.1.tar.gz.

File metadata

  • Download URL: dora_openarm_kinematics-0.1.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dora_openarm_kinematics-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d55bd1ddff9595e1983d29f1a90c9b489e1d96885bffbeb049916bd5348fa286
MD5 93a45d9b9ec22125c8f353eaf70836a1
BLAKE2b-256 c807a469791a6f89d5c713f34fff3a861c90a147efa1b27539f3404ed4680a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dora_openarm_kinematics-0.1.1.tar.gz:

Publisher: package.yaml on enactic/dora-openarm-kinematics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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