Open Source Robotics

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

FlowBot3D: Learning 3D Articulation Flow to Manipulate Articulated Objects

Autores: Ben Eisner, Harry Zhang, David Held · RSS 2022

Licencias

  • Acceso abierto
  • Artículo: CC BY 4.0

Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.

En resumen

Una red predice cómo se movería cada punto de un objeto articulado; el robot agarra el punto con mayor movimiento y lo sigue, y alcanza un 64 % de éxito en el mundo real sin datos de entrenamiento reales.

Por qué importa

La representación no necesita conocer el árbol cinemático del objeto, así que un único modelo entrenado solo con nubes de puntos simuladas abrió objetos de categorías que nunca había visto y se transfirió a un brazo Sawyer real sin ajuste fino. Para quien lo aplica, separa la percepción (dónde y cómo se mueven las partes) de una regla de control analítica sencilla, lo que mantiene la política en lazo cerrado y fácil de inspeccionar.

Problema

Los robots en los hogares deben abrir puertas, cajones, tapas y objetos articulados similares cuya geometría y cinemática varían mucho dentro de cada categoría y entre categorías. Los métodos que estiman parámetros de articulación, como los ejes de las articulaciones, suelen basarse en conocimiento específico de la clase sobre la estructura del objeto, por lo que no pueden aplicarse a categorías nuevas.

Solución propuesta

Los autores definen el 3D Articulation Flow (flujo de articulación 3D): para cada punto de una nube de puntos, la dirección normalizada en la que se movería si su parte se abriera ligeramente. ArtFlowNet, una red basada en PointNet++ entrenada con aprendizaje supervisado sobre objetos simulados de PartNet-Mobility, predice este flujo a partir de una única nube de puntos. A continuación, FlowBot3D agarra con una pinza de succión el punto con mayor flujo predicho (sujeto a filtros de bordes y de curvatura) y vuelve a predecir el flujo repetidamente, moviendo la pinza a lo largo del mayor vector de flujo visible cerca del contacto hasta que la parte queda abierta.

Ideas clave

  • En una articulación prismática la mejor dirección de tracción es a lo largo del eje de la articulación en cualquier punto; en una articulación de revolución es tangencial en el punto más alejado del eje, por lo que el punto con mayor flujo de articulación es el agarre ideal.
  • El flujo por punto no depende de la jerarquía y está acotado dentro de la esfera unidad, por lo que es invariante a la traslación y al escalado y puede aprenderse sin modelos cinemáticos específicos de cada clase.
  • Las políticas de clonación de comportamiento y de DAgger rindieron mal incluso cuando recibían como entrada el flujo real (ground truth), mientras que la política analítica de seguimiento del flujo funcionó bien.
  • Las nubes de puntos renderizadas en simulación tienen poca brecha de dominio respecto a los datos de profundidad reales, a lo que los autores atribuyen la transferencia directa de simulación a realidad; el aumento de puntos de vista en el entrenamiento ayudó a la transferencia pero cambió poco en simulación.

Resultados principales

  • Simulación (ManiSkill con PartNet-Mobility, éxito = más del 90 % del rango de movimiento): FlowBot3D logró un éxito medio de 0,77 en instancias no vistas de las categorías de entrenamiento y de 0,69 en 10 categorías no vistas; un oráculo con el flujo real alcanzó 0,92 y 0,82.
  • La mejor línea base de clonación de comportamiento (DAgger Oracle + F) alcanzó un éxito de 0,33 en las categorías de entrenamiento y de 0,16 en las no vistas; la línea base de estilo UMPNet alcanzó 0,52 y 0,45.
  • Distancia normalizada media al estado abierto: 0,12 (categorías de entrenamiento) y 0,15 (categorías no vistas) para FlowBot3D frente a 0,29 y 0,36 para la línea base de estilo UMPNet.
  • Mundo real, 14 objetos domésticos y 70 ensayos con un brazo Sawyer: 45/70 (64,3 %) de éxito global, 64/70 (91,4 %) de éxito de contacto y 45/64 (70,3 %) de éxito de movimiento tras el contacto.
  • La línea base DAgger en el mundo real, con la misma selección de contacto, tuvo éxito en 10/70 ensayos (14,3 %), con una distancia media de 0,73 frente a 0,22 para FlowBot3D.

Limitaciones

  • La mayoría de los fallos en el mundo real se debieron a errores de predicción del flujo, a menudo cuando el robot ocluía gran parte de la escena o no detectaba una articulación (por ejemplo, en el horno real), y a fallos de contacto de la succión en puntos donde no se podía formar un sello.
  • Los autores afirman que se necesitan un controlador del brazo más complaciente y un módulo más sólido de predicción de la calidad del contacto para eliminar muchos modos de fallo; la corrección en línea de predicciones erróneas queda para trabajo futuro.
  • El método cubre objetos con articulaciones de revolución o prismáticas de 1 DoF y base fija; se excluyen las articulaciones de rótula, los objetos que flotan libremente y los objetos deformables.
  • Una pinza de succión real no puede sellar sobre bordes, asas o zonas de alta curvatura, por lo que los puntos de agarre se eligen con heurísticas de borde, curvatura y distancia ajustadas a mano en lugar del punto ideal de flujo máximo.
  • Los objetos de prueba reales tenían que caber en el espacio de trabajo, ofrecer una superficie apta para la succión y no ser demasiado oscuros ni reflectantes para la cámara de profundidad.

Impacto en el campo

El artículo fue finalista del premio al mejor artículo de RSS 2022 (Best Paper Award) y tiene 168 citas. Los autores publican el código, los datos y los materiales complementarios a través del sitio web del proyecto.

Resumen

Exploramos un método novedoso para percibir y manipular objetos articulados 3D que generaliza y permite a un robot articular clases de objetos no vistas. Proponemos un sistema basado en visión que aprende a predecir los movimientos potenciales de las partes de una variedad de objetos articulados para guiar la planificación de movimiento posterior del sistema a la hora de articular los objetos. Para predecir los movimientos de los objetos, entrenamos una red neuronal que produce un campo vectorial denso que representa la dirección de movimiento punto a punto de los puntos de la nube de puntos bajo articulación. Después desplegamos un planificador de movimiento analítico basado en este campo vectorial para obtener una política que produce la máxima articulación. Entrenamos el sistema de visión enteramente en simulación, y demostramos la capacidad de nuestro sistema para generalizar a instancias de objetos no vistas y a categorías nuevas tanto en simulación como en el mundo real, desplegando nuestra política en un robot Sawyer sin ajuste fino. Los resultados muestran que nuestro sistema alcanza un rendimiento del estado del arte tanto en experimentos simulados como en el mundo real.

Enlaces

  • arXiv 2205.04382: https://arxiv.org/abs/2205.04382
  • DOI 10.48550/arXiv.2205.04382: https://doi.org/10.48550/arXiv.2205.04382
  • PDF: https://arxiv.org/pdf/2205.04382v1
  • Código: https://github.com/r-pad/flowbot3d
  • Página del proyecto: https://sites.google.com/view/articulated-flowbot-3d/home

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