- OK-Robot es un framework robótico modular abierto que busca realizar tareas de pick-and-drop —encontrar, tomar y mover objetos— en entornos domésticos nuevos, en zero-shot y solo con instrucciones en lenguaje natural
- Combina modelos de visión-lenguaje (VLM), primitivas de navegación y primitivas de agarre para encadenar reconocimiento de objetos, desplazamiento y manipulación sin entrenamiento adicional
- Se evaluaron 171 tareas en 10 hogares reales de la ciudad de Nueva York, y registró una tasa de éxito del 58.5% en casas completamente nuevas
- En entornos limpios y sin desorden, la tasa de éxito subió a 82%, y en Open Vocabulary Mobile Manipulation (OVMM) mostró un rendimiento de aproximadamente 1.8 veces frente a trabajos anteriores
- Las principales fallas ocurrieron en la búsqueda de objetos, posturas de manipulación difíciles y problemas de hardware, por lo que la integración fina entre modelos de conocimiento abierto y módulos robóticos determina el rendimiento
Composición y objetivos del framework
- OK-Robot es un framework modular abierto para realizar tareas de pick-and-drop en cualquier hogar, en zero-shot y condicionadas por lenguaje
- El sistema combina tres componentes
- Modelo de visión-lenguaje (VLM): detección de objetos basada en consultas en lenguaje natural
- Primitivas de navegación: control del desplazamiento del sistema móvil
- Primitivas de agarre: manipulación de diversos objetos
- Usa un enfoque centrado en el sistema para integrar reconocimiento de objetos, desplazamiento y agarre sin una etapa de entrenamiento adicional, y así realizar tareas en hogares reales
- Materiales del proyecto:
Evaluación en hogares reales y factores de falla
- Se intentaron 171 tareas de pick-and-drop en 10 entornos domésticos de la ciudad de Nueva York
- La tasa de éxito en casas completamente nuevas fue de 58.5%, y en Open Vocabulary Mobile Manipulation (OVMM) mostró un rendimiento de aproximadamente 1.8 veces frente a trabajos anteriores
- Tasa de éxito: {p:58}
- En entornos más limpios y sin desorden, la tasa de éxito subió a 82%
- Tasa de éxito en entornos ordenados: {p:82}
- Las causas de falla se distribuyen en forma de cola larga, y las tres principales son las siguientes
- No encontrar en la memoria semántica el objeto correcto que debía moverse: 9.3%
- El módulo de manipulación recibió una postura difícil: 8.0%
- Dificultades de hardware: 7.5%
- Al combinar sistemas de conocimiento abierto como los VLM con módulos robóticos, no solo importa el rendimiento del modelo: también deben encajar la memoria de objetos, la postura de manipulación y la estabilidad del hardware
3 comentarios
https://hello-robot.com/purchase
El producto en sí cuesta 25 mil dólares...
Además, necesitas un iPhone Pro
El cargador con base de acoplamiento cuesta 995 dólares jajajaja
¿Es un precio para estafar incautos?
¿Por qué la estación de acoplamiento realmente cuesta así?
Parece que incluso el método de conexión es enchufar directamente un conector DC... jajaja
https://hello-robot.com/stretch-docking-station
Opiniones en Hacker News
Creo que el mercado para este tipo de robots será pequeño hasta que puedan manejar obstáculos.
Un juguete que el gato dejó en medio del piso, papeles que salieron volando de la mesa por una ventana abierta, juguetes que los niños dejaron regados, un lápiz que se cayó del escritorio mientras no había nadie, ropa dejada en el piso, desniveles entre la alfombra y el piso de madera, puertas abiertas o cerradas: todo eso es un problema.
Antes de la tarea principal pueden meterse varias tareas intermedias, como quitar juguetes, recoger papeles, recoger ropa o abrir puertas.
Cosas como cables, pilas de objetos que no se deben mover, muebles, mascotas dormidas o montones de cajas de entregas pueden bloquear de forma semipermanente a un robot con ruedas.
Por eso creo que un robot doméstico de propósito general debería tener patas, no ruedas, y quizá más de dos por estabilidad.
Puede sonar raro, pero tal vez el diseño ideal sea algo a medio camino entre una araña grande y amigable y un perro.
Me parece extraño que la robótica en general esté atrapada en la idea de ver el mundo como un plano 2D, como si hubiera idealizado y eliminado el problema realmente difícil de lidiar con la movilidad en un mundo 3D.
Todo lo que hace este robot también ocurre solo sobre superficies horizontales planas, y parece que para que funcione primero una persona tuvo que recorrer la habitación y ordenar.
Roomba tiene el mismo problema.
Basta con no dejar cables largos tirados por el piso, se puede poner cinta de marcación en los muebles, y el robot también podría recoger objetos para que no queden como riesgo de tropiezo.
También podríamos cambiar a objetos amigables tanto para humanos como para robots, como vajilla que un lavavajillas pueda agarrar, mover y lavar fácilmente.
Ya hacemos eso cuando compramos productos aptos para microondas o lavavajillas, y hasta nos sorprende enterarnos de que algo no lo es.
También aceptamos el costo de poner puertas para mascotas en puertas para humanos para que las mascotas las usen por sí solas.
Los humanos somos una especie muy adaptable.
En segundo lugar, siempre me gustó la idea de colgar el robot de rieles en el techo.
Se ve en la excelente película Moon, y tiene la ventaja de que puede moverse por encima de los muebles, así que tiene mejor movilidad que una persona.
Solo hace falta que el brazo pueda agarrar objetos que estén en el piso frente al robot.
No parece imposible, y la demo en la que conectan varios modelos para poder decir “lleva los Takis a la mesita de noche del dormitorio” y que lo ejecute es sorprendente.
Solo queda el “pequeño” problema de robótica de hacer que el brazo esté lo bastante articulado como para llegar al piso.
Ahí lo resuelven con un empujador de cables.
Es una especie de rejilla anti-ganado que empuja los objetos del piso.
No todos los problemas necesitan soluciones complejas.
Creo que lo excelente de este proyecto está especialmente en la simplicidad del diseño del robot.
Muy interesante.
Tengo muy poca experiencia en robótica, así que quizá sea una pregunta tonta, pero me da curiosidad.
¿Cómo sabe qué es cada objeto? ¿Usa algo como una red neuronal de clasificación de objetos en tiempo real? ¿Cuáles son sus límites?
¿Sabe el robot cuando no puede cumplir una solicitud? Por ejemplo, si le pides mover una caja grande o una pesa rusa muy pesada.
¿Qué tan bien funciona si el objeto está oculto o tapado? ¿Sale a buscarlo? ¿Qué pasa si para acceder al objeto solicitado tiene que quitar otros objetos?
Este trabajo es realmente genial, pero también toca muchas de las limitaciones de los sistemas modernos de aprendizaje robótico.
Está descrito aquí (https://github.com/ok-robot/ok-robot/tree/main/ok-robot-navi...); por lo que entiendo, básicamente toma un modelo ViT, es decir, un modelo de clasificación de imágenes, etiqueta las imágenes y las proyecta en una cuadrícula de vóxeles.
Luego usa embeddings de lenguaje de CLIP para conectar el lenguaje con la cuadrícula de vóxeles.
La limitación es que, para ejecutar esto en un robot, no puedes usar las versiones gigantescas de estos modelos.
También se podrían usar modelos grandes en la nube, pero eso introduce mucha latencia.
Si la solicitud no está cubierta por los embeddings de lenguaje, quizá el robot no haga nada.
Pero este sistema no parece tener conocimiento de física, salvo los límites de hardware del controlador físico.
El etiquetado de vóxeles depende de un módulo que etiqueta vóxeles, y sin información visual no puede etiquetarlos.
Tampoco parece haber razonamiento complejo de alto nivel, como “el tenedor está dentro de un cajón, el cajón está en la cocina, y la cocina normalmente está al fondo de la casa”.
En casos de oclusión parcial, depende de las limitaciones del clasificador visual, así que podría funcionar.
ViT es muy bueno, pero dependerá de qué tan tapado esté el objeto.
El reconocimiento de objetos usa principalmente Lang-SAM(https://github.com/luca-medeiros/lang-segment-anything), y el trabajo pesado de conectar imágenes y texto lo hacen los embeddings de CLIP (https://openai.com/research/clip).
Una de las ventajas de los modelos tipo CLIP es que no hace falta definir de antemano las clases que se podrán consultar después; se pueden usar directamente las expresiones que se te ocurran durante la ejecución.
Actualmente el robot no sabe cuando una solicitud es imposible de realizar.
El modelo actual es muy simple y no intenta hacer nada especialmente inteligente.
Pero justamente por eso publicamos el código: esperamos que la comunidad pueda construir, sobre este proyecto, robots más inteligentes que aprovechen mejor las pistas visuales del entorno.
Si el objeto está oculto o tapado durante el escaneo inicial, falla.
Aun así, creo que puede ser un buen punto de partida para investigaciones adicionales.
Una ventaja es que considera toda la información 3D, así que si un objeto solo se ve desde ciertos ángulos, existe la posibilidad de que el robot lo encuentre.
Parece una tecnología que podría cambiarles la vida a personas con discapacidad, adultos mayores, gamers, personas extremadamente flojas y quienes los cuidan.
Si haces que las banquetas sean aptas para sillas de ruedas, también ayudas a padres empujando carriolas, personas cargando cosas pesadas, gente que usa bastón, niños pequeños en bicicleta y personas con poca visión.
Personalmente, espero que podamos enseñarles a las IA a encargarse no de los trabajos que todos quieren, sino de los que nadie quiere.
Genial.
Si se pudiera entrenar para doblar la ropa y guardarla en su lugar, consideraría seriamente comprar un robot de 25 mil dólares.
Para resolver tareas largas como buscar objetos que no están a la vista, se podrían convertir escenas anotadas en descripciones con plantilla y meterlas en un modelo suficientemente grande entrenado con ficción interactiva.
“Estás parado en la cocina. Al frente a la derecha hay un refrigerador grande con la manija del lado derecho. A la izquierda hay gabinetes y sobre la encimera encima de ellos hay un plato.”
> get beer“No ves cerveza aquí.”
<< COT: sé que la cerveza suele estar en el refrigerador. Debería abrir el refrigerador> open fridge“Al abrir el refrigerador, ves 4 latas de cerveza.”
> get beer“La tomaste”
Claro que todavía faltan algunos años para que esto funcione en la práctica, pero pensándolo bien es muy interesante.
Sería una forma de combinar una narrativa de ficción interactiva alimentada por sensores reales con bloques de cadena de pensamiento como monólogo interno.
Basta con tomar una foto de la cocina y preguntarle a ChatGPT dónde encontrar la cerveza.
De hecho lo uso así con bastante frecuencia.
Por flojera, tomo fotos de componentes y placas y pregunto cómo cablearlos a un ESP32; con solo unas cuantas fotos distingue la placa, el chip y la distribución de pines, y me dice qué cable conectar dónde y qué precauciones tomar.
Muchas veces incluso sugiere bibliotecas útiles para los componentes; la verdad se siente como magia.
El análisis de fallas está realmente muy bien hecho.
Me da curiosidad qué significa una falla de hardware.
Por ejemplo, hay 5 intentos en los que “Realsense dio una profundidad incorrecta”, y me pregunto cómo determinaron eso.
En esos 5 intentos mencionados, Realsense produjo valores de profundidad incorrectos con objetos transparentes o semitransparentes, así que la nube de puntos generada por la cámara de la cabeza del robot estaba equivocada.
Aunque es open source, cuesta casi 25 mil dólares.
Me pregunto por qué es tan caro.
La mayoría de los robots móviles de manipulación cuestan cinco cifras o más, principalmente porque el mercado es pequeño, los costos de materiales e ingeniería son altos y fabricar robots en sí es un dolor de cabeza.
El trabajo no es gratis.
Fabricar PCB y hardware personalizados en bajo volumen tampoco es barato, y construir, calibrar y probar robots tampoco lo es.
Me pregunto si hay un enlace a la página del producto.
El hardware es propietario y está protegido por patentes.
¿No es esto lo mismo que Dobb-E?
https://dobb-e.com/
Aunque hay algunas personas en común en el equipo.
Por ejemplo, yo soy el primer autor de Dobb-E, y mi asesor supervisa ambos proyectos.
La diferencia principal es que este proyecto es zero-shot, así que en una casa nueva requiere 0 datos nuevos, pero solo tiene dos habilidades: recoger y dejar.
En cambio, Dobb-E puede tener varias habilidades, pero hay que darle algunas demostraciones en la casa nueva.
Ambos se mencionan en el sitio web del robot que usaron: https://hello-robot.com/stretch-embodied-ai
He estado siguiendo este proyecto desde hace un tiempo y el avance es excelente.
Me imagino integrarlo con una ayuda de movilidad como una silla de ruedas para personas con control limitado de sus extremidades.
Si se convierte en algo como un exoesqueleto “inteligente” que ayude con tareas que antes eran imposibles, podría cambiar las reglas del juego para muchísima gente.
De verdad quiero un vehículo con plataforma estabilizada al que se le pueda poner carga y enviarlo de un punto a otro.
Me gustaría poder mandar una plataforma giroestabilizada tipo Segway de un punto A a un punto B, de ida y vuelta, por una ruta como un sendero algo irregular, aunque no demasiado malo.
Hace tiempo intenté revisar opciones continuamente, pero nunca vi algo adecuado para este uso.
Me pregunto si alguien conoce un producto nuevo que encaje con este caso de uso.
En concreto, necesito mover una charola con bebidas y hors d'oeuvres de un lado a otro de una propiedad sin que se derrame, y hace falta al menos cierta capacidad todoterreno.
No sé si lo he visto transportar bebidas, pero comida sin duda sí.
La tecnología ya existe; solo hace falta unir bien todas las piezas.
La gravedad siempre mantendrá el fondo del vaso apuntando hacia abajo, así que no necesitas estabilización electrónica.