Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

rebot_devarm_leader: add a 'calibrate' subcommand to measure sign/offset_rad (leader/follower zeroing is never cross-verified)

Abierto
#734 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
robotics

Línea de trabajo

Comienza localizando la implementación de rebot_devarm_leader y su subcomando probe existente; después, sigue cómo el archivo de calibración almacena los valores sign y offset_rad de cada articulación. Define el flujo guiado de cierre y confirmación, la persistencia y la comprobación de la convención del follower usando la evidencia del gripper envuelto y el comportamiento de recuperación B601 existente. La tarea estará terminada cuando calibrate mida el cero y la dirección, escriba los valores de calibración y rechace claramente una discrepancia de convención.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Context

The rebot_devarm_leader calibration file format supports sign and offset_rad per joint — but no tool measures them. The leader's zero comes from the vendor/motor flash (Damiao) while a follower's zero is set manually in its own calibration flow: two zeroing procedures that nothing cross-verifies. Any constant delta or sign flip between them appears directly as a command at t=0.

Evidence

  • A physically closed gripper read +6.227 rad (i.e., −0.056 + 2π) after a power cycle — the Damiao multi-turn counter is volatile, and with 6.8 rad of travel (> 2π) the reading is ambiguous in software (modulo folding is unrecoverable). Confirmed via two independent decode paths (C++ plugin probe and the motorbridge Python stack).
  • Commanding "open" from the wrapped branch drove ~13 rad into the mechanical stop and silently latched over-temperature faults (0xC) in the firmware.
  • PR #729 added wrap detection (probe exit code 3; per-joint valid=false streaming) — but detection without a measurement/recovery flow still leaves the operator stranded.

Proposal

Add a calibrate subcommand next to probe:

  1. Guided flow ("fully close the gripper and press ENTER") measures the actual zero and direction,
  2. Writes sign/offset_rad to the calibration file,
  3. Optionally cross-checks against the follower's convention and errors out loudly on mismatch instead of letting the first teleop frame slam.

Precedent: the same measure-don't-assume approach fixed the mirrored-gripper class in LeRobot (huggingface/lerobot#3942 → measured drive_mode in calibrate(), following the OMX fix in huggingface/lerobot#2815).

On our side, the B601 daemon now refuses /enable on a wrapped gripper and offers POST /rehome_gripper (close-until-stall) — verified live on hardware. The plugin-side calibrate would make that recovery generic.


Part of the field-integration feedback series (SO-101 + reBot DevArm, June 29 – July 6). Priority suggestion: P1.

Lenguaje dominante
Python
Estrellas
403
Forks
94
Merge medio
2 d 17 min
PR fusionados (30 d)
121

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/IsaacCapture

Todos los issues de NVIDIA/IsaacCapture

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.