Skip to main content

Dora node to control OpenArm

Project description

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.
--[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 position array directly, or a struct containing new_position. When the node has not been initialized yet, this input first drives the alignment step.

Outputs

Output Description
position Current arm position as a float32 array.
state Current arm state as a struct with float32 array fields qpos, qvel, and qtorque, plus int32 array fields tmos (MOS temperature) and trotor (rotor temperature) per motor, in °C.
status A string array containing ready once the 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.

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-1.0.0.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file dora_openarm-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for dora_openarm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 625035d79c7dff3334da968a9140dd1a265fb7f132a95b5c87beaa6f8874fa38
MD5 6d6b1a18267797e74fd81c24153f08fc
BLAKE2b-256 e7550a8985ffa4358be93820431825d658cf4b57e9fcc6ede6cfd78d4073ea81

See more details on using hashes here.

Provenance

The following attestation bundles were made for dora_openarm-1.0.0.tar.gz:

Publisher: package.yaml on enactic/dora-openarm

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