ES2617307T3 - Un procedimiento de localización de un robot en un plano de localización - Google Patents

Un procedimiento de localización de un robot en un plano de localización Download PDF

Info

Publication number
ES2617307T3
ES2617307T3 ES14305543.2T ES14305543T ES2617307T3 ES 2617307 T3 ES2617307 T3 ES 2617307T3 ES 14305543 T ES14305543 T ES 14305543T ES 2617307 T3 ES2617307 T3 ES 2617307T3
Authority
ES
Spain
Prior art keywords
robot
estimate
orientation
glob
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14305543.2T
Other languages
English (en)
Inventor
Emilie WIRBEL
Arnaud De La Fortelle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Association pour la Recherche et le Developpement des Methodes et Processus Industriels
Aldebaran SAS
Original Assignee
Association pour la Recherche et le Developpement des Methodes et Processus Industriels
SoftBank Robotics Europe SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Association pour la Recherche et le Developpement des Methodes et Processus Industriels, SoftBank Robotics Europe SAS filed Critical Association pour la Recherche et le Developpement des Methodes et Processus Industriels
Application granted granted Critical
Publication of ES2617307T3 publication Critical patent/ES2617307T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1652Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Numerical Control (AREA)

Abstract

Un procedimiento de localización de un robot en un plano de localización asociado con una referencia bidimensional con dos ejes x e y que comprende las siguientes etapas: - determinar (200) por odometría una estimación de las coordenadas x1 e y1 del robot en el plano de localización, así como una estimación de su orientación θ1 relativamente a una dirección de referencia; - determinar (202) una estimación θ2 de la orientación del robot mediante el uso de una brújula virtual que identifica al menos dos pares de puntos de interés, siendo identificados los primeros puntos de cada par en un panorama de referencia y siendo identificado un segundo punto de cada par en un panorama de consulta, siendo inicializada esta etapa con θ1; - determinar (204) una estimación θ3 de la orientación del robot mediante la correlación de partes del panorama de referencia con partes del panorama de consulta y mediante la identificación de cuándo se maximiza la correlación, siendo inicializada esta etapa con una de las estimaciones previas de la orientación; - determinar (206) una estimación x4, y4 de la posición del robot en el plano de localización mediante el uso de una técnica del Punto más Cercano por Iteración, siendo inicializada esta etapa con x1 e y1, usando las técnicas del Punto más Cercano por Iteración una nube de puntos en 3D como una entrada e hipótesis preliminar en la orientación; - determinar las desviaciones estándar σ_x1, σ_y1, σ_θ1 σ_θ2, σ_θ3, σ_x4, σ_y4 de las estimaciones anteriormente mencionadas; - determinar (220) las distribuciones de probabilidad gaussianas G(x1), G(y1), G(θ1), G(θ2), G(θ3), G(x4) y G(y4) de cada estimación disponible usando dichas desviaciones estándar; - determinar (221) tres distribuciones globales GLOB(x), GLOB(y) y GLOB(θ) respectivamente para las coordenadas a lo largo de los ejes x e y, y para la orientación θdel robot mediante la combinación de dichas distribuciones de probabilidad gaussianas y la determinación de una estimación global xg, yg de las coordenadas del robot en el plano de localización así como una estimación global θg de su orientación mediante la aplicación del procedimiento de máxima probabilidad a las distribuciones globales.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Un procedimiento de localizacion de un robot en un plano de localizacion
La presente invencion se refiere a un procedimiento para localizar un robot en un plano de localizacion y es aplicable particularmente, pero no exclusivamente, a tecnicas de navegacion y robotica.
La navegacion y localizacion es un problema crucial de la robotica, dado que es un aspecto esencial para la colaboracion entre un humano y un robot. En un entorno poblado por un humano, tal como un apartamento, los retos son incluso mayores, debido a la complejidad adicional.
Los robots humanoides, debido a sus aspectos y posibilidades, estan particularmente adaptados a los entornos humanos. Sin embargo, presentan restricciones especificas: el caminar hace su progreso mas lento, menos predecible que los robots con ruedas, por ejemplo.
Son capaces de compensar algunos de sus limites mediante la realizacion de acciones que son mas dificiles para un robot estandar, por ejemplo girar la cabeza para mirar alrededor, saltar sobre un obstaculo, etc.
Ya existen varios planteamientos para proporcionar a un robot un sistema de navegacion. En la solicitud de patente francesa n.° 1353295, se ha propuesto un procedimiento para medir y corregir la deriva del robot en terminos de angulo de rumbo. Esto permite al robot andar en linea recta o realizar giros con una precision mucho mas alta que el andar en bucle abierto. La intencion es proporcionar una solucion de localizacion absoluta, con al menos informacion cualitativa o parcialmente metrica.
El sensor mas rico del robot es la camara en color monocular. La realizacion directamente de una metrica visual de Localizacion y Mapeado Simultaneos (SLAM) no es una buena idea: la odometria no es suficientemente fiable, y es muy dificil seguir con precision puntos clave debido a la velocidad del movimiento durante el caminar, el campo de vision limitado de la camara y la altura del robot. Esto implica que una representacion topologica, cualitativa esta mas adaptada si se desea compensar estos inconvenientes con hipotesis fuertes sobre el entorno tal como un mapa en 3D pre-elaborado.
La invencion se refiere a un procedimiento para localizar un robot en un plano de localizacion asociado con una referencia bidimensional con dos ejes x e y que comprende las siguientes etapas:
- determinar por odometria una estimacion de las coordenadas x1 e y1 del robot en el plano de localizacion asi como una estimacion de su orientacion 01 relativamente a una direccion de referencia;
- determinar una estimacion 02 de la orientacion del robot mediante el uso de una brujula virtual que identifica al menos dos pares de puntos de interes, siendo identificados los primeros puntos de cada par en un panorama de referencia y siendo identificado un segundo punto de cada par en un panorama de consulta, siendo inicializada esta etapa con 01;
- determinar una estimacion 03 de la orientacion del robot mediante la correlacion de partes del panorama de referencia con partes del panorama de consulta y mediante la identificacion de cuando se maximiza la correlacion, siendo inicializada esta etapa con una de las estimaciones previas de la orientacion;
- determinar una estimacion x4, y4 de la posicion del robot en el plano de localizacion mediante el uso de una tecnica del Punto mas Cercano por Iteracion, siendo inicializada esta etapa con x1 e y1;
- determinar las desviaciones estandar o_x1, o_x2, o_01 o_02, o_03, o_x4, o_y4 de las estimaciones anteriormente mencionadas;
- determinar las distribuciones de probabilidad gaussianas G(x1), G(y1), G(01), G(02), G(03), G(x4) y G(y4) de cada estimacion disponible usando dichas desviaciones estandar;
- determinar tres distribuciones globales GLOB(x), GLOB(y) y GLOB(0) respectivamente para las coordenadas a lo largo de los ejes x e y, y para la orientacion 0 del robot mediante la combinacion de dichas distribuciones de probabilidad gaussianas y la determinacion de una estimacion global xg, yg de las coordenadas del robot en el plano de localizacion asi como una estimacion global 0g de su orientacion mediante la aplicacion del procedimiento de maxima probabilidad a las distribuciones globales.
Como un ejemplo, las estimaciones proporcionadas por una etapa dada se usan por una etapa posterior solamente si se consideran como fiables.
Como un ejemplo, una estimacion se considera como fiable cuando su desviacion estandar es mas baja que un umbral predefinido.
Como un ejemplo, las distribuciones de probabilidad G(x1), G(y1), G(01), G(02), G(03), G(x4) y G(y4) son distribuciones de probabilidad gaussianas.
Como un ejemplo, las distribuciones de probabilidad global se deducen como sigue:
GLOB(x) = G(x1) x G(x4)
GLOB(y) = G(y1) x G(y4)
5
10
15
20
25
30
35
40
45
50
GLOB(0) = G(01) x G(02) x G(03)
Como un ejemplo, el valor 03 es estima basandose en un emparejamiento de plantillas de imagen que se realiza sobre dos piramides de imagenes, siendo generada una primera piramide de imagenes a partir de una unica imagen de referencia mediante su reduccion de escala usando varias etapas de escalado, siendo generada la segunda piramide de imagenes a partir de una unica imagen de consulta mediante su reduccion de escala usando varias etapas de escalado.
La presente invencion se refiere tambien a un robot que comprende al menos:
- una camara RGB en 2D para construir un panorama de consulta que comprende al menos una imagen de referencia;
- capacidades de procesamiento adaptadas para implementar el procedimiento anterior para localizar el robot basandose en el panorama de consulta.
Como un ejemplo, el robot humanoide comprende un sensor 3D que se usa para calcular nubes de puntos para implementar la Tecnica del Punto mas Cercano Iterativo.
La invencion se refiere tambien a un producto de programa informatico, almacenado en un medio legible por ordenador que comprende medios de codigo para hacer que un ordenador implemente el procedimiento descrito anteriormente.
Puede obtenerse una mejor comprension de las realizaciones de la presente invencion a partir de la descripcion detallada a continuacion en conjunto con los siguientes dibujos, en los que:
- la figura 1 da un ejemplo de un panorama de referencia que puede usarse como una entrada del procedimiento de acuerdo con la invencion;
- la figura 2 es una ilustracion de un procedimiento para localizar un robot;
- la figura 3 muestra un ejemplo de dos plantillas que pertenecen respectivamente a una imagen de referencia y a una imagen de consulta;
- la figura 4 da un ejemplo de dos piramides de imagenes;
- la figura 5 visualiza una arquitectura fisica de un robot humanoide en un cierto numero de realizaciones de la invencion.
La figura 1 da un ejemplo de un panorama de referencia que puede usarse como una entrada del procedimiento de acuerdo con la invencion.
Como ya se ha mencionado, la invencion se refiere a un procedimiento para localizar un elemento movil, por ejemplo un robot. Localiza el robot comparando al menos un panorama 100 de referencia, que esta compuesto por una pluralidad de imagenes RGB (rojo-verde-azul) y/o imagenes 3D.
El robot 104 se localiza en un plano horizontal gracias a dos ejes 101, 102 de referencia. El origen O de esta referencia corresponde al centro del panorama de referencia. Adicionalmente, la orientacion 0 del robot puede estimarse por comparacion con una direccion 103 de referencia.
Se usa tambien al menos un panorama de consulta usado para el procedimiento de localizacion y puede componerse de un conjunto mas pequeno de imagenes. El panorama de consulta se compone de al menos una imagen capturada en el momento del procedimiento de localizacion.
La figura 2 es una ilustracion del procedimiento de acuerdo con la invencion. El procedimiento usa un conjunto de tecnicas de localizacion elementales que corresponden a las etapas 200, 202, 204, 206.
Un aspecto clave de la invencion es que el uso de estas tecnicas de localizacion se organiza jerarquicamente. Esto significa que se aplica primero la tecnica 200 de localizacion menos compleja y menos fiable. Las etapas 202, 204, 206 de localizacion posteriores son a continuacion las mas complejas y fiables.
Esta organizacion jerarquica permite la reduccion de la complejidad de calculo global asi como de la tasa de falsos positivos. Con esa finalidad, la informacion de localizacion estimada proporcionada por cada etapa se usa para alimentar las etapas siguientes y se usa como hipotesis preliminar.
Los datos de localizacion estimados proporcionados por cada etapa se combinan a continuacion usando un procedimiento generico basado en representaciones probabilisticas.
Mas precisamente, una primera etapa 200 de estimacion implementa una localizacion basada en odometria. Esta tecnica se basa en sensores de posicion del robot que integran los desplazamientos del robot para estimar su posicion. Cuando se usa en solitario, esta tecnica puede quedar sometida a una alta deriva de estimacion. Esto es debido principalmente a que los sensores de odometria no tienen en cuenta defectos tales como terreno deslizante o protuberancias.
5
10
15
20
25
30
35
40
45
50
Los resultados de la estimacion 200 son:
• x1: una estimacion de la coordenada x de localizacion;
• y1: una estimacion de la coordenada y de localizacion;
• 01: una estimacion del angulo 0.
Cuando estan disponibles estos resultados intermedios, se estima 201 su incertidumbre. Para esa finalidad, pueden usarse las desviaciones estandar o_x1, o_y1, o_01 de x1, y1 y 01. En una realizacion preferida, la estimacion se considera como fiable cuando su desviacion estandar es mas baja que un umbral predefinido.
Como un ejemplo, si la deriva (experimentalmente evaluada) es igual a cinco por ciento y el robot ha caminado un
metro a lo largo del eje x, la desviacion estandar a lo largo del eje x, o_x1 sera igual a cinco centimetros. Si el
umbral predefinido es igual a seis centimetros, la estimacion x1 se considera como fiable.
En una realizacion x1, y1 y 01 se transmiten para ser usadas por las etapas 202, 204, 206 solamente si se consideran como fiables.
La etapa 202 implementa una brujula virtual que proporciona una estimacion 02 de la orientacion del robot. Para esa finalidad, se usa una camara RGB en 2D embebida en el robot.
Esta tecnica se describe en la solicitud de patente francesa n.° 1353295. Para esa finalidad, se comparan una o varias imagenes con un conjunto de imagenes de referencia (es decir el panorama de referencia) para calcular la orientacion theta del robot. Esta tecnica permite la estimacion de una desviacion angular relativa a una direccion de
referencia, es decir el angulo theta. Para esa finalidad, se usa la imagen de referencia representativa de una
direccion de referencia. A continuacion, se carga una imagen actual que es representativa de la orientacion actual del robot.
Se identifican a continuacion una pluralidad de puntos de interes en estas dos imagenes. Se identifican entonces al menos dos pares de puntos de interes. Dicho par se obtiene mediante la busqueda de un primer punto de interes identificado en la imagen actual y mediante la busqueda de un segundo punto de interes en su imagen de referencia correspondiente. Finalmente, se estima la desviacion angular 02 entre la direccion actual del elemento movil y la direccion de referencia usando al menos dos pares de puntos.
Ventajosamente, si se aplica la etapa 202 con hipotesis preliminares que se han generado por la etapa 200, la etapa 202 puede usarse con un intervalo de busqueda reducido en la imagen de referencia lo que disminuye la complejidad de la estimacion. Otra ventaja es que es entonces posible hallar mas rapidamente la coincidencia correcta.
Adicionalmente, el riesgo de falsas coincidencias entre puntos de interes es mas bajo. La busqueda se realiza comenzando a partir de dicha hipotesis.
La incertidumbre que se introduce por la estimacion de la etapa 202 puede deducirse 203 a partir del porcentaje de coincidencias fiables. Para esa finalidad, se considera suficiente la calidad de la estimacion proporcionada por la etapa 202 cuando el numero de pares de puntos de interes identificados excede un valor de umbral predeterminado. Si es este el caso, la calidad de la estimacion se considera suficiente y se usara 02 como una hipotesis preliminar para la aplicacion de la etapa 204.
Alternativamente, puede usarse la desviacion estandar o_02 de 02 para comprobar 203 la fiabilidad de esta estimacion. Como ya se ha explicado, una estimacion puede considerarse como fiable cuando su desviacion estandar es mas baja que un umbral predefinido.
En una realizacion, 02 se transmite para ser usado por la etapa 204, 206 solo si se considera como fiable.
En la etapa 204, se estima un valor 03 basandose en una coincidencia de plantilla de imagen que se realiza sobre dos piramides de imagenes. La coincidencia de plantilla se basa en las mismas ecuaciones que las descritas en el articulo de Matsumoto, Y; Inaba, M.; Inoue, H., Titulado “Visual navigation using view-sequenced route representation”, IEEE International Conference on Robotics and Automation, vol.1, pags.83, 88, 22-28 de abril de 1996. Sin embargo este articulo particular trabaja sobre la comparacion de secuencias de imagenes con escalas comparables, mientras que la descripcion siguiente no realiza ninguna suposicion sobre las escalas relativas de la imagen y las distancias entre ellas.
Para emparejar dos imagenes, se realizan dos plantillas 301 a partir de una imagen 300 de referencia que pertenece al panorama de referencia. A continuacion se calcula la correlacion cruzada entre dichas primeras plantillas y segundas plantillas 303 en la imagen 302 de consulta. El valor de pico corresponde a la mejor correlacion entre la consulta y la referencia. La figura 3 muestra un ejemplo de dos plantillas 301,303 que pertenecen respectivamente a una imagen 300 de referencia y a una imagen 302 de consulta. En este ejemplo, las plantillas 300, 302 se han emparejado debido a que su valor de correlacion correspondiente es el valor de pico que se ha obtenido en el procedimiento de correlacion.
5
10
15
20
25
30
35
40
45
50
En una realizacion, la comparacion anteriormente mencionada entre una imagen de referencia y una imagen de consulta se realiza sobre una piramide de imagenes escaladas. Esto mejora la robustez de la etapa 204 cuando se enfrenta a cambios de escala.
La figura 4 da un ejemplo de dos piramides de imagenes. Se genera una primera piramide 401 de imagenes a partir de una unica imagen 420 de referencia mediante su reduccion de escala usando varias etapas de escalado, y cada una de las imagenes 420-428 se compara con la imagen 410 de consulta original. Si la imagen 410 de consulta tiene de hecho la escala reducida comparada con la imagen de consulta original, entonces habra un pico de correlacion alto en la etapa correspondiente en la piramide.
Simetricamente, la imagen 410 de consulta se reduce de escala 410-418 para obtener una segunda piramide 400 de imagenes. Cada imagen 410-418 se compara a continuacion con la imagen 420 de referencia. Si la imagen 410 de consulta se amplia en comparacion con la 420 de referencia, entonces habra un pico de correlacion correspondiente a una de las imagenes 421 -428 de escala reducida.
Se selecciona el par de imagenes para las que se maximiza el valor de correlacion.
Las salidas de la etapa 204 son la orientacion relativa 03 de la imagen de consulta comparada con la referencia y el mejor factor de escala entre las dos.
La etapa 204 usa una parte del panorama 100 de referencia como una plantilla. Si se proporciona una hipotesis preliminar por la etapa 200 y/o etapa 202, entonces el tamano de la plantilla se limita alrededor de la hipotesis, o bien la plantilla se toma como todo el panorama. Esto reduce el tiempo de calculo que es proporcional al area de la plantilla, y el riesgo de correlacionar con una zona similar aunque incorrecta.
Se determina 205 la incertidumbre de las estimaciones proporcionadas por la aplicacion de la etapa 204 usando el mejor valor de correlacion. El valor de correlacion puede limitarse entre -1 y 1. Si este valor de correlacion maximo es menor o igual a un valor Ct predefinido, la estimacion proporcionada por la aplicacion de la etapa 204 no se considera como fiable. Si el valor de correlacion maximo es mayor que este valor Ct predefinido, la estimacion proporcionada por la aplicacion de la etapa 204 se considera como fiable.
Alternativamente, puede usarse la desviacion estandar o_03 de 03 para comprobar 205 la fiabilidad de esta estimacion. Como ya se ha explicado, una estimacion puede considerarse como fiable cuando su desviacion estandar es mas baja que un umbral predeterm inado.
A continuacion, una etapa 206 realiza una estimacion de las coordenadas del robot x4, y4 mediante el uso de un procedimiento ICP (Punto mas Cercano por Iteracion). Este procedimiento se describe por ejemplo en el articulo de Qi-Zhi Zhang y Ya-Li Zhou titulado “A hierarchical iterative closest point algorithm for simultaneous localization and mapping of mobile robot”, 10th World Congress on Intelligent Control and Automation (WCICA), pags. 3652, 3656, 68 de julio de 2012.
Para esa finalidad, un sensor 3D calcula nubes de puntos. A continuacion, se extraen lineas a partir de la nube de puntos en 3D para simplificar el procedimiento. Estas lineas se referenciaran en lo que sigue como “escaneados” y corresponden a un corte horizontal de la nube de puntos en 3D.
Se estima la posicion del robot actual mediante el uso de un procedimiento de Punto mas Cercano por Iteracion. El procedimiento ICP es un planteamiento clasico que se usa ampliamente en robotica. Consiste en el movimiento del escaneado de consulta a partir de un punto de inicio para alinearle con el escaneado de referencia.
La incertidumbre puede deducirse de la distancia Chamfer del escaneado de referencia con el escaneado de consulta reposicionado final (que depende de la distancia de cada punto de escaneado de consulta al de referencia mas proximo).
Pueden usarse las desviaciones estandar o_x4, o_y4 de x4, y4 para comprobar 207 la fiabilidad de esta estimacion. Como ya se ha explicado, una estimacion puede considerarse como fiable cuando su desviacion estandar es mas baja que un umbral predefinido.
La robustez y tiempo de convergencia del ICP depende grandemente del punto de comienzo. Si tiene una hipotesis preliminar fiable, el algoritmo convergera rapida y fiablemente. Si no, puede dar falsas alineaciones. Si no hay ninguna hipotesis disponible, el elemento trata de construir una mediante el emparejamiento de formas reconocibles a partir del escaneado de referencia en la consulta, para obtener una primera aproximacion. Esta aproximacion se usa entonces como una hipotesis. El procedimiento de acuerdo con la invencion implementa el ICP, etapa 206 como su ultima etapa de estimacion. En otras palabras, las estimaciones 200, 202 y 204 que se realizan antes tienen el efecto de proporcionar hipotesis fiables en la entrada de la etapa 206 y por lo tanto reducen drasticamente sus necesidades de calculo.
Las etapas 200, 202, 204 y 206 tomadas independientemente tienen sus propios inconvenientes y debilidades. Algunas requieren una hipotesis previa para mejorar su tasa de convergencia o son proclives a falsos positivos. La
5
10
15
20
25
30
35
40
45
50
mayoria proporciona solamente informacion parcial. Como un ejemplo, la etapa 202 proporciona solo una estimacion 02 de la orientacion del robot.
En la presente invencion, las etapas de estimacion se secuencian en un orden predefinido. Este orden predefinido se disena de modo que la estimacion de una etapa dada beneficiara a las etapas de estimacion que se aplican posteriormente. A continuacion, se combinan las estimaciones parciales que se proporcionan por las etapas anteriormente mencionadas para generar una estimacion global.
Para cada etapa en la jerarquia, se proporcionan las estimaciones como hipotesis preliminares para la siguiente etapa. Por ejemplo, los x1, y1 y 01 estimados por la etapa 200 se proporcionan como una hipotesis preliminar para las etapas 202, 204 y 206.
Mediante la aplicacion de las etapas 200, 202, 204 y 206 una tras otra desde la mas simple y robusta 200 a la mas compleja y proclive a errores 206, se mejoran el tiempo de calculo global asi como la robustez de la estimacion.
La forma en la que se ordenan las etapas 200, 202, 204 y 206 es un aspecto esencial de la invencion. Realmente, esta jerarquia, es decir como se ordenan las etapas, se ha elegido para minimizar el tiempo de calculo y para mejorar la tasa de exito de cada etapa. Sin embargo, en una realizacion, las estimaciones no se transmiten 230, 231,232 si no se consideran fiables.
La odometria 200 es el procedimiento menos complejo y proporciona una salida fiable siempre que no se haya empujado al robot o no se ha movido demasiado. La brujula 202 es mas lenta, pero proporciona un calculo bastante rapido y fiable de la orientacion del robot y se aprovecha de tener un punto de inicio proporcionado por la odometria 200. La etapa de correlacion 204 es pesada en terminos de calculos y proclive a errores si la busqueda se realiza en la direccion incorrecta. Sin embargo, esta tecnica tiene una tasa de exito mucho mas alta cuando usa hipotesis sobre la orientacion y es mas precisa que la brujula 202 si tiene exito. Finalmente, la ICP 206 proporciona una estimacion fiable x-y si la convergencia tiene exito, que es el caso si tiene hipotesis preliminares, en particular en orientacion.
Las etapas 200, 202, 204, 206 dan su salida en la forma de estimaciones. Estas estimaciones pueden convertirse en distribuciones de probabilidad que se combinan a continuacion para obtener distribuciones de probabilidad globales.
Para esa finalidad, se usa la desviacion estandar o_x1, o_y1, o_01, o_02, o_03, o_x4 y o_y4 para generar distribuciones de probabilidad G(x1), G(y1), G(01), G(02), G(03), G(x4) y G(y4).
Estas distribuciones de probabilidad pueden generarse 220 usando el siguiente principio: G(x1) es una distribucion gaussiana cuya desviacion estandar es igual a o_x1. G(y1), G(01), G(02), G(03), G(x4) y G(y4) pueden generarse usando el mismo principio.
A continuacion, se generan las distribuciones de probabilidad global. Para esa finalidad, se supone que todas las etapas 200, 202, 204, 206 son independientes. Esto es verdad en la practica debido a que las salidas fiables se toman solamente como hipotesis preliminares mientras que el resultado final puede ser significativamente diferente. Adicionalmente, x, y y 0 pueden considerarse tambien como independientes. Usando estas hipotesis, pueden calcularse 221 tres distribuciones globales GLOB(x), GLOB(y) y GLOB(0) como sigue:
GLOB(x) = G(x1) x G(x4)
GLOB(y) = G(y1) x G(y4)
GLOB(0) = G(01) x G(02) x G(03)
La probabilidad maxima de esta distribucion corresponde a la estimacion 209 final de la posicion. Adicionalmente, es posible tambien deducir un grado de certidumbre buscando en la funcion de distribucion acumulada de la distribucion global.
La figura 5 representa una arquitectura fisica de un robot humanoide en un cierto numero de realizaciones de la invencion.
Un robot puede calificarse como humanoide a partir del momento en el que tiene ciertos atributos de aspecto humano: una cabeza, un tronco, dos brazos, dos manos etc. Un robot humanoide puede, sin embargo, ser mas o menos sofisticado. Sus extremidades pueden tener un numero mayor o menor de articulaciones. Puede controlar su propio equilibrio estatica y dinamicamente y caminar sobre dos extremidades, posiblemente en tres dimensiones, o simplemente rodar sobre una base. Puede capturar senales del entorno (“oir”, “ver”, “tocar”, “sentir”, etc.) y reaccionar de acuerdo con comportamientos mas o menos sofisticados, e interactuar con otros robots o humanos, bien mediante habla o bien por gestos.
El robot especifico 500 de la figura es tomado como un ejemplo solamente de un robot humanoide en el que puede implementarse la invencion. La extremidad inferior del robot en la figura no es funcional para caminar, pero puede moverse en cualquier direccion sobre su base 540 que rueda sobre la superficie en la que reposa. La invencion
5
10
15
20
25
30
35
40
45
puede implementarse facilmente en un robot que este equipado para caminar. A modo de ejemplo, este robot tiene una altura 510 que puede ser de aproximadamente 120 cm, un fondo 520 de aproximadamente 65 cm y un ancho 530 de aproximadamente 40 cm. En una realizacion especifica, el robot de la invencion tiene una tableta 550 con la que puede comunicar mensajes (audio, video, paginas web) a su entorno, o recibir entradas de los usuarios a traves de la interfaz tactil de la tableta. Ademas del procesador de la tableta, el robot de la invencion tambien usa el procesador de su propia placa base, que puede ser por ejemplo un ATOM™ Z530 de Intel™. Este robot puede incluir tambien ventajosamente un procesador que se dedica al manejo de los flujos de datos entre la placa base y, particularmente, las tarjetas que soportan los Codificadores Rotativos Magneticos (MRE) y sensores que controlan los motores de las articulaciones en una extremidad y las bolas que usa el robot como ruedas, en una realizacion especifica de la invencion. Los motores pueden ser de diferentes tipos, dependiendo de la magnitud del par maximo que se necesita para una articulacion definida. Por ejemplo, pueden usarse motores de CC sin nucleo con escobillas de e-minebea™ (SE24P2CTCA por ejemplo), o motores de Cc sin escobillas de Maxon™ (EC45_70W por ejemplo). Los MRE son preferentemente de un tipo que usa el efecto Hall, con 12 o 14 bits de precision. En realizaciones de la invencion, el robot representado en la figura 1 tambien comprende varias clases de sensores. Algunos de ellos se usan para controlar la posicion y movimientos del robot. Este es el caso, por ejemplo, de una unidad inercial, localizada en el torso del robot, que comprende un girometro de 3 ejes y un acelerometro de 3 ejes. El robot puede incluir tambien dos camaras en color RGB en 2D en la frente del robot (superior e inferior) del tipo sistema en chip (SOC), tal como las de Shenzen V-Vision Technology Ltd™ (OV5640), con una resolucion de 5 megapixeles a 5 imagenes por segundo y un campo de vision (FOV) de aproximadamente 57° en horizontal y 44° en vertical. Puede incluir tambien un sensor 3D por detras de los ojos del robot, tal como un sensor SOC ASUS XTION™ con una resolucion de 0,3 megapixeles a 20 imagenes por segundo, con aproximadamente el mismo FOV que las camaras 2D. El robot de la invencion puede estar equipado tambien con generadores de lineas laser, por ejemplo tres en la cabeza y tres en la base de modo que sea capaz de detectar su posicion relativa a objetos/seres en su entorno. El robot de la invencion puede incluir tambien microfonos para ser capaz de detectar sonidos en su entorno. En una realizacion, pueden implantarse cuatro microfonos con una sensibilidad de 300mV/Pa +/-3dB a 1 kHz y un intervalo de frecuencias de 300Hz a 12kHz (-10dB relativa a 1 kHz) sobre la cabeza del robot. El robot de la invencion puede incluir tambien dos sensores de sonar, posiblemente localizados en el frontal y trasera de su base, para medir la distancia a objetos/seres humanos en su entorno. El robot puede incluir tambien sensores tactiles, sobre su cabeza y sobre sus manos, para permitir la interaccion con seres humanos. Puede incluir tambien parachoques sobre su base para detectar obstaculos que encuentra en su camino.
Para trasladar sus emociones y comunicar con seres humanos en su entorno, el robot de la invencion puede incluir tambien:
- unos LED, por ejemplo en sus ojos, oidos y sobre sus hombros;
- altavoces, por ejemplo dos, localizados en sus oidos.
El robot puede comunicar con una estacion base u otros robots usando una conexion Ethernet RJ45 o una WiFi 802.11.
El robot puede estar alimentado por una bateria de fosfato de hierro y litio con una energia de aproximadamente 400 Wh. El robot pueda acceder a una estacion de carga adecuada para el tipo de bateria que incluye.
La posicion/movimientos de los robots se controlan por sus motores, usando algoritmos que activan las cadenas definidas en cada extremidad y efectores definidos en el extremo de cada extremidad, a la vista de las mediciones de los sensores.
El aparato, procedimientos y configuraciones tal como se han descrito anteriormente y en los dibujos son para una facilidad de descripcion solamente y no se dirigen a restringir el aparato o procedimientos a una disposicion o procedimiento particular durante el uso. La invencion se ha descrito para un robot humanoide pero el experto en la materia apreciara que puede ser aplicable a cualquier elemento movil tal como un coche.

