Subproblemas de Paden-Kahan

Conjunto de problemas geométricos resueltos

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: pag {\textstyle p} o {\textstyle \xi} mi o ^ θ pag = pag {\displaystyle e^{{\widehat {\xi }}\theta }p=p}

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. mi o ^ 1 θ 1 mi o ^ 2 θ 2 mi o ^ 3 θ 3 = gramo {\displaystyle e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}e^{ {\widehat {\xi }}_{3}\theta _ {3}}=g} o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{2}} o 3 {\textstyle \xi _{3}} pag {\textstyle p} o 3 {\textstyle \xi _{3}} o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{2}} mi o ^ 1 θ 1 mi o ^ 2 θ 2 mi o ^ 3 θ 3 pag = gramo pag {\displaystyle e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}e^{ {\widehat {\xi }}_{3}\theta _{3}}p=gp} o 3 {\textstyle \xi _{3}} mi o ^ 1 θ 1 mi o ^ 2 θ 2 pag = gramo pag {\displaystyle e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}p=gp } o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{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. mi o ^ 1 θ 1 mi o ^ 2 θ 2 mi o ^ 3 θ 3 = gramo {\displaystyle e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}e^{ {\widehat {\xi }}_{3}\theta _ {3}}=g} o 3 {\textstyle \xi _{3}} o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{2}} q {\textstyle q} pag {\textstyle p} o 3 {\textstyle \xi _{3}} q {\textstyle q} del i = " gramo pag q " = " mi o ^ 1 θ 1 mi o ^ 2 θ 2 mi o ^ 3 θ 3 pag q " = " mi o ^ 1 θ 1 mi o ^ 2 θ 2 ( mi o ^ 3 θ 3 pag q ) " = " mi o ^ 3 θ 3 pag q " {\displaystyle {\begin{alineado}\delta _{i}=\|gp-q\|=\|e^{{\widehat {\xi }}_{1}\theta _{1}}e^ {{\widehat {\xi }}_{2}\theta _{2}}e^{{\widehat {\xi }}_{3}\theta _{3}}pq\|=\|e^ {{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}(e^{{\widehat { \xi }}_{3}\theta _{3}}pq)\|=\|e^{{\widehat {\xi }}_{3}\theta _{3}}pq\|\end{ alineado}}}

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

Una ilustración del primer subproblema de Paden-Kahan.
Sea un giro de paso cero con magnitud unitaria y dos puntos. Halla tal que o {\textstyle \xi} pag , q R 3 {\textstyle p,q\in \mathbb {R} ^{3}} θ {\textstyle \theta} mi o ^ θ pag = q . {\displaystyle e^{{\widehat {\xi }}\theta }p=q.}

En este subproblema, se gira un punto alrededor de un eje dado de manera que coincida con un segundo punto . pag {\textstyle p} o {\textstyle \xi} q {\textstyle q}

Una ilustración del círculo proyectado en el primer subproblema de Paden-Kahan.

Solución

Sea un punto en el eje de . Definamos los vectores y . Como está en el eje de , Por lo tanto, a {\textstyle r} o {\textstyle \xi} = ( pag a ) {\textstyle u=(pr)} en = ( q a ) {\textstyle v=(qr)} a {\textstyle r} o {\textstyle \xi} mi o ^ θ a = a . {\textstyle e^{{\widehat {\xi }}\theta }r=r.} mi ω ^ θ = en . {\textstyle e^{{\widehat {\omega }}\theta }u=v.}

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. " {\textstyle u'} en " {\textstyle v'} {\textstyle u} en {\textstyle v} o {\textstyle \xi} ω R {\textstyle \omega \in \mathbb {R} } o {\textstyle \xi} " = ω ω yo {\displaystyle u'=u-\omega \omega ^{T}u} en " = en ω ω yo en . {\displaystyle v'=v-\omega \omega ^{T}v.} " = 0 {\textstyle u'=0} pag = q {\textstyle p=q}

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 {\textstyle u} en {\textstyle v} ω {\textstyle\omega} ω {\textstyle\omega} ω yo = ω yo en {\displaystyle \omega ^{T}u=\omega ^{T}v} " " " = " en " " {\displaystyle \|u'\|=\|v'\|}

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 . θ {\textstyle \theta} θ = a a a norte 2 ( ω yo ( " × en " ) , " yo en " ) . {\displaystyle \theta =\mathrm {atan2} (\omega ^{T}(u'\times v'),u'^{T}v').} " 0 {\textstyle u'\neq 0} θ {\textstyle \theta}

Subproblema 2: Rotación sobre dos ejes sucesivos

Ilustración del subproblema 2 de Paden–Kahan. 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.
Sean y dos giros de paso cero con magnitud unitaria y ejes que se cortan. Sean dos puntos. Halla y tales que o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{2}} pag , q R 3 {\textstyle p,q\in \mathbb {R} ^{3}} θ 1 {\textstyle \theta _{1}} θ 2 {\textstyle \theta _{2}} mi o ^ 1 θ 1 mi o ^ 2 θ 2 pag = q . {\displaystyle e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}p=q .}

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 .) pag {\textstyle p} o 2 {\textstyle \xi _{2}} θ 2 {\textstyle \theta _{2}} o 1 {\textstyle \xi _{1}} θ 1 {\textstyle \theta _{1}} pag {\textstyle p} q {\textstyle q} o 1 {\textstyle \xi _{1}} o 2 {\textstyle \xi _{2}} θ 1 + θ 2 = θ {\textstyle \theta _{1}+\theta _{2}=\theta }

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. ω 1 ω 2 {\textstyle \omega _ {1} \neq \ omega _ {2}} do {\textstyle c} mi o ^ 2 θ 2 pag = do = mi o ^ 1 θ 1 q . {\displaystyle e^{{\widehat {\xi }}_{2}\theta _{2}}p=c=e^{-{\widehat {\xi }}_{1}\theta _{1}}q.} c {\textstyle c} p {\textstyle p} q {\textstyle q} c {\textstyle c}

