Para robótica

Enséñalo en simulación. Ejecútalo en el brazo.

Los brazos son dispositivos con canales. Las pruebas se ejecutan primero en el simulador, cada ejecución queda registrada y cualquier momento de cualquier ejecución puede ser el inicio de la siguiente.

Un brazo robótico de escritorio alcanzando un bloque de madera, con su sombra alargada sobre el banco.

Lámina 15 · Un brazo de escritorio en pleno alcance, con su sombra alargada sobre el banco

Un modelo de canales, muchos brazos.

Brazos

El bus de servos es un canal. Los drivers lo hablan directamente:

  • Feetech STS/SCS — los brazos SO-100 y SO-101.
  • Dynamixel Protocol 2.0 — Koch v1.1 y WidowX.
  • UFACTORY xArm y Lite 6 por TCP.
  • El brazo ESP32 de CommandAGI, que consulta a su host por la LAN.

Los brazos USB se conectan directamente desde el navegador por WebSerial — el puerto solo se abre cuando tú lo eliges.

Pruébalo cien veces antes de la primera real.

Un archivo de pruebas barre un parámetro — un objetivo, una ganancia, una masa — a lo largo de muchas ejecuciones simuladas y registra cada una. Compáralas en una sola barra de tiempo, quédate con la mejor y sigue adelante.

Muchas copias tenues de un mismo brazo robótico alcanzando el mismo objetivo.

Lámina 16 · Cuarenta alcances, un objetivo, superpuestos en el simulador

Una mano sobre un panel táctil, con una pinza robótica desenfocada detrás.

Lámina 17 · Una mano en un trackpad, empujando una pinza simulada

Arrastre por fuerza

Empújalo con el ratón. Queda registrado.

Agarra cualquier cuerpo en un mundo de simulación y arrástralo. La fuerza que aplicaste se escribe en la ejecución con tu nombre, así que una perturbación que añadiste a mano se reproduce exactamente igual que todo lo demás.

Cada ejecución, reproducible y bifurcable.

Una ejecución es una carpeta de flujos, con un solo reloj. Recórrela, reprodúcela a un cuarto de velocidad o bifúrcala en cualquier momento en una nueva ejecución simulada que empieza justo ahí.

runs/reach-tuning/streams/arm-1.servoregistros de ejemplo · simulación
00:00:04.020 note    agent:tuner: run_program reach.trials.json #17
00:00:04.031 command goal j1=31.0 j2=-22.0 j3=64.5 j4=10.0
00:00:04.540 state   j1=30.9 j2=-22.1 j3=64.4 j4=10.0
00:00:05.002 event   person:ana: drag gripper f=(0.0, 1.8, 0.0) N
00:00:05.300 state   j1=31.4 j2=-20.8 j3=63.2 j4=10.0
00:00:06.100 note    person:ana: fork @ 00:00:05.002

Un agente a los mandos, dentro de tus límites.

Autoridad

Dale a un agente un permiso permanente sobre un brazo, en un mundo, durante una tarde. Arma el brazo y envía objetivos en tiempo real. Un brazo armado que pasa cinco minutos inactivo se desarma solo, y la parada y la desactivación del par siempre están permitidas.

Probado contra el protocolo. Aún no en tu banco.

Verificación

Los drivers de brazos están verificados a nivel loopback: contra simulaciones de software fieles a cada protocolo de servos. Ninguno se ha puesto en servicio todavía en un brazo real. Cuando ocurra, su driver lo dirá — y ni un momento antes.

Empieza con un mundo de simulación.

Abre el banco de trabajo, abre un mundo de simulación con un brazo y arrástralo. Sin hardware y sin necesidad de permisos.