Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

End-User Robot Programming

  • También llamado: end-user programming, EUP
  • Categoría: Control › Human in the loop
  • Etiquetas: human-robot-interaction, robot-programming, usability, collaborative-robots, programming-by-demonstration

Métodos y herramientas que permiten a personas sin conocimientos de robótica o de programación crear, adaptar y reasignar ellas mismas comportamientos de robots, donde y cuando los necesiten.

Definición

La programación de robots por el usuario final (end-user robot programming) es el área de la robótica y de la interacción persona-ordenador que se ocupa de que las personas que realmente usan los robots, como trabajadores de fábrica, técnicos, profesores o cuidadores, puedan decirle a un robot qué hacer sin necesitar conocimientos especializados de programación. Aplica a los robots ideas del desarrollo por el usuario final en software, con la diferencia de que en los robots los programas también tienen que lidiar con el movimiento físico, la percepción, la incertidumbre y la seguridad.

Existen muchos enfoques, y a menudo se combinan. La programación por demostración permite a los usuarios mostrar la tarea, por ejemplo mediante enseñanza kinestésica, en la que mueven el brazo a mano, o mediante teleoperación. Los entornos de programación visual, incluidos los editores basados en bloques y las herramientas de diagramas de flujo o de línea de tiempo, permiten a los usuarios ensamblar acciones de forma gráfica. Las consolas de programación (teach pendants) de los brazos industriales y colaborativos ofrecen cada vez más plantillas de tareas de tipo asistente. Las reglas de disparador-acción, las interfaces de realidad aumentada que muestran los movimientos planificados en su lugar y las interfaces de lenguaje natural, hoy a menudo construidas sobre grandes modelos de lenguaje que generan código o planes de tareas, son otras opciones. Los árboles de comportamiento y las máquinas de estados sirven con frecuencia como representación subyacente del programa.

Los retos centrales son la expresividad, para que los usuarios puedan describir tareas reales; la corrección, para que lo que crean haga lo que pretendían; y la seguridad, para que un programa escrito por alguien no experto no cree peligros como colisiones, infracciones de los límites articulares, velocidad excesiva cerca de personas o puntos de atrapamiento. Los enfoques ante estos retos incluyen las vistas previas en simulación, la verificación y la comprobación automáticas de programas, los críticos o validadores que codifican conocimiento experto y dan retroalimentación, y mantener al usuario en el bucle para confirmar o corregir el resultado. La enseñanza kinestésica de este sitio es un método de entrada dentro de la programación por el usuario final; el campo más amplio abarca también cómo se representan, editan, comprueban y mantienen los programas.

Por qué importa

Los robots en fábricas pequeñas, laboratorios, hogares y entornos de cuidados necesitan reasignarse a nuevas tareas a menudo, y contratar a especialistas en robótica para cada cambio no es práctico. La programación por el usuario final determina si un robot puede ser adaptado por las personas que trabajan con él, y es donde los requisitos de usabilidad y de seguridad se encuentran de forma más directa.

Aplicaciones clave

  • Reasignación de tareas de brazos colaborativos en la fabricación pequeña y mediana
  • Programación de robots sociales y de servicio para entornos concretos
  • Robótica educativa y enseñanza de la programación
  • Robots asistenciales personalizados por cuidadores o usuarios
  • Automatización de laboratorio configurada por científicos

En la práctica

Un pequeño taller de electrónica usa un brazo colaborativo para la carga y descarga de máquinas. Un técnico describe una tarea nueva en lenguaje llano: coger placas de una bandeja, colocarlas en un probador y clasificarlas en dos cubetas según el resultado. Un modelo de lenguaje convierte la descripción en un programa en el marco de tareas del robot. Antes de la ejecución, un conjunto de críticos automáticos comprueba el programa en simulación en busca de colisiones, alcanzabilidad, velocidad cerca de la posición del operario y puntos de atrapamiento entre el brazo y el probador, e informa de los problemas en lenguaje llano. El técnico corrige los pasos señalados moviendo el brazo a mano a puntos de paso corregidos, previsualiza el movimiento en una vista de RA y después lo ejecuta a velocidad reducida en los primeros ciclos.

Ideas erróneas comunes

  • La programación por el usuario final es solo una interfaz de usuario más sencilla — también necesita formas de comprobar, depurar y ejecutar con seguridad lo que crean los no expertos
  • El lenguaje natural resuelve la programación de robots — los programas generados pueden ser erróneos o inseguros y siguen necesitando comprobación, retroalimentación y confirmación del usuario
  • La programación por demostración y la programación por el usuario final son lo mismo — la demostración es un enfoque; otros incluyen interfaces visuales, basadas en reglas y de lenguaje
  • Los usuarios finales solo necesitan grabar movimientos — las tareas reales también requieren condiciones, percepción, gestión de errores y bucles

Quién debería saberlo

  • Desarrolladores de herramientas e interfaces de programación de robots
  • Ingenieros de aplicaciones que implantan cobots con operarios no expertos
  • Investigadores en HRI y HCI
  • Responsables de producto de robots de servicio y colaborativos

Tecnologías relacionadas

  • Programación por demostración (Programming by Demonstration)
  • Programación visual basada en bloques (Block-Based Visual Programming)
  • Consolas de programación (Teach Pendants)
  • Interfaces de realidad aumentada (Augmented Reality Interfaces)
  • Grandes modelos de lenguaje para generación de código (Large Language Models for Code Generation)
  • Programación disparador-acción (Trigger-Action Programming)

Términos relacionados

  • Kinesthetic Teaching
  • Cobot
  • Behavior Tree
  • Imitation Learning
  • Pinch Point
  • Foundation Model

Proyectos relacionados

  • Reachy Mini: Open-source desktop robot from Pollen and Hugging Face with an expressive 6-DoF head
  • RAI: Vendor-agnostic agent framework for ROS 2 robots and physical AI
  • Assistive Gym: Physics simulation framework for training assistive robots in caregiving tasks

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.