Los subproblemas de Paden-Kahan son un conjunto de problemas geométricos resueltos que ocurren con frecuencia en la cinemática inversa de manipuladores robóticos comunes. [1] Aunque el conjunto de problemas no es exhaustivo, se puede utilizar para simplificar el análisis cinemático inverso para muchos robots industriales. [2] Además de los tres subproblemas clásicos, se han propuesto varios otros. [3] [4]
Estrategias de simplificación
Para una ecuación estructural definida por el método del producto de exponenciales , se pueden utilizar subproblemas de Paden-Kahan para simplificar y resolver el problema de cinemática inversa. Cabe destacar que las matrices exponenciales no son conmutativas .
Generalmente, se aplican subproblemas para resolver puntos particulares en el problema de cinemática inversa (por ejemplo, la intersección de los ejes de las articulaciones) con el fin de resolver los ángulos de las articulaciones.
Eliminación de juntas revolutivas
La simplificación se logra mediante el principio de que una rotación no tiene efecto sobre un punto que se encuentra sobre su eje. Por ejemplo, si el punto está sobre el eje de un giro giratorio , su posición no se ve afectada por el accionamiento del giro. A saber:
Por lo tanto, para una ecuación de estructura donde , y son todos giros de paso cero, al aplicar ambos lados de la ecuación a un punto que está en el eje de (pero no en los ejes de o ) se obtiene Por la cancelación de , esto da como resultado que, si y se intersecan, puede resolverse mediante el subproblema 2.
Norma
En algunos casos, el problema también puede simplificarse restando un punto de ambos lados de la ecuación y tomando la norma del resultado.
Por ejemplo, para resolver , donde y se intersecan en el punto , ambos lados de la ecuación se pueden aplicar a un punto que no esté en el eje de . Restando y tomando la norma de ambos lados se obtiene
Esto se puede resolver utilizando el subproblema 3.
Lista de subproblemas
Cada subproblema se presenta como un algoritmo basado en una prueba geométrica. El código para resolver un subproblema determinado, que debe redactarse teniendo en cuenta los casos con múltiples soluciones o sin solución, puede integrarse en algoritmos de cinemática inversa para una amplia gama de robots.
Subproblema 1: Rotación sobre un solo eje
Sea un giro de paso cero con magnitud unitaria y dos puntos. Halla tal que
En este subproblema, se gira un punto alrededor de un eje dado de manera que coincida con un segundo punto .
Solución
Sea un punto en el eje de . Definamos los vectores y . Como está en el eje de , Por lo tanto,
A continuación, los vectores y se definen como las proyecciones de y sobre el plano perpendicular al eje de . Para un vector en la dirección del eje de , y En el caso de que , y ambos puntos se encuentren sobre el eje de rotación. Por lo tanto, el subproblema produce un número infinito de posibles soluciones en ese caso.
Para que el problema tenga solución es necesario que las proyecciones de y sobre el eje y sobre el plano perpendicular tengan longitudes iguales. Es necesario comprobar, a saber: y que
Si se satisfacen estas ecuaciones, el valor del ángulo de la articulación se puede encontrar utilizando la función atan2 : Siempre que , este subproblema debería producir una solución para .
Subproblema 2: Rotación sobre dos ejes sucesivos
Sean y dos giros de paso cero con magnitud unitaria y ejes que se cortan. Sean dos puntos. Halla y tales que
Este problema corresponde a rotar alrededor del eje de por , luego rotarlo alrededor del eje de por , de modo que la ubicación final de sea coincidente con . (Si los ejes de y son coincidentes, entonces este problema se reduce al Subproblema 1, admitiendo todas las soluciones tales que .)
Solución
Siempre que los dos ejes no sean paralelos (es decir, ), sea un punto tal que En otras palabras, representa el punto al que se gira alrededor de un eje antes de girar alrededor del otro eje para que coincida con . Cada rotación individual es equivalente al subproblema 1, pero es necesario identificar una o más soluciones válidas para para poder resolver las rotaciones.
Sea el punto de intersección de los dos ejes:
Defina los vectores , y . Por lo tanto,
Esto implica que , , y . Dado que , y son linealmente independientes, se puede escribir como
Los valores de los coeficientes se pueden resolver así:
, y el subproblema produce dos soluciones en el caso de que los círculos se intersequen en dos puntos; una solución si los círculos son tangenciales; y ninguna solución si los círculos no se intersecan.
Subproblema 3: Rotación a una distancia dada
Sea un giro de paso cero con magnitud unitaria; sean dos puntos; y sea un número real mayor que 0. Halla tal que
En este problema, se gira un punto sobre un eje hasta que se encuentra a una distancia de un punto . Para que exista una solución, el círculo definido al girar alrededor debe intersecar una esfera de radio centrada en .
Solución
Sea un punto sobre el eje de . Los vectores y están definidos de manera que
Las proyecciones de y son y La “proyección” del segmento de línea definido por se encuentra restando el componente de en la dirección: El ángulo entre los vectores y se encuentra usando la función atan2 : El ángulo de unión se encuentra mediante la fórmula Este subproblema puede producir cero, una o dos soluciones, dependiendo de la cantidad de puntos en los que el círculo de radio interseca el círculo de radio .
Subproblema 4: Rotación sobre dos ejes a una distancia dada
Sean y dos giros de paso cero con magnitud unitaria y ejes que se cortan. Sean puntos. Halla y tales que y
Este problema es análogo al subproblema 2, excepto que el punto final está restringido por distancias a dos puntos conocidos.
Subproblema 5: Traslación a una distancia dada
Sea un giro de magnitud unitaria de paso infinito; dos puntos; y un número real mayor que 0. Halle tal que
Referencias
^ Paden, Bradley Evan (1985). "Cinemática y control de manipuladores robóticos". Tesis doctoral . Código Bibliográfico :1985PhDT........94P.
^ Sastry, Richard M. Murray; Zexiang Li; S. Shankar (1994). Una introducción matemática a la manipulación robótica (PDF) (1.ª ed. [Dr.]). Boca Raton, Fla.: CRC Press. ISBN9780849379819.{{cite book}}: CS1 maint: multiple names: authors list (link)
^ Pardos-Gotor, Jose (2021). Teoría de tornillos en robótica: una introducción ilustrada y práctica a la mecánica moderna. doi :10.1201/9781003216858. ISBN9781003216858.S2CID239896825 .
^ Elias, Alexander J.; Wen, John T. (10 de noviembre de 2022). "Subproblemas canónicos para la cinemática inversa de robots". arXiv : 2211.05737 [cs.RO].