Guide de configuration de la main Orca

Suivez le cheminement étape par étape depuis le déballage jusqu'à la première prise en main. Prévoyez 3 à 4 heures au total sur votre première construction.

1

Assemblage et inspection

Disposez tous les composants avant de commencer : modules de doigts (5 ×), support paume/poignet, matériel de routage des tendons, attaches et tout module de capteur du bout des doigts en option.

  • Modules de doigts : Enclenchez chaque module de doigt dans le cadre de la paume dans l'ordre : pouce, index, majeur, anneau, petit. Vérifiez que chaque articulation bouge librement avant d'acheminer les tendons.
  • Support de poignet : Fixez l'ensemble paume à la plaque de poignet à l'aide des attaches fournies. Confirmez que le modèle de bride correspond à votre bras de robot.
  • Acheminement des tendons : Acheminez chaque tendon (un par doigt) depuis la poulie de l'actionneur à travers les guides de conduit. Laissez 2 à 3 mm de jeu avant de tendre. Une tension excessive à ce stade provoque un grippage.
  • Capteurs tactiles (en option) : Si vous installez des capteurs tactiles du bout des doigts, insérez-les dans les boîtiers du bout des doigts avant de fermer les coques des doigts. Acheminez les câbles des capteurs à travers le corps du doigt jusqu'au connecteur de la paume.
Consultez la documentation officielle pour votre révision matérielle. Les détails d'assemblage varient selon les révisions du matériel Orca Hand. Vérifiez toujours par rapport au documentation officielle d'Orca Hand pour votre version spécifique.
2

Installation du logiciel

Le orca_core Le package Python est la seule dépendance logicielle – il n’y a aucune exigence ROS. Il communique avec les 17 moteurs Feetech STS3215 via une seule connexion série USB à 3 Mbps en utilisant le protocole Dynamixel. Python 3.9+ est requis.

Option A — Installer via Poetry (recommandé) :

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

Option B — Installateur via pip :

pip install orca_core

Accordez l'accès au port série USB sous 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
Nom du port macOS. Sur macOS, le port série USB est généralement /dev/tty.usbserial-FT4TFV01. Ouvrir orca_core/models/orcahand_v1/config.yaml et mettre à jour le port avant de vous connecter, ou transmettez explicitement la chaîne de port lors de la construction OrcaHand().

Connectez-vous et vérifiez :

from orca_core import OrcaHand

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

Étalonnage

L'étalonnage entraîne chacun des 17 joints jusqu'à sa butée mécanique à une limite de courant réduite (450 unités brutes) pour établir des décalages de zéro par moteur. Calibrez toujours avant d'émettre des commandes de position : sauter cette étape peut entraîner des erreurs de position importantes ou un mouvement inattendu.

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
L'étalonnage est automatique. Le calibrate() La méthode fait avancer chaque joint de manière itérative vers sa butée dure par incréments de 0,3° (configurable via calib_step_size), déclare un joint hébergé après 10 lectures stables consécutives à moins de 0,01° (configurable via calib_num_stable et calib_threshold), puis enregistre les décalages dans calibration.yaml. Réexécutez uniquement après des modifications matérielles.

Après l'étalonnage, déplacez toutes les articulations en position ouverte/zéro :

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

Premier test de compréhension

Vérifier le contrôle conjoint à l'aide du orca_core API Python. Commandez les articulations individuelles par leur nom : le SDK traduit automatiquement les noms des articulations en ID de moteur via le joint_to_motor_map dans 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()
Limites ROM communes. Les articulations MCP et PIP des doigts 2 à 5 vont de −20° à +120° (MCP) et de −20° à +140° (PIP). Le pouce a la plage d'abduction la plus large : ±65°. Le poignet fonctionne à ±60°. Des valeurs de commande en dehors de ces limites peuvent bloquer le moteur à son arrêt mécanique.

Si une articulation n'atteint pas l'angle commandé, vérifiez l'acheminement des câbles et la tension des tendons de ce moteur. Chaque doigt utilise un servo Feetech STS3215 dédié ; la liaison est généralement un problème de routage ou de tension, et non un problème logiciel.

5

Intégration avec Robot Arm

Montez l'Orca Hand sur le bras de votre robot à l'aide de l'adaptateur de bride de poignet standard. La main est compatible avec OpenArm 101 et la plupart des bras avec un modèle de bride standard ISO 9283.

  • Fixez la plaque de poignet à la bride effectrice terminale du bras à l'aide des boulons M4 selon le modèle fourni.
  • Acheminez les câbles de signal et d'alimentation le long de la structure du bras, fixés avec des serre-câbles pour éviter tout accrochage pendant le mouvement.
  • Dans l'espace de travail ROS2 de votre bras, ajoutez Orca Hand comme nœud effecteur final et lancez les contrôleurs du bras et de la main ensemble.
Vous utilisez avec OpenArm 101 ? Voir le Étape de configuration de la téléopération OpenArm pour obtenir des instructions sur la connexion d’un effecteur final et l’enregistrement de votre première session de collecte de données.

Pour une présentation complète des flux de travail de recherche sur les manipulations adroites avec la main Orca, consultez le Guide de recherche du SVRC.

Configuration terminée ?

Consultez les spécifications complètes ou rejoignez la communauté pour partager vos notes de construction.