Sea el punto de intersección de los dos ejes: r {\textstyle r} e ξ ^ 2 θ 2 ( p r ) = c r = e ξ ^ 1 θ 1 ( q r ) . {\displaystyle e^{{\widehat {\xi }}_{2}\theta _{2}}(p-r)=c-r=e^{-{\widehat {\xi }}_{1}\theta _{1}}(q-r).}

Una ilustración del subproblema 2 de Paden–Kahan, que muestra el caso tangencial en el que el subproblema produce solo una solución.

Defina los vectores , y . Por lo tanto, u = ( p r ) {\textstyle u=(p-r)} v = ( q r ) {\textstyle v=(q-r)} z = ( c r ) {\textstyle z=(c-r)} e ξ ^ 2 θ 2 u = z = e ξ ^ 1 θ 1 v . {\displaystyle e^{{\widehat {\xi }}_{2}\theta _{2}}u=z=e^{-{\widehat {\xi }}_{1}\theta _{1}}v.}

Esto implica que , , y . Dado que , y son linealmente independientes, se puede escribir como ω 2 T u = ω 2 T z {\textstyle \omega _{2}^{T}u=\omega _{2}^{T}z} ω 1 T v = ω 1 T z {\textstyle \omega _{1}^{T}v=\omega _{1}^{T}z} u 2 = z 2 = v 2 {\textstyle \|u\|^{2}=\|z\|^{2}=\|v\|^{2}} ω 1 {\textstyle \omega _{1}} ω 2 {\textstyle \omega _{2}} ω 1 × ω 2 {\textstyle \omega _{1}\times \omega _{2}} z {\textstyle z} z = α ω 1 + β ω 2 + γ ( ω 1 × ω 2 ) . {\displaystyle z=\alpha \omega _{1}+\beta \omega _{2}+\gamma (\omega _{1}\times \omega _{2}).}

Los valores de los coeficientes se pueden resolver así:

Ilustración del subproblema 2 de Paden-Kahan, que muestra un caso con dos círculos que se intersecan y, por lo tanto, dos soluciones. Ambas soluciones (c, c2) están resaltadas.