Claims (8)

10
15
20
25
30
35
40
REIVINDICACIONES
1. Un procedimiento de localizacion de un robot en un plano de localizacion asociado con una referenda bidimensional con dos ejes x e y que comprende las siguientes etapas:
- determinar (200) por odometria una estimacion de las coordenadas x1 e y1 del robot en el plano de localizacion, asi como una estimacion de su orientacion 01 relativamente a una direccion de referencia;
- determinar (202) una estimacion 02 de la orientacion del robot mediante el uso de una brujula virtual que identifica al menos dos pares de puntos de interes, siendo identificados los primeros puntos de cada par en un panorama de referencia y siendo identificado un segundo punto de cada par en un panorama de consulta, siendo inicializada esta etapa con 01;
- determinar (204) una estimacion 03 de la orientacion del robot mediante la correlacion de partes del panorama de referencia con partes del panorama de consulta y mediante la identificacion de cuando se maximiza la correlacion, siendo inicializada esta etapa con una de las estimaciones previas de la orientacion;
- determinar (206) una estimacion x4, y4 de la posicion del robot en el plano de localizacion mediante el uso de una tecnica del Punto mas Cercano por Iteracion, siendo inicializada esta etapa con x1 e y1, usando las tecnicas del Punto mas Cercano por Iteracion una nube de puntos en 3D como una entrada e hipotesis preliminar en la orientacion;
- determinar las desviaciones estandar o_x1, o_y1, o_01 o_02, o_03, o_x4, o_y4 de las estimaciones anteriormente mencionadas;
- determinar (220) las distribuciones de probabilidad gaussianas G(x1), G(y1), G(01), G(02), G(03), G(x4) y G(y4) de cada estimacion disponible usando dichas desviaciones estandar;
- determinar (221) tres distribuciones globales GLOB(x), GLOB(y) y GLOB(0) respectivamente para las coordenadas a lo largo de los ejes x e y, y para la orientacion 0 del robot mediante la combinacion de dichas distribuciones de probabilidad gaussianas y la determinacion de una estimacion global xg, yg de las coordenadas del robot en el plano de localizacion asi como una estimacion global 0g de su orientacion mediante la aplicacion del procedimiento de maxima probabilidad a las distribuciones globales.
2. El procedimiento de acuerdo con la reivindicacion 1, en el que las estimaciones proporcionadas por una etapa dada se usan por una etapa posterior solamente si se consideran (201,203, 205, 207) como fiables.
3. El procedimiento de acuerdo con la reivindicacion 2, en el que una estimacion se considera como fiable cuando su desviacion estandar es menor que un umbral predefinido.
4. El procedimiento de acuerdo con una de las reivindicaciones anteriores, en el que las distribuciones de probabilidad global se deducen como sigue:
GLOB(x) = G(x1) x G(x4)
GLOB(y) = G(y1) x G(y4)
GLOB(0) = G(01) x G(02) x G(03)
5. El procedimiento de acuerdo con una de las reivindicaciones anteriores, en el que el valor 03 se estima (204) basandose en un emparejamiento de plantillas de imagen que se realiza sobre dos piramides de imagenes, siendo generada una primera piramide (401) de imagenes a partir de una unica imagen (420) de referencia mediante su reduccion de escala usando varias etapas de escalado, siendo generada la segunda piramide (400) de imagenes a partir de una unica imagen (410) de consulta mediante su reduccion de escala usando varias etapas de escalado.
6. Un robot (510) que comprende al menos:
- una camara RGB en 2D para construir un panorama de consulta que comprende al menos una imagen de referencia;
- capacidades de procesamiento adaptadas para implementar el procedimiento para localizar el robot de acuerdo con una de las reivindicaciones anteriores basandose en dicho panorama de consulta.
7. El robot de acuerdo con la reivindicacion 6, en el que se usa un sensor 3D para calcular nubes de puntos para implementar la Tecnica del Punto mas Cercano por Iteracion (206).
8. Un producto de programa informatico, almacenado en un medio legible por ordenador que comprende medios de codigo para hacer que un ordenador implemente el procedimiento de una cualquiera de las reivindicaciones 1 a 5.
ES14305543.2T 2014-04-14 2014-04-14 Un procedimiento de localización de un robot en un plano de localización Active ES2617307T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP14305543.2A EP2933604B1 (en) 2014-04-14 2014-04-14 A method for localizing a robot in a localization plane

