Ir al contenido principal

El simulador

Un simulador 3D gratuito de brazo robótico con Blockly

Aprende programación robótica en línea con un gemelo digital en el navegador. Crea programas Blockly a la izquierda, simula un brazo de cinco articulaciones en el centro y revisa colisiones y puntuaciones a la derecha.

El brazo

Cinco articulaciones en cadena

El modo Servo mueve una articulación cada vez a un ángulo absoluto para que el alumno calcule los ángulos. En Cutter Grid, los movimientos globales se compilan antes con cinemática inversa determinista.

Orden de la cadena articular, eje de rotación, rango angular, ángulo inicial y velocidad
JointAxisRangeInitialSpeed
Giro de basebaseYawX30° … 150°90°60°/s
Rotación de hombro (solo simulación)shoulderRoll-45° … 45°0°45°/s
HombroshoulderY30° … 150°90°45°/s
CodoelbowZ17.5° … 162.5°90°60°/s
MuñecawristB0° … 180°90°75°/s

Los ejes X, Y, Z y B, y el eje E de la cuchilla aparcada, empiezan en el valor Home del firmware: 90°. Shoulder Roll solo existe en la simulación y empieza en 0°. Los ajustes geométricos convierten ese estado físico en una única postura segura; no hay una segunda postura inicial oculta.

Los bloques

Tres bloques Servo y movimientos Cutter Grid certificados

El modo Servo usa bloques de ángulo, espera y repetición. Cutter Grid añade seis direcciones globales y distancias enteras. Blockly emite Program IR validado y el planificador congela una trayectoria determinista antes de reproducir.

set <joint> to <angle>°

Mueve una articulación a un ángulo absoluto. El reto define las articulaciones y rechaza antes de ejecutar cualquier ángulo fuera de rango.

wait <ms>

Mantiene la postura actual entre 0 y 5000 milisegundos.

repeat <n> times

Ejecuta los bloques interiores de 1 a 20 veces. El bucle cuesta un bloque en lugar de n, lo que mejora gran parte de la eficiencia.

Distancia de seguridad a la cabeza

Rechazar el movimiento antes de una colisión

La cabeza no está hecha de vóxeles ni puede cortarse. Antes de aceptar una orden, el simulador comprueba de forma continua la trayectoria contra su geometría. Al ser una restricción geométrica, un movimiento rápido no puede atravesarla.

Si el barrido detecta contacto, la ejecución se detiene en la última postura segura. Se resalta el bloque de origen y la simulación entra en un estado de error recuperable. El renderizador no oculta correcciones: cuando el brazo se para, la interfaz identifica el bloque responsable.

Lo que muestra el registro

12:04:31 ejecución iniciada · reto neat-short-haircut

12:04:31 shoulderRoll → 15°

12:04:32 shoulder → 72°

12:04:33 elbow → 10° rechazado · separación insuficiente de la cabeza · se mantiene la última postura segura

12:04:33 estado → error recuperable · bloque 3

Puntuación

Cómo se calcula la puntuación

Tres subpuntuaciones, limitadas a 0–100, se combinan con pesos fijos. La interfaz muestra un decimal y conserva toda la precisión internamente.

Finalización

×0.60

|Target ∩ Result| / |Target ∪ Result| × 100

IoU de vóxeles respecto al peinado objetivo. Cortar de más penaliza exactamente igual que cortar de menos.

Eficiencia

×0.25

min(100, ReferenceProgramCost / ProgramCost × 100)

El coste del programa es el número de bloques fuente más 0,25 por orden ejecutada; un bucle cuesta menos que escribir los mismos movimientos uno por uno.

Tiempo

×0.15

min(100, ReferenceTimeMs / EstimatedDurationMs × 100)

Se estima a partir del recorrido y la velocidad de las articulaciones; nunca se mide en el navegador. Un portátil lento no resta puntos.

Puntuación final

0.60 × Completion + 0.25 × Efficiency + 0.15 × Time

Si un proveedor entrega pesos cuya suma no es 1, el simulador muestra un error claro en vez de normalizarlos en silencio.

Referencia calibrada: corte corto definido

Reference blocks5
Reference program cost6.25
Reference time5645 ms

El programa inicial obtiene al menos 80 puntos por completar la tarea y deja margen de mejora a propósito. Igualarlo no es el límite.

Controles

Ejecutar un programa

Ejecutar
Ejecuta desde el estado inicial del reto.
Pausar / Reanudar
Detiene y reanuda el reloj sin perder la postura.
Paso
Completa una sola orden atómica desde reposo o pausa.
Detener
Finaliza sin registrar puntuación; el panel solo muestra una finalización provisional.
Restablecer
Restaura la simulación y conserva el programa.
Probar
Evalúa el programa sin interfaz, con el mismo motor y resultado, en milisegundos.

Con claridad

Lo que aún no está implementado

Es mejor indicar ahora estas limitaciones que descubrirlas en clase.

  • Cuentas y espacios guardados
  • Cinemática inversa genérica en tiempo de ejecución fuera del planificador Cutter Grid certificado
  • Accionamiento de tijeras o motor físico
  • Cabello realista (el simulador usa vóxeles)
  • Autocolisión del robot
  • Versión móvil específica
  • Transporte MQTT en la aplicación (especificado, aún sin conectar)
  • Inicio de sesión e identidades verificadas

Preguntas

Preguntas frecuentes

¿Hay que comprar un robot?
No. El producto es el simulador y funciona en el navegador. Existe un brazo físico con firmware abierto, pero la enseñanza no depende de él.
¿En qué equipos funciona?
Usa Chrome o Edge en un equipo de escritorio, preferiblemente a 1280×720 o más. El entorno 3D necesita teclado y puntero; no hay una versión móvil específica.
¿Puede un estudiante manipular la puntuación?
En una ronda competitiva, el servidor reproduce el programa y fija la puntuación. No se confía en lo que informe el navegador y el tiempo de ejecución se calcula a partir del recorrido articular, no se cronometra; así, las diferencias de equipo no alteran el resultado.
¿Puede el robot golpear la cabeza?
No. La separación se impone mediante una prueba geométrica continua, no una simulación física con tolerancia. Al detectar contacto, el brazo conserva la última postura segura y entra en un error recuperable.
¿Hace falta una cuenta?
La práctica individual no requiere cuenta. Las cuentas y los espacios guardados aún no están implementados; abajo se indican las demás carencias.
¿Está terminado?
El cliente web y la API Rust están desplegados. El bucle Servo, las prácticas y lecciones Cutter Grid, y los modos solo y versus son jugables y están validados en Chrome y Edge. Faltan cuentas, guardado, MQTT en la app y soporte móvil dedicado.