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.
| Joint | Axis | Range | Initial | Speed |
|---|---|---|---|---|
| Giro de basebaseYaw | X | 30° … 150° | 90° | 60°/s |
| Rotación de hombro (solo simulación)shoulderRoll | — | -45° … 45° | 0° | 45°/s |
| Hombroshoulder | Y | 30° … 150° | 90° | 45°/s |
| Codoelbow | Z | 17.5° … 162.5° | 90° | 60°/s |
| Muñecawrist | B | 0° … 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.25min(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.15min(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
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.