Skip to main content

dora-openarm

A Dora node that controls OpenArm.

Usage

Use this node from a dora-rs dataflow configuration. For a full configuration example, see enactic/dora-openarm-data-collection.

nodes:
  # ...
  - id: follower-right
    build: pip install dora-openarm
    path: dora-openarm
    args: "--side right --align-trigger gripper"
    inputs:
      # Only the event ID is used. The event value is ignored.
      request_position: leader/right_follower_position
      move_position: leader/right_follower_position
    outputs:
      - position
      - status

  - id: follower-left
    build: pip install dora-openarm
    path: dora-openarm
    args: "--side left --align-trigger gripper"
    inputs:
      # Only the event ID is used. The event value is ignored.
      request_position: leader/left_follower_position
      move_position: leader/left_follower_position
    outputs:
      - position
      - status
  # ...

Node arguments

Argument Description
--side OpenArm side to control. Default: right.
--config Path to the OpenArm configuration file. Default: openarm_cell.yaml.
--align-trigger Optional trigger for the initial alignment step. Supported value: gripper.
--align-threshold Alignment threshold in radians. Default: 0.1.
--align-delta-limit Maximum joint delta per initial-alignment command in radians. Default: 0.001.
--[no-]align Whether to align to incoming position commands after the arm starts. Default: enabled.
--[no-]stop Whether to stop the arm when the node exits. Default: controlled by the STOP environment variable, or true when it is unset.
--[no-]refresh-every-request Whether to refresh OpenArm state before each request. Default: controlled by the REFRESH environment variable, or true when it is unset.

Inputs

Input Description
request_position Requests the current arm position. The event ID is used and the event value is ignored.
request_state Requests the current arm state. The event ID is used and the event value is ignored.
move_position Sends a new target position to the arm. The value may be a struct containing qpos ([{"qpos": [...]}]), a position array directly, or a legacy struct containing new_position. When initial alignment is enabled, this input drives the alignment until it completes.

Outputs

Output Description
position Current arm position as a length-1 struct containing a float32 array: [{"qpos": [...]}].
state Current arm state as a length-1 struct with list fields: [{"qpos": [...], "qvel": [...], "qtorque": [...], "tmos": [...], "trotor": [...]}]. qpos, qvel, and qtorque are float32 lists; tmos (MOS temperature) and trotor (rotor temperature) are int32 lists per motor, in °C.
status Current control state as a string array: stopped, started, or aligned. With alignment enabled, aligned is emitted once initial alignment completes.

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.

Metadata

Release files for dora-openarm 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dora-openarm 1.1.0
File Size Uploaded
dora_openarm-1.1.0.tar.gz 9.5 kB Details

Release files / dora_openarm-1.1.0.tar.gz

Download URL dora_openarm-1.1.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f0d1c0d10464a23f6eebe8f9bed9878d5c7f659c48b8f769ed78e73e375e2f0a
BLAKE2b-256 checksum
How to use checksums
1c047713a9704d7a09ba05d8a32b54265a09bf9339860ab14d2e210ce6a31ab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

This release

1.1.0 This release

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page