En robótica y matemáticas , el problema de calibración ojo-mano (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 mundial. [1] Es conceptualmente análogo a la coordinación biológica mano-ojo (de ahí el nombre). Toma la forma 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 del problema muy estudiado 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 separables de forma cerrada, soluciones simultáneas de forma cerrada 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 de robots , y la eficiencia y precisión de las soluciones determinan la precisión de la velocidad de las calibraciones de los robots.
Se desarrollaron muchos métodos y soluciones diferentes para resolver el problema, definidos en términos generales como soluciones separables o simultáneas. Cada tipo de solución tiene ventajas y desventajas específicas, así como formulaciones y aplicaciones al 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 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. Como tal, el enfoque más frecuente es resolver R x y R z usando la primera ecuación y luego usar R z para resolver las variables en la segunda ecuación. La rotación se representa mediante 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 X y Z al mismo tiempo (en lugar de basar la solución de una parte en la otra como en las soluciones separables), la propagación del error se reduce significativamente. [6] Al formular las matrices como cuaterniones duales , es posible obtener una ecuación lineal mediante 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 la 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 RB . 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, su realización puede ser computacionalmente agotadora 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 forma 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 ojo-mano. [10]