Publications (1)

Publication Number Publication Date
ES2617307T3 true ES2617307T3 (es) 2017-06-16

Family

ID=51178823

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14305543.2T Active ES2617307T3 (es) 2014-04-14 2014-04-14 Un procedimiento de localización de un robot en un plano de localización

Country Status (14)

Country Link
US (1) US10197399B2 (es)
EP (1) EP2933604B1 (es)
JP (1) JP6374984B2 (es)
KR (1) KR101901042B1 (es)
CN (1) CN106574836A (es)
AU (1) AU2015248967B2 (es)
CA (1) CA2945860C (es)
DK (1) DK2933604T3 (es)
ES (1) ES2617307T3 (es)
MX (1) MX2016013023A (es)
NZ (1) NZ725015A (es)
RU (1) RU2662913C2 (es)
SG (1) SG11201608198PA (es)
WO (1) WO2015158682A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2952993B1 (en) 2014-06-05 2018-04-25 Softbank Robotics Europe Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot
EP3287286A4 (en) * 2015-04-21 2018-12-26 Shibaura Mechatronics Corporation Tablet printing device and tablet printing method
FR3051383B1 (fr) * 2016-05-23 2020-02-14 Softbank Robotics Europe Robot mobile maitre motorise
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
CN109141437B (zh) * 2018-09-30 2021-11-26 中国科学院合肥物质科学研究院 一种机器人全局重定位方法
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
CN109916431B (zh) * 2019-04-12 2021-01-29 成都天富若博特科技有限责任公司 一种针对四轮移动机器人的车轮编码器标定算法
EP4010659A1 (en) 2019-08-06 2022-06-15 Boston Dynamics, Inc. Intermediate waypoint generator
US11577395B2 (en) 2020-02-17 2023-02-14 Toyota Research Institute, Inc. Systems for determining location using robots with deformable sensors
CN112004183B (zh) * 2020-07-08 2022-05-31 武汉科技大学 一种基于卷积神经网络融合IMU和WiFi信息的机器人自主定位方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1353295A (fr) 1962-04-04 1964-02-21 Parnall & Sons Ltd Appareil fournisseur pour machines à trier des documents
JPH0953939A (ja) * 1995-08-18 1997-02-25 Fujitsu Ltd 自走車の自己位置測定装置および自己位置測定方法
WO2003102706A1 (fr) * 2002-05-31 2003-12-11 Fujitsu Limited Robot telecommande et procede d'identification automatique de la position de robot.
US7774158B2 (en) * 2002-12-17 2010-08-10 Evolution Robotics, Inc. Systems and methods for landmark generation for visual simultaneous localization and mapping
US7689321B2 (en) * 2004-02-13 2010-03-30 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
US8073528B2 (en) * 2007-09-30 2011-12-06 Intuitive Surgical Operations, Inc. Tool tracking systems, methods and computer products for image guided surgery
JP2008084135A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 移動制御方法、移動ロボットおよび移動制御プログラム
KR100877071B1 (ko) * 2007-07-18 2009-01-07 삼성전자주식회사 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치
JP2009187204A (ja) * 2008-02-05 2009-08-20 Toyota Motor Corp 画像処理装置
CN101630162B (zh) * 2008-07-16 2011-06-08 中国科学院自动化研究所 多移动机器人局部跟随控制方法
JP5141644B2 (ja) * 2009-06-23 2013-02-13 トヨタ自動車株式会社 自律移動体、自己位置推定装置、およびプログラム
US9599461B2 (en) * 2010-11-16 2017-03-21 Ectoscan Systems, Llc Surface data acquisition, storage, and assessment system
CN102359784B (zh) * 2011-08-01 2013-07-24 东北大学 一种室内移动机器人自主导航避障系统及方法
US10027952B2 (en) * 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space
US8908913B2 (en) * 2011-12-19 2014-12-09 Mitsubishi Electric Research Laboratories, Inc. Voting-based pose estimation for 3D sensors
US9420265B2 (en) * 2012-06-29 2016-08-16 Mitsubishi Electric Research Laboratories, Inc. Tracking poses of 3D camera using points and planes
FR3004570B1 (fr) 2013-04-11 2016-09-02 Aldebaran Robotics Procede d'estimation de la deviation angulaire d'un element mobile relativement a une direction de reference

