Orca-Hand-Setup-Anleitung

Vollständige Schritt-für-Schritt-Anleitung vom Auspacken bis zum ersten Griff. Planen Sie für Ihren ersten Build insgesamt 3–4 Stunden ein.

1

Montage und Inspektion

Legen Sie alle Komponenten bereit, bevor Sie beginnen: Fingermodule (5×), Handflächen-/Handgelenkhalterung, Hardware für die Sehnenführung, Befestigungselemente und alle optionalen Fingerspitzensensormodule.

  • Fingermodus: Lassen Sie jedes Fingermodul der Reihe nach in den Handflächenrahmen einrasten – Daumen, Zeigefinger, Mittelfinger, Ringfinger, kleiner Finger. Überprüfen Sie, ob sich jedes Gelenk frei bewegen lässt, bevor Sie die Sehnen verlegen.
  • Handgelenkhalterung: Befestigen Sie die Handflächenbaugruppe mit den mitgelieferten Befestigungselementen an der Handgelenkplatte. Stellen Sie sicher, dass das Flanschmuster zu Ihrem Roboterarm passt.
  • Sehnenführung: Führen Sie jede Sehne (eine pro Finger) von der Antriebsrolle durch die Leitungsführungen. Lassen Sie vor dem Spannen 2–3 mm Spielraum – eine Überspannung in diesem Stadium führt zum Festklemmen.
  • Taktile Sensoren (optional): Wenn Sie taktile Fingerspitzensensoren installieren, setzen Sie diese in die Fingerspitzengehäuse ein, bevor Sie die Fingerschalen schließen. Führen Sie die Sensorkabel zurück durch den Fingerkörper zum Handflächenanschluss.
Überprüfen Sie die offiziellen Dokumente für Ihre Hardware-Revision. Die Montagedetails variieren je nach Hardware-Revision der Orca Hand. Überprüfen Sie immer anhand der offizielle Orca-Hand-Dokumentation für Ihre spezifische Version.
2

Softwareinstallation

Der orca_core Das Python-Paket ist die einzige Softwareabhängigkeit – es gibt keine ROS-Anforderung. Es kommuniziert mit allen 17 Feetech STS3215-Motoren über eine einzige serielle USB-Verbindung mit 3 Mbit/s und dem Dynamixel-Protokoll. Python 3.9+ ist erforderlich.

Option A – Installation über Poetry (empfohlen):

git clone https://github.com/orcahand/orca_core.git
cd orca_core
poetry install

Option B – Installation über Pip:

pip install orca_core

Gewähren Sie den Zugriff auf die serielle USB-Schnittstelle unter Linux:

# Add your user to the dialout group (requires logout/login to take effect)
sudo usermod -aG dialout $USER

# Or grant temporary access without logging out
sudo chmod 666 /dev/ttyUSB0
macOS-Portname. Unter macOS ist es normalerweise der serielle USB-Anschluss /dev/tty.usbserial-FT4TFV01. Offen orca_core/models/orcahand_v1/config.yaml und aktualisieren Sie die port Geben Sie vor dem Herstellen einer Verbindung ein Feld ein oder übergeben Sie die Portzeichenfolge explizit beim Erstellen OrcaHand().

Verbinden und überprüfen:

from orca_core import OrcaHand

hand = OrcaHand()
status = hand.connect()
print(status)  # (True, 'Connection successful')
3

Kalibrierung

Durch die Kalibrierung wird jedes der 17 Gelenke bei einer reduzierten Stromgrenze (450 Roheinheiten) an seinen mechanischen Festanschlag gefahren, um Nullpunktverschiebungen pro Motor festzulegen. Führen Sie stets eine Kalibrierung durch, bevor Sie Positionsbefehle erteilen. Das Überspringen dieses Schritts kann zu großen Positionsfehlern oder unerwarteten Bewegungen führen.

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()

# Drives all joints to hard stops at calib_current=450 to establish zero offsets
hand.calibrate()

