En robótica y matemáticas , el problema de calibración mano-ojo (también llamado problema de calibración robot-sensor o robot-mundo ) es el problema de determinar la transformación entre un efector final de robot y un sensor o sensores (cámara o escáner láser) o entre una base de robot y el sistema de coordenadas del mundo. [1] Es conceptualmente análogo a la coordinación mano-ojo biológica (de ahí el nombre). Toma la forma de AX=ZB , donde A y B son dos sistemas, generalmente una base de robot y una cámara, y X y Z son matrices de transformación desconocidas. Un caso especial altamente estudiado del problema ocurre cuando X=Z , tomando la forma del problema AX=XB . Las soluciones al problema toman la forma de varios tipos de métodos, incluidas soluciones de forma cerrada separables, soluciones de forma cerrada simultáneas y soluciones iterativas. [2] La covarianza de X en la ecuación se puede calcular para cualquier matriz A y B perturbada aleatoriamente . [3]
El problema es una parte importante de la calibración del robot , y la eficiencia y precisión de las soluciones determinan la precisión de la velocidad de las calibraciones de los robots.
Se han desarrollado muchos métodos y soluciones diferentes para resolver el problema, definidos en términos generales como soluciones simultáneas y separables. Cada tipo de solución tiene ventajas y desventajas específicas, así como formulaciones y aplicaciones para el problema. Un tema común en todos los métodos es el uso común de cuaterniones para representar rotaciones.
Dada la ecuación AX=ZB , es posible descomponer la ecuación en una parte puramente rotacional y una traslacional; los métodos que utilizan esto se denominan métodos separables. Donde R A representa una matriz de rotación de 3×3 y t A un vector de traslación de 3×1, la ecuación se puede dividir en dos partes: [4]
La segunda ecuación se vuelve lineal si se conoce R Z. Por lo tanto, el enfoque más frecuente es resolver R x y R z utilizando la primera ecuación y luego usar R z para resolver las variables en la segunda ecuación. La rotación se representa utilizando cuaterniones , lo que permite encontrar una solución lineal. Si bien los métodos separables son útiles, cualquier error en la estimación de las matrices de rotación se agrava cuando se aplica al vector de traslación. [5] Otras soluciones evitan este problema.
Las soluciones simultáneas se basan en resolver tanto X como Z al mismo tiempo (en lugar de basar la solución de una parte en la otra como en las soluciones separables), por lo que la propagación del error se reduce significativamente. [6] Al formular las matrices como cuaterniones duales , es posible obtener una ecuación lineal por la cual X se puede resolver en un formato lineal. [5] Una forma alternativa aplica el método de mínimos cuadrados al producto de Kronecker de las matrices A⊗B . Como lo confirman los resultados experimentales, las soluciones simultáneas tienen menos error que las soluciones de cuaterniones separables. [6]
Las soluciones iterativas son otro método utilizado para resolver el problema de propagación de errores. Un ejemplo de una solución iterativa es un programa basado en minimizar ||AX−XB|| . A medida que el programa itera, convergerá en una solución para X independiente de la orientación inicial del robot de R B . Las soluciones también pueden ser procesos iterativos de dos pasos y, al igual que las soluciones simultáneas, también pueden descomponer las ecuaciones en cuaterniones duales . [7] Sin embargo, si bien las soluciones iterativas al problema son generalmente simultáneas y precisas, pueden ser computacionalmente exigentes de llevar a cabo y es posible que no siempre converjan en la solución óptima. [5]
La ecuación matricial AX=XB , donde X es desconocida, tiene un número infinito de soluciones que pueden estudiarse fácilmente mediante un enfoque geométrico. [8] Para encontrar X es necesario considerar un conjunto simultáneo de 2 ecuaciones A 1 X=XB 1 y A 2 X=XB 2 ; las matrices A 1 , A 2 , B 1 , B 2 deben determinarse mediante experimentos que se realizarán de manera optimizada. [9]
donde representa la coordenada desconocida del punto en el sistema base del robot, representa la relación conocida entre el sistema base del robot y el efector final, es la relación desconocida entre el efector final y el escáner, y es la coordenada conocida del punto en el sistema de escáner local. Los métodos son los siguientes:
Existe un método que utiliza bordes rectos para la calibración mano-ojo. [10]