2 puntos por GN⁺ 2024-02-24 | 3 comentarios | Compartir por WhatsApp
  • 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

 
yeorinhieut 2024-02-24

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?

 
yeorinhieut 2024-02-24

¿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

 
GN⁺ 2024-02-24
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.

    • Creo que mucha gente aceptará los sacrificios necesarios a cambio de comodidad.
      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.
    • Eso no es tanto una crítica al concepto general, sino a las limitaciones de una plataforma específica.
      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.
    • En entornos hospitalarios, cualquier equipo con ruedas tiene el mismo problema.
      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?

    • Trabajo en esta área, aunque no soy uno de los autores, y diría que tus preguntas dan justo en el punto.
      Este trabajo es realmente genial, pero también toca muchas de las limitaciones de los sistemas modernos de aprendizaje robótico.
      1. Usa un clasificador de objetos.
        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.
      2. Probablemente casi no identifica solicitudes inválidas.
        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.
      3. Casi seguro no funciona con objetos ocultos.
        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.
    • Como autor del proyecto/artículo, puedo confirmar que fishbotics ya respondió muchas de las preguntas más abajo, pero puedo agregar algo.
      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.

    • Olvidé dónde lo vi, pero en general todo lo que se mejora para personas con discapacidad termina siendo bueno para todos.
      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.
    • Una de las grandes motivaciones en este trabajo de robots domésticos es pensar en adultos mayores, personas con discapacidad o padres ocupados que no tienen tiempo para hacerlo todo.
      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.

    • Si pudiera encargarse de la ropa, los platos, cocinar y limpiar el desorden de los niños, compraría de inmediato un robot de 100 mil dólares.
    • Para doblar ropa quizá tengas que comprar un segundo robot, no este: https://pantor.github.io/speedfolding/
  • 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.

    • Ahora podríamos enseñarle al robot a caminar por la habitación murmurando: “llaves, llaves, llaves... ¿dónde dejé mis llaves?”.
    • Los LLM multimodales ya son muy buenos en este tipo de tareas.
      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.

    • Después de recopilar todos los datos, analizaron las causas de las fallas a posteriori.
      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.

    • Porque es un producto de bajo volumen que tiene que cubrir los sueldos de los ingenieros que lo construyen y lo mantienen.
    • Para un robot, 25 mil dólares no está mal.
      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.
    • ¿Desde cuándo open source significa barato?
      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.
    • ¿Dónde está el precio?
      Me pregunto si hay un enlace a la página del producto.
    • El software es open source.
      El hardware es propietario y está protegido por patentes.
  • ¿No es esto lo mismo que Dobb-E?
    https://dobb-e.com/

    • No.
      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.
    • Los dos proyectos parecen estar relacionados y comparten autores.
      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.