Open Source Robotics

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

Configuration Space Distance Fields for Manipulation Planning

Autores: Yiming Li, Xuemin Chi, Amirreza Razmjoo, Sylvain Calinon · RSS 2024

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

Define un campo de distancias directamente sobre los ángulos articulares, de modo que la IK de cuerpo completo se convierte en una proyección de gradiente de un solo paso y los planificadores evitan los mínimos locales que provocan los SDF en un Franka de 7-DoF.

Por qué importa

Los planificadores y controladores que ya reciben una función de distancia (QP, iLQR, geometric fabrics) pueden usar el CDF en lugar de un SDF y trabajar directamente en el espacio articular. En el robot plano y en el Franka, los mismos planificadores obtuvieron tasas de éxito más altas y menor error de seguimiento con el CDF que con el SDF.

Problema

Los campos de distancias con signo se definen normalmente en el espacio de la tarea 3D, de modo que el control de la manipulación primero mide allí la distancia y después resuelve la cinemática inversa de forma iterativa para obtener los movimientos articulares. Como la cinemática directa es no lineal, el campo pierde su propiedad de gradiente unitario cuando se observa en el espacio articular, y los solvers basados en gradientes pueden atascarse donde los gradientes se anulan o en las singularidades.

Solución propuesta

El campo de distancias en el espacio de configuración (CDF) da, en radianes, el menor movimiento articular que pone en contacto cualquier parte del robot con un punto; cumple la ecuación eikonal, por lo que la configuración de contacto más cercana se alcanza proyectando a lo largo del gradiente. Las configuraciones de contacto se calculan offline para cada punto de una rejilla del espacio de trabajo con L-BFGS por lotes sobre un modelo SDF del robot, los campos por punto se fusionan en línea con una operación de mínimo, y un MLP de 5 capas (CDF neuronal) ofrece una versión compacta, sin rejilla y diferenciable.

Ideas clave

  • Un campo de distancias definido sobre los ángulos articulares conserva gradientes de norma unitaria, por lo que la IK de cuerpo completo para un objetivo de contacto se reduce a una proyección, q′ = q − f_c ∇f_c, sin iteraciones de Gauss-Newton.
  • El valor del campo depende solo de las articulaciones anteriores al eslabón en contacto; tomar un mínimo por eslabón mejora la precisión cuando hay pocas muestras de configuraciones de contacto.
  • Los campos por punto pueden precalcularse y combinarse en línea con un mínimo (una unión en el espacio de configuración), de modo que la representación no depende de una escena concreta.
  • Los gradientes del campo siguen trayectorias que rodean los obstáculos en el espacio articular, lo que ayuda a los planificadores reactivos a evitar los mínimos locales que se observan con los SDF en el espacio de la tarea.

Resultados principales

  • IK de cuerpo completo en el Franka a partir de 10.000 configuraciones iniciales aleatorias (tabla II): el CDF con proyección de 2 pasos encontró 8.773 soluciones válidas en 10,6 ms; SDF + L-BFGS encontró 3.652 en 971 ms y Neural-JSDF + L-BFGS 264 en 272 ms. El texto lo expresa como más de 700.000 soluciones válidas por segundo, 180 veces el enfoque SDF.
  • Precisión del CDF neuronal: 1,39 ± 0,51 cm de MAE y 91,1 ± 8,12 % de éxito en la proyección (umbral de 3 cm) tras 3 iteraciones de proyección; la inferencia en GPU tardó 0,49 ms con un tamaño de lote de 1 y 4,61 ms con 10^5 en una RTX 3090.
  • Planificación de movimiento del Franka en 100 ejecuciones: tasas de éxito del CDF del 88–93 % con IPOPT, QRQP, OSQP, qpOASES y geometric fabrics frente al 38–74 % con SDF; iLQR 48 % frente a 38 %. En el robot plano de 2-DoF, el CDF alcanzó el 76–95 % frente al 40–68 % del SDF.
  • Tarea de portero en simulación (100 lanzamientos): el brazo interceptó la pelota el 82 % de las veces con el CDF frente al 35 % con el SDF.
  • Planificación de contacto con dos brazos sobre una caja grande: 7,65 s de tiempo de planificación y 1,37 rad de distancia articular media con CDF + filtrado frente a 54,80 s y 2,85 rad con SDF + optimización de Gauss-Newton.
  • Los controladores QP que usan el CDF neuronal funcionan a más de 200 Hz; el entrenamiento del CDF neuronal llevó unas 2 horas en una RTX 3090.

