Guía de configuración de Orca Hand

Ruta completa paso a paso desde el desempaquetado hasta el primer agarre. Planifica de 3 a 4 horas en total para tu primera construcción.

1

Montaje e Inspección

Coloca todos los componentes antes de comenzar: módulos de dedo (5×), soporte de palma/muñeca, hardware de enrutamiento de tendones, sujetadores y cualquier módulo de sensor de punta de dedo opcional.

  • Módulos de dedo: Coloca cada módulo de dedo en el marco de la palma en orden: pulgar, índice, medio, anular, meñique. Verifica que cada articulación se mueva libremente antes de enrutear los tendones.
  • Soporte de muñeca: Adjunta el ensamblaje de la palma a la placa de la muñeca utilizando los sujetadores proporcionados. Confirma que el patrón de brida coincida con tu brazo robótico.
  • Enrutamiento de tendones: Enruta cada tendón (uno por dedo) desde la polea del actuador a través de las guías de conducto. Deja 2-3 mm de holgura antes de tensar; tensar en exceso en esta etapa causa atascos.
  • Sensores táctiles (opcional): Si instalas sensores táctiles en la punta de los dedos, colócalos en las carcasas de la punta de los dedos antes de cerrar las conchas de los dedos. Enruta los cables del sensor de regreso a través del cuerpo del dedo hasta el conector de la palma.
Consulta la documentación oficial para tu revisión de hardware. Los detalles de ensamblaje varían entre las revisiones de hardware de Orca Hand. Siempre verifica contra el documentación oficial de Orca Hand para tu versión específica.
2

Instalación de software

La orca_core El paquete de Python es la única dependencia de software; no hay requisito de ROS. Se comunica con todos los 17 motores Feetech STS3215 a través de una única conexión USB serial a 3 Mbps utilizando el protocolo Dynamixel. Se requiere Python 3.9 o superior.

Opción A — Instalar a través de Poetry (recomendado):

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

Opción B — Instalar a través de pip:

pip install orca_core

Conceder acceso al puerto serie USB en 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
el nombre del puerto de macOS. En macOS, el puerto serie USB es típicamente /dev/tty.usbserial-FT4TFV01. Abierto orca_core/models/orcahand_v1/config.yaml y actualizar el port campo antes de conectar, o pasar la cadena del puerto explícitamente al construir OrcaHand().

Conectar y verificar:

from orca_core import OrcaHand

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

Calibración

La calibración lleva cada una de las 17 articulaciones a su tope mecánico con un límite de corriente reducido (450 unidades en bruto) para establecer los offsets cero por motor. Siempre calibra antes de emitir comandos de posición; omitir este paso puede causar grandes errores de posición o movimiento inesperado.

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
La calibración es automática. La calibrate() El método avanza iterativamente cada articulación hacia su tope mecánico en incrementos de 0.3° (configurable a través de calib_step_size), declara una articulación en casa después de 10 lecturas estables consecutivas dentro de 0.01° (configurable a través de calib_num_stable y calib_threshold), y luego guarda los offsets en calibration.yaml. Volver a ejecutar solo después de cambios de hardware.

Después de la calibración, mueve todas las articulaciones a la posición abierta/cero:

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

Primera prueba de agarre

Verifica el control de la articulación usando el orca_core API de Python. Comanda articulaciones individuales por nombre; el SDK traduce los nombres de las articulaciones a IDs de motor automáticamente a través de joint_to_motor_map en 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()
Límites de ROM de la articulación. Las articulaciones MCP y PIP en los dedos 2-5 varían de −20° a +120° (MCP) y de −20° a +140° (PIP). El pulgar tiene el rango de abducción más amplio: ±65°. La muñeca opera ±60°. Comandar valores fuera de estos límites puede detener el motor en su tope mecánico.

Si alguna articulación no alcanza el ángulo comandado, verifica el enrutamiento del cable y la tensión del tendón para ese motor. Cada dedo utiliza un servo Feetech STS3215 dedicado; el bloqueo suele ser un problema de enrutamiento o tensión, no uno de software.

5

Integración con el Brazo Robótico

Monte la Mano Orca en su brazo robótico utilizando el adaptador de brida de muñeca estándar. La mano es compatible con OpenArm 101 y la mayoría de los brazos con un patrón de brida ISO 9283 estándar.

  • Fije la placa de muñeca a la brida del efector final del brazo utilizando tornillos M4 en el patrón proporcionado.
  • Rutee los cables de señal y de alimentación a lo largo de la estructura del brazo, asegurados con bridas para evitar enganchones durante el movimiento.
  • En el espacio de trabajo ROS2 de su brazo, agregue la Mano Orca como un nodo de efector final y lance juntos los controladores del brazo y de la mano.
¿Usando OpenArm 101? Ver el Paso de configuración de teleoperación de OpenArm para instrucciones sobre cómo conectar un efector final y grabar su primera sesión de recolección de datos.

Para una guía completa de flujos de trabajo de investigación en manipulación hábil con la Mano Orca, consulte el guía de investigación SVRC.

¿Configuración completa?

Verifique las especificaciones completas o únase a la comunidad para compartir sus notas de construcción.