ES2770730T3 - Localización dentro de un entorno usando fusión de sensores - Google Patents
Localización dentro de un entorno usando fusión de sensores Download PDFInfo
- Publication number
- ES2770730T3 ES2770730T3 ES15162043T ES15162043T ES2770730T3 ES 2770730 T3 ES2770730 T3 ES 2770730T3 ES 15162043 T ES15162043 T ES 15162043T ES 15162043 T ES15162043 T ES 15162043T ES 2770730 T3 ES2770730 T3 ES 2770730T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- type
- data stream
- mobile platform
- environment
- 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
Links
- 230000004927 fusion Effects 0.000 title description 3
- 238000005259 measurement Methods 0.000 claims abstract description 36
- 238000009826 distribution Methods 0.000 claims abstract description 19
- 239000003607 modifier Substances 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 60
- 238000004519 manufacturing process Methods 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 description 39
- 238000012545 processing Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 20
- 238000003860 storage Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 6
- 239000002245 particle Substances 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005553 drilling Methods 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009419 refurbishment Methods 0.000 description 1
- 239000000565 sealant Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/02—Manipulators mounted on wheels or on carriages travelling along a guideway
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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/165—Navigation; 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/1652—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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/165—Navigation; 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/1656—Navigation; 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0248—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Electromagnetism (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
Un aparato que comprende: una pluralidad de sistemas (128) de datos configurados para generar una pluralidad de flujos (126) de datos en la cual la pluralidad de flujos de datos incluye un primer tipo de flujo (132) de datos y un segundo tipo de flujo (130) de datos, en donde cada punto de datos en el primer tipo de flujo de datos incluye una medición de incertidumbre, y en donde cada punto de datos en el segundo tipo de flujo de datos no incluye una medición de incertidumbre; un modificador (120) configurado para aplicar una distribución (137) de probabilidad al segundo tipo de flujo de datos para formar un flujo (135) de datos modificado; y un estimador (118) de pose ubicado a bordo de una plataforma (104) móvil y configurado para recibir y fusionar el primer tipo de flujo de datos y el flujo de datos modificado para generar una estimación (122) de pose con un nivel deseado de precisión para la plataforma móvil con respeto a un entorno (100) alrededor de la plataforma móvil; en donde el aparato está configurado para: observar un punto de referencia actual en el entorno un número seleccionado de veces utilizando un sistema (134) de datos a bordo, a la vez que la plataforma móvil está en una ubicación actual; identificar una distancia relativa inicial entre la ubicación actual de la plataforma móvil y el punto de referencia actual; y mover la plataforma móvil a partir de la ubicación actual a una nueva ubicación lo más lejos posible hacia una ubicación deseada sin perder el punto de referencia actual dentro de un campo de visión de un sistema de sensor del sistema de datos a bordo.
Description
DESCRIPCIÓN
Localización dentro de un entorno usando fusión de sensores
Información de antecedentes
1. Campo:
La presente divulgación se relaciona en general con identificar la pose de una plataforma móvil en un entorno. Más particularmente, la presente divulgación se relaciona con un método y aparato para formar y fusionar flujos de datos que incluyen cada uno una medida de incertidumbre para generar una estimación de pose para la plataforma móvil dentro del entorno.
2. Antecedentes:
En algunas situaciones, puede ser deseable tener un robot móvil que pueda moverse libremente dentro de un entorno de la misma manera que lo haría un humano. Los puntos de referencia físicos, tales como pintura, cinta adhesiva o imanes, los cuales normalmente se pueden usar para ayudar a un robot móvil a moverse dentro de un entorno, pueden obligar a un robot móvil a seguir solo rutas predefinidas. Además, la instalación de este tipo de puntos de referencia físicos puede ser más lenta y costosa de lo deseado. Para moverse más libremente dentro de un entorno, un robot móvil puede necesitar realizar la localización, la cual incluye identificar la pose del robot móvil dentro del entorno. Como se usa en este documento, una “pose” incluye una posición, una orientación o ambas con respecto a un sistema de coordenadas de referencia.
Un robot móvil puede usar un sistema de sensor externo para realizar la localización. Sin embargo, en algunos casos, la línea de visión entre un robot móvil y el sistema de sensor externo puede ser obstruida por otros objetos, robots y/o personas dentro del entorno de fabricación. Como un ejemplo, en un entorno de fabricación de aeronaves, la línea de visión puede perderse cuando el robot móvil opera debajo de un ala de la aeronave, dentro del ala, cerca de objetos de la fábrica tales como grúas o columnas, y/o en áreas restringidas. Una vez que se pierde la línea de visión, el robot móvil puede dejar de recibir actualizaciones de pose y puede necesitar detener las operaciones hasta que se haya recuperado la línea de visión. Sin localización, el robot móvil puede ser incapaz de navegar a través del entorno con la precisión que desee.
Además, en un entorno dinámico, pueden moverse coches, aeronaves, estaciones de trabajo, vehículos, plataformas de equipos, otros tipos de dispositivos, operadores humanos o alguna combinación de los mismos. En consecuencia, un robot móvil puede ser incapaz de confiar únicamente en su entorno para moverse a través de este tipo de entorno o un entorno lleno de desorden o no segmentado o estructurado de manera eficiente. Los robots móviles disponibles actualmente pueden ser incapaces de operar con los niveles de rendimiento y eficiencia deseados o maniobrar alrededor de operadores humanos de una manera tan segura como se desee en estos diferentes tipos de entornos.
Además, en algunos casos, el equipo o dispositivos utilizados para la localización pueden ser más costosos, más grandes o pesados de lo deseado. En ciertas situaciones, el procesamiento requerido para realizar la localización con un nivel deseado de precisión puede llevar más tiempo o requerir más recursos de procesamiento de los deseados. Por lo tanto, sería deseable tener un método y un aparato que tomen en cuenta al menos algunos de los problemas discutidos anteriormente, así como otros posibles problemas.
La publicación de solicitud de patente de los Estados Unidos US 2009/0024251 A1, de acuerdo con su resumen, establece: un método y aparato para estimar la pose de un robot móvil usando un filtro de partículas. El aparato incluye un odómetro el cual detecta una variación de la pose de un robot móvil, un módulo de procesamiento de características el cual extrae al menos una característica a partir de una imagen hacia arriba capturada por el robot móvil, y un módulo de filtro de partículas el cual determina las poses y pesos actuales de una pluralidad de partículas aplicando la variación de pose del robot móvil detectada por el odómetro y la característica extraída por el módulo de procesamiento de características a las poses y pesos anteriores de las partículas.
La publicación de solicitud de patente de los Estados Unidos US 2004/0167667 A1, de acuerdo con su resumen, establece: métodos y aparatos que usan un sensor visual y sensores de cálculo muerto para procesar la Localización y Mapeo Simultáneos (SLAM). Estas técnicas se pueden usar en la navegación de robots. Dichas técnicas visuales se pueden utilizar para generar y actualizar de forma autónoma un mapa. A diferencia de los telémetros láser, las técnicas visuales son económicamente prácticas en una amplia gama de aplicaciones y se pueden usar en entornos relativamente dinámicos, tales como los entornos en los cuales se mueven las personas. Un ejemplo utiliza múltiples partículas para mantener múltiples hipótesis con respecto a la localización y el mapeo. Además, una realización mantiene las partículas de una manera eficiente relativamente computacional, permitiendo así que los procesos SLAM se realicen en software usando sistemas informáticos con base en microprocesadores relativamente económicos.
La publicación de solicitud de patente de los Estados Unidos US 2005/0182518 A1, de acuerdo con su resumen, establece: métodos y aparatos que permiten que las mediciones de una pluralidad de sensores se combinen o fusionen de manera robusta. Por ejemplo, los sensores pueden corresponder a sensores utilizados por un dispositivo móvil, tal
como un robot, para localización y/o mapeo. Las mediciones se pueden fusionar para la estimación de una medición, tal como una estimación de pose de un robot.
La Solicitud de Patente Europea EP 0570581 A1, de acuerdo con su resumen, establece: un sistema sensorial para la navegación del vehículo que emplea un sensor, tal como una brújula, o un odómetro, para detectar un parámetro de navegación de un vehículo. Se proporciona una señal a partir del sensor, que tiene un componente erróneo. Se emplea un patrón de reconocimiento libre, tal como un ordenador de navegación de inferencia difusa, para reconocer este comportamiento erróneo. Después del reconocimiento, el sensor se puede recalibrar o asignar un coeficiente de claridad. Luego, la señal se combina con otras mediciones del mismo parámetro y se somete a correspondencia de mapas antes de derivar la variable de navegación final.
La publicación de solicitud de patente de los Estados Unidos US 2007/0156286 A1, de acuerdo con su resumen, establece: un robot móvil equipado con un telémetro y un sistema de visión estéreo. El robot móvil es capaz de navegar de forma autónoma a través del terreno urbano, generar un mapa con base en datos del telémetro y transmitir el mapa al operador, como parte de diversas operaciones de reconocimiento seleccionables por el operador. El robot móvil emplea una técnica de transformación Hough para identificar características lineales en su entorno y luego se alinea con las características lineales identificadas con el fin de navegar por el terreno urbano; a la vez que, al mismo tiempo, se aplica una técnica de histograma de campo vectorial escalado a la combinación del telémetro y datos de visión estéreo para detectar e impedir obstáculos que el robot móvil encuentra al navegar de forma autónoma. Además, las misiones realizadas por el robot móvil pueden incluir parámetros de limitación con base en la distancia o el tiempo transcurrido, para garantizar la finalización de las operaciones autónomas.
Resumen
En la presente solicitud, se describe un aparato que comprende: una pluralidad de sistemas de datos configurados para generar una pluralidad de flujos de datos en los cuales la pluralidad de flujos de datos incluye un primer tipo de flujo de datos y un segundo tipo de flujo de datos, en donde cada punto de datos en el primer tipo de flujo de datos incluye una medición de incertidumbre, y en donde cada punto de datos en el segundo tipo de flujo de datos no incluye una medición de incertidumbre; un modificador configurado para aplicar una distribución de probabilidad al segundo tipo de flujo de datos para formar un flujo de datos modificado; y un estimador de pose ubicado a bordo de una plataforma móvil y configurado para recibir y fusionar el primer tipo de flujo de datos y el flujo de datos modificado para generar un estimado de pose con un nivel deseado de precisión para la plataforma móvil con respecto a un entorno alrededor de la plataforma móvil; en donde el aparato está configurado para: observar un punto de referencia actual en el entorno un número seleccionado de veces usando un sistema de datos a bordo, a la vez que la plataforma móvil está en una ubicación actual; identificar una distancia relativa inicial entre la ubicación actual de la plataforma móvil y el punto de referencia actual; y mover la plataforma móvil a partir de la ubicación actual a una nueva ubicación lo más lejos posible hacia una ubicación deseada sin perder el punto de referencia actual dentro de un campo de visión de un sistema de sensor del sistema de datos a bordo.
También se describe un método para guiar una plataforma móvil dentro de un entorno, el método comprende: generar un primer tipo de flujo de datos y un segundo tipo de flujo de datos usando una pluralidad de sistemas de datos, en donde cada punto de datos en el primer tipo de flujo de datos incluye una medición de incertidumbre, y en donde cada punto de datos en el segundo tipo de flujo de datos no incluye una medición de incertidumbre; aplicar una distribución de probabilidad al segundo tipo de flujo de datos para formar un flujo de datos modificado; fusionar el primer tipo de flujo de datos y el flujo de datos modificado para generar una estimación de pose con un nivel deseado de precisión para la plataforma móvil con respecto al entorno alrededor de la plataforma móvil; y observar un punto de referencia actual en el entorno un número seleccionado de veces usando un sistema de datos a bordo, a la vez que la plataforma móvil está en una ubicación actual; identificar una distancia relativa inicial entre la ubicación actual de la plataforma móvil y el punto de referencia actual; y mover la plataforma móvil a partir de la ubicación actual a una nueva ubicación lo más lejos posible hacia una ubicación deseada sin perder el punto de referencia actual dentro de un campo de visión de un sistema de sensor del sistema de datos a bordo.
También se describe una plataforma móvil que puede comprender una base, un controlador asociado con la base y un sistema de movimiento asociado con la base. El controlador puede estar configurado además para recibir flujos de datos a partir de una pluralidad de sistemas de datos en los cuales los flujos de datos pueden incluir un número del primer tipo de flujos de datos y un número del segundo tipo de flujos de datos. El controlador puede comprender un modificador y un estimador de pose. El modificador puede configurarse para aplicar una distribución de probabilidad a cada uno del número del segundo tipo de flujos de datos para formar un número de flujos de datos modificados. El estimador de pose puede configurarse para recibir el número del primer tipo de flujos de datos y el número de flujos de datos modificados. El estimador de pose puede configurarse además para fusionar la pluralidad de flujos de datos entre sí para generar una estimación de pose con una precisión de nivel deseada para la plataforma móvil con respecto a un entorno alrededor de la plataforma móvil. El sistema de movimiento puede configurarse para ser controlado por el controlador con base en la estimación de pose para mover la plataforma móvil dentro del entorno.
Las características y funciones pueden lograrse independientemente en diversas realizaciones de la presente divulgación o pueden combinarse en aún otras realizaciones en las cuales pueden verse detalles adicionales con referencia a la siguiente descripción y dibujos.
Breve descripción de los dibujos
Las características novedosas que se creen características de las realizaciones ilustrativas se exponen en las reivindicaciones adjuntas. Sin embargo, las realizaciones ilustrativas, así como un modo de uso preferido, objetivos adicionales y características de los mismos, se entenderán mejor con referencia a la siguiente descripción detallada de una realización ilustrativa de la presente divulgación cuando se lee en conjunto con los dibujos adjuntos, en donde: la Figura 1 es una ilustración de un entorno en la forma de diagrama de bloques de acuerdo con una realización ilustrativa;
la Figura 2 es una ilustración de una pluralidad de sistemas de datos en la forma de diagrama de bloques de acuerdo con una realización ilustrativa;
la Figura 3 es una ilustración de los componentes de una pluralidad de sistemas de datos que están ubicados a bordo y los componentes de una pluralidad de sistemas de datos que están ubicados fuera de borda de acuerdo con una realización ilustrativa;
la Figura 4 es una ilustración de un entorno de fabricación de acuerdo con una realización ilustrativa;
la Figura 5 es una ilustración de un robot móvil de acuerdo con una realización ilustrativa;
la Figura 6 es una ilustración de un proceso para generar una estimación de pose para una plataforma móvil en un entorno en la forma de un diagrama de flujo de acuerdo con una realización ilustrativa;
la Figura 7 es una ilustración de un proceso para guiar un robot móvil dentro de un entorno de fabricación en la forma de un diagrama de flujo de acuerdo con una realización ilustrativa;
la Figura 8 es una ilustración de un sistema de procesamiento de datos en la forma de un diagrama de bloques de acuerdo con una realización ilustrativa;
la Figura 9 es una ilustración de un método de fabricación y servicio de aeronaves en la forma de un diagrama de bloques de acuerdo con una realización ilustrativa; y
la Figura 10 es una ilustración de una aeronave en la forma de un diagrama de bloques de acuerdo con una realización ilustrativa.
Descripción detallada
Las realizaciones ilustrativas reconocen y toman en cuenta diferentes consideraciones. Por ejemplo, las realizaciones ilustrativas reconocen y toman en cuenta que puede ser deseable tener un método y un aparato capaces de realizar una localización más precisa y rápida para un número de plataformas móviles dentro de un entorno de fabricación. Además, las realizaciones ilustrativas reconocen y toman en cuenta que puede ser deseable tener un método y un aparato para generar una estimación de pose para un robot móvil dentro de un entorno a bordo del robot móvil. Por lo tanto, las realizaciones ilustrativas proporcionan un método y un aparato para generar una estimación de pose para un robot móvil a bordo del robot móvil usando fusión de sensores. El método y el aparato proporcionados por las realizaciones ilustrativas pueden reducir el tiempo necesario para generar una estimación de pose, a la vez que aumentan la precisión de la estimación. Además, la solución proporcionada por las realizaciones ilustrativas puede ser más simple y rentable que algunas soluciones disponibles actualmente.
Con referencia ahora a las figuras y, en particular, con referencia a la Figura 1, se representa una ilustración de un entorno de acuerdo con una realización ilustrativa. En este ejemplo ilustrativo, el entorno 100 puede ser cualquier entorno en el cual se pueda usar el número de plataformas 102 móviles. Como se usa en este documento, un “número de” elementos puede ser uno o más elementos. De esta manera, el número de plataformas 102 móviles puede incluir una o más plataformas móviles.
En un ejemplo ilustrativo, el entorno 100 puede tomar la forma del entorno 101 de fabricación en el cual se fabrica el objeto 103. El objeto 103 puede tomar un número de formas diferentes. Por ejemplo, sin limitación, el objeto 103 puede tomar la forma de una puerta, un panel de revestimiento, un ala para una aeronave, un fuselaje para una aeronave, un componente estructural para un edificio, un conjunto de componentes o algún otro tipo de objeto.
Como se muestra, la plataforma 104 móvil puede ser un ejemplo de una implementación para una plataforma móvil en el número de plataformas 102 móviles. En este ejemplo ilustrativo, la plataforma 104 móvil puede tomar la forma del robot 106 móvil. Por supuesto, dependiendo de la implementación, la plataforma 104 móvil puede tomar la forma de cualquier tipo de plataforma, estructura, dispositivo u objeto capaz de moverse al menos parcialmente de manera autónoma dentro del entorno 100.
Como se muestra, el robot 106 móvil puede incluir la base 108, el sistema 110 de movimiento, el número de herramientas 112 y el controlador 114. El sistema 110 de movimiento, el número de herramientas 112 y el controlador
114 pueden estar asociados con la base 108. Como se usa en este documento, cuando un componente está “asociado” con otro componente, la asociación es una asociación física en los ejemplos representados.
Por ejemplo, sin limitación, un primer componente, tal como el sistema 110 de movimiento, puede considerarse asociado con un segundo componente, tal como la base 108, al estar asegurado al segundo componente, unido al segundo componente, montado al segundo componente, soldado al segundo componente, sujeto al segundo componente y/o conectado al segundo componente de alguna otra manera adecuada. El primer componente también puede estar conectado al segundo componente usando un tercer componente. Además, se puede considerar que el primer componente está asociado con el segundo componente al formarse como parte y/o como una extensión del segundo componente.
El sistema 110 de movimiento puede usarse para mover el robot 106 móvil dentro del entorno 100. Por ejemplo, sin limitación, el sistema 110 de movimiento puede usarse para mover el robot 106 móvil dentro del entorno 101. Dependiendo de la implementación, el sistema 110 de movimiento puede incluir al menos uno de un número de ruedas, un número de rodillos, un número de patas, un número de ruedas holonómicas u otros tipos de dispositivos capaces de proporcionar movimiento.
Como se usa en este documento, la frase “al menos uno de”, cuando se usa con una lista de elementos, significa que se pueden usar diferentes combinaciones de uno o más de los elementos enumerados y puede ser necesario solo uno de los elementos en la lista. El elemento puede ser un objeto, cosa o categoría en particular. En otras palabras, “al menos uno de” significa que se puede usar cualquier combinación de elementos o número de elementos de la lista, pero no todos los elementos de la lista pueden ser necesarios.
Por ejemplo, “al menos uno del elemento A, elemento B y elemento C” puede significar el elemento A; elemento A y elemento B; elemento B; elemento A, elemento B y elemento C; o elemento B y elemento C. En algunos casos, “al menos uno del elemento A, elemento B y elemento C” puede significar, por ejemplo, sin limitación, dos del elemento A, uno del elemento B y diez del elemento C; cuatro del elemento B y siete del elemento C; o alguna otra combinación adecuada.
En este ejemplo ilustrativo, se puede usar un número de herramientas 112 para realizar un número de operaciones 116 dentro del entorno 100. Al menos uno del número de operaciones 116 se puede realizar en el objeto 103. El número de operaciones 116 puede incluir, por ejemplo, sin limitación, al menos uno de una operación de perforación, una operación de fijación, una operación de lijado, una operación de pintura, una operación de mecanizado, una operación de prueba, una operación de captura de imágenes o algún otro tipo de operación. De esta manera, el número de herramientas 112 puede incluir, por ejemplo, sin limitación, al menos uno de un dispositivo de perforación, un dispositivo de fijación, una herramienta de lijado, una herramienta de pintura, un sistema dispensador de fluido, un dispositivo de aplicación de sellante, un dispositivo de mecanizado, un dispositivo de fresado, un sistema de prueba, un dispositivo de captura de imágenes, un escáner, un marcador, un bolígrafo, un aplicador de etiquetas o algún otro tipo de herramienta.
En este ejemplo ilustrativo, el controlador 114 puede configurarse para controlar el funcionamiento de al menos uno del número de herramientas 112. Además, el controlador 114 puede configurarse para controlar el sistema 110 de movimiento. En particular, el controlador 114 puede controlar el sistema 110 de movimiento para mover el robot 106 móvil a lo largo de la ruta 117 en el entorno 100. La ruta 117 puede estar al menos parcialmente a lo largo del piso 115 del entorno 100. Como se usa en este documento, el piso 115 puede incluir una superficie de piso, una superficie en un puente, una superficie formada por una o más paletas, una superficie de plataforma, un piso de un elevador, un piso de una cinta transportadora, algún otro tipo de superficie, o alguna combinación de los mismos.
La ruta 117 puede ser una ruta actualizada dinámicamente en que el controlador 114 puede actualizar la ruta 117 a medida que el robot 106 móvil se mueve a través del entorno 100. El controlador 114 puede actualizar la ruta 117 a medida que el robot 106 móvil se mueve a través del entorno 100 para ayudar al robot 106 móvil, por ejemplo, sin limitación, al menos uno de impedir obstáculos, moverse alrededor de objetos que se han colocado o movido recientemente dentro del entorno 100, responder a cambios en el número de operaciones 116 a realizar por el robot 106 móvil, maniobrar alrededor de operadores humanos que se encuentran en o se mueven dentro del entorno 100, o responder a algún otro tipo de circunstancia nueva o cambiada dentro del entorno 100. El controlador 114 puede usar la localización para ayudar a navegar el robot 106 móvil.
Como se muestra, el controlador 114 puede incluir, por ejemplo, sin limitación, el estimador 118 de pose y el modificador 120. El estimador 118 de pose puede generar la estimación 122 de pose para el robot 106 móvil. La estimación 122 de pose puede ser una estimación de pose del robot 106 móvil dentro del entorno 100. La pose del robot 106 móvil, como se usa en este documento, puede comprender al menos una posición del robot 106 móvil o una orientación del robot 106 móvil con respecto al sistema 124 de coordenadas de referencia para el entorno 100. Por lo tanto, la estimación 122 de pose puede estar compuesta por al menos una de la estimación 121 de posición y la estimación 123 de orientación del robot 106 móvil con respecto al sistema 124 de coordenadas de referencia para el entorno 100.
El robot 106 móvil puede configurarse para moverse con seis grados de libertad en el entorno 100. Por lo tanto, la estimación 122 de pose puede ser una estimación de pose de seis grados de libertad (6DoF) para el robot 106 móvil. En algunos casos, la estimación 122 de pose puede referirse a la estimación de pose del robot 106 móvil en el espacio de seis grados de libertad del robot 106 móvil.
En este ejemplo ilustrativo, el estimador 118 de pose puede fusionar una pluralidad de flujos 126 de datos para generar la estimación 122 de pose. Al menos una porción de la pluralidad de flujos 126 de datos puede recibirse a partir de una pluralidad de sistemas 128 de datos. Como se usa en este documento, un sistema de datos en una pluralidad de sistemas 128 de datos puede incluir un número de sistemas de sensor, un número de unidades de procesador o alguna combinación de los mismos. Como se usa en este documento, un “sistema de sensor” puede comprender cualquier número de dispositivos de sensor, dispositivos activos, dispositivos pasivos o una combinación de los mismos.
Como se usa en este documento, “fusionar” la pluralidad de flujos 126 de datos puede significar combinar y procesar los diferentes flujos de datos en la pluralidad de flujos 126 de datos para generar una única estimación 122 de pose. Cada uno de la pluralidad de flujos 126 de datos puede estar compuesto de estimaciones generadas a lo largo del tiempo.
El flujo 125 de datos es un ejemplo de una pluralidad de flujos 126 de datos. El flujo 125 de datos puede generarse por uno de la pluralidad de sistemas 128 de datos. En este ejemplo ilustrativo, el flujo 125 de datos puede estar compuesto por estimaciones generadas a lo largo del tiempo.
Como se usa en este documento, una “estimación” puede ser una estimación de pose de seis grados de libertad del robot 106 móvil. Esta estimación puede generarse con base en mediciones generadas en un solo punto en el tiempo o a lo largo de un período de tiempo. En algunos casos, la estimación también puede incluir metadatos. En algunos ejemplos ilustrativos, la estimación se puede denominarse como un punto de datos de salida de tal modo que el flujo 125 de datos puede estar compuesto por una pluralidad de puntos de datos de salida.
El estimador 118 de pose puede usar una pluralidad de flujos 126 de datos y un algoritmo de estimación Bayesiano para generar la estimación 122 de pose. En particular, el estimador 118 de pose puede usar las siguientes ecuaciones de estimación Bayesianas:
p {X t+í | ZT) = f [p ( X t+1 | XT) * p (X t | ZT)j (1)
donde t es tiempo, xt+i es la pose del robot 106 móvil en el tiempo t+1, zt es la colección de todas las estimaciones en la pluralidad de flujos 126 de datos a lo largo del tiempo, T, p(xt+i\ZT) es la probabilidad de xt+i dado zt, xt es la pose del robot 106 móvil en el tiempo t, n es el número total de sistemas de datos en la pluralidad de sistemas 128 de datos, Z ^ - es la estimación generada por un primer sistema de datos en la pluralidad de sistemas 128 de datos en el tiempo t+1, y Z ^ j- es la estimación generada por el enésimo sistema de datos en una pluralidad de sistemas 128 de datos en el tiempo t+1. Para cualquier tiempo dado t+1, p ( Z - ^ , ... , Z ^ |X£+1) solo incluye sistemas de datos que han proporcionado estimaciones en el tiempo t+ i .
El error en el estimador 118 de pose puede reducirse aún más aumentando el número de flujos de datos en la pluralidad de flujos 126 de datos utilizados para generar la estimación 122 de pose, y por lo tanto el número de sistemas de datos en la pluralidad de sistemas 128 de datos. En otras palabras, a medida que aumenta el número de flujos de datos en la pluralidad de flujos 126 de datos, disminuye el error en la estimación 122 de pose generado por el estimador 118 de pose.
El uso de técnicas de estimación Bayesianas para generar la estimación 122 de pose puede requerir que todos los datos utilizados para generar la estimación 122 de pose sean probabilísticos. En otras palabras, todos los datos pueden necesitar incluir aleatoriedad o incertidumbre.
Sin embargo, los flujos 127 de datos generados por la pluralidad de sistemas 128 de datos pueden incluir el número del primer tipo de flujos 132 de datos y el número del segundo tipo de flujos 130 de datos. Un “primer tipo de flujo de datos”, tal como uno del número del primer tipo de flujos 132 de datos puede incluir puntos de datos en los cuales cada punto de datos incluye, o está acoplado con, una medición de incertidumbre, con base en alguna distribución de probabilidad. En particular, un primer tipo de flujo de datos puede generarse por un sistema probabilístico, patrón o algoritmo en el cual la salida o la forma en que es dada una salida para una entrada dada toma en cuenta la aleatoriedad o un grado de incertidumbre. De esta manera, cada uno de los primeros tipos de flujos 132 de datos puede denominarse como un flujo de datos probabilístico en algunos ejemplos ilustrativos.
Como se usa en este documento, un “segundo tipo de flujo de datos”, tal como uno del número del segundo tipo de flujos 130 de datos puede incluir puntos de datos en los cuales cada punto de datos no incluye, o no está acoplado con, una medición de incertidumbre. Por ejemplo, sin limitación, el punto de datos puede incluir solo un valor de datos
único. En algunos ejemplos ilustrativos, este segundo tipo de flujo de datos puede denominarse flujo de datos pseudodeterminista.
El número del segundo tipo de flujos 130 de datos en los flujos 127 de datos puede ser recibido por el modificador 120 en el estimador 118 de pose. El modificador 120 puede configurarse para modificar un segundo tipo de flujo de datos para que el estimador 118 de pose pueda utilizar el flujo de datos. En particular, el modificador 120 puede convertir el número del segundo tipo de flujos 130 de datos en un número del primer tipo de flujos de datos procesados. Todo el primer tipo de flujos de datos puede ser procesado por el estimador 118 de pose para generar la estimación 122 de pose.
Como un ejemplo ilustrativo, el segundo tipo de flujo 133 de datos puede ser generado por uno de una pluralidad de sistemas 128 de datos. En este ejemplo, el segundo tipo de flujo 133 de datos puede haberse generado usando una o más técnicas de odometría. El modificador 120 puede configurarse para modificar el segundo tipo de flujo 133 de datos para formar el flujo 135 de datos modificado que puede ser utilizado por el estimador 118 de pose. El modificador 120 puede convertir el segundo tipo de flujo 133 de datos en el flujo 135 de datos modificado usando cualquier número de técnicas. Como un ejemplo ilustrativo, el modificador 120 puede aplicar la distribución 137 de probabilidad al segundo tipo de flujo 133 de datos para formar el flujo 135 de datos modificado.
Dependiendo de la implementación, la distribución 137 de probabilidad puede ser una distribución Gaussiana o algún otro tipo de distribución de probabilidad. La distribución 137 de probabilidad puede ser una distribución de probabilidad predeterminada. Por ejemplo, sin limitación, la distribución 137 de probabilidad puede haberse determinado empíricamente, utilizando un patrón matemático, o de alguna otra manera antes de que el robot 106 móvil se utilizara para realizar un número de operaciones 116 en el entorno 100.
Al convertir el segundo tipo de flujo 133 de datos en el flujo 135 de datos modificado, puede eliminarse la necesidad de datos probabilísticos generados usando un patrón con base en la física del robot 106 móvil. En particular, el término p(x+i | xt) en la ecuación (1) descrita anteriormente puede proporcionarse utilizando al menos uno de los flujos 127 de datos de la pluralidad de sistemas 128 de datos en lugar de un patrón con base en la física. Por ejemplo, sin limitación, el estimador 118 de pose puede usar un flujo de datos de un sistema de odometría en una pluralidad de sistemas 128 de datos para proporcionar el término p(xt+i | xt) en la ecuación (1) descrita anteriormente. El término p(xt+i | xt) es la probabilidad de la pose del robot 106 móvil en el tiempo t+1 dada la pose del robot 106 móvil en el tiempo t.
De esta manera, se puede aplicar una distribución de probabilidad a cada número del segundo tipo de flujos 130 de datos por el modificador 120 para formar el número de flujos 129 de datos modificados. Cada uno del número de flujos 129 de datos modificados puede ser igual a cada uno del número del primer tipo de flujos 132 de datos. El número de flujos 129 de datos modificados y el número del primer tipo de flujos 132 de datos juntos pueden formar una pluralidad de flujos 126 de datos utilizados por el estimador 118 de pose para formar una estimación 122 de pose.
En estos ejemplos ilustrativos, la pluralidad de sistemas 128 de datos puede incluir el número de sistemas 134 de datos a bordo y el número de sistemas 136 de datos fuera de borda. Como se usa en este documento, un “sistema de datos a bordo”, tal como uno del número de sistemas 134 de datos a bordo, pueden configurarse para generar un flujo de datos a bordo del robot 106 móvil. En algunos casos, un sistema de datos a bordo puede estar completamente separado del controlador 114. En otros ejemplos ilustrativos, al menos una porción de un sistema de datos a bordo puede implementarse o integrarse con el controlador 114. El flujo de datos generado por el sistema de datos a bordo puede ser recibido por el estimador 118 de pose o el modificador 120, dependiendo de si el flujo de datos es un segundo tipo de flujo de datos o un primer tipo de flujo de datos.
El sistema 144 de datos a bordo puede ser un ejemplo de uno del número de sistemas 134 de datos a bordo. El sistema 144 de datos a bordo puede incluir al menos uno de un elemento pasivo, un elemento activo, una unidad de procesador, un circuito integrado, un microprocesador, un sistema de sensor, un objetivo o algún tipo de otro dispositivo o elemento. Al menos la porción del sistema 144 de datos a bordo que genera un flujo de datos se encuentra a bordo del robot 106 móvil. De esta manera, todo el sistema 144 de datos a bordo puede ubicarse a bordo del robot 106 móvil o una porción del sistema 144 de datos a bordo puede ubicarse a bordo, a la vez que otra porción puede ubicarse fuera de borda.
Como se usa en este documento, un “sistema de datos fuera de borda”, tal como uno del número de sistemas 136 de datos fuera de borda, puede ser un sistema de datos configurado para generar un flujo de datos de manera remota con respecto al robot 106 móvil. La corriente de datos generada por el sistema de datos fuera de borda se puede enviar al controlador 114 utilizando, por ejemplo, sin limitación, un enlace de comunicaciones inalámbricas.
El sistema 145 de datos fuera de borda puede ser un ejemplo de uno del número de sistemas 136 de datos fuera de borda. El sistema 145 de datos fuera de borda puede incluir al menos uno de un elemento pasivo, un elemento activo, una unidad de procesador, un circuito integrado, un microprocesador, un sistema de sensor, un objetivo o algún otro tipo de dispositivo o elemento. Al menos la porción del sistema 145 de datos fuera de borda que genera un flujo de datos se encuentra en el robot 106 móvil fuera de borda. De esta manera, todo el sistema 145 de datos fuera de borda puede ubicarse fuera de borda o una porción del sistema 145 de datos fuera de borda puede ubicarse fuera de borda, a la vez que otra porción puede ubicarse a bordo.
Además, el controlador 114 puede configurarse para reducir el error al mover el robot 106 móvil a lo largo de la ruta 117. En particular, el controlador 114 puede reducir el error aleatorio al mover el robot 106 móvil a partir de la ubicación 138 inicial a lo largo de la ruta 117 a la ubicación 140 deseada a lo largo de la ruta 117 dentro de las tolerancias seleccionadas. En un ejemplo ilustrativo, el controlador 114 puede usar uno o más del número de sistemas 134 de datos a bordo para reducir este error aleatorio.
En particular, el controlador 114 puede usar uno o más del número de sistemas 134 de datos a bordo configurados para observar el número de puntos 142 de referencia dentro del entorno 100 para reducir el error aleatorio al mover el robot 106 móvil a partir de la ubicación 138 inicial a lo largo de la ruta 117 a la ubicación 140 deseada a lo largo de la ruta 117. Un punto de referencia en el número de puntos 142 de referencia puede ser cualquier característica reconocible en el entorno 100. Por ejemplo, sin limitación, un punto de referencia puede tomar la forma de un pilar, una plataforma, una característica estructural, una pieza de equipo, un estructura artificial, un objetivo, una etiqueta o algún otro tipo de punto de referencia.
En este ejemplo ilustrativo, el sistema 144 de datos a bordo puede incluir un sistema de sensor capaz de observar al menos uno del número de puntos 142 de referencia en el entorno 100 a la vez que el robot 106 móvil está en la ubicación 138 inicial dentro del entorno 100. Por ejemplo, sin limitación, el sistema 144 de datos a bordo puede observar el punto 146 de referencia del número de puntos 142 de referencia a la vez que está en la ubicación 138 inicial. La observación del punto 146 de referencia se puede hacer un número seleccionado de veces. Por ejemplo, se pueden hacer N observaciones del punto 146 de referencia.
El punto 146 de referencia puede ser un punto de referencia natural o artificial, dependiendo de la implementación. En este ejemplo ilustrativo, el punto 146 de referencia puede ser un punto de referencia estacionario. Sin embargo, en otro ejemplo ilustrativo, el punto 146 de referencia puede ser móvil y capaz de moverse dentro del entorno 100 como sea necesario. En algunos ejemplos ilustrativos, el punto 146 de referencia puede ser una persona.
El sistema 144 de datos a bordo puede usarse para identificar una distancia relativa inicial entre la ubicación 138 inicial del robot 106 móvil y el punto 146 de referencia. A medida que aumenta el número de observaciones del punto 146 de referencia, disminuye el error en la distancia relativa inicial entre la ubicación inicial del robot 106 móvil y el punto 146 de referencia. La reducción en el error se basa en el teorema del límite central.
En particular, el teorema del límite central puede explotarse de tal modo que el error pueda reducirse por un factor de la raíz cuadrada de n, donde n es el número total de observaciones realizadas. El teorema del límite central establece que, bajo ciertas condiciones, la suma de n variables aleatorias independientes, distribuidas de manera idéntica, cuando se escala adecuadamente, puede converger en la distribución a una distribución normal estándar. Por lo tanto, en un ejemplo ilustrativo, al aumentar n, la covarianza empírica disminuirá a una velocidad dada de la siguiente manera:
(<r) /V ñ (3)
donde a es la desviación estándar con respecto a la media.
El robot 106 móvil se puede mover entonces a una nueva ubicación lo más lejos posible hacia la dirección de la ubicación 140 deseada sin perder el punto 146 de referencia dentro del campo de visión del sistema de sensor del sistema 144 de datos a bordo. El sistema 144 de datos a bordo puede identificar una nueva distancia relativa entre la nueva ubicación del robot 106 móvil y el punto 146 de referencia. La diferencia entre la distancia relativa inicial y la nueva distancia relativa puede calcularse entonces con un error mínimo y usarse para determinar la nueva ubicación del robot 106 móvil.
Si la nueva ubicación no es la ubicación 140 deseada dentro de las tolerancias seleccionadas, el robot 106 móvil se puede entonces mover más cerca de la ubicación 140 deseada utilizando el nuevo punto 147 de referencia. En particular, el sistema 144 de datos a bordo puede buscar el nuevo punto 147 de referencia en el número de puntos 142 de referencia, a la vez que está en la nueva ubicación. A la vez que está en la nueva ubicación, el sistema 144 de datos a bordo puede observar entonces el nuevo punto 147 de referencia el número, N, de veces seleccionado. De esta manera, el nuevo punto 147 de referencia puede considerarse “correlacionado” con el punto 146 de referencia en la nueva ubicación.
Puede repetirse el proceso de moverse a otra ubicación lo más cerca posible a la ubicación 140 deseada y las operaciones realizadas a la vez que se encuentra en esta otra ubicación, como se describió anteriormente. Este tipo de movimiento y procesamiento puede repetirse hasta que el robot 106 móvil haya alcanzado la ubicación 140 deseada dentro de las tolerancias seleccionadas. Este tipo de proceso puede reducir el error general asociado con mover el robot 106 móvil a partir de la ubicación 138 inicial a la ubicación 140 deseada dentro de las tolerancias seleccionadas, en comparación con mover el robot 106 móvil sin usar el número de puntos 142 de referencia y observar cada punto de referencia a partir del número de puntos 142 de referencia un número, N, de veces seleccionado.
Con referencia ahora a la Figura 2, se representa una ilustración de la pluralidad de sistemas 128 de datos de la Figura 1 en la forma de un diagrama de bloques de acuerdo con una realización ilustrativa. Como se representa, la pluralidad
de sistemas 128 de datos puede incluir el número de sistemas 134 de datos abordo y el número de sistemas 136 de datos fuera de borda.
En este ejemplo ilustrativo, la pluralidad de sistemas 128 de datos puede incluir la unidad 202 de medición inercial, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual, el sistema 210 de detección y medición de luz, el sistema 212 de posicionamiento global interior, el sistema 214 de captura de movimiento y el sistema 216 láser. La unidad 202 de medición inercial, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual y el sistema 210 de detección y medición de luz pueden ser parte del número de sistemas 134 de datos a bordo. El sistema 212 de posicionamiento global interior, el sistema 214 de captura de movimiento y el sistema 216 láser pueden ser parte del número de sistemas 136 de datos fuera de borda.
En este ejemplo ilustrativo, la unidad 202 de medición inercial puede medir el desplazamiento relativo del robot 106 móvil dentro del entorno 100 detectando la velocidad, la orientación y la aceleración. La unidad 202 de medición inercial puede generar el flujo 203 de datos que puede enviarse al controlador 114 como uno de los flujos 127 de datos. Dependiendo de la manera en la cual se implemente la unidad 202 de medición inercial, el flujo 203 de datos puede considerarse uno del número del primer tipo de flujos 132 de datos o uno del número del segundo tipo de flujos 130 de datos.
El sistema 204 de odometría de color y profundidad puede usarse para proporcionar datos de color y datos de profundidad para el entorno 100. El sistema 206 de odometría de rueda puede usarse para medir el desplazamiento relativo del robot 106 móvil dentro del entorno 100 cuando el sistema 110 de movimiento en la Figura 1 incluye ruedas. El sistema 208 de odometría visual puede usar cámaras para estimar el desplazamiento relativo del robot 106 móvil dentro del entorno 100. El sistema 210 de detección y medición de luz puede generar escaneos láser del entorno 100.
Cada uno del sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual y el sistema 210 de detección y medición de luz pueden ubicarse completamente a bordo del robot 106 móvil. En un ejemplo ilustrativo, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual y el sistema 210 de detección y medición de luz pueden generar el flujo 205 de datos, el flujo 207 de datos, el flujo 209 de datos y el flujo 211 de datos, respectivamente, que pueden enviarse al controlador 114 como parte de los flujos 127 de datos. En este ejemplo ilustrativo, cada uno del flujo 205 de datos, el flujo 207 de datos, el flujo 209 de datos y el flujo 211 de datos puede incluirse en el número del primer tipo de flujos 132 de datos o en el número del segundo tipo de flujos 130 de datos, dependiendo de implementación. En este ejemplo ilustrativo, cada uno del flujo 205 de datos, el flujo 207 de datos, el flujo 209 de datos y el flujo 211 de datos pueden incluirse en el número del segundo tipo de flujos 130 de datos.
En otros ejemplos ilustrativos, uno o más del flujo 205 de datos, el flujo 207 de datos, el flujo 209 de datos y el flujo 211 de datos generados por el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual y el sistema 210 de detección y medición de luz, respectivamente, pueden ser enviados al localizador y al mapeador 218. El localizador y mapeador 218 puede implementarse dentro del controlador 114 en la Figura 1 o por separado del controlador 114, dependiendo de la implementación.
Además, el localizador y mapeador 218 pueden tomar la forma del localizador y mapeador 220 bidimensional o el localizador y mapeador 222 tridimensional, dependiendo de la implementación. En algunos casos, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual, el sistema 210 de detección y medición de luz, y el localizador y mapeador 218 pueden formar juntos el sistema 224 de localización y mapeo. El sistema 224 de localización y mapeo puede considerarse un sistema de datos a bordo en el número de sistemas 134 de datos a bordo.
El localizador y mapeador 218 pueden configurarse para estimar simultáneamente un mapa métrico del entorno 100 y una estimación de una pose del robot 106 móvil dentro de este mapa métrico con base en todos los flujos de datos recibidos en el localizador y el mapeador 218. El mapa métrico puede ser bidimensional o tridimensional, dependiendo de la implementación. En un ejemplo ilustrativo, el localizador y mapeador 218 pueden denominarse un sistema de localización y mapeo simultáneo (SLAM). En estos ejemplos, la estimación del mapa métrico del entorno 100 y la estimación de pose del robot 106 móvil dentro de este mapa métrico pueden enviarse en la forma de flujo 213 de datos al controlador 114 en la Figura 1 como uno de los flujos 127 de datos. El flujo 213 de datos puede ser uno del número del primer tipo de flujos 132 de datos o uno del número del segundo tipo de flujos 130 de datos.
En este ejemplo ilustrativo, el sistema 212 de posicionamiento global interior incluye el número de dispositivos 226 de sensor, el número de transmisores 228 y el servidor 230. El número de transmisores 228 pueden ubicarse fuera de borda, a la vez que el número de dispositivos 226 de sensor pueden ubicarse a bordo del robot 106 móvil.
El número de transmisores 228 pueden configurarse para generar el número de señales 229 luminosas. El número de señales 229 luminosas puede incluir al menos una de una señal láser, una señal infrarroja o algún otro tipo de señal luminosa. El número de dispositivos 226 sensores puede ser pasivo y usarse para detectar el número de señales 229 luminosas transmitidas a partir del número de transmisores 228. El número de dispositivos 226 sensores puede enviar datos 231 luminosos sobre el número detectado de señales 229 luminosas al servidor 230.
El servidor 230 puede configurarse para usar estos datos para estimar la pose del robot 106 móvil dentro del entorno 100 a lo largo del tiempo. Las estimaciones generadas a lo largo del tiempo pueden formar el flujo 233 de datos que puede enviarse al controlador 114 como uno de los flujos 127 de datos. El flujo 233 de datos puede ser uno del número del primer tipo de flujos 132 de datos o uno del número del segundo tipo de flujos 130 de datos, dependiendo de la implementación. El servidor 230 puede estar ubicado fuera de borda. De esta manera, el servidor 230 puede ser una fuente de datos fuera de borda la cual hace que el sistema 212 de posicionamiento global interior sea uno del número de sistemas 136 de datos fuera de borda.
El sistema 214 de captura de movimiento puede incluir el objetivo 232 de captura de movimiento, el sistema 234 de captura de imágenes y el servidor 236 de captura de movimiento. El objetivo 232 de captura de movimiento puede ser pasivo y estar ubicado a bordo del robot 106 móvil. El sistema 234 de captura de imágenes puede ubicarse fuera de borda dentro del entorno 100 en la Figura 1 y usarse para generar datos 235 de captura de movimiento para y rastrear el objetivo 232 de captura de movimiento. Los datos 235 de captura de movimiento generados por el sistema 214 de captura de movimiento pueden enviarse al servidor 236 de captura de movimiento para su posterior procesamiento.
El servidor 236 de captura de movimiento puede entonces enviar datos 235 de captura de movimiento en la forma de flujo 237 de datos al controlador 114 como uno de los flujos 127 de datos. En algunos casos, el servidor 236 de captura de movimiento puede procesar datos 235 de captura de movimiento para formar el flujo 237 de datos. El flujo 237 de datos puede ser uno del número del primer tipo de flujos 132 de datos o uno del número del segundo tipo de flujos 130 de datos, dependiendo de la implementación. El servidor 236 de captura de movimiento puede ubicarse fuera de borda dentro del entorno 100. De esta manera, el servidor 236 de captura de movimiento puede considerarse una fuente de datos fuera de borda, lo cual hace que el sistema 214 de captura de movimiento sea uno del número de sistemas 136 de datos fuera de borda.
Como se muestra, el sistema 216 láser puede incluir el objetivo 238 láser y el sensor 240 láser. El objetivo 238 láser puede ser pasivo y estar ubicado a bordo del robot 106 móvil. El sensor 240 láser puede ubicarse fuera de borda dentro del entorno 100 y usarse para rastrear el movimiento del objetivo 238 láser. El sensor 240 láser puede medir la posición del objetivo 238 láser y procesar estos datos para generar una estimación de una pose del robot 106 móvil, la cual puede formar el flujo 241 de datos a lo largo del tiempo. El flujo 241 de datos puede ser uno del número del primer tipo de flujos 132 de datos o uno del número del segundo tipo de flujos 130 de datos, dependiendo de la implementación. El sensor 240 láser puede enviar el flujo 241 de datos al controlador 114 como uno de los flujos 127 de datos.
De esta manera, se pueden usar diversos tipos de sistemas y dispositivos de sensor para generar flujos 127 de datos. El número del segundo tipo de flujos 130 de datos en los flujos 127 de datos puede procesarse por el modificador 120 en la Figura 1 para formar el número de flujos 129 de datos modificados. En conjunto, el número de flujos 129 de datos modificados en la Figura 1 y el número del primer tipo de flujos 132 de datos pueden formar una pluralidad de flujos 126 de datos en la Figura 1 utilizados por el estimador 118 de pose para generar una estimación 122 de pose.
Con referencia ahora a la Figura 3, se representa una ilustración de los componentes de la pluralidad de sistemas 128 de datos que se encuentran a bordo y los componentes de la pluralidad de sistemas 128 de datos que se encuentran fuera de borda como se describe en la Figura 2 de acuerdo con una realización ilustrativa. Como se muestra, algunos de los componentes de la pluralidad de sistemas 128 de datos de la Figura 2 están ubicados a bordo 300, a la vez que otros componentes de la pluralidad de sistemas 128 de datos de la Figura 2 están ubicados fuera 302 de borda. En la Figura 3, a bordo 300 significa a bordo del robot 106 móvil en la Figura 1 y fuera 302 de borda significa fuera de borda con respecto al robot 106 móvil en la Figura 1.
En particular, la unidad 202 de medición inercial, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual, el sistema 210 de detección y medición de luz, y el localizador y mapeador 218 de la Figura 2 se encuentran a bordo 300. Además, el número de dispositivos 226 de sensor, el objetivo 232 de captura de movimiento y el objetivo 238 láser de la Figura 2 también se encuentran a bordo 300. El número de transmisores 228, el servidor 230, el sistema 234 de captura de imágenes, el servidor 236 de captura de movimiento y el sensor 240 láser pueden ubicarse fuera de borda.
En un ejemplo ilustrativo, el sistema 204 de odometría de color y profundidad, el sistema 206 de odometría de rueda, el sistema 208 de odometría visual y el sistema 210 de detección y medición de luz envían el flujo 205 de datos, el flujo 207 de datos, el flujo 209 de datos y el flujo 211 de datos, respectivamente, al localizador y mapeador 218. El localizador y mapeador 218 pueden usar entonces estos flujos de datos para formar el flujo 213 de datos y enviar el flujo 213 de datos al controlador 114 de la Figura 1, el cual se encuentra también a bordo 300. La unidad 202 de medición inercial puede enviar el flujo 203 de datos directamente al controlador 114. En este ejemplo ilustrativo, estos flujos de datos pueden enviarse al controlador 114 utilizando cualquier número de enlaces de comunicaciones por cable o inalámbricas.
Además, el servidor 230, el servidor 236 de captura de movimiento y el sensor 240 láser pueden enviar el flujo 233 de datos, el flujo 237 de datos y el flujo 241 de datos al controlador 114. En este ejemplo ilustrativo, estos flujos de datos pueden enviarse al controlador 114 de manera inalámbrica.
Un flujo de datos que se envía al controlador 114 puede ser recibido por el estimador 118 de pose si el flujo de datos es un primer tipo de flujo de datos en el número del primer tipo de flujos 132 de datos en la Figura 1 o el modificador 120 si el flujo de datos es un segundo tipo de flujo de datos en el número del segundo tipo de flujo 130 de datos en la Figura 1.
Las ilustraciones del entorno 100 en la Figura 1, la pluralidad de sistemas 128 de datos en la Figura 2 y los componentes ubicados a bordo 300 y fuera 302 de borda en la Figura 3 no implican limitaciones físicas o arquitectónicas a la manera en la cual se puede implementar una realización ilustrativa. Se pueden usar otros componentes además o en lugar de los que se ilustran. Algunos componentes pueden ser opcionales. Además, los bloques se presentan para ilustrar algunos componentes funcionales. Uno o más de estos bloques se pueden combinar, dividir o combinar y dividir en diferentes bloques cuando se implementan en una realización ilustrativa.
Con referencia ahora a la Figura 4, se representa una ilustración de un entorno de fabricación de acuerdo con una realización ilustrativa. En este ejemplo ilustrativo, el entorno 400 de fabricación puede ser un ejemplo de una implementación para el entorno 101 de fabricación en la Figura 1. Como se muestra, el ala 402 de la aeronave puede fabricarse dentro del entorno 400 de fabricación. El ala 402 de la aeronave puede ser un ejemplo de una implementación para el objeto 103 en la Figura 1.
Los robots 404 móviles pueden usarse para realizar las operaciones necesarias para fabricar el ala 402 de la aeronave. Los robots 404 móviles pueden ser un ejemplo de una implementación para el número de plataformas 102 móviles en la Figura 1. En este ejemplo ilustrativo, los robots 404 móviles pueden ser configurados para moverse en el piso 406 del entorno 400 de fabricación. Cada uno de los robots 404 móviles puede ser capaz de identificar su posición dentro y navegar a través del entorno 400 de fabricación.
Con referencia ahora a la Figura 5, se representa una ilustración de un robot móvil de acuerdo con una realización ilustrativa. En este ejemplo ilustrativo, el robot 500 móvil puede ser un ejemplo de una implementación para el robot 106 móvil en la Figura 1. Además, el robot 500 móvil puede ser un ejemplo de una manera en la cual puede implementarse cada uno de los robots 404 móviles en la Figura 4.
Como se muestra, el robot 500 móvil puede incluir la base 502, el sistema 504 de movimiento y una pluralidad de dispositivos 506. En este ejemplo ilustrativo, la pluralidad de dispositivos 506 puede incluir un sistema 508 de detección y medición de luz, un sistema 510 de odometría de color y profundidad, y objetivos 512. El sistema 508 de detección y medición de luz puede ser un ejemplo de una implementación para el sistema 210 de detección y medición de luz en la Figura 2. El sistema 510 de odometría de color y profundidad puede ser un ejemplo de una implementación para el sistema 204 de odometría de color y profundidad en la Figura 2 Los objetivos 512 pueden ser un ejemplo de una implementación para el objetivo 232 de captura de movimiento y el objetivo 238 láser en la Figura 2.
Las ilustraciones de las Figuras 4 a 5 no pretenden implicar limitaciones físicas o arquitectónicas a la manera en la cual se puede implementar una realización ilustrativa. Se pueden usar otros componentes además o en lugar de los que se ilustran. Algunos componentes pueden ser opcionales.
Los diferentes componentes que se muestran en las Figuras 4 a 5 pueden ser ejemplos ilustrativos de cómo los componentes que se muestran en forma de bloque en las Figuras 1 a 3 pueden implementarse como estructuras físicas. Además, algunos de los componentes en las Figuras 4 a 5 pueden combinarse con componentes en las Figuras 1 a 3, usarse con componentes en las Figuras 1 a 3, o una combinación de los dos.
Con referencia ahora a la Figura 6, se muestra una ilustración de un proceso para generar una estimación de pose para una plataforma móvil en un entorno en la forma de un diagrama de flujo de acuerdo con una realización ilustrativa. El proceso que se ilustra en la Figura 6 puede implementarse para gestionar el movimiento del número de plataformas 102 móviles en la Figura 1.
El proceso puede comenzar generando una pluralidad de flujos 126 de datos en la cual la pluralidad de flujos 126 de datos incluye el número del primer tipo de flujos 132 de datos y el número del segundo tipo de flujos 130 de datos (operación 600). A continuación, la distribución 137 de probabilidad se puede aplicar a cada uno del número del segundo tipo de flujos 130 de datos para formar el número de flujos 129 de datos modificados (operación 602).
Después de eso, el número del primer tipo de flujos 132 de datos y el número de flujos 129 de datos modificados pueden fusionarse para generar una estimación 122 de pose para la plataforma 104 móvil con respecto al entorno 100 alrededor de la plataforma 104 móvil con un nivel deseado de precisión (operación 604), con el proceso que termina después. En la operación 604, la fusión puede significar usar técnicas de estimación Bayesianas para generar una estimación 122 de pose.
Con referencia ahora a la Figura 7, se muestra una ilustración de un proceso para guiar un robot móvil dentro de un entorno de fabricación en la forma de un diagrama de flujo de acuerdo con una realización ilustrativa. El proceso que se ilustra en la Figura 7 puede implementarse para gestionar el movimiento del robot 106 móvil dentro del entorno 101 de fabricación en la Figura 1. En particular, el proceso en la Figura 7 puede usarse para reducir el error al mover el robot 106 móvil a lo largo de la ruta 117 en el entorno 100.
El proceso puede comenzar identificando la ubicación 140 deseada a la cual se debe mover el robot 106 móvil (operación 700). A continuación, se usa un sistema de sensor del sistema 144 de datos a bordo para el robot 106 móvil para buscar el punto 146 de referencia en el entorno 100, a la vez que el robot 106 móvil está en una ubicación actual (operación 702). A continuación, se observa el punto de referencia actual en el entorno 100 un número seleccionado de veces usando el sistema de sensor del sistema 144 de datos a bordo con el robot 106 móvil en la ubicación actual (operación 704). A continuación, el sistema 144 de datos a bordo identifica una distancia relativa inicial entre la ubicación actual del robot 106 móvil y el punto de referencia actual (operación 706). En la operación 706, esta identificación puede ser una estimación.
Posteriormente, el robot 106 móvil se mueve a una nueva ubicación lo más lejos posible hacia la dirección de la ubicación 140 deseada para el robot 106 móvil sin perder el punto de referencia actual en el campo de visión del sistema de sensor del sistema 144 de datos a bordo (operación 708). El punto de referencia actual se vuelve a observar un número seleccionado de veces usando el sistema de sensor del sistema 144 de datos a bordo, a la vez que el robot 106 móvil está en la nueva ubicación (operación 710). El sistema 144 de datos a bordo identifica una nueva distancia relativa entre la nueva ubicación del robot 106 móvil y el punto de referencia actual (operación 712). En la operación 712, esta identificación puede ser una estimación.
El sistema 144 de datos a bordo calcula la diferencia entre la distancia relativa inicial y la nueva distancia relativa (operación 714). Luego se identifica una estimación de la nueva ubicación del robot 106 móvil utilizando la diferencia (operación 716). Luego se determina si la nueva ubicación está en la ubicación 140 deseada dentro de las tolerancias seleccionadas (operación 718). Si la nueva ubicación está en la ubicación 140 deseada dentro de las tolerancias seleccionadas, el proceso finaliza.
De lo contrario, el sistema 144 de datos a bordo busca un nuevo punto 147 de referencia, a la vez que está en la nueva ubicación (operación 720). A la vez que está en la nueva ubicación, el sistema 144 de datos a bordo observa entonces el nuevo punto 147 de referencia el número seleccionado de veces usando el sistema de sensor del sistema 144 de datos a bordo (operación 722). El sistema 144 de datos a bordo identifica entonces una distancia relativa entre la nueva ubicación del robot 106 móvil y el nuevo punto 147 de referencia (operación 722). En la operación 722, esta identificación puede ser una estimación. De esta manera, el nuevo punto 147 de referencia puede considerarse “correlacionado” con el punto 146 de referencia en la nueva ubicación. Luego, el proceso vuelve a identificar el nuevo punto 147 de referencia como el punto de referencia actual, la nueva ubicación como la ubicación actual y la distancia relativa como la distancia relativa inicial (operación 724), y el proceso vuelve a la operación 708 como se describió anteriormente.
Volviendo ahora a la Figura 8, se muestra una ilustración de un sistema de procesamiento de datos en la forma de un diagrama de bloques de acuerdo con una realización ilustrativa. El sistema 800 de procesamiento de datos puede usarse para implementar el controlador 114 en la Figura 1. Como se muestra, el sistema 800 de procesamiento de datos incluye el marco 802 de comunicaciones, el cual proporciona comunicaciones entre la unidad 804 de procesador, los dispositivos 806 de almacenamiento, la unidad 808 de comunicaciones, la unidad 810 de entrada/salida, y la pantalla 812. En algunos casos, el marco 802 de comunicaciones puede implementarse como un sistema de bus.
La unidad 804 de procesador está configurada para ejecutar instrucciones para que el software realice un número de operaciones. La unidad 804 de procesador puede comprender un número de procesadores, un núcleo multiprocesador y/o algún otro tipo de procesador, dependiendo de la implementación. En algunos casos, la unidad 804 de procesador puede tomar la forma de una unidad de hardware, tal como un sistema de circuito, un circuito integrado de aplicación específica (ASIC), un dispositivo lógico programable o algún otro tipo adecuado de unidad de hardware.
Las instrucciones para el sistema operativo, aplicaciones y/o programas ejecutados por la unidad 804 de procesador pueden ubicarse en dispositivos 806 de almacenamiento. Los dispositivos 806 de almacenamiento pueden estar en comunicación con la unidad 804 de procesador a través del marco 802 de comunicaciones. Como se usa en este documento, un dispositivo de almacenamiento, también conocido como dispositivo de almacenamiento legible por ordenador, es cualquier pieza de hardware capaz de almacenar información de manera temporal y/o permanente. Esta información puede incluir, pero no se limita a, datos, código de programa y/u otra información.
La memoria 814 y el almacenamiento 816 persistente son ejemplos de dispositivos 806 de almacenamiento. La memoria 814 puede tomar la forma de, por ejemplo, una memoria de acceso aleatorio o algún tipo de dispositivo de almacenamiento volátil o no volátil. El almacenamiento 816 persistente puede comprender cualquier número de componentes o dispositivos. Por ejemplo, el almacenamiento 816 persistente puede comprender un disco duro, una memoria flash, un disco óptico regrabable, una cinta magnética regrabable o alguna combinación de los anteriores. Los medios utilizados por el almacenamiento 816 persistente pueden o no ser desmontables.
La unidad 808 de comunicaciones permite que el sistema 800 de procesamiento de datos se comunique con otros sistemas y/o dispositivos de procesamiento de datos. La unidad 808 de comunicaciones puede proporcionar comunicaciones utilizando enlaces de comunicaciones físicas y/o inalámbricas.
La unidad 810 de entrada/salida permite que la entrada se reciba y la salida se envíe a otros dispositivos conectados al sistema 800 de procesamiento de datos. Por ejemplo, la unidad 810 de entrada/salida puede permitir que la entrada
del usuario se reciba a través de un teclado, un ratón, y/o algún otro tipo de dispositivo de entrada. Como otro ejemplo, la unidad 810 de entrada/salida puede permitir que la salida se envíe a una impresora conectada al sistema 800 de procesamiento de datos.
La pantalla 812 está configurada para mostrar información a un usuario. La pantalla 812 puede comprender, por ejemplo, sin limitación, un monitor, una pantalla táctil, una pantalla láser, una pantalla holográfica, un dispositivo de pantalla virtual y/o algún otro tipo de dispositivo de pantalla.
En este ejemplo ilustrativo, los procesos de las diferentes realizaciones ilustrativas pueden realizarse mediante la unidad 804 de procesador usando instrucciones implementadas por ordenador. Estas instrucciones pueden denominarse código de programa, código de programa utilizable por ordenador o código de programa legible por ordenador y pueden ser leídos y ejecutados por uno o más procesadores en la unidad 804 de procesador.
En estos ejemplos, el código 818 de programa está ubicado en una forma funcional en un medio 820 legible por ordenador, el cual es desmontable selectivamente, y puede cargarse en o transferirse al sistema 800 de procesamiento de datos para su ejecución por la unidad 804 de procesador. El código 818 de programa y los medios 820 legibles por ordenador juntos forman el producto 822 de programa informático. En este ejemplo ilustrativo, los medios 820 legibles por ordenador pueden ser medios 824 de almacenamiento legibles por ordenador o medios 826 de señal legibles por ordenador.
El medio 824 de almacenamiento legible por ordenador es un dispositivo de almacenamiento físico o tangible utilizado para almacenar el código 818 de programa en lugar de un medio que propaga o transmite el código 818 de programa. El medio 824 de almacenamiento legible por ordenador puede ser, por ejemplo, un dispositivo óptico o disco magnético o un dispositivo de almacenamiento persistente que está conectado al sistema 800 de procesamiento de datos.
Alternativamente, el código 818 de programa puede transferirse al sistema 800 de procesamiento de datos usando medios 826 de señal legibles por ordenador. Los medios 826 de señal legibles por ordenador pueden ser, por ejemplo, una señal de datos propagada que contiene el código 818 de programa. Esta señal de datos puede ser una señal electromagnética, una señal óptica y/o algún otro tipo de señal que puede transmitirse a través de enlaces de comunicaciones físicas y/o inalámbricas.
La ilustración del sistema 800 de procesamiento de datos en la Figura 8 no pretende proporcionar limitaciones arquitectónicas a la manera en la cual se pueden implementar las realizaciones ilustrativas. Las diferentes realizaciones ilustrativas pueden implementarse en un sistema de procesamiento de datos que incluye componentes además de o en lugar de los que se ilustran para el sistema 800 de procesamiento de datos. Además, los componentes que se muestran en la Figura 8 pueden variar de los ejemplos ilustrativos mostrados.
Los diagramas de flujo y los diagramas de bloques en las diferentes realizaciones representadas ilustran la arquitectura, la funcionalidad y el funcionamiento de algunas implementaciones posibles de aparatos y métodos en una realización ilustrativa. A este respecto, cada bloque en los diagramas de flujo o diagramas de bloques puede representar un módulo, un segmento, una función y/o una porción de una operación o etapa.
En algunas implementaciones alternativas de una realización ilustrativa, la función o funciones indicadas en los bloques pueden producirse fuera del orden indicado en las figuras. Por ejemplo, en algunos casos, dos bloques mostrados en sucesión pueden ejecutarse de manera sustancialmente simultánea, o los bloques a veces pueden realizarse en el orden inverso, dependiendo de la funcionalidad involucrada. Además, se pueden agregar otros bloques además de los bloques ilustrados en un diagrama de flujo o diagrama de bloques.
Se pueden describir realizaciones ilustrativas de la divulgación en el contexto del método 900 de fabricación y servicio de aeronaves como se muestra en la Figura 9 y la aeronave 1000 como se muestra en la Figura 10. Volviendo primero a la Figura 9, se muestra una ilustración de un método de fabricación y servicio de aeronaves en la forma de diagrama de bloques de acuerdo con una realización ilustrativa. Durante la preproducción, el método 900 de fabricación y servicio de aeronaves puede incluir la especificación y el diseño 902 de la aeronave 1000 en la Figura 10 y la adquisición 904 de material.
Durante la producción, tiene lugar la fabricación 906 de componentes y subconjuntos y la integración 908 del sistema de la aeronave 1000 en la Figura 10. A partir de entonces, la aeronave 1000 en la Figura 10 puede pasar por la certificación y la entrega 910 con el fin de ser puesta en servicio 912. A la vez que está en servicio 912 por un cliente, la aeronave 1000 en la Figura 10 está programada para el mantenimiento y el servicio 914 de rutina, lo cual puede incluir modificaciones, reconfiguración, renovación y otro mantenimiento o servicio.
Cada uno de los procesos de fabricación de aeronaves y método 900 de servicio puede realizarse o llevarse a cabo por un integrador de sistemas, un tercero y/o un operador. En estos ejemplos, el operador puede ser un cliente. Para los fines de esta descripción, un integrador de sistemas puede incluir, sin limitación, cualquier número de fabricantes de aeronaves y subcontratistas de sistemas principales; un tercero puede incluir, sin limitación, cualquier número de vendedores, subcontratistas y proveedores; y un operador puede ser una aerolínea, una empresa de arrendamiento financiero, una entidad militar, una organización de servicios, etc.
Con referencia ahora a la Figura 10, se muestra una ilustración de una aeronave en la forma de un diagrama de bloques en la cual se puede implementar una realización ilustrativa. En este ejemplo, la aeronave 1000 se produce mediante la fabricación de aeronaves y el método 900 de servicio en la Figura 9 y puede incluir el fuselaje 1002 con una pluralidad de sistemas 1004 y el interior 1006. Los ejemplos de sistemas 1004 incluyen uno o más del sistema 1008 de propulsión, el sistema 1010 eléctrico, el sistema 1012 hidráulico y el sistema 1014 ambiental. Se puede incluir cualquier número de otros sistemas. Aunque se muestra un ejemplo aeroespacial, se pueden aplicar diferentes realizaciones ilustrativas a otras industrias, tales como la industria automotriz.
Los aparatos y métodos incorporados en este documento pueden emplearse durante al menos una de las etapas de fabricación de aeronaves y el método 900 de servicio en la Figura 9. En particular, se pueden usar un número de plataformas 102 móviles durante cualquiera de las etapas de fabricación de aeronaves y el método 900 de servicio. Por ejemplo, sin limitación, se puede usar el número de plataformas 102 móviles para realizar operaciones durante al menos uno de la fabricación 906 de componentes y subconjuntos, la integración 908 de sistemas, el mantenimiento y servicio 914 de rutina, o alguna otra etapa de fabricación de aeronaves y método 900 de servicio.
En un ejemplo ilustrativo, los componentes o subconjuntos producidos en la fabricación 906 de componentes y subconjuntos en la Figura 9 pueden fabricarse o manufacturarse de manera similar a los componentes o subconjuntos producidos a la vez que la aeronave 1000 está en servicio 912 en la Figura 9. Como aún otro ejemplo, una o más realizaciones del aparato, realizaciones del método, o una combinación de las mismas pueden utilizarse durante las etapas de producción, tales como la fabricación 906 de componentes y subconjuntos y la integración 908 de sistemas en la Figura 9. Una o más realizaciones del aparato, realizaciones del método, o una combinación de las mismas se utilizará a la vez que la aeronave 1000 está en servicio 912 y/o durante el mantenimiento y el servicio 914 en la Figura 9. El uso de un número de las diferentes realizaciones ilustrativas puede acelerar sustancialmente el ensamblaje y/o reducir el coste de la aeronave 1000.
La descripción de las diferentes realizaciones ilustrativas se han presentado con fines ilustrativos y descriptivos, y no pretende ser exhaustiva ni limitada a las realizaciones en la forma divulgada. Diversas modificaciones y variaciones serán evidentes para los expertos en la técnica. Además, diferentes realizaciones ilustrativas pueden proporcionar diferentes características en comparación con otras realizaciones deseables. La realización o las realizaciones seleccionadas se eligen y describen para explicar mejor los principios de las realizaciones, la aplicación práctica, y para permitir que otros expertos en la técnica entiendan la divulgación de diversas realizaciones con diversas modificaciones que sean adecuadas para el particular uso contemplado.
Claims (13)
1. Un aparato que comprende:
una pluralidad de sistemas (128) de datos configurados para generar una pluralidad de flujos (126) de datos en la cual la pluralidad de flujos de datos incluye un primer tipo de flujo (132) de datos y un segundo tipo de flujo (130) de datos, en donde cada punto de datos en el primer tipo de flujo de datos incluye una medición de incertidumbre, y en donde cada punto de datos en el segundo tipo de flujo de datos no incluye una medición de incertidumbre;
un modificador (120) configurado para aplicar una distribución (137) de probabilidad al segundo tipo de flujo de datos para formar un flujo (135) de datos modificado; y
un estimador (118) de pose ubicado a bordo de una plataforma (104) móvil y configurado para recibir y fusionar el primer tipo de flujo de datos y el flujo de datos modificado para generar una estimación (122) de pose con un nivel deseado de precisión para la plataforma móvil con respeto a un entorno (100) alrededor de la plataforma móvil; en donde el aparato está configurado para:
observar un punto de referencia actual en el entorno un número seleccionado de veces utilizando un sistema (134) de datos a bordo, a la vez que la plataforma móvil está en una ubicación actual;
identificar una distancia relativa inicial entre la ubicación actual de la plataforma móvil y el punto de referencia actual; y
mover la plataforma móvil a partir de la ubicación actual a una nueva ubicación lo más lejos posible hacia una ubicación deseada sin perder el punto de referencia actual dentro de un campo de visión de un sistema de sensor del sistema de datos a bordo.
2. El aparato de la reivindicación 1, en donde al menos uno del número del segundo tipo de flujos de datos se recibe a partir de un sistema de odometría en la pluralidad de sistemas de datos.
3. El aparato de una cualquiera de las reivindicaciones 1 a 2, en donde la pluralidad de sistemas de datos incluye un número de sistemas de datos a bordo y un número de sistemas de datos fuera de borda.
4. El aparato de una cualquiera de las reivindicaciones 1 a 3, en donde la estimación de pose comprende una posición y una orientación de la plataforma móvil con respecto al entorno.
5. El aparato de una cualquiera de las reivindicaciones 1 a 4, en donde la plataforma móvil es un robot móvil y el entorno es un entorno de fabricación.
6. El aparato de una cualquiera de las reivindicaciones 1 a 5, en donde el estimador de pose está configurado para fusionar el número del primer tipo de flujos de datos y el número de flujos de datos modificados usando un algoritmo de estimación Bayesiano para generar la estimación de pose.
7. El aparato de una cualquiera de las reivindicaciones 1 a 6 comprende, además:
un controlador configurado para usar la estimación de pose para guiar la plataforma móvil a lo largo de una ruta dentro del entorno.
8. Un método para guiar una plataforma (104) móvil dentro de un entorno (100), comprendiendo el método: generar un primer tipo de flujo (132) de datos y un segundo tipo de flujo (130) de datos usando una pluralidad de sistemas (128) de datos, en donde cada punto de datos en el primer tipo de flujo de datos incluye una medición de incertidumbre, y en donde cada punto de datos en el segundo tipo de flujo de datos no incluye una medición de incertidumbre;
aplicar una distribución (137) de probabilidad al segundo tipo de flujo de datos para formar un flujo (135) de datos modificado;
fusionar el primer tipo de flujo de datos y el flujo de datos modificado para generar una estimación (122) de pose con un nivel deseado de precisión para la plataforma móvil con respecto al entorno alrededor de la plataforma móvil; observar un punto de referencia actual en el entorno un número seleccionado de veces utilizando un sistema (134) de datos a bordo, a la vez que la plataforma móvil está en una ubicación actual;
identificar una distancia relativa inicial entre la ubicación actual de la plataforma móvil y el punto de referencia actual; y
mover la plataforma móvil a partir de la ubicación actual a una nueva ubicación lo más lejos posible hacia una ubicación deseada sin perder el punto de referencia actual dentro de un campo de visión de un sistema de sensor del sistema de datos a bordo.
9. El método de la reivindicación 8 comprende además:
guiar la plataforma móvil a lo largo de una ruta en el entorno utilizando la estimación de pose generada para la plataforma móvil.
10. El método de la reivindicación 8 o la reivindicación 9, en donde aplicar la distribución de probabilidad a cada uno del número del segundo tipo de flujos de datos para formar el número de flujos de datos modificados comprende: aplicar una covarianza empírica a cada punto de datos en cada uno de los números del segundo tipo de flujos de datos para formar el número de flujos de datos modificados.
11. El método de una cualquiera de las reivindicaciones 8 a 10, en donde fusionar el número del primer tipo de flujos de datos y el número de flujos de datos modificados comprende: fusionar el número del primer tipo de flujos de datos y el número de flujos de datos modificados utilizando un algoritmo de estimación Bayesiano para generar la estimación de pose con el nivel deseado de precisión.
12. El método de cualquiera de las reivindicaciones 8 a 11, en donde generar el número del primer tipo de flujos de datos y el número del segundo tipo de flujos de datos comprende:
generar el número del segundo tipo de flujos de datos usando al menos un sistema de odometría de color y profundidad, un sistema de odometría de rueda, un sistema de odometría visual, un sistema de detección y medición de luz, o un localizador y mapeador.
13. El método de una cualquiera de las reivindicaciones 8 a 12, comprende, además:
volver a observar el punto de referencia actual el número seleccionado de veces usando el sistema de datos a bordo; identificar una nueva distancia relativa entre la nueva ubicación de la plataforma móvil y el punto de referencia actual; calcular una diferencia entre la distancia relativa inicial y la nueva distancia relativa; e
identificar la nueva ubicación de la plataforma móvil en el entorno utilizando la diferencia.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/243,419 US9427867B2 (en) | 2014-04-02 | 2014-04-02 | Localization within an environment using sensor fusion |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2770730T3 true ES2770730T3 (es) | 2020-07-02 |
Family
ID=53682434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15162043T Active ES2770730T3 (es) | 2014-04-02 | 2015-03-31 | Localización dentro de un entorno usando fusión de sensores |
Country Status (9)
Country | Link |
---|---|
US (1) | US9427867B2 (es) |
EP (1) | EP2927769B1 (es) |
JP (1) | JP6804825B2 (es) |
KR (1) | KR102359186B1 (es) |
CN (1) | CN104977941B (es) |
BR (1) | BR102015007157B1 (es) |
CA (1) | CA2883622C (es) |
ES (1) | ES2770730T3 (es) |
PT (1) | PT2927769T (es) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015160828A1 (en) | 2014-04-15 | 2015-10-22 | Huntington Ingalls Incorporated | System and method for augmented reality display of dynamic environment information |
US9734403B2 (en) * | 2014-04-25 | 2017-08-15 | Huntington Ingalls Incorporated | Augmented reality display of dynamic target object information |
US9864909B2 (en) | 2014-04-25 | 2018-01-09 | Huntington Ingalls Incorporated | System and method for using augmented reality display in surface treatment procedures |
US10915754B2 (en) | 2014-06-09 | 2021-02-09 | Huntington Ingalls Incorporated | System and method for use of augmented reality in outfitting a dynamic structural space |
WO2015191346A1 (en) | 2014-06-09 | 2015-12-17 | Huntington Ingalls Incorporated | System and method for augmented reality display of electrical system information |
US10504294B2 (en) | 2014-06-09 | 2019-12-10 | Huntington Ingalls Incorporated | System and method for augmented reality discrepancy determination and reporting |
WO2016011149A1 (en) | 2014-07-16 | 2016-01-21 | Huntington Ingalls Incorporated | System and method for augmented reality display of hoisting and rigging information |
CN105180955A (zh) * | 2015-10-21 | 2015-12-23 | 福州华鹰重工机械有限公司 | 机动车实时精准定位方法及装置 |
SG11201806820UA (en) | 2016-03-09 | 2018-09-27 | Applied Materials Inc | Correction of fabricated shapes in additive manufacturing |
CN105938619A (zh) * | 2016-04-11 | 2016-09-14 | 中国矿业大学 | 一种融合RGB和Depth信息的视觉里程计实现方法 |
US10353400B2 (en) | 2016-05-23 | 2019-07-16 | Asustek Computer Inc. | Navigation system and navigation method |
CN106227220A (zh) * | 2016-09-28 | 2016-12-14 | 关健生 | 基于分布式框架的自主导航巡检机器人 |
CN107160419A (zh) * | 2017-06-09 | 2017-09-15 | 东华大学 | 一种肌电信号控制的机械手运动机构 |
CN109866217B (zh) * | 2017-12-01 | 2021-09-17 | 深圳市优必选科技有限公司 | 机器人里程定位方法、装置、终端设备及计算机存储介质 |
JP7167982B2 (ja) * | 2018-05-31 | 2022-11-09 | 日本電気株式会社 | 出力装置、出力方法及び出力プログラム |
DE102018121365A1 (de) * | 2018-08-31 | 2020-04-23 | RobArt GmbH | Exploration eines robotereinsatzgebietes durch einen autonomen mobilen roboter |
US11314254B2 (en) * | 2019-03-26 | 2022-04-26 | Intel Corporation | Methods and apparatus for dynamically routing robots based on exploratory on-board mapping |
CN110286682A (zh) * | 2019-07-08 | 2019-09-27 | 国网山东省电力公司枣庄供电公司 | 一种电力仓储多功能安防探测机器人、方法及系统 |
KR102259247B1 (ko) * | 2019-12-06 | 2021-06-01 | 한국로봇융합연구원 | 공분산 행렬 기반의 다중 위치인식 결과 융합을 통한 강화 위치인식 방법과 시스템 |
KR20230058652A (ko) | 2020-09-01 | 2023-05-03 | 세바 테크놀러지, 인크. | 광학 흐름, 휠 인코더 및 관성 측정 유닛을 구비한 평면 로봇 추측 항법 |
FR3119142A1 (fr) * | 2021-01-25 | 2022-07-29 | Transdev Group Innovation | Procédé de circulation d’un véhicule sur des voies de circulation, programme d’ordinateur, support d’informations et système de transport associés |
CN113955136B (zh) * | 2021-09-02 | 2024-04-05 | 浙江图盛输变电工程有限公司温州科技分公司 | 一种电网自动巡检无人机目标挂点校准中转站 |
KR102695683B1 (ko) * | 2021-12-30 | 2024-08-19 | 서울대학교산학협력단 | 회전식 라이다를 이용한 고속 움직임에 강인한 오도메트리 방법 및 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0570581B1 (en) * | 1991-11-01 | 2001-12-05 | Motorola, Inc. | An improved accuracy sensory system for vehicle navigation |
JP2004133882A (ja) * | 2002-05-10 | 2004-04-30 | Royal Appliance Mfg Co | 自律性マルチプラットフォーム・ロボットシステム |
US7145478B2 (en) * | 2002-12-17 | 2006-12-05 | Evolution Robotics, Inc. | Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system |
KR100506097B1 (ko) * | 2004-02-04 | 2005-08-03 | 삼성전자주식회사 | 자기장 지도 생성 방법 및 장치와 이를 활용한 이동체의포즈 확인 방법 및 장치 |
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 |
US7831094B2 (en) * | 2004-04-27 | 2010-11-09 | Honda Motor Co., Ltd. | Simultaneous localization and mapping using multiple view feature descriptors |
JP4686595B2 (ja) * | 2005-03-17 | 2011-05-25 | 本田技研工業株式会社 | クリティカルポイント解析に基づくポーズ推定 |
US7539557B2 (en) * | 2005-12-30 | 2009-05-26 | Irobot Corporation | Autonomous mobile robot |
KR100809352B1 (ko) * | 2006-11-16 | 2008-03-05 | 삼성전자주식회사 | 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치 |
US8351646B2 (en) * | 2006-12-21 | 2013-01-08 | Honda Motor Co., Ltd. | Human pose estimation and tracking using label assignment |
KR100877071B1 (ko) | 2007-07-18 | 2009-01-07 | 삼성전자주식회사 | 파티클 필터 기반의 이동 로봇의 자세 추정 방법 및 장치 |
CN101576384B (zh) * | 2009-06-18 | 2011-01-05 | 北京航空航天大学 | 一种基于视觉信息校正的室内移动机器人实时导航方法 |
WO2011052826A1 (ko) * | 2009-10-30 | 2011-05-05 | 주식회사 유진로봇 | 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법 |
CN101712381B (zh) * | 2009-11-13 | 2013-01-02 | 北京航空航天大学 | 一种基于多敏感器的定姿系统 |
US8401242B2 (en) * | 2011-01-31 | 2013-03-19 | Microsoft Corporation | Real-time camera tracking using depth maps |
US8401225B2 (en) | 2011-01-31 | 2013-03-19 | Microsoft Corporation | Moving object segmentation using depth images |
-
2014
- 2014-04-02 US US14/243,419 patent/US9427867B2/en active Active
-
2015
- 2015-02-27 CA CA2883622A patent/CA2883622C/en active Active
- 2015-03-18 KR KR1020150037245A patent/KR102359186B1/ko active IP Right Grant
- 2015-03-30 BR BR102015007157-4A patent/BR102015007157B1/pt active IP Right Grant
- 2015-03-31 EP EP15162043.2A patent/EP2927769B1/en active Active
- 2015-03-31 PT PT151620432T patent/PT2927769T/pt unknown
- 2015-03-31 ES ES15162043T patent/ES2770730T3/es active Active
- 2015-03-31 JP JP2015071009A patent/JP6804825B2/ja active Active
- 2015-04-02 CN CN201510154609.9A patent/CN104977941B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP2927769A2 (en) | 2015-10-07 |
PT2927769T (pt) | 2020-02-14 |
CA2883622A1 (en) | 2015-10-02 |
BR102015007157A2 (pt) | 2016-03-29 |
KR102359186B1 (ko) | 2022-02-04 |
EP2927769A3 (en) | 2016-07-20 |
JP2015197925A (ja) | 2015-11-09 |
US9427867B2 (en) | 2016-08-30 |
EP2927769B1 (en) | 2019-12-04 |
BR102015007157B1 (pt) | 2021-07-27 |
CN104977941B (zh) | 2019-04-30 |
CA2883622C (en) | 2017-07-11 |
JP6804825B2 (ja) | 2020-12-23 |
US20150283700A1 (en) | 2015-10-08 |
CN104977941A (zh) | 2015-10-14 |
KR20150114892A (ko) | 2015-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2770730T3 (es) | Localización dentro de un entorno usando fusión de sensores | |
Langelaan | State estimation for autonomous flight in cluttered environments | |
Zingg et al. | MAV navigation through indoor corridors using optical flow | |
KR101439921B1 (ko) | 비젼 센서 정보와 모션 센서 정보를 융합한 모바일 로봇용 slam 시스템 | |
US11726501B2 (en) | System and method for perceptive navigation of automated vehicles | |
CN105759829A (zh) | 基于激光雷达的微型无人机操控方法及系统 | |
Siegwart et al. | Autonomous mobile robots | |
Langelaan et al. | Towards autonomous UAV flight in forests | |
Mulgaonkar et al. | The tiercel: A novel autonomous micro aerial vehicle that can map the environment by flying into obstacles | |
Agarwal et al. | Exploiting sensor fusion for mobile robot localization | |
Mai et al. | Local positioning system using UWB range measurements for an unmanned blimp | |
Frew et al. | Adaptive receding horizon control for vision-based navigation of small unmanned aircraft | |
Madhevan et al. | Modelling, simulation and mechatronics design of a wireless automatic fire fighting surveillance robot | |
Alaeddini et al. | Autonomous state estimation using optic flow sensing | |
Karakaya et al. | Development of a human tracking indoor mobile robot platform | |
Dorj et al. | Multi-sensor fusion based effective obstacle avoidance and path-following technology | |
Moon et al. | Development of large-scale 3d map generation system for indoor autonomous navigation flight–work in progress | |
Roumeliotis et al. | Reliable mobile robot localization | |
Cho et al. | 3D pose and target position estimation for a quadruped walking robot | |
Sondermann et al. | Improved Mobile Robot Localization Using Semantic World Models | |
Tkocz et al. | Metric velocity, landmark distance and attitude estimation utilizing monocular camera images and gravity biased IMU data | |
Bassolillo et al. | Enhanced Attitude and Altitude Estimation for Indoor Autonomous UAVs. Drones 2022, 6, 18 | |
Demim et al. | Unmanned Aerial Vehicle Localization Using an Advanced Technique Based on the Smooth Variable Structure Filter | |
Batayneh et al. | An Extended Kalman Filter-Based Simultaneous Localization and Mapping Algorithm for Omnidirectional Indoor Mobile Robot | |
Reckoning et al. | Mobile Robotics-Core Problems |