Also Published As

Publication number Publication date
AU2015248967A1 (en) 2016-10-27
US10197399B2 (en) 2019-02-05
DK2933604T3 (en) 2017-03-13
NZ725015A (en) 2017-11-24
RU2662913C2 (ru) 2018-07-31
EP2933604B1 (en) 2016-11-30
CN106574836A (zh) 2017-04-19
EP2933604A1 (en) 2015-10-21
US20170131102A1 (en) 2017-05-11
SG11201608198PA (en) 2016-10-28
RU2016143549A (ru) 2018-05-14
MX2016013023A (es) 2017-05-30
JP6374984B2 (ja) 2018-08-15
RU2016143549A3 (es) 2018-05-14
JP2017514124A (ja) 2017-06-01
CA2945860A1 (en) 2015-10-22
WO2015158682A1 (en) 2015-10-22
KR101901042B1 (ko) 2018-09-20
CA2945860C (en) 2018-01-23
AU2015248967B2 (en) 2018-03-29
KR20170023782A (ko) 2017-03-06

Similar Documents

Publication Publication Date Title
ES2617307T3 (es) Un procedimiento de localización de un robot en un plano de localización
ES2773136T3 (es) Robot humanoide con capacidades para evitar colisiones y de recuperación de trayectoria
Zhang et al. An indoor wayfinding system based on geometric features aided graph SLAM for the visually impaired
Shen et al. Vision-Based State Estimation and Trajectory Control Towards High-Speed Flight with a Quadrotor.
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
Hesch et al. A laser-aided inertial navigation system (l-ins) for human localization in unknown indoor environments
Xiao et al. Indoor uav localization using a tether
Zhang et al. An indoor navigation aid for the visually impaired
KR20120046974A (ko) 이동 로봇 및 이동 로봇의 위치인식 및 지도작성 방법
Voigt et al. Robust embedded egomotion estimation
US10607079B2 (en) Systems and methods for generating three dimensional skeleton representations
Ohno et al. Trials of 3-D map construction using the tele-operated tracked vehicle kenaf at disaster city
Belter et al. Precise self‐localization of a walking robot on rough terrain using parallel tracking and mapping
Ellekilde et al. Dense 3D map construction for indoor search and rescue
Li et al. Autonomous navigation and environment modeling for MAVs in 3-D enclosed industrial environments
Huai et al. Real-time large scale 3D reconstruction by fusing Kinect and IMU data
Sadruddin et al. An indoor navigation system using stereo vision, IMU and UWB sensor fusion
Roozing et al. Low-cost vision-based 6-DOF MAV localization using IR beacons
Hesch et al. A 3d pose estimator for the visually impaired
Ohno et al. 3-D mapping of an underground mall using a tracked vehicle with four sub-tracks
Belter et al. Evaluating map-based RGB-D SLAM on an autonomous walking robot
Zhang et al. A depth-enhanced visual inertial odometry for a robotic navigation aid for blind people
Poulet et al. Self-localization of anonymous mobile robots from aerial images
Kundu et al. Canescanner: Obstacle detection for people with visual disabilities
Xia et al. Extended Preintegration for Relative State Estimation of Leader-Follower Platform