α = ( ω 1 T ω 2 ) ω 2 T u ω 1 T v ( ω 1 T ω 2 ) 2 1 {\displaystyle \alpha ={\frac {(\omega _{1}^{T}\omega _{2})\omega _{2}^{T}u-\omega _{1}^{T}v}{(\omega _{1}^{T}\omega _{2})^{2}-1}}} β = ( ω 1 T ω 2 ) ω 1 T v ω 2 T u ( ω 1 T ω 2 ) 2 1 {\displaystyle \beta ={\frac {(\omega _{1}^{T}\omega _{2})\omega _{1}^{T}v-\omega _{2}^{T}u}{(\omega _{1}^{T}\omega _{2})^{2}-1}}} , 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. γ 2 = u 2 α 2 β 2 2 α β ω 1 T ω 2 ω 1 × ω 2 2 . {\displaystyle \gamma ^{2}={\frac {\|u\|^{2}-\alpha ^{2}-\beta ^{2}-2\alpha \beta \omega _{1}^{T}\omega _{2}}{\|\omega _{1}\times \omega _{2}\|^{2}.}}}

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 ξ {\textstyle \xi } p , q R 3 {\textstyle p,q\in \mathbb {R} ^{3}} δ {\textstyle \delta } θ {\textstyle \theta } q e ξ ^ θ p = δ . {\displaystyle \|q-e^{{\widehat {\xi }}\theta }p\|=\delta .}

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 . p {\textstyle p} ξ {\textstyle \xi } δ {\textstyle \delta } q {\textstyle q} p {\textstyle p} ξ {\textstyle \xi } δ {\textstyle \delta } q {\textstyle q}

Solución

Sea un punto sobre el eje de . Los vectores y están definidos de manera que r {\textstyle r} ξ {\textstyle \xi } u = ( p r ) {\textstyle u=(p-r)} v = ( q r ) {\textstyle v=(q-r)} v e ξ ^ θ u 2 = δ 2 . {\displaystyle \|v-e^{{\widehat {\xi }}\theta }u\|^{2}=\delta ^{2}.}

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 . u {\textstyle u} v {\textstyle v} u = u ω ω T u {\textstyle u'=u-\omega \omega ^{T}u} v = v ω ω T v . {\textstyle v'=v-\omega \omega ^{T}v.} δ {\textstyle \delta } p q {\textstyle p-q} ω {\textstyle \omega } δ 2 = δ 2 | ω T ( p q ) | 2 . {\displaystyle \delta '^{2}=\delta ^{2}-|\omega ^{T}(p-q)|^{2}.} θ 0 {\textstyle \theta _{0}} u {\textstyle u'} v {\textstyle v'} θ 0 = a t a n 2 ( ω T ( u × v ) , u T v ) . {\displaystyle \theta _{0}=atan2(\omega ^{T}(u'\times v'),u'^{T}v').} θ {\textstyle \theta } θ = θ 0 ± cos 1 ( u 2 + v 2 δ 2 2 u v ) . {\displaystyle \theta =\theta _{0}\pm \cos ^{-1}\left({\frac {\|u'\|^{2}+\|v'\|^{2}-\delta '^{2}}{2\|u'\|\|v'\|}}\right).} u {\textstyle \|u'\|} δ {\textstyle \delta '}

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 ξ 1 {\textstyle \xi _{1}} ξ 2 {\textstyle \xi _{2}} p , q 1 , q 2 R 3 {\textstyle p,q_{1},q_{2}\in \mathbb {R} ^{3}} θ 1 {\textstyle \theta _{1}} θ 2 {\textstyle \theta _{2}} e ξ ^ 1 θ 1 e ξ ^ 2 θ 2 p q 1 = δ 1 {\displaystyle \|e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}p-q_{1}\|=\delta _{1}} y e ξ ^ 1 θ 1 e ξ ^ 2 θ 2 p q 2 = δ 2 . {\displaystyle \|e^{{\widehat {\xi }}_{1}\theta _{1}}e^{{\widehat {\xi }}_{2}\theta _{2}}p-q_{2}\|=\delta _{2}.}

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 ξ {\textstyle \xi } p , q R 3 {\textstyle p,q\in \mathbb {R} ^{3}} δ {\textstyle \delta } θ {\textstyle \theta } q e ξ ^ θ p = δ . {\displaystyle \|q-e^{{\widehat {\xi }}\theta }p\|=\delta .}

Referencias

  1. ^ Paden, Bradley Evan (1985). "Cinemática y control de manipuladores robóticos". Tesis doctoral . Código Bibliográfico :1985PhDT........94P.
  2. ^ 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. ISBN 9780849379819.{{cite book}}: CS1 maint: multiple names: authors list (link)
  3. ^ 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. ISBN 9781003216858.S2CID239896825  .
  4. ^ 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].
Retrieved from "https://en.wikipedia.org/w/index.php?title=Paden–Kahan_subproblems&oldid=1254894304"