Limitaciones

  • El campo no tiene signo y, con pocas muestras de configuraciones de contacto, es impreciso para configuraciones cercanas al contacto; los autores sugieren añadir información de signo.
  • Se construye a partir de la geometría y la cinemática de un robot y debe recalcularse para cada modelo de robot; escalarlo a cadenas cinemáticas largas, como humanoides completos, sigue siendo una cuestión abierta.
  • El cálculo offline es lento (1–10 s para encontrar las configuraciones de contacto), la versión con rejilla es poco eficiente en memoria y la versión neuronal sacrifica precisión; los autores señalan que el entrenamiento de la red no se optimizó por completo.
  • La distancia se mide como distancia angular (euclídea en las articulaciones); la distancia geodésica sobre la variedad del espacio de configuración queda para trabajos futuros.
  • Los experimentos de planificación con el robot real se muestran de forma cualitativa (Fig. 8) sin tasas de éxito, y la tarea de portero solo se ejecutó en simulación.

Impacto en el campo

Finalista del RSS 2024 Outstanding Paper Award, con 48 citas. La página oficial del proyecto enlaza el código en github.com/yimingli1998/cdf.

Resumen

El campo de distancias con signo es una representación implícita de formas muy utilizada en robótica, que proporciona información geométrica sobre objetos y obstáculos de una forma que puede combinarse fácilmente con técnicas de control, optimización y aprendizaje. Lo más habitual es usar los SDF para representar distancias en el espacio de la tarea, que corresponde a la noción familiar de distancia que percibimos en nuestro mundo 3D. Sin embargo, matemáticamente los SDF pueden usarse en otros espacios, incluidos los espacios de configuración de los robots. Para un robot manipulador, este espacio de configuración corresponde normalmente a los ángulos articulares de cada articulación del robot. Aunque en la planificación robótica es habitual expresar qué partes del espacio de configuración están libres de colisiones con obstáculos, es menos común pensar en esta información como un campo de distancias en el espacio de configuración. En este artículo demostramos el potencial de considerar los SDF en el espacio de configuración del robot para la optimización, lo que llamamos campo de distancias en el espacio de configuración. De forma similar al uso del SDF en el espacio de la tarea, el CDF proporciona una consulta eficiente de distancias en ángulos articulares y acceso directo a las derivadas. La mayoría de los enfoques dividen el cálculo global en una parte en el espacio de la tarea seguida de otra en el espacio de configuración. En cambio, el CDF permite que los problemas de control, optimización y aprendizaje aprovechen la estructura implícita de forma unificada. En particular, proponemos un algoritmo eficiente para calcular y fusionar CDF que puede generalizarse a escenas arbitrarias. También se presenta una representación neuronal del CDF correspondiente, basada en perceptrones multicapa, para obtener una representación compacta y continua a la vez que se mejora la eficiencia de cálculo. Demostramos la eficacia del CDF con ejemplos de evitación de obstáculos en el plano y con un robot Franka de 7 ejes en tareas de cinemática inversa y de planificación de la manipulación.

Enlaces

  • arXiv 2406.01137: https://arxiv.org/abs/2406.01137
  • DOI 10.48550/arXiv.2406.01137: https://doi.org/10.48550/arXiv.2406.01137
  • PDF: https://arxiv.org/pdf/2406.01137v1
  • Código: https://github.com/yimingli1998/cdf
  • Página del proyecto: https://sites.google.com/view/cdfmp/home

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