# Calibration results are saved automatically to:
# models/orcahand_v1/calibration.yaml
Die Kalibrierung erfolgt automatisch. Der calibrate() Die Methode bewegt jedes Gelenk in 0,3°-Schritten iterativ in Richtung seines harten Anschlags (konfigurierbar über). calib_step_size), erklärt ein Gelenk nach 10 aufeinanderfolgenden stabilen Messwerten innerhalb von 0,01° als referenziert (konfigurierbar über calib_num_stable Und calib_threshold), speichert dann die Offsets in calibration.yaml. Nur nach Hardwareänderungen erneut ausführen.

Bewegen Sie nach der Kalibrierung alle Gelenke in die offene/Null-Position:

# Command all 17 joints to 0° (open position)
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})
4

Erster Grifftest

Überprüfen Sie die gemeinsame Kontrolle mithilfe des orca_core Python-API. Befehlen Sie einzelne Gelenke nach Namen – das SDK übersetzt Gelenknamen automatisch über das in Motor-IDs joint_to_motor_map In config.yaml.

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()
hand.calibrate()

# --- Read current joint positions (degrees) ---
positions = hand.get_joint_pos()
print(positions)
# e.g. {'thumb_mcp': 0.0, 'thumb_abd': 0.0, 'index_mcp': 0.0, ...}

# --- Make a fist: flex all MCP and PIP joints ---
hand.set_joint_pos({
    "index_mcp":  90, "index_pip":  110,
    "middle_mcp": 90, "middle_pip": 110,
    "ring_mcp":   90, "ring_pip":   110,
    "pinky_mcp":  90, "pinky_pip":  110,
    "thumb_mcp":  30, "thumb_pip":  100,
})

# --- Open hand back to zero ---
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})

# --- Torque control ---
hand.enable_torque()                    # Enable torque on all motors
hand.disable_torque(motor_ids=[1, 2])   # Disable specific motors (by ID)

# --- Disconnect (disables torque, closes serial port) ---
hand.disconnect()
Gemeinsame ROM-Grenzwerte. MCP- und PIP-Gelenke an den Fingern 2–5 reichen von –20° bis +120° (MCP) und –20° bis +140° (PIP). Der Daumen hat den größten Abduktionsbereich: ±65°. Das Handgelenk bewegt sich um ±60°. Befehlswerte außerhalb dieser Grenzen können dazu führen, dass der Motor an seinem mechanischen Anschlag blockiert.

Wenn ein Gelenk den vorgegebenen Winkel nicht erreicht, überprüfen Sie die Kabelführung und die Sehnenspannung für diesen Motor. Jeder Finger verwendet ein spezielles Feetech STS3215-Servo; Beim Binden handelt es sich normalerweise um ein Routing- oder Spannungsproblem, nicht um ein Softwareproblem.

5

Integration mit Roboterarm

Montieren Sie die Orca-Hand mit dem Standard-Handgelenkflanschadapter an Ihrem Roboterarm. Die Hand ist mit OpenArm 101 und den meisten Armen mit einem Standard-Flanschmuster nach ISO 9283 kompatibel.

  • Befestigen Sie die Handgelenkplatte mit M4-Schrauben im bereitgestellten Muster am Endeffektorflansch des Arms.
  • Verlegen Sie Signal- und Stromkabel entlang der Armstruktur und sichern Sie sie mit Kabelbindern, um ein Hängenbleiben während der Bewegung zu verhindern.
  • Fügen Sie im ROS2-Arbeitsbereich Ihres Arms die Orca-Hand als Endeffektorknoten hinzu und starten Sie Arm- und Handcontroller zusammen.
Verwendung mit OpenArm 101? Siehe die Einrichtungsschritt für die OpenArm-Teleoperation Anweisungen zum Anschließen eines Endeffektors und zum Aufzeichnen Ihrer ersten Datenerfassungssitzung finden Sie hier.

Eine vollständige Anleitung zu Forschungsabläufen zur geschickten Manipulation mit der Orca-Hand finden Sie im SVRC-Forschungsleitfaden.

Einrichtung abgeschlossen?

Sehen Sie sich die vollständigen Spezifikationen an oder treten Sie der Community bei, um Ihre Build-Notizen zu teilen.