Full text
Calibraci´on Extr´ınseca de un Conjunto de C´amaras RGB-D sobre un Robot M´ovil David Z´u˜niga-No¨el, Rub´en G´omez Ojeda, Francisco-´ Angel Moreno, Javier Gonz´alez Jim´enez Departamento de Ingenier´ıa de Sistemas y Autom´atica, grupo MAPIR, Universidad de M´alaga Instituto de Investigaci´on Biom´edica de M´alaga (IBIMA) {dzuniga,rubengooj,famoreno,javiergonzalez}@uma.es Resumen La aparici´on de las c´amaras RGB-D como sensores rob´oticos de bajo coste ha supuesto la inclusi´on habitual de varios de estos dispositivos en una creciente cantidad de veh´ıculos y robots. En estos casos, la calibraci´on precisa de las transformaciones espaciales existentes entre las c´amaras del mismo robot es de capital importancia a la hora de obtener medidas fiables del entorno. Este art´ıculo eval´ua el m´etodo de calibraci´on con f´ormula cerrada descrito en [7] y lo extiende con una propuesta alternativa basada en un m´etodo iterativo y una extensi´on robusta de este ´ultimo en dos escenarios: i) un entorno simulado con cambios en el nivel de ruido de las observaciones, en el n´umero de observaciones obtenidas, en la proporci´on de outliers y en las posiciones relativas de las c´amaras, y ii) una configuraci´on particular de 3 c´amaras RGBD sobre un robot real. Los resultados de la evaluaci´on muestran una mayor precisi´on para nuestra propuesta iterativa robusta en todos los escenarios analizados. El c´odigo fuente de la implementaci´on de estos m´etodos en C++ se proporciona para su uso p´ublico. Palabras clave: Calibraci´on extr´ınseca, c´amaras RGB-D, robots m´oviles. 1. Introducci´on La aparici´on de las c´amaras RGB-D ha supuesto una revoluci´on en el mundo de los sensores rob´oticos debido a su bajo coste y la gran cantidad de informaci´on que pueden proporcionar sobre el entorno, combinando una c´amara est´andar RGB con una c´amara especial (principalmente de proyecci´on de patrones de infrarrojos o de tiempo de vuelo) que captura la informaci´on de profundidad de la escena. Siendo una de las principales limitaciones de este tipo de dispositivos su relativamente bajo campo de visi´on (∼60oHFoV), es habitual encontrar sistemas que integran varias c´amaras RGB-D funcionando simult´aneamente sobre un mismo robot o veh´ıculo [4, 13], aumentando de esta forma su rango de observaci´on. Este tipo de configuraciones (a) (b) (c) Figura 1: Figura con el robot Giraff y el conjunto de sensores RGB-D con los que se han llevado a cabo los experimentos (Figura 1a). En la Figura 1b se puede observar en detalle las tres c´amaras montadas en el sensor, mientras que en la Figura 1c se puede observar el esquema del conjunto de c´amaras con sus transformaciones relativas. multi-c´amara implican un proceso de calibraci´on extr´ınseca de las mismas que determina su posici´on y orientaci´on dentro de un sistema de referencia com´un elegido arbitrariamente al que se transforman las medidas tomadas por todas las c´amaras, generando una observaci´on precisa y coherente del entorno. Es importante remarcar que esta calibraci´on extr´ınseca de las configuraciones multi-c´amara es independiente del proceso de calibraci´on intr´ınseco (e.g. estimaci´on de la distancia focal, par´ametros de distorsi´on, etc.) de cada una de ellas, as´ı como de la estimaci´on de la transformaci´on espacial existente entre la c´amara RGB y de distancia que componen cada dispositivo individual [18, 6, 8]. Adem´as, las c´amaras RGB-D sufren de la aparici´on de errores en las medidas de rango en funci´on de la distancia de los objetos medidos al centro ´optico de la c´amara de profundidad, requiriendo de un tratamiento especial para compensar dichos errores y obtener medidas fiables [14, 5]. XXXVIII Jornadas de Automática 1031
Estos procedimientos de calibraci´on son de capital importancia para obtener medidas precisas del entorno, reduciendo de esta manera los errores sistem´aticos en las observaciones obtenidas. En este art´ıculo, sin embargo, asumimos que las c´amaras ya se encuentran calibradas individualmente y nos centramos principalmente en la estimaci´on robusta de las transformaciones geom´etricas existentes entre un conjunto de sensores RGBD que forman un s´olido r´ıgido. Para ello extendemos el m´etodo propuesto en [7], que implementa una formulaci´on cerrada para el caso espec´ıfico de dos c´amaras. Dicho m´etodo est´a basado en la observaci´on de superficies planas desde diferentes perspectivas y tiene la ventaja de que puede ser aplicado de forma sencilla sin necesidad de un patr´on de calibraci´on pre-construido, ya que, habitualmente, los entornos creados por seres humanos presentan dichas superficies. De esta forma, el proceso de re-calibraci´on puede ejecutarse en cualquier momento y pr´acticamente sin intervenci´on humana. Sin embargo, la formulaci´on cerrada propuesta se muestra muy sensible ante la presencia de medidas afectadas por mucho ruido y/o observaciones err´oneas (outliers), por lo que se hace necesario el desarrollo de un m´etodo que pueda hacer frente de mejor manera a estas situaciones habituales en los experimentos con datos reales. As´ı, las contribuciones de este trabajo se concretan en: La elaboraci´on de un estudio de los resultados obtenidos por el m´etodo propuesto en dicho art´ıculo, tanto en simulaci´on como en un robot real. La propuesta de un m´etodo alternativo basado en una formulaci´on iterativa y una versi´on robusta del mismo que obtiene mejores resultados incluso en presencia de outliers y/o medidas muy ruidosas. La publicaci´on del c´odigo fuente en C++ que implementa los tres m´etodos evaluados. Para la validaci´on de los resultados, se han desarrollado dos tipos de pruebas (ver secci´on 5): i) en un entorno simulado en el que se ha analizado el comportamiento de los distintos sistemas propuestos e implementados ante distintos niveles de ruido, n´umero de observaciones, proporci´on de outliers en las observaciones y posiciones relativas de los sensores y ii) con una configuraci´on de tres c´amaras sobre un robot real donde se han estimado las transformaciones relativas entre cada par de c´amaras y se han comparado con las obtenidas por la composici´on de las otras dos transformaciones. En todos los casos se ha demostrado que el m´etodo iterativo robusto presenta una mayor precisi´on a la hora de determinar la posici´on relativa entre c´amaras. Por ´ultimo, el c´odigo fuente de las librer´ıas de C++ desarrolladas en este art´ıculo, junto con v´ıdeos ilustrativos y dem´as material adicional, podr´a ser encontrado en el siguiente enlace: http://mapir.uma.es/ 2. Trabajos Relacionados La necesidad de m´etodos de calibraci´on extr´ınseca de sensores ha dado lugar a diversas propuestas, tanto gen´ericas [15] como para sensores espec´ıficos [8]. La mayor´ıa de estos m´etodos de calibraci´on pueden clasificarse en dos grandes grupos: basados en el movimiento obasados en la observaci´on simult´anea de caracter´ısticas. Los m´etodos basados en movimiento [15, 3, 19] consisten b´asicamente en estimar la relaci´on espacial entre los sensores a partir de la trayectoria calculada para cada sensor independientemente. Si bien se trata de un enfoque gen´erico, puesto que ´unicamente requiere un algoritmo de odometr´ıa, puede ser una soluci´on poco pr´actica. Una de las principales complicaciones que se presentan a la hora de aplicar estos m´etodos de manera autom´atica es que el resultado de la calibraci´on depende directamente de la precisi´on del algoritmo de odometr´ıa en que se base. Adem´as, la precisi´on puede variar de un entorno a otro y seg´un la cantidad de elementos din´amicos o est´aticos presentes. Por el contrario, los m´etodos basados en la observaci´on simult´anea de caracter´ısticas [10, 17, 8] consisten en detectar correspondencias entre elementos del entorno percibidos simult´aneamente por los sensores, a partir de las cuales se estima la relaci´on espacial entre dichos sensores. En general, estos m´etodos, a diferencia de los basados en movimiento, necesitan de una regi´on de observaci´on com´un a los sensores para poder establecer las correspondencias. Adem´as, las caracter´ısticas del entorno en base a las que se formulan estas soluciones deben aparecer con suficiente frecuencia para poder realizar el procedimiento de calibraci´on de manera aut´onoma en un robot m´ovil. El m´etodo [7] en el que se basa este trabajo entrar´ıa dentro de esta ´ultima categor´ıa, empleando regiones planas como caracter´ısticas sobre las que establecer las correspondencias. Este planteamiento, en caso de que las regiones sean suficientemente grandes, relaja la restricci´on de observaci´on simult´anea a la observaci´on de un mismo plano, pero no necesariamente la misma regi´on del plano. Esta caracter´ıstica permite minimizar la regi´on de solape entre los sensores, maximizando de esta forXXXVIII Jornadas de Automática 1032
ma el campo de visi´on. Adem´as, la abundancia de regiones planas en entornos creados por el ser humano permite asegurar la presencia de las caracter´ısticas en el entorno de trabajo necesarias para llevar a cabo el proceso de calibraci´on. Sin embargo, como ya hemos comentado, el planteamiento original [7] se ve afectado considerablemente por el ruido de las medidas y la presencia de outliers en las observaciones. Para mitigar estos efectos, en este trabajo se aplican t´ecnicas de optimizaci´on robusta que permiten obtener mayor precisi´on en estas condiciones. 3. El Robot Giraff Giraff es un robot m´ovil dise˜nado con fines asistenciales que est´a basado en una plataforma rob´otica con un PC a bordo y una pantalla t´actil ajustable en altura y orientaci´on que se utiliza como principal interfaz de interacci´on con el usuario (ver Figura 1a). 3.1. Hardware La plataforma rob´otica consta de dos ruedas motoras y dos ruedas libres situadas una en la parte delantera y otra en la trasera con el fin de mejorar la estabilidad del movimiento y permitir que el robot gire sobre s´ı mismo. El conjunto de sensores del robot se compone de una c´amara web de 5 Mpx situada en la parte superior de la pantalla t´actil con la que se puede transmitir video a un usuario remoto o detectar y reconocer tanto personas como objetos. En la parte delantera del robot se han colocado dos c´amaras RGB-D con el objetivo de ampliar el campo de visi´on del robot para el mapeado, la localizaci´on y la navegaci´on. La posici´on de las c´amaras se ha escogido de manera que las vistas de ambos sensores no se solapen pero que tengan una visi´on del suelo en todo momento. Otra c´amara RGB-D situada a una altura mayor se utilizar´a para el reconocimiento de gestos, como m´etodo alternativo de interacci´on entre el usuario y el robot. 3.2. Software El PC de a bordo de Giraff est´a basado en Linux Ubuntu 16.04 e integra un entorno ROS donde se implementan las funcionalidades y los comportamientos del robot: navegaci´on aut´onoma, detecci´on y reconocimiento de caras y gestos, an´alisis y s´ıntesis de voz, etc. Dentro de esta arquitectura se integra el m´odulo de auto-calibraci´on que implementa el m´etodo descrito en este art´ıculo. Figura 2: Figura adaptada de [7] con el esquema de calibraci´on empleado en este trabajo, en el que dos sensores RGB-D unidos r´ıgidamente por una transformaci´on T= [R|t] observan en distintas configuraciones el mismo plano. 4. Calibraci´on Extr´ınseca de C´amaras RGB-D En esta secci´on se describen los algoritmos de calibraci´on desarrollados en este art´ıculo, tras introducir brevemente el problema que vamos a resolver. 4.1. Planteamiento del Problema Esencialmente, el objetivo es encontrar la transformaci´on geom´etrica relativa T= [R|t]∈SE(3) entre dos sensores RGB-D, suponiendo que est´an unidos r´ıgidamente (ver Figura 2). Para ello, se obtendr´a una serie de Ndistintas observaciones de uno o m´as planos, dadas por su vector normal ni en el sistema de referencia de cada c´amara y la distancia desde el centro ´optico de ´estas al plano di. Una vez obtenidas las observaciones, suponiendo que cumplen la condici´on de observabilidad, dada por: rango N X i=1 ninT i= 3 (1) se puede encontrar la soluci´on ´optima al problema (esto es, estimar la pose relativa entre los diferentes sensores) de diferentes maneras. Para que se cumpla la condici´on de observabilidad, al menos 3 observaciones independientes son necesarias [7] 4.2. Soluci´on en Forma Cerrada En este apartado, se describir´a someramente la soluci´on en forma cerrada al problema planteado presentada previamente en [7] que desacopla la estimaci´on de la traslaci´on con respecto de la rotaci´on, comenzando por la estimaci´on de la rotaci´on R. Para ello, el estimador de m´axima verosimilitud viene dado por la maximizaci´on de la verosimilitud logar´ıtmica, asumiendo que los errores XXXVIII Jornadas de Automática 1033
siguen una distribuci´on normal, para las Nobservaciones: argmax Rlog N Y i=1 p(ni,n0 i|R(2) donde las primas en los super´ındices denotan observaciones del segundo sensor. Entonces, gracias a la hip´otesis de que los errores son Gaussianos, podemos llegar a la siguiente expresi´on: argmin R N X i=1 ωikni−Rn0 ik2(3) observando que la derivaci´on del estimador de m´axima verosimilitud coincide con el problema de m´ınimos cuadrados justamente introducido. La ecuaci´on anterior es tambi´en conocida como problema ortogonal de Procrustes y su soluci´on en forma cerrada es conocida [1, 16]. En el caso de la traslaci´on, es posible llegar f´acilmente a la siguiente expresi´on: argmin tωidi−d0 i+t·R·n0 i2(4) que, al igual que en el caso anterior, corresponde el estimador de m´axima verosimilitud: argmax tlog N Y i=1 p(ni,n0 i, di, d0 i,R|t)(5) con el problema de m´ınimos cuadrados presentado, cuya soluci´on es sencilla de recuperar (consultar [7] para m´as detalles). 4.3. Soluci´on con M´ınimos Cuadrados El problema de la soluci´on anteriormente presentada, llega en presencia de observaciones muy ruidosas y/o outliers, ya que es muy sensible a estos fen´omenos. Por ello, en este art´ıculo proponemos su resoluci´on de forma robusta mediante los problemas de m´ınimos cuadrados planteados en (3) y (4). Escribiendo dichas ecuaciones en una misma expresi´on de forma matricial, se puede llegar a: argmin ξ(ni di−d0 i−R −tTRn0 i)2 (6) donde ξ∈se(3) es el vector que define la transformaci´on relativa en la variedad 6-dimensional se(3), conocida como ´algebra de Lie, del espacio de las transformaciones Eucl´ıdeas de forma que se cumple T(ξ)∈SE(3). Si se observa la segunda parte de la expresi´on (6), es posible relacionarla con la traspuesta de la inversa de la matriz de transformaci´on 3×4 existente entre los dos sensores, esto es: ξ∗= argmin ξ(ni di−d0 i−T(ξ)−Tn0 i)2 (7) donde ξ∗se refiere al valor ´optimo estimado. En lugar de resolver la expresi´on anterior de forma cerrada, se va a resolver el problema mediante el algoritmo iterativo Levenberg-Marquardt [11] de com´un uso en rob´otica [9]. Dicho algoritmo requiere de la estimaci´on de la matriz Jacobiana del error minimizado, o dicho de otro modo: J(ξ) = ∂ei(ξ⊕∆ξ) ∂∆ξ∆ξ=0 (8) donde el operador ⊕es la composici´on de poses y el error eise refiere a: ei(ξ) = ni di−d0 i−T(ξ)−Tn0 i(9) tras lo cual se puede obtener el valor ´optimo de la transformaci´on relativa entre los dos sensores ξ∗. Para mayor detalle en la matem´atica relacionada con la geometr´ıa Eucl´ıdea recomendamos al lector consultar [2]. Por ´ultimo, similarmente al m´etodo presentado en [12], se puede mejorar el comportamiento de la soluci´on (7) ante observaciones ruidosas y/o outliers. Para ello, en lugar de utilizar la norma Eucl´ıdea, muy sensible a los grandes errores introducidos por las observaciones ruidosas, se ha utilizado la siguiente funci´on robusta: ξ∗= argmin ξ ρkei(ξ)k2(10) donde ρ(s) = log(1 + s). En consecuencia, la matriz Jacobiana en (8) puede ser expresada como: J(ξ) = ∂ρkei(ξ⊕∆ξ)k2 ∂ei(ξ⊕∆ξ) ∂ei(ξ⊕∆ξ) ∂∆ξ∆ξ=0 (11) que se puede relacionar f´acilmente con el Jacobiano estimado anteriormente en (8). 5. Experimentos Con el objetivo de analizar y comparar la soluci´on original con las modificaciones propuestas en este trabajo, se ha llevado a cabo una serie de experimentos empleando tanto datos simulados (Secci´on 5.1) como datos reales (Secci´on 5.2) obtenidos mediante c´amaras RGB-D montadas sobre el robot Giraff. XXXVIII Jornadas de Automática 1034
5.1. Entorno Simulado Para la evaluaci´on con datos simulados, se ha generado un conjunto de N= 100 transformaciones conocidas T∈SE(3) entre los dos sensores, variando la traslaci´on en el rango [0.5,1.5] m y la rotaci´on en el rango [−45,45] ◦, ambos en el ´algebra de Lie se(3). Las observaciones en el espacio se han obtenido distribuyendo uniformemente los valores de traslaci´on en ±3 m y rotaci´on en ±180◦, para uno de los sensores, de forma que se cumpla la condici´on de observabilidad (1). Para evaluar el funcionamiento del algoritmo presentado ante el m´aximo n´umero de fen´omenos posibles en casos reales, se han simulado variaciones en los siguientes par´ametros: N´umero de observaciones de planos Nobs. Nivel de ruido del sensor Kσ. Porcentaje de outliers Rout, en los rangos presentados en las Figuras 3, 4 y 5. Cada experimento, dada una configuraci´on de sensores, se ha repetido un n´umero de 100 veces dando lugar a un total de 10000 simulaciones para cada configuraci´on de par´ametros Nobs, Kσ, Rout, teniendo en cuenta que los par´ametros por defecto son Nobs = 100, Kσ= 1, y Rout = 10 %. En el caso del ruido de sensor, se ha considerado a ´este como Gaussiano, cuyo nivel var´ıa en funci´on de Kσde la siguiente manera: n∼ N(µn, KσΣn), d ∼ N (µd, Kσσd 2) (12) donde µnyµdson los par´ametros medios de observaci´on del plano y Σnyσdson, respectivamente, estimaciones de la matriz de covarianza y desviaci´on t´ıpica asociadas a los par´ametros, empleando para ello valores representativos obtenidos emp´ıricamente. Los outliers, por otra parte, se han simulado introduciendo observaciones sin relaci´on a priori con los par´ametros de calibraci´on extr´ınseca de los sensores. Para ello, se han sustituido los par´ametros de una de las observaciones que forman cada correspondencia con par´ametros de un plano extra´ıdos de una distribuci´on uniforme en todo el espacio de posibles observaciones considerado durante la simulaci´on. Para evaluar los algoritmos presentados en este trabajo, se ha empleado la distancia en la variedad 6-dimensional se(3) entre las pose estimada y real, ξ∗,ξr∈se(3) respectivamente, esto es: ε=τ ω=ξ∗ξr=logexp(ξ∗)−1·exp(ξr) (13) donde τyωson respectivamente las partes de traslaci´on y rotaci´on del vector ε∈se(3), y las funciones exp :se(3) 7→ SE(3) y log :SE(3) 7→ se(3) se encargan de relacionar el ´algebra de Lie se(3) y el espacio Eucl´ıdeo SE(3). En la Figura 3 se muestran los errores relativos tanto en rotaci´on como en traslaci´on (relativos a la transformaci´on real; en tanto por uno) para un n´umero variable de observaciones Nobs. En la gr´afica se observa una ligera mejora en la precisi´on del algoritmo Levenberg-Marquardt robusto (LM-R) con respecto a la soluci´on en forma cerrada (FC). La tendencia de los errores se vuelve asint´otica a medida que aumenta el n´umero de observaciones, esto es, a partir de un n´umero de observaciones deja de ser beneficioso introducir nuevas medidas al estar incurriendo en un coste computacional m´as elevado para una mejora marginal en la precisi´on. En cambio, en la Figura 4 se representan los errores relativos para un diferentes niveles de ruido Kσ, donde podemos observar que la soluci´on con peor comportamiento es FC, seguida de LM y, de nuevo, la soluci´on con mejor precisi´on vuelve a ser LM-R. Adem´as, se puede observar como la soluci´on FC empeora m´as que las que emplean Levenberg-Marquardt (LM y LM-R) a medida que aumenta el nivel de ruido en el sensor. Por ´ultimo, la Figura 5 presenta los errores para un porcentaje variable de outliers. En esta gr´afica se puede observar de forma intuitiva c´omo los algoritmos que no emplean ning´un m´etodo para mejorar su robustez empeoran su comportamiento dram´aticamente en funci´on de la presencia de outliers, mientras que el m´etodo LevenbergMarquardt robusto (LM-R) es capaz de realizar la calibraci´on con un error entorno al 10 %, tanto en traslaci´on como en rotaci´on, para un nivel de outliers del 50 %. 5.2. Sobre el Robot Giraff Finalmente, se ha evaluado el funcionamiento de los m´etodos analizados mediante un experimento en el cual se calibra extr´ınsecamente un conjunto de tres c´amaras RGB-D montado sobre la plataforma rob´otica Giraff (ver Figura 1). Dicho experimento se llev´o a cabo en un entorno de oficina, en el que se ha movido al robot de forma manual tomando como planos de referencia el suelo y las paredes, eludiendo de esta forma la necesidad de utilizar un patr´on de calibraci´on construido para tal efecto. Dado que en este experimento no se dispone de la transformaci´on real que act´ue como ground truth, se han calculado las transformaciones relativas enXXXVIII Jornadas de Automática 1035
0 20 40 60 80 100 120 140 160 180 200 0 0.05 0.1 0.15 0.2 0.25 Error relativo FC LM LM-R (a) Rotaci´on 0 20 40 60 80 100 120 140 160 180 200 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Error relativo FC LM LM-R (b) Traslaci´on Figura 3: Resultados obtenidos en simulaci´on variando el n´umero de observaciones Nobs, para el error en la rotaci´on (4a) y en la traslaci´on (4b), expresado en t´erminos de error relativo. 0 0.5 1 1.5 2 2.5 3 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 Error relativo FC LM LM-R (a) Rotaci´on 0 0.5 1 1.5 2 2.5 3 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Error relativo FC LM LM-R (b) Traslaci´on Figura 4: Resultados de simulaci´on obtenidos variando el nivel de ruido Kσ, para el error en la rotaci´on (4a) y en la traslaci´on (4b), expresado en t´erminos de error relativo. 0 10 20 30 40 50 60 70 80 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Error relativo FC LM LM-R (a) Rotaci´on 0 10 20 30 40 50 60 70 80 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Error relativo FC LM LM-R (b) Traslaci´on Figura 5: Resultados obtenidos variando la proporci´on de outliers Rout, para el error en la rotaci´on (4a) y en la traslaci´on (4b), expresado en t´erminos de error relativo. XXXVIII Jornadas de Automática 1036
tre pares de c´amaras (ξ1 0,ξ2 0,ξ1 2) y se han comparado las transformaciones estimadas con las obtenidas mediante la composici´on de las otras dos transformaciones relativas, calculando el error del cierre de bucle mediante: ε=ξ2 0⊕ξ1 2ξ1 0(14) En la Tabla 1 se muestran los errores obtenidos al evaluar los par´ametros de calibraci´on mediante el procedimiento descrito anteriormente. Si bien los tres m´etodos presentan errores similares, el m´etodo LM-R se ha empleado sin ninguna estimaci´on inicial de los par´ametros, mientras que en los otros dos m´etodos precisan una estimaci´on inicial para descartar falsas correspondencias entre planos observados. Tabla 1: Errores en el cierre de bucle tras estimar las transformaciones por parejas y medir su diferencia. τerr ωerr FC 0.06 m 7.92◦ LM 0.04 m 7.3◦ LM-R 0.04 m 7.02◦ 6. Conclusiones En este art´ıculo se ha abordado el problema de la calibraci´on extr´ınseca de un conjunto de c´amaras RGB-D que forman un s´olido r´ıgido mediante el m´etodo de formulaci´on cerrada propuesto en [7], un m´etodo basado en una soluci´on iterativa y la extensi´on de este ´ultimo con una formulaci´on robusta en presencia de outliers y medidas altamente ruidosas. Para ello se ha realizado un estudio comparativo de los errores cometidos por los tres m´etodos en un entorno simulado con condiciones cambiantes de niveles de ruido, n´umero de observaciones, proporci´on de outliers en las observaciones y posiciones relativas de los sensores. Los experimentos muestran una mayor precisi´on de nuestra variante robusta del m´etodo iterativo en todos los escenarios analizados. En un segundo experimento, los tres m´etodos han sido evaluados para una configuraci´on de 3 c´amaras RGB-D montadas en un robot real movi´endose en un entorno de oficina. En este experimento se han estimado las transformaciones relativas entre cada par de c´amaras y se ha calculado el error existente entre una de las transformaciones estimadas y la obtenida al componer las otras dos. De igual forma, el m´etodo iterativo robusto ha demostrado obtener mejores resultados a la hora de estimar las transformaciones de las c´amaras. El c´odigo fuente de las librer´ıas de C++ desarrolladas en este art´ıculo ha sido publicado y podr´a encontrarse en http://mapir.uma.es Referencias [1] Arun, K. S., Huang, T. S., and Blostein, S. D. (1987). Least-squares fitting of two 3-D point sets. IEEE Transactions on pattern analysis and machine intelligence, PAMI-9(5):698–700. [2] Blanco, J.-L. (2010). A tutorial on se (3) transformation parameterizations and on-manifold optimization. University of Malaga, Tech. Rep. [3] Brookshire, J. and Teller, S. (2013). Extrinsic Calibration from Per-Sensor Egomotion. In Robotics: Science and Systems VIII, pages 504– 512. MIT Press. [4] Endres, F., Hess, J., Sturm, J., Cremers, D., and Burgard, W. (2014). 3-D mapping with an RGB-D camera. IEEE Transactions on Robotics, 30(1):177–187. [5] Fankhauser, P., Bloesch, M., Rodriguez, D., Kaestner, R., Hutter, M., and Siegwart, R. (2015). Kinect v2 for mobile robot navigation: Evaluation and modeling. In Advanced Robotics (ICAR), 2015 International Conference on, pages 388–394. IEEE. [6] Fern´andez-Moral, E., Gonzalez-Jimenez, J., and Ar´evalo, V. (2015). Extrinsic Calibration of 2D Laser Rangefinders from Perpendicular Plane Observations. International Journal of Robotics Research, online. [7] Fernandez-Moral, E., Gonzalez-Jimenez, J., Rives, P., and Arevalo, V. (2014). Extrinsic calibration of a set of range cameras in 5 seconds without pattern. In 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 429–435. IEEE. [8] Gomez-Ojeda, R., Briales, J., FernandezMoral, E., and Gonzalez-Jimenez, J. (2015). Extrinsic calibration of a 2d laser-rangefinder and a camera based on scene corners. In Robotics and Automation (ICRA), 2015 IEEE International Conference on, pages 3611–3616. IEEE. [9] Gomez-Ojeda, R. and Gonzalez-Jimenez, J. (2016). Robust stereo visual odometry through a probabilistic combination of points and line segments. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pages 2521–2526. [10] Ha, J.-E. (2012). Extrinsic calibration of a camera and laser range finder using a new calibration structure of a plane with a triangular hole. International Journal of Control, Automation and Systems, 10(6):1240–1244. XXXVIII Jornadas de Automática 1037
[11] Mor´e, J. J. (1978). The Levenberg-Marquardt algorithm: implementation and theory. In Numerical analysis, pages 105–116. Springer. [12] Moreno, F.-A., Blanco, J.-L., and Gonz´alezJim´enez, J. (2013). ERODE: An efficient and robust outlier detector and its application to stereovisual odometry. In Robotics and Automation (ICRA), 2013 IEEE International Conference on, pages 4691–4697. IEEE. [13] Nex, F. and Remondino, F. (2014). UAV for 3D mapping applications: a review. Applied geomatics, 6(1):1–15. [14] Nguyen, C. V., Izadi, S., and Lovell, D. (2012). Modeling kinect sensor noise for improved 3d reconstruction and tracking. In 3D Imaging, Modeling, Processing, Visualization and Transmission (3DIMPVT), 2012 Second International Conference on, pages 524–530. IEEE. [15] Schneider, S., Luettel, T., and Wuensche, H. J. (2013). Odometry-based online extrinsic sensor calibration. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1287–1292. [16] Sorkine, O. (2009). Least-squares rigid motion using SVD. Technical notes, 120(3):52. [17] Staranowicz, A., Brown, G. R., Morbidi, F., and Mariottini, G. L. (2014). Easy-to-Use and Accurate Calibration of RGB-D Cameras from Spheres, pages 265–278. Springer Berlin Heidelberg. [18] Svoboda, T., Martinec, D., and Pajdla, T. (2005). A convenient multicamera selfcalibration for virtual environments. PRESENCE: teleoperators and virtual environments, 14(4):407–422. [19] Taylor, Z. and Nieto, J. (2015). Motion-based calibration of multimodal sensor arrays. In 2015 IEEE International Conference on Robotics and Automation (ICRA), pages 4843–4850. XXXVIII Jornadas de Automática 1038