ES2968924T3 - Método, sistema y producto de programa informático de control de vehículos aéreos no tripulados - Google Patents
Método, sistema y producto de programa informático de control de vehículos aéreos no tripulados Download PDFInfo
- Publication number
- ES2968924T3 ES2968924T3 ES20383175T ES20383175T ES2968924T3 ES 2968924 T3 ES2968924 T3 ES 2968924T3 ES 20383175 T ES20383175 T ES 20383175T ES 20383175 T ES20383175 T ES 20383175T ES 2968924 T3 ES2968924 T3 ES 2968924T3
- Authority
- ES
- Spain
- Prior art keywords
- drone
- virtual
- facility
- virtual model
- server
- 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
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000033001 locomotion Effects 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 33
- 238000009434 installation Methods 0.000 claims abstract description 29
- 238000003384 imaging method Methods 0.000 claims description 18
- 241000282414 Homo sapiens Species 0.000 claims description 12
- 230000004807 localization Effects 0.000 claims description 9
- 238000013135 deep learning Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000011105 stabilization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 241000714197 Avian myeloblastosis-associated virus Species 0.000 description 2
- 101150037717 Mavs gene Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- -1 dimensions Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000003562 lightweight material Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/104—Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Se divulga un método implementado por computadora para controlar la navegación de al menos un dron. El método comprende: desde cada dron que navega en una instalación (10), y equipado con un sensor de imágenes, enviar una pluralidad de imágenes a un servidor (30) a través de una interfaz de comunicaciones inalámbricas (152); en el servidor (30): recibir las fotografías y obtener un modelo virtual 3D de la instalación (10) en la que navega el dron, comprendiendo el modelo virtual 3D, para cada dron: un primer dron virtual situado dentro del modelo virtual 3D en una posición y orientación calculadas a partir de las imágenes recibidas, representando dicha posición y orientación la posición y orientación del dron; y un segundo dron virtual ubicado dentro del modelo virtual 3D en una posición y orientación objetivo que representa la posición y orientación que debe alcanzar el dron; para cada dron, enviar al dron al menos una orden de movimiento (416, 417) para alcanzar el punto en la instalación (10) que corresponde a la ubicación del segundo dron virtual en el modelo virtual 3D; navegando el al menos un dron según al menos un comando de movimiento (416, 417) y, desde la nueva ubicación del al menos un dron (15, 15_1, ... 15_N), enviando al menos una imagen capturada por el sensor de imágenes (156) al servidor (30); en el servidor (30): a partir de información extraída de las imágenes enviadas por cada dron, actualizando el modelo virtual 3D de la instalación (10) y la ubicación de cada primer dron virtual en el modelo virtual 3D, de tal forma que cambia en la instalación (10) capturada por al menos una imagen se refleja en el modelo virtual 3D; y repetir los pasos anteriores hasta que el dron alcance la posición y orientación del segundo dron virtual como se define en el modelo virtual 3D. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método, sistema y producto de programa informático de control de vehículos aéreos no tripulados
Campo técnico
La presente invención se refiere al campo de los vehículos aéreos no tripulados y, en particular, a métodos y sistemas para el control remoto de los mismos. La invención es aplicable, entre otros campos, a entornos industriales que implican, por ejemplo, la ubicación de contenedores retornables, inventario de existencias, ubicación de artículos, búsqueda de brechas o vigilancia.
Estado de la técnica
Varias necesidades industriales, tales como la ubicación de contenedores retornables, inventario de existencias, ubicación de artículos, búsqueda de brechas o vigilancia son labores parcialmente o no totalmente automatizadas en las que aún se requiere la presencia humana. Técnicas basadas en sensores de RFID, código QR o ad-hoc contribuyen a la automatización de los entornos industriales en los que se utilizan. Sin embargo, todavía están lejos de lograr la automatización completa.
Se espera que los vehículos aéreos no tripulados marquen la diferencia con respecto a la automatización en entornos industriales. Por ejemplo, el documento US10373116B2, que se refiere a dispositivos de inventario inteligentes, divulga un dron aéreo que tiene un sensor de formación de imágenes para capturar imágenes de inventario. En otras propuestas, los vehículos aéreos no tripulados se usan para tomar imágenes de un área con el fin de crear un entorno remoto, virtual en 3D que representa la zona física sobre la que navegan los vehículos. Por ejemplo, en el documento KR101992672B1, esta técnica se usa para evaluar el impacto visual de las líneas de transmisión en el paisaje. Un enfoque similar se divulga en el documento CN109360287A para gestionar la inspección de líneas de transmisión. En el documento CN109917813A, se crea un modelo virtual en 3D de un área física, para que un operador pueda observar de forma remota el funcionamiento de un dron en el área física. En el documento US10192354B2 se crea un modelo en 3D de un emplazamiento base celular a partir de fotos o vídeos capturados por un vehículo aéreo no tripulado que navega sobre el emplazamiento base celular.
Los documentos US2020/034620, US2018/094935, US2020/250850 y US2014/336928 divulgan diferentes técnicas usadas en la técnica.
Sin embargo, en ciertos escenarios, especialmente en interiores, en el que los vehículos aéreos no tripulados habitualmente navegan en las proximidades de seres humanos, es necesario controlar con mucha precisión la posición de los vehículos aéreos para evitar accidentes. Por otra parte, los vehículos no tripulados en escenarios interiores deben ser ligeros debido a la alta densidad habitual de obstáculos. Sin embargo, los vehículos no tripulados ligeros no pueden transportar grandes sistemas de detección y un potente sistema de procesamiento, normalmente requerido para evitar rápidamente la colisión con objetos o muebles. Este es el caso, por ejemplo, de instalaciones industriales, en el que los objetos o muebles a menudo se mueven dentro de la instalación, aumentando aún más el riesgo de colisión.
Descripción de la invención
La invención se expone en las reivindicaciones independientes 1 y 8 y en las reivindicaciones dependientes.
La presente invención tiene como objetivo superar las dificultades mencionadas anteriormente asociadas con el control de vehículos aéreos no tripulados. La presente invención proporciona un método y sistema implementados por ordenador para controlar la navegación de uno o más drones, que permiten realizar aplicaciones industriales tanto en escenarios interiores como exteriores sin requerir intervención humana o requiriendo una intervención humana menor. Los drones pueden ser vehículos aéreos no tripulados o microvehículos aéreos. Se pueden gestionar de forma remota.
En el contexto de la presente invención, el término vehículo aéreo no tripulado (también denominado vehículo aéreo desenganchado) (UAV) es una aeronave sin piloto humano a bordo. En el contexto de la presente invención, el término microvehículo aéreo o micro vehículo aéreo (MAV) es un tipo de UAV en miniatura que tiene una restricción de tamaño y puede ser autónomo. Los MAV disponibles en el mercado actuales pueden ser tan pequeños como unos pocos centímetros, con aeronaves del tamaño de un insecto según se informa esperadas en el futuro. Los UAV y MAV pueden ser autónomos o no autónomos. Los drones usados en la presente invención operan de forma autónoma.
El método es capaz de controlar uno o más drones simultáneamente. El uno o más drones están configurados para realizar tareas complejas, tales como la búsqueda e identificación de productos, identificación de obstáculos y reconocimiento de códigos, entre otras. Estas tareas son ejecutadas por un servidor informático, que gestiona la posición, el movimiento y el funcionamiento de los drones.
Los drones son de tamaño relativamente pequeño y, por lo tanto, ligeros, por lo tanto, adecuados para operar en entornos de trabajo mientras los seres humanos están en la misma ubicación/área. En otras palabras, las tareas realizadas por operadores humanos no necesitan interrumpirse durante la navegación de los drones. Los drones pueden tener, por ejemplo, cuatro rotores. Como un ejemplo, el peso máximo de los drones puede ser de aproximadamente 250 gramos (g, 10-3 kg), tal como aproximadamente 200 g, o 150 g, o 100 g, o 50 g. El peso máximo del dron se debe principalmente al equipo o componentes que lleva. Los vehículos no tripulados de tamaño pequeño habitualmente no pueden transportar mucho peso, por lo que habitualmente están equipados con un número relativamente bajo de sensores (por ejemplo, un sensor de formación de imágenes y, opcionalmente, otros sensores, tales como un sensor de altura y/o un sensor de profundidad) y una capacidad de procesamiento relativamente baja configurada para controlar el vuelo del dron, manteniéndolo estable (por ejemplo, capaz de mantener el dron horizontal y capaz de permitir la rotación (guiñada, cabeceo y balanceo) dentro de un cierto intervalo. El peso mínimo de los drones viene dado por la capacidad tecnológica para miniaturizar componentes electrónicos y obtener materiales ligeros. Como un ejemplo, existen drones de unos pocos gramos, y se espera que su peso se reduzca aún más en los próximos años. En resumen, el método y el sistema propuestos son especialmente adecuados para controlar drones que, debido a su peso y tamaño, no pueden transportar varios sensores y grandes capacidades informáticas. Por otra parte, debido a su tamaño y peso, dichos drones ligeros son especialmente adecuados para operar en entornos donde también están presentes seres humanos. En consecuencia, debido a su potencia de procesamiento limitada y a la presencia de pocos sensores (por ejemplo, solo un sensor de formación de imágenes), habitualmente son más difíciles de manejar, estabilizar y ubicar que los drones que tienen más potencia informática y tipos de sensores que facilitan el pilotaje.
Los drones están equipados con un controlador de vuelo implementado por medios de procesamiento que tienen una capacidad de procesamiento relativamente baja. El controlador de vuelo se implementa preferentemente mediante un único chip informático, tal como una unidad de microcontrolador (MCU), equipada con procesador, RAM, ROM, reloj y unidad de control de E/S. El procesador puede ser un procesador ARM. Los drones tienen equipo a bordo para transmisión de vídeo. Cada dron está equipado con al menos una unidad de medición inercial (IMU) para la autoestabilización del dron, un sensor de formación de imágenes (por ejemplo, una cámara) y un equipo de comunicaciones que incluye interfaces de comunicación inalámbrica para enviar imágenes al servidor informático remoto. La IMU habitualmente está instalada o integrada en el controlador de vuelo, esto es, en los medios de procesamiento del dron. Los datos de las IMU se procesan normalmente a bordo (dentro de los medios de procesamiento del dron), para la autoestabilización del dron. El sensor de formación de imágenes es, por ejemplo, una cámara RGB. El equipo de comunicaciones y las interfaces operan en cualquier protocolo de comunicaciones inalámbricas convencional, tal como control por radio, 3,5G, 4G, 5G, WiFi, o protocolos patentados inalámbricos, o cualquier otra tecnología disponible). No se requiere equipo de GPS. Otros sensores de formación de imágenes diferentes de una cámara RGB, tales como sensores de profundidad, sensores de altura, sensores láser, lidar o cámaras adicionales, tampoco son necesarios, pero pueden usarse opcionalmente para capturar datos que pueden usarse por el método de control de uno o más drones en una instalación. Lo mismo se aplica al equipo de GPS.
El control del al menos un dron implica el control de la ubicación del dron, la ruta del dron y la ubicación de los obstáculos. Esto se hace desde un servidor informático, tal como un servidor informático remoto, configurado para recibir, procesar y usar datos (información) enviados por el al menos un dron. El servidor informático puede usar opcionalmente datos (información) enviados por otros sistemas diferentes de los drones.
La conexión entre un dron y el servidor informático se realiza a través de interfaces de comunicación inalámbrica comprendidas en ambos extremos (en el dron y en el servidor informático remoto). Ejemplos no limitativos de interfaces y equipos de comunicaciones son control por radio, 3,5G, 4G, 5G, WiFi o cualquier otra tecnología disponible. A través de esta interfaz (o diferentes interfaces) cada dron envía imágenes y opcionalmente otros datos de sensor al servidor informático y el servidor informático envía instrucciones (por ejemplo, comandos de movimiento) a cada dron. El al menos un dron captura preferentemente una secuencia de imágenes (secuencia de vídeo) de forma continua y la envía al servidor de forma continua.
A partir de las imágenes (imágenes RGB) capturadas en el al menos un dron y enviadas al servidor informático, se crea un modelo virtual en 3D de la instalación dentro de o sobre la que navega el al menos un dron. Opcionalmente, además de las imágenes capturadas en el al menos un dron, también se puede usar información adicional para crear el modelo virtual en 3D, tal como: información proporcionada por otros sensores, tales como sensores de altura o profundidad, u otras cámaras, o sensores láser, con los que están equipados el uno o más drones (esta información se envía al servidor informático a través de una interfaz de comunicaciones inalámbrica), y/u otra información proporcionada por un equipo diferente al dron. Por ejemplo, información proporcionada por sistemas de captura de movimiento, cámaras y/u otros sensores, no portados por los drones, puede usarse para construir el modelo virtual en 3D. Los sensores proporcionados por este equipo pueden ser, por ejemplo, medios de localización ubicados en diferentes puntos fijos en la instalación y/o medios de localización ubicados en dispositivos móviles presentes en la instalación. Ejemplos no limitativos de dispositivos móviles que pueden estar equipados con sensores o sistemas de localización son mesas de trabajo, robots, máquinas, depósitos de herramientas, estantes, vehículos u otros. Esta información se envía al servidor informático remoto a través de interfaces de comunicación inalámbrica, tales como las ya enumeradas. Ejemplos no limitativos de información adicional que puede recibirse opcionalmente en el servidor, que puede contribuir a mejorar la localización del dron, son: la distancia desde el dron hasta el suelo, la distancia entre el dron y otros objetos, información GPS y orientación del dron. Esta información adicional opcional es capturada por otros sensores que pueden estar comprendidos en el dron, tales como sensores de altura y/o sensores de profundidad.
Por ejemplo, el modelo virtual en 3D de la instalación comprende una pluralidad de elementos o dispositivos virtuales que representan una pluralidad de elementos o dispositivos reales correspondientes de la instalación. El modelo virtual en 3D es una representación digital del entorno o instalación de trabajo real. En realizaciones de la invención, la primera vez que se ejecuta el método se puede usar un modelo virtual en 3D previamente definido, de tal manera que el modelo ya existente se actualiza cada vez que se reciben imágenes enviadas desde el dron, y opcionalmente otra información capturada por otro equipo, en el servidor informático remoto. En realizaciones alternativas de la invención, la primera vez que se ejecuta el método, se crea un modelo virtual en 3D desde cero, lo que significa que se crea un modelo virtual en 3D a partir de las imágenes enviadas por primera vez desde el dron y, opcionalmente, a partir de otra información capturada por otro equipo. En realizaciones de la invención, para crear o actualizar el modelo virtual en 3D, la única información requerida del mundo real son las imágenes RGB enviadas por el dron.
Dentro del servidor remoto, o en un equipo de hardware separado, diferentes entidades cooperan para realizar el método de control de la invención. Las entidades ilustrativas son un generador de modelos en 3d , un motor de ruta y un motor de orquestación de drones. Para crear o actualizar el modelo virtual en 3D, no es necesario extraer características o cualquier otra información de las imágenes RGB a bordo. No se requiere en el dron ningún procesamiento o preprocesamiento de las imágenes capturadas por el sensor de formación de imágenes con el que está equipado el dron. En su lugar, el procesamiento requerido se realiza en el servidor informático remoto a partir de las imágenes RGB recibidas (y opcionalmente a partir de la información adicional ya mencionada obtenida de cámaras externas y/o de otros medios de localización ubicados en puntos fijos en la instalación y/o en dispositivos móviles). Con la pluralidad de imágenes recibidas y, opcionalmente, la información adicional mencionada de otros equipos en el entorno real, el modelo virtual en 3D del entorno real se crea (o actualiza) usando cualquier tecnología que permita la creación de un modelo en 3D a partir de imágenes RGB. Ejemplos no limitativos de estas tecnologías son: algoritmos SLAM (localización y mapeo simultáneos), fotogrametría, visión por ordenador, aprendizaje profundo, escaneo en 3D o modeliización clásica a partir de planos, entre otras. Con respecto al escaneo en 3D, usa una nube de puntos obtenidos usando una fuente láser. Se puede usar el escaneo en 3D, por ejemplo, en una etapa inicial en la que se crea un primer modelo en 3D del entorno y en la que el equipo en la instalación se reconoce e incorpora en el modelo en 3D.
Los algoritmos de SLAM permiten, por ejemplo, generar u obtener un sistema de coordenadas o sistema de referencia y, por lo tanto, un origen de coordenadas en las diferentes imágenes capturadas por un dron. El origen de coordenadas en las diferentes imágenes permite obtener la ubicación de pose 6D del dron en cada imagen. Con esta información, el modelo virtual en 3D se puede crear o actualizar. También se pueden usar técnicas de visión por ordenador, que, identificando patrones únicos de elementos fijos (con una localización, posición y orientación específicas) dentro de la instalación, el sistema de coordenadas (y, por lo tanto, el origen de las coordenadas del mismo) de todo el sistema, se puede actualizar. También por ejemplo, la plataforma ARCore, desarrollada por Google, se basa en la comprensión ambiental y el seguimiento de movimiento, que se puede obtener a partir de las imágenes capturadas y/o mediante información de las IMU y/u otros sensores, para crear un sistema de coordenadas. En realizaciones de la invención, diferentes modelos en 3D generados a partir de información capturada por respectivos diferentes drones o sistemas externos pueden combinarse para formar un único modelo o mapa en 3D. En realizaciones de la invención, una vez que se genera el modelo en 3D a partir de la información capturada por un dron, se puede usar información de sistemas externos (tales como UWB o captura de movimiento) para localizar en el modelo en 3D aquellos elementos equipados con medios de localización). Preferentemente, la generación y actualización de modelos en 3D se realiza de forma automática (sin intervención humana).
El modelo virtual en 3D se crea o actualiza en tiempo real. En el contexto de la presente invención, el término tiempo real se refiere a un tiempo comprendido dentro de un intervalo que varía entre un valor mínimo Vmín y un valor superior de 1 minuto, tal como un intervalo que varía entre un valor mínimo Vmín y un valor superior de 30 segundos, un intervalo que varía entre un valor mínimo Vmín y un valor superior de 15 segundos, o un intervalo que varía entre un valor mínimo Vmín y un valor superior de 5 segundos. Teniendo en cuenta la tecnología actual, el valor mínimo Vmín puede ser, por ejemplo, pero sin limitación, 10 ms (milisegundos, 10-3 segundos). No obstante, un experto en la materia entenderá que la evolución de la tecnología puede permitir reducir el valor mínimo Vmín del intervalo a un valor mínimo inferior a 10 ms, tal como un valor mínimo de 1 ms, un valor mínimo de 500 ps, un valor mínimo de 100 ps, un valor mínimo de 20 ps o un valor mínimo de 1 ps. El modelo virtual en 3D se actualiza preferentemente varias veces por minuto con las imágenes posteriores enviadas por el uno o más drones.
Una vez que se crea o actualiza el modelo virtual en 3D, para cada dron real en el entorno real, se crean (dibujan) dos drones virtuales en el modelo virtual en 3D. Uno de los drones virtuales (primer dron virtual) representa la ubicación y orientación del dron real, esto es, este dron virtual representa un dron real que está navegando dentro de o sobre la instalación. El otro dron virtual (segundo dron virtual) representa la ubicación y orientación objetivo para el dron real. Hay tantos pares de drones virtuales como drones reales navegando sobre la instalación. Los dos drones virtuales pueden representarse como un punto en el modelo en 3D, preferentemente con una indicación de posición y orientación. En cada instante de tiempo, los primeros drones virtuales están ubicados en una posición (x, y, z) y orientación (guiñada, cabeceo, balanceo) respectivas dentro del modelo virtual en 3D. El modelo virtual en 3D, junto con los drones virtuales, se denomina gemelo digital del mundo real (ubicación real dentro de o sobre la que navegan el dron o drones). En otras palabras, el término gemelo digital o gemelo virtual se refiere a la representación virtual de un entorno y los drones que navegan en el mismo.
El gemelo digital puede definirse como una representación accionable digitalmente del mundo real. El gemelo digital es accionable en ambos sentidos, lo que significa que los cambios en el mundo real (por ejemplo, los movimientos del uno o más drones o cambios en la ubicación de elementos dentro de la instalación) afectan a la representación digital (primer dron virtual) de dicha realidad, que se actualiza cuando se reciben nuevas imágenes, y cambios en el gemelo digital (por ejemplo, los cambios en la ubicación del uno o más segundos drones virtuales) fuerzan cambios en el mundo real recalculando la posición objetivo de los drones reales. La posición y orientación de cada primer dron virtual en un determinado instante de tiempo corresponden a la posición y orientación del dron real en la instalación según se obtiene (usando una tecnología que permite la localización en el modelo en 3D a partir de imágenes RGB) por ejemplo a partir de una o más imágenes enviadas por el dron real.
El modelo virtual en 3D, incluyendo los drones virtuales, se actualiza en tiempo real, lo que significa que la localización con 6 DoF (grados de libertad) del al menos un dron se actualiza en tiempo real. Preferentemente, la localización con 6 DoF de otros componentes de la instalación, tales como componentes móviles (tales como mesas de trabajo, robots, máquinas, depósitos de herramientas, estantes, vehículos u otros) también se actualiza en tiempo real. La localización de estos componentes comprendidos en la instalación se lleva a cabo a partir de diferente información, tal como de imágenes recopiladas por el al menos un dron y de información proporcionada por sistemas externos. _Preferentemente, al menos algunos de estos componentes están equipados con medios de localización, que permiten y contribuyen al seguimiento de los componentes y la actualización de su ubicación en el modelo virtual en 3D. Ejemplos no limitativos de medios de localización con los que pueden equiparse componentes de la instalación son cámaras, sistemas de captura de movimiento y banda ultra ancha (normalmente usados con balizas estáticas en el entorno y un sensor en el dron), entre otros. Cualquier otro cambio en el entorno de trabajo real (instalación) que puede detectarse por la cámara del al menos un dron también se actualiza en tiempo real en el modelo virtual en 3<d>. A continuación, en el servidor informático remoto, un punto en 3D de destino al que debe ir el primer dron virtual, se define en el modelo virtual en 3D. En el punto en 3D de destino, se ubica el segundo dron virtual. Para cada dron virtual, el servidor informático remoto calcula y envía al dron real, los movimientos requeridos que el dron real debe realizar para alcanzar la ubicación objetivo. El servidor informático remoto siempre tiene en cuenta el modelo virtual en 3D actualizado y la ubicación actualizada del primer dron virtual en el modelo virtual en 3D (tanto el modelo virtual en 3D como el primer dron virtual están siendo actualizados continuamente en tiempo real). En otras palabras, el servidor informático remoto calcula y envía instrucciones (comandos de movimiento) a un dron real a partir de los datos recibidos del dron real (imágenes y opcionalmente otra información) y desde el dron virtual y el modelo virtual en 3D. Estas instrucciones son instrucciones para que el dron real ajuste su posición y orientación (6 DoF: posición XYZ y rotación GUIÑADA CABECEO BALANCEO), de tal manera que se sincroniza con el primer dron virtual lo más rápido posible. Con el envío posterior de comandos o instrucciones de movimiento desde el servidor informático remoto al uno o más drones, cada dron puede alcanzar su posición objetivo (de modo que el primer dron virtual coincida con el segundo dron virtual) para realizar la tarea para la que se ha programado o configurado.
Para calcular o computar los movimientos que un dron necesita realizar para alcanzar una posición objetivo (a su vez para realizar una tarea), el servidor informático remoto puede usar diferentes técnicas, tal como un motor de inferencia configurado para calcular una ruta, o un modelo de Inteligencia Artificial (IA), o un motor de enrutamiento que implementa técnicas de enrutamiento clásicas. El módulo para calcular los movimientos del dron puede implementarse en el servidor informático remoto o separarse del mismo (por ejemplo, en un medio de procesamiento ubicado remotamente con respecto al servidor informático remoto). El módulo (por ejemplo, motor de inferencia o modelo de IA) puede haber sido entrenado con técnicas de aprendizaje por refuerzo para calcular la mejor ruta posible para que un dron alcance un destino objetivo, evitando colisiones, teniendo en cuenta que la topología del entorno de trabajo puede cambiar en cualquier momento.
Por otra parte, centralizar en el servidor informático remoto el tratamiento de toda la información procedente del uno o más drones y, opcionalmente, de sistemas externos adicionales (si los hay), también permite aplicar técnicas de orquestación de enjambres de drones (grupos de drones) para la optimización de planes de vuelo orientados a diferentes tareas.
Cuando un dron real recibe un nuevo comando de movimiento, se mueve (navega) de acuerdo con el comando de movimiento. Desde la nueva ubicación del dron alcanzada después de seguir el comando de movimiento, el dron envía una o más imágenes capturadas por la cámara al servidor remoto. En el servidor remoto, a partir de información extraída de las nuevas imágenes, se actualizan el modelo virtual en 3D de la instalación y la ubicación del primer dron virtual en el modelo virtual en 3D, de tal manera que los cambios en la instalación se reflejan en el modelo virtual en 3D. A continuación, se recalcula la ruta para alcanzar el punto en 3D de destino (representado, por ejemplo, por un segundo dron virtual o dron virtual objetivo), si es necesario, teniendo en cuenta el modelo virtual en 3D actualizado y la nueva ubicación del primer dron virtual en el modelo virtual en 3D. Y se envía al menos un comando de movimiento al dron que navega dentro de o sobre la instalación, para alcanzar el punto de destino en la instalación.
En un primer aspecto de la invención, se divulga n método implementado por ordenador para controlar la navegación de al menos un dron. El método comprende: a partir de al menos un dron que navega dentro de o sobre una instalación, estando equipado el al menos un dron con un sensor de formación de imágenes, enviar una pluralidad de imágenes capturadas por el sensor de formación de imágenes a un servidor a través de una interfaz de comunicaciones inalámbrica; en el servidor: recibir la pluralidad de imágenes y, a partir de las imágenes, obtener un modelo virtual en 3D de la instalación dentro de o sobre la que navega el al menos un dron, comprendiendo el modelo virtual en 3D, para cada dron que navega dentro de o sobre una instalación: un primer dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación calculadas a partir de las imágenes recibidas, representando dicha posición y orientación la posición y orientación del dron que navega dentro de o sobre una instalación; y un segundo dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación objetivo que representa la posición y orientación a alcanzar por el dron que navega dentro de o sobre una instalación; para cada dron que navega dentro de o sobre una instalación, enviar al dron al menos un comando de movimiento para alcanzar el punto en la instalación que corresponde a la ubicación del segundo dron virtual en el modelo virtual en 3D; navegando el al menos un dron de acuerdo con el al menos un comando de movimiento y, desde la nueva ubicación del al menos un dron, imágenes capturadas por el sensor de formación de imágenes al servidor; en el servidor: a partir de la información extraída de las imágenes enviadas por cada dron, actualizar el modelo virtual en 3D de la instalación y la ubicación de cada primer dron virtual en el modelo virtual en 3D, de tal manera que los cambios en la instalación capturados por las imágenes se reflejan en el modelo virtual en 3D; y repetir las etapas de navegar el al menos un dron, dentro de o sobre la instalación de acuerdo con los comandos de movimiento enviados por el servidor, enviar imágenes capturadas por el al menos un dron desde la nueva ubicación al servidor, actualizar el modelo virtual en 3D de la instalación a partir de las imágenes y enviar a cada dron nuevos comandos de movimiento, hasta que el dron en la instalación alcance la posición y orientación del segundo dron virtual como se define en el modelo virtual en 3D.
En realizaciones de la invención, el modelo virtual en 3D comprende además una pluralidad de elementos virtuales que representan una pluralidad de elementos reales correspondientes de la instalación.
En realizaciones de la invención, definir en el modelo virtual en 3D una posición objetivo para cada segundo dron virtual, se realiza por un motor de enrutamiento, calculando el motor de enrutamiento además los movimientos que debe realizar cada dron respectivo, en donde el motor de enrutamiento puede ser un motor de inferencia de enrutamiento, o un motor de enrutamiento que implementa un modelo de Inteligencia Artificial, o un motor de enrutamiento que implementa técnicas de enrutamiento clásicas.
En realizaciones de la invención, el modelo virtual en 3D de la instalación se crea usando una o más de las siguientes técnicas: técnicas de localización y mapeo simultáneos (SLAM), técnicas de visión por ordenador, técnicas basadas en fotogrametría, técnicas de aprendizaje profundo y técnicas basadas en seguimiento de movimiento.
En realizaciones de la invención, para crear el modelo virtual en 3D de la instalación, también se usan datos obtenidos de al menos un sistema externo en la instalación.
En realizaciones de la invención, para crear el modelo virtual en 3D de la instalación, se usan datos obtenidos de otros sensores del al menos un dron, en donde los otros sensores comprenden uno o más de los siguientes: IMU, sensor de altura, sensor de profundidad, otras cámaras, sensores láser y lidar.
En realizaciones de la invención, un operador humano puede interactuar con el modelo virtual en 3D a través de una interfaz hombre-máquina, arrastrando un segundo dron virtual a una ubicación y/u orientación diferente de la que tiene el dron real correspondiente en la instalación real, de modo que el movimiento que debe realizar el dron se vuelve a calcular y los comandos de movimiento se envían al dron real para mover y/o rotar el dron hasta que el primer dron virtual se ajuste a la posición y orientación del segundo dron virtual.
En un segundo aspecto de la invención, se divulga un sistema. El sistema comprende: al menos un dron configurado para navegar dentro de o sobre una instalación, estando equipado el al menos un dron con un sensor de formación de imágenes configurado para capturar una pluralidad de imágenes y una interfaz de comunicaciones inalámbrica configurada para enviar la al menos una imagen capturada; un servidor configurado para: recibir la al menos una imagen y, a partir de la al menos una imagen, obtener un modelo virtual en 3D de la instalación dentro de la que navega el al menos un dron, comprendiendo el modelo virtual en 3D, para cada dron que navega dentro de o sobre una instalación: un primer dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación calculadas a partir de la al menos una imagen recibida; y un segundo dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación objetivo que representa la posición y orientación a alcanzar por el dron que navega dentro de o sobre una instalación; para cada dron que navega dentro de o sobre una instalación, enviar al dron al menos un comando de movimiento para alcanzar el punto en la instalación que corresponde a la ubicación del segundo dron virtual en el modelo virtual en 3D; estando el al menos un dron configurado para navegar de acuerdo con el al menos un comando de movimiento y, desde la nueva ubicación del al menos un dron, enviar al menos una imagen capturada por el sensor de formación de imágenes al servidor; estando configurado el servidor para, a partir de la información extraída de la al menos una imagen enviada por cada dron: actualizar el modelo virtual en 3D de la instalación y la ubicación de cada primer dron virtual en el modelo virtual en 3D, de tal manera que los cambios en la instalación capturados por la al menos una imagen se reflejan en el modelo virtual en 3D; repetir las etapas de navegar el al menos un dron dentro de o sobre la instalación de acuerdo con los comandos de movimiento enviados por el servidor, enviar al menos una imagen capturada por el al menos un dron desde la nueva ubicación al servidor, actualizar el modelo virtual en 3D de la instalación a partir de la al menos una imagen, y enviar a cada dron nuevos comandos de movimiento, hasta que el dron alcance en la instalación la posición y orientación del segundo dron virtual como se define en el modelo virtual en 3D.
En realizaciones de la invención, el al menos un dron comprende además una IMU, estando configurado el al menos un dron para enviar a través de la interfaz de comunicaciones inalámbrica datos capturados por la IMU al servidor.
En realizaciones de la invención, el al menos un dron comprende además un sensor de altura y/o un sensor de profundidad y/u otras cámaras y/o un sensor láser y/o un lidar, estando configurado el al menos un dron para enviar a través de la interfaz de comunicaciones inalámbrica datos capturados por dicho sensor o sensores al servidor.
En realizaciones de la invención, el sistema comprende además al menos un sistema externo configurado para capturar datos y enviar los datos capturados al servidor, de modo que los datos capturados por el al menos un sistema externo contribuyan a la creación del modelo virtual en 3D de la instalación.
En un tercer aspecto de la invención, se proporciona un producto de programa informático que comprende instrucciones/código de programa informático para realizar el método de acuerdo con el primer aspecto de la invención.
En un cuarto aspecto de la invención, se proporciona una memoria/medio legible por ordenador que almacena instrucciones/código de programa para realizar el método de acuerdo con el primer aspecto de la invención.
Las ventajas y características adicionales de la invención resultarán evidentes a partir de la siguiente descripción detallada y se señalarán especialmente en las reivindicaciones adjuntas.
Breve descripción de los dibujos
Para completar la descripción y con el fin de proporcionar una mejor comprensión de la invención, se proporciona un conjunto de dibujos. Dichos dibujos forman parte integral de la descripción e ilustran una realización de la invención, que n deben interpretarse como que restringe el alcance de la invención, sino solo como un ejemplo de cómo puede realizarse la invención. Los dibujos comprenden las siguientes figuras:
La figura 1 ilustra un diagrama de bloques de una instalación dentro de la que varios drones están navegando para realizar tareas bajo el control de un servidor remoto, de acuerdo con realizaciones de la presente invención.
La figura 2 muestra un diagrama de bloques de un dron, incluyendo sistemas ilustrativos de los que puede estar compuesto de acuerdo con realizaciones de la invención.
La figura 3 muestra un diagrama de bloques de un servidor informático que controla un grupo de drones, para lo cual el servidor usa diferentes entidades, tales como un modelo para el cálculo de rutas, un generador de modelos en 3D y, opcionalmente, un motor de orquestación de drones.
La figura 4 muestra un diagrama de flujo del método para controlar uno o más drones, de acuerdo con realizaciones de la invención.
Descripción de una forma de realizar la invención
La figura 1 muestra esquemáticamente una vista superior de una instalación 10 dentro de la que uno o más drones 15 navegan para realizar una tarea respectiva que se les ha asignado. En la realización mostrada, la instalación 10 es una instalación industrial, tal como un almacén, cuyo techo se ha eliminado del dibujo para mostrar el contenido de la instalación. El almacén está equipado con diferentes aparatos o componentes, cuya posición puede ser fija o móvil dentro de la instalación. Por ejemplo, puede haber carretillas elevadoras 11, que normalmente son móviles (se mueven a lo largo del almacén), y estantes 12, que normalmente se colocan en una posición relativamente permanente dentro del almacén. Los estantes 12 normalmente definen pasillos 13 entre o junto a ellos. También puede haber otros dispositivos, tales como robots, muebles, mesas de trabajo, máquinas, depósitos de herramientas, otros vehículos, etc. En la instalación habitualmente hay seres humanos, por ejemplo, operadores que realizan su trabajo. Por otra parte, hay uno o más drones 15 (dos drones en la realización mostrada) para realizar ciertas tareas, tales como inventario, supervisión u otras.
Los drones 15 son normalmente drones ligeros, equipado con un grupo de motor de propulsión, un controlador de vuelo y un controlador de velocidad electrónico (ESC) por motor, que traducen las instrucciones de control en instrucciones precisas enviadas a los motores para controlar el movimiento. Los drones 15 no son autónomos per se. En otras palabras, pueden tener ciertas capacidades a bordo para automatizar ciertas tareas, tales como la autoestabilización del dron, obtenida a través de una unidad de medición inercial (IMU), manteniendo una posición sustancialmente horizontal con respecto al plano definido por el suelo, y/o manteniendo una cierta distancia con respecto al suelo. El funcionamiento autónomo se logra mediante el método propuesto, lo que permite que los drones 15 despeguen, eviten colisiones y alcancen una posición objetivo bajo el control de un servidor remoto.
Un dron 15 se puede representar como se muestra en el diagrama de bloques de la figura 2, que muestra los sistemas de hardware y software dentro. El bloque 159 generalmente representa el grupo de motor de propulsión, incluyendo cualquier componente convencional requerido, tales como motores, rotores (tales como cuatro rotores), etc. Los bloques 152 y 153 muestran equipos o interfaces de transmisión y recepción, respectivamente, para la comunicación inalámbrica con sistemas o dispositivos remotos. Las interfaces 152, 153 están comprendidas en una interfaz de comunicaciones 151. El bloque 154 representa un sistema informático que tiene un procesador 154-1 y una memoria legible por ordenador 154-2. El sistema informático 154 implementa normalmente el controlador de vuelo y el ESC. El procesador 154-1 y la memoria legible por ordenador 154-2 pueden implementarse en un único chip, tal como una unidad de microcontrolador (MCU), equipada con procesador, RAM, ROM, reloj y unidad de control de E/S. El procesador puede ser, por ejemplo, un procesador ARM. El bloque 155 muestra el sistema de sensores del dron. El dron comprende al menos un sensor de imagen 156, tal como una cámara RGB. Por ejemplo, las imágenes capturadas por el sensor de imagen 156 se envían a un servidor informático a través de la interfaz de transmisión 152. Los comandos de movimiento enviados por el servidor informático remoto se reciben mediante la interfaz de recepción 153, desde la que se envían al sistema informático 154. El equipo de comunicaciones y las interfaces 152, 153 pueden comprender equipos de transmisión y recepción configurados para operar en uno o más protocolos de comunicaciones inalámbricas convencionales, tal como control por radio, 3,5G, 4G, 5G, WiFi, protocolos patentados o cualquier otra tecnología disponible. Las interfaces de transmisión y recepción pueden implementar más de un protocolo de comunicaciones. Por ejemplo, se puede enviar vídeo (imágenes) usando un protocolo de comunicaciones diferente del protocolo de comunicaciones usado para enviar otros datos. Las interfaces inalámbricas se pueden implementar con diferentes protocolos de comunicaciones, tales como un protocolo de control por radio para recibir comandos de vuelo, otro protocolo de comunicaciones para enviar vídeo y/u otro protocolo de comunicaciones para enviar otros datos de sensor. Como alternativa, se puede usar un único protocolo de comunicaciones para recibir comandos de vuelo y enviar datos, incluyendo vídeo y otros datos de sensor. El dron también tiene una unidad de medición inercial (IMU) 157 para la autoestabilización del dron. Aunque se muestra como un bloque separado 157, la IMU puede instalarse o integrarse en el controlador de vuelo, esto es, en los medios de procesamiento 154 del dron. Los datos de las IMU se procesan normalmente a bordo (dentro de los medios de procesamiento del dron), para la autoestabilización del dron. El dron puede comprender opcionalmente otros sensores, no mostrados, tales como sensores de altura y/o sensores de profundidad y/o módulo GPS y/u otras cámaras y/o sensores láser y/o lidar. Estos sensores/módulos también pueden enviar datos capturados al servidor informático. El bloque 158 muestra un sistema de alimentación (por ejemplo, una batería).
La figura 1 también muestra un servidor informático 30 que puede estar dentro de la instalación 10 o remoto a la misma, en cuyo caso es un servidor informático remoto. Una persona 20 (tal como una persona responsable del funcionamiento de los drones 15) envía al servidor informático 30 una tarea industrial a completar. Esto puede hacerse, por ejemplo, desde un ordenador ubicado, por ejemplo, en la instalación 10, o desde cualquier otra ubicación desde la que se pueda realizar la supervisión de los drones 15. La persona 20 puede comunicarse directamente con el servidor informático 30 a través de una interfaz hombre-máquina (MMI) o puede comunicarse con el servidor informático 30 desde un ordenador diferente a través de una red de comunicaciones, tal como Internet. Las tareas a enviar al servidor informático 30 pueden ser, por ejemplo, una orden para la comprobación de inventario o cualquier otra tarea. El servidor informático 30 comprende medios de procesamiento, tales como uno o más procesadores. En algunas realizaciones de la invención, el uno o más procesadores del servidor informático 30 incluye uno de: una unidad central de procesamiento o al menos un núcleo de la misma, una unidad de procesamiento de gráficos, un circuito integrado programable en campo tal como una FPGA (es decir, matriz de puertas programables en campo), como acelerador de hardware, o un circuito integrado (por ejemplo, un sistema en chip, un sistema en chip multiprocesador), por ejemplo, Zynq, MPSoC de Xilinx, y una combinación de los mismos. En algunas realizaciones de la invención, el uno o más procesadores del servidor informático 30 incluyen una unidad central de procesamiento de múltiples núcleos.
Una vez que el servidor 30 es consciente de la tarea que deben realizar el uno o más drones 15, se ejecuta el método de control remoto de drones. Para controlar los drones 15, el servidor 30 se comunica con otras unidades, entidades o motores, que pueden estar integrados dentro del hardware del servidor, o pueden estar ubicados de forma remota con respecto al servidor 30. La figura 3 ilustra las entidades con las que se comunica el servidor 30 para lograr el control total de los drones 15. Una de estas entidades es un motor de ruta o gestor de ruta 40, destinado a calcular la ruta o rutas que debe seguir un dron 15 y/o para cambiar topologías con el fin de realizar su(s) tarea(s). En una posible realización, el motor de ruta 40 se basa en entrenamientos de aprendizaje por refuerzo. Otra entidad es un generador de modelos en 3D 50, requerido para crear un modelo o mapa digital de la instalación 10. En una posible realización, el generador de modelos en 3D 50 usa un algoritmo SLAM (localización y mapeo simultáneos) para crear un modelo 3D a partir de las imágenes RGB capturadas y enviadas por el dron 15. Otras tecnologías usadas por el generador de modelos en 3D 50 además de los algoritmos de SLAM, o como alternativa a los mismos, son técnicas basadas en fotogrametría, técnicas de visión por ordenador, técnicas de aprendizaje profundo y técnicas basadas en el seguimiento de movimiento. Otra entidad, que es opcional, es un motor de orquestación de drones 60. El motor de orquestación de drones 60 se requiere cuando hay más de un dron 15 dentro de la instalación 10. Se basa en algoritmos de optimización de ruta. En realizaciones de la invención, el servidor informático 30 recibe datos diferentes de las imágenes capturadas por los drones 15. Por ejemplo, datos de la IMU de dron 157, o información sobre altura o profundidad capturada por sensores de altura o profundidad correspondientes, o datos de GPS, u otros, pueden enviarse al servidor informático 30, y/o datos de sistemas externos a los drones también pueden enviarse al servidor informático 30. Los datos con respecto a la altura o la profundidad del dron no solo pueden usarse para crear el modelo en 3D, sino también por motivos de seguridad, por ejemplo, para garantizar que el dron no colisione con los obstáculos potenciales actuales. Lo mismo se aplica a los datos de IMU, que pueden usarse con fines de seguridad y estabilización. Los sistemas externos pueden ser, por ejemplo, accionadores o medios de detección, tales como medios de localización, medios de seguimiento de movimiento o cámaras ubicadas en diferentes puntos fijos en la instalación (tales como estantes o paredes, generalmente denominados 12 en la figura 1) y/o en dispositivos móviles presentes en la instalación (tales como robots, vehículos o carretillas elevadoras, generalmente denominados como 11 en la figura 1). Los sistemas externos pueden estar equipados, por ejemplo, con tecnología de Banda Ultra Ancha para capturar la posición y orientación de elementos predefinidos (incluyendo los drones). Los datos capturados por estos sistemas externos se envían al servidor informático 30 a través de interfaces de comunicación inalámbrica con las que están equipados tanto el servidor 30 como los sistemas de detección.
Un método para controlar la navegación de uno o más drones en una instalación se representa en el diagrama de flujo de la figura 4. En primer lugar, un operador 20 informa (etapa 401) al servidor 30 sobre las tareas industriales a realizar por los drones (15_1, ..., 15_N en la figura 4). El servidor 30 está compuesto por diferentes módulos, principalmente: un núcleo o sistema de control 35, un motor de ruta 40, un generador de modelos en 3D 50 y un motor de orquestación de drones 60. El mensaje (etapa 401) del operador 20 es recibido por el sistema de control 35 del servidor, que a continuación solicita (etapa 402) que el motor de ruta 40 calcule rutas para cada uno de los drones. La respuesta a esta solicitud (etapa 402) se proporciona en la etapa 415. En realizaciones de la invención, que no se muestran en la figura 4, pueden usarse técnicas de visión por ordenador para inicializar un origen de coordenadas a partir de un patrón o grupo de patrones predefinido al final de un primer vuelo. De este modo, un origen de coordenadas ya está disponible para referencia futura. En una realización de la invención, que no se muestra en la figura 4, el sistema de control 35 ya ha sido provisto de un modelo en 3D pregenerado de la instalación. En este caso, los drones 15_1, ..., 15_N son solicitados por el sistema de control 35 para que trabajen en modo de exploración, lo que significa que deben despegar, empezar a volar y, cuando se acercan a un objeto, comenzar a tomar imágenes y enviarlas al sistema de control 35 para actualizar el modelo en 3D pregenerado. En este caso, la ruta a seguir por cada dron puede calcularse a través de algoritmos de búsqueda clásicos o aplicando aprendizaje por refuerzo. Por ejemplo, el servidor puede conocer la posición inicial de cada dron y los drones pueden haber recibido instrucciones para iniciar un vuelo de exploración simple hasta que se logre la localización completa por el servidor (sistema de control).
El sistema de control 35 también pregunta (etapa 403) al motor de orquestación de drones 60 si se requiere orquestación o no. En realizaciones de la invención, esto solo se hace cuando hay más de un dron. El motor de orquestación de drones 60 indica (etapa 405) qué drones se van a usar. Posteriormente, el motor de orquestación de drones 60 proporciona la ruta para cada dron en la etapa 414.
El sistema de control 35 comprueba a continuación (etapa 404) la disponibilidad con sistemas externos adicionales 16, 17. En particular, el sistema de control 35 solicita qué datos adicionales de los sistemas de localización externos 16, 17 (por ejemplo, recibidos del equipo ubicado dentro de la instalación 10, tal como equipo fijo 12 o equipo móvil 11, que está equipado con un sensor capaz de enviar datos recopilados al servidor 30) están disponibles. El equipo fijo 12 y/o equipo móvil 11 disponibles, equipados con sistemas de localización externos 16, 17 (o con sensores capaces de enviar datos recopilados al servidor 30), envían sus datos recopilados (si han recopilado datos) al sistema de control 35 del servidor en la etapa 410. Como alternativa, puede proporcionarse disponibilidad con sistemas externos adicionales 16, 17 manualmente (por ejemplo, por un operador humano).
El sistema de control 35 del servidor ordena entonces despegar a los drones (etapas 406, 407). Se observa que, como ya se ha explicado, en realizaciones de la invención, los drones ya pueden estar volando en un modo de exploración, en cuyo caso no es necesario enviar la orden de despegue (etapas 406, 407). La orden de despegue se realiza enviando un comando a cada uno de los drones 15_1, 15_N. Estas instrucciones se envían a través de las interfaces de comunicaciones inalámbricas con las que están equipados tanto el servidor como los drones. Esto se puede hacer siguiendo los sistemas de comunicaciones por radio convencionales usados por los drones convencionales, o a través de una interfaz de comunicaciones específica (por ejemplo, dedicada) (por ejemplo, una interfaz WiFi) entre cada dron y el servidor.
Así pues, los drones 15_1, 15_N comienzan a navegar sobre la instalación 10. En una posible realización, los comandos de arranque 406, 407 solo incluyen una orden de despegue (arrancar motores y moverse hacia arriba). En otra realización, el dron puede tener, incorporado en sus medios de procesamiento, un primer objetivo al que volar. En realizaciones preferidas, los drones solo entienden comandos simples ("moverse hacia arriba", "girar a la izquierda", "girar a la derecha", "parar", etc.).
Cada dron comienza a tomar imágenes con su sensor de formación de imágenes 156 y la una o más imágenes se envían al sistema de control 35 a través de la interfaz de transmisión 152 (etapas 408, 409). Opcionalmente, los drones también pueden enviar al servidor 30 datos de las IMU. Si hay sistemas o dispositivos externos disponibles equipados con capacidades de detección, estos sistemas externos 16, 17 también envían al servidor 30 (sistema de control 35) datos capturados por sus dispositivos de detección (etapa 410).
El servidor 30 crea (o actualiza si ya hay uno disponible) a continuación un modelo digital en 3D de la instalación 10, como sigue.
A partir de las imágenes (y de datos adicionales, tales como datos de sensores y/o sistemas externos 11, 12), el servidor 30 realiza los siguientes cálculos (computaciones): En el generador de modelos en 3D 50, se crea un modelo digital en 3D de la instalación 10, preferentemente en tiempo real, a partir de las imágenes (y opcionalmente de datos adicionales, tales como datos de sistemas externos 11, 12) (etapa 411). Opcionalmente, en el generador de modelos en 3D 50, se puede realizar la segmentación de elementos unitarios. Por ejemplo, los elementos unitarios pueden identificarse a partir de información extraída de las imágenes. Esto puede hacerse usando técnicas de aprendizaje profundo o técnicas de visión por ordenador, por ejemplo. El generador de modelos en 3D 50 puede usar algoritmos de SLAM, técnicas basadas en fotogrametría, técnicas de aprendizaje profundo, técnicas basadas en el seguimiento de movimiento o una combinación de las anteriores. A continuación, con los datos (tales como un modelo en 3D, que puede incluir los elementos unitarios también obtenidos) proporcionados por el generador de modelos en 3D 50 al motor de ruta 40 (etapa 412), se obtiene la localización del dron 15 con 6 DoF, se reconoce el entorno y se identifican los dispositivos dentro de la instalación. Así pues, a partir de las imágenes recibidas (y opcionalmente de los datos adicionales ya mencionados obtenidos de, por ejemplo, medios de localización 16, 17 ubicados en puntos fijos en la instalación y/o en dispositivos móviles), se crea o actualiza un modelo virtual en 3D del entorno real (instalación 10) en el generador de modelo en 3D 50. Por lo tanto, en el generador de modelos en 3D 50 se puede crear el modelo en 3D y se pueden localizar los drones (usando, por ejemplo, técnicas de SLAM).
Los algoritmos de SLAM permiten, por ejemplo, obtener un sistema de referencia (tal como un sistema de coordenadas) y, por lo tanto, un origen de coordenadas a partir de las diferentes imágenes (y características extraídas de las imágenes) capturadas por cada dron. Esto permite generar el modelo en 3D y localizar un dispositivo dentro del modelo en 3D (y, por lo tanto, dentro del entorno representado por el modelo en 3D). El origen de coordenadas en las diferentes imágenes permite obtener la ubicación de pose 6D del dron en cada imagen. Con esta información, se crea o actualiza el modelo virtual en 3D. Opcionalmente, los diferentes sistemas de referencia generados (por ejemplo, usando técnicas de SLAM) a partir de imágenes de cada dron pueden unificarse en un único sistema de referencia. Esto puede hacerse usando técnicas de visión por ordenador, que pueden usar marcadores o patrones únicos ubicados en puntos específicos (con tamaño, posición y orientación bien conocidos) en la instalación, para actualizar un sistema de referencia único (o general) correlacionando el sistema de referencia generado a partir de imágenes de cada dron y el sistema de referencia único (o general). Los patrones se pueden obtener usando técnicas de visión por ordenador convencionales, tales como bibliotecas OpenCV o bibliotecas de Realidad Aumentada.
Así pues, las técnicas de SLAM y/u otras técnicas se usan junto con los datos recibidos de los drones 15_1... 15_N y opcionalmente de sistemas externos 16, 17, para conocer en tiempo real la ubicación exacta de los drones y otros equipos dentro de la instalación 10. Pueden usarse otras técnicas de captura de movimiento además de o en lugar de técnicas de SLAM. En otras palabras, el modelo en 3D se puede crear o actualizar usando SLAM, visión por ordenador, fotogrametría, aprendizaje profundo, escaneo en 3D, modelización clásica a partir de planos, o cualquier otra técnica convencional para generar modelos en 3D. Las técnicas de SLAM y otras técnicas que pueden usarse para este fin están fuera del alcance de la presente invención.
La creación del modelo virtual en 3D incluye la creación de dos drones virtuales por dron real en el entorno real. Hay tantos pares de drones virtuales como drones reales navegando sobre la instalación. Uno de los drones virtuales (primer dron virtual) representa la ubicación de un dron real que está navegando dentro de o sobre la instalación. Este primer dron virtual está dentro del modelo en 3D creado, en una posición y orientación específicas (obtenidas del algoritmo SLAM o de la técnica de visión por ordenador (por ejemplo, de patrones fijos en la instalación) o de cualquier otro sistema de localización usado), y/o de la información de detección obtenida de los sistemas externos 16, 17). En otras palabras, el primer dron virtual representa datos obtenidos sobre la posición y orientación del dron real. Por lo tanto, en cada instante de tiempo, los primeros drones virtuales (uno por dron real) están ubicados en una posición (x, y, z) y orientación (guiñada, cabeceo, balanceo) respectivas dentro del modelo virtual en 3D. El otro dron virtual (segundo dron virtual) representa la ubicación objetivo para el dron real. Este segundo dron virtual es movido dentro del modelo en 3D por el motor de ruta 40. El segundo dron virtual define la posición y orientación que debe lograr el primer dron virtual (y, por lo tanto, el dron real en el entorno real). En realizaciones de la invención, el segundo dron virtual puede estar ubicado en el modelo 3D en una posición y orientación intermedias con respecto a su ubicación final (ubicación objetivo) para realizar la tarea asignada al dron real. Estas posiciones intermedias son proporcionadas, por ejemplo, por el motor de ruta en la etapa 415. En cada etapa de ejecución, a partir de la diferencia entre la posición y orientación del primer dron virtual y la posición y orientación del segundo dron virtual, el sistema de control 35 decide qué comandos de vuelo deben enviarse al dron real (etapas 416, 417) para que pueda acercarse lo más rápido posible (pero también con la mayor seguridad posible, esto es, evitando cualquier colisión con obstáculos) a la posición y orientación del segundo dron virtual. Se destaca que los obstáculos potenciales también se incluyen en el modelo en 3D porque han sido capturados por las imágenes tomadas por el al menos un dron real y opcionalmente por sensores comprendidos en otro equipo 16, 17. Así pues, el sistema de control 35 calcula y envía instrucciones (comandos de movimiento) a un dron real. Estas instrucciones son instrucciones simples o movimientos individuales ("moverse ARRIBA", "moverse ABAJO", "girar a la IZQUIERDA", "girar a la DERECHA", etc.) para que el dron real ajuste su posición y orientación (6 DoF: posición XYZ y rotación GUIÑADA CABECEO BALANCEO).
Los dos drones virtuales asociados a un dron real 15_1 pueden representarse como un punto en el modelo en 3D, preferentemente con una indicación de posición y orientación. El modelo virtual en 3D, junto con los drones virtuales, se denomina gemelo digital del mundo real (ubicación real dentro de o sobre la que navegan el dron o drones). En resumen, el gemelo digital (modelo virtual en 3D de la instalación 10 y drones virtuales) es una representación accionable digitalmente del mundo real. Es accionable en ambos sentidos, lo que significa que los cambios en el mundo real (por ejemplo, los movimientos del uno o más drones 15 o los cambios en la ubicación de los elementos 12 dentro de la instalación 10) afectan a la representación digital de dicha realidad y los cambios en el gemelo digital (por ejemplo, los cambios en la ubicación de los segundos drones virtuales en el modelo virtual) fuerzan cambios en el mundo real.
En realizaciones de la invención, un operador humano puede interactuar con el modelo virtual en 3D a través de una interfaz hombre-máquina MMI, tal como un ratón o una pantalla táctil. Si un operador humano atrae o arrastra el segundo dron virtual a una ubicación y/u orientación diferente de la que tiene el dron real 15_1 en la instalación real 10, el método actúa para, a través de los comandos 416, 417 enviados al dron 15_1, mover y/o rotar el dron hasta que se ajuste perfectamente a la posición y orientación del segundo dron virtual. Cuando el dron real 15_1 en la instalación 10 alcanza la posición y orientación objetivo, los dos drones virtuales estarán en la misma posición y orientación en el modelo virtual en 3D. De esta forma, el dron real 15_1 se mueve a través del movimiento del segundo dron virtual en el modelo virtual en 3D. De esta forma, el dron real 15_1 también puede evitar obstáculos cuya posición se actualiza en tiempo real en el modelo virtual.
Una vez que el modelo digital en 3D de la instalación 10 y los drones virtuales que representan los drones reales 15 se han creado, un punto en 3D de destino al que deben ir los primeros drones virtuales (los que representan la posición actual de los drones reales), se define en el modelo virtual en 3D. Esto se hace en el motor de ruta 40. Los segundos drones virtuales pueden ubicarse en estos puntos en 3D de destino, que son las posiciones objetivo para cada primer dron virtual (y dron reales correspondientes). Puede haber posiciones objetivo intermedias. Los planes de vuelo se infieren a continuación en el motor de ruta 40 y se envían al servidor 30 (etapa 415). Para cada par de drones virtuales, el sistema de control 35 envía a cada dron 15_1 ... 15_N sus respectivos comandos de vuelo (etapa 416, 417), que son los movimientos requeridos que el dron real 15 debe realizar para alcanzar la ubicación objetivo. El sistema de control 35 siempre tiene en cuenta el modelo virtual en 3D actualizado y la ubicación actualizada del primer dron virtual en el modelo virtual en 3D (tanto el modelo virtual en 3D como el primer dron virtual están siendo actualizados continuamente en tiempo real). En otras palabras, el sistema de control 35 calcula y envía instrucciones (comandos de movimiento) a un dron real a partir de datos (imágenes y opcionalmente otra información del dron y/o de fuentes externas) recibidos del dron real, estos datos se representan en el primer dron virtual, y del modelo virtual en 3D y la ubicación y orientación del segundo dron virtual (dron objetivo) dentro del modelo virtual en 3D. Cuando un dron 15_1, 15_N recibe un nuevo comando de movimiento (instrucciones) 416, 417, se mueve (navega) de acuerdo con el comando de movimiento. Estas instrucciones son instrucciones para que el dron real ajuste su posición y orientación (6 DoF: posición XYZ y rotación GUIÑADA CABECEO BALANCEO), de tal manera que se sincroniza con el primer dron virtual lo más rápido posible. Desde la nueva ubicación del dron real 15_1, 15_N alcanzada después de seguir el comando de movimiento, el dron envía de nuevo una o más imágenes capturadas por la cámara 156 al servidor 30 (sistema de control 35) (etapa 418). Con el envío posterior de comandos o instrucciones de movimiento desde el sistema de control 35 al uno o más drones, cada dron puede alcanzar su posición objetivo para realizar la tarea para la que se ha programado o configurado. Los comandos de movimiento son preferentemente comandos individuales simples, tales como "moverse hacia delante", "moverse hacia atrás", "subir", "bajar", "girar a la izquierda", "girar a la derecha", etc. En realizaciones de la invención, estos comandos son similares a los comandos enviados a un dron convencional usando un control por radio remoto convencional. Un algoritmo de control para los comandos de vuelo puede estar integrado en el sistema de control 35. Pueden usarse diferentes algoritmos de control. Por ejemplo, se puede usar un algoritmo que tenga en cuenta la distancia entre el primer dron virtual y el segundo dron virtual. En este caso, cuando el primer y segundo drones virtuales están lejos uno del otro, los comandos de movimiento se aplicarán con más intensidad que cuando el primer y segundo drones virtuales están cerca uno del otro. El algoritmo puede usar técnicas de IA, tales como técnicas de refuerzo, de tal manera que el algoritmo aprenderá que cuando los dos drones virtuales están lejos uno del otro, el comando de movimiento debe ir acompañado de más intensidad (o velocidad), mientras que cuando los dos drones virtuales están más cerca uno del otro, el comando de movimiento debe ir acompañado de menos intensidad (o velocidad).
El movimiento del dron real a través de los comandos de vuelo 416, 417 puede realizarse de diferentes formas. En realizaciones de la invención, se hace por medio de una interfaz a través de la cual se envían señales de radio al dron 15. En realizaciones de la invención, se hace a través de una API especialmente diseñada para este fin. En realizaciones de la invención, se realiza a través de un servocontrol o un medio robótico configurado para controlar físicamente el control remoto de los drones.
El modelo virtual en 3D, que incluye los primeros drones virtuales, se actualiza en tiempo real, lo que significa que la localización con 6 DoF (grados de libertad) del al menos un dron se actualiza en tiempo real. Preferentemente, la localización con 6 DoF de otros componentes de la instalación, tales como componentes móviles (tales como mesas de trabajo, robots, máquinas, depósitos de herramientas, estantes, vehículos u otros) también se actualiza en tiempo real. La localización de estos componentes comprendidos en la instalación se lleva a cabo a partir de las imágenes recopiladas por el al menos un dron y/o a partir de datos obtenidos de los sistemas externos 16, 17, que permiten y contribuyen al seguimiento de los componentes y la actualización de su ubicación en el modelo virtual en 3D. Cualquier otro cambio en el entorno de trabajo real (instalación) que puede detectarse por la cámara del al menos un dron y/o por fuentes externas también se actualiza en tiempo real en el modelo virtual en 3D.
Así pues, en el servidor (sistema de control 35), a partir de información extraída de nuevas imágenes y/o de otros sensores y/o de información extraída de otros sistemas de localización, se actualizan el modelo virtual en 3D de la instalación y la ubicación del(de los) primer(os) dron(es) virtual(es) en el modelo virtual en 3D, de tal manera que los cambios en la instalación se reflejan en el modelo virtual en 3D. A continuación, la ruta para alcanzar el punto en 3D de destino (segundo dron virtual) para cada dron se recalcula teniendo en cuenta el modelo virtual en 3D actualizado y la nueva ubicación del(de los) primer(os) dron(es) virtual(es) en el modelo virtual en 3D. Y se envía al menos un comando de movimiento al(a los) dron(es) que navega(n) dentro de o sobre la instalación, para alcanzar el punto de destino en la instalación.
En resumen, el método propuesto logra controlar la navegación de uno o más drones en o sobre una instalación, especialmente una instalación interior.
La invención obviamente no se limita a la(s) realización(es) específica(s) descrita(s) en el presente documento, sino que también abarca cualquier variación que pueda ser contemplada por cualquier experto en la materia (por ejemplo, en cuanto a la elección de materiales, dimensiones, componentes, configuración, etc.), dentro del alcance general de la invención como se define en las reivindicaciones.
Claims (13)
1. Un método implementado por ordenador para controlar la navegación de al menos un dron, que comprende:
desde al menos un dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10), estando equipado el al menos un dron (15, 15_1, ..., 15_N) con un sensor de formación de imágenes (156), enviar una pluralidad de imágenes capturadas por el sensor de formación de imágenes (156) a un servidor (30) a través de una interfaz de comunicaciones inalámbrica (152);
caracterizado por que, el método implementado por ordenador comprende además: en el servidor (30):
recibir la pluralidad de imágenes y, a partir de las imágenes, obtener un modelo virtual en 3D de la instalación (10) dentro de o sobre la que está navegando el al menos un dron (15, 15_1, ..., 15_N), comprendiendo el modelo virtual en 3D, para cada dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10): un primer dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación calculadas a partir de las imágenes recibidas, representando dicha posición y orientación la posición y orientación del dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10); y un segundo dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación objetivo que representa la posición y orientación a alcanzar por el dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10);
para cada dron (15, 15_1,..., 15_N) que navega dentro de o sobre una instalación (10), enviar al dron (15, 15_1, ... 15_N) al menos un comando de movimiento (416, 417) para alcanzar el punto en la instalación (10) que corresponde a la ubicación del segundo dron virtual en el modelo virtual en 3D;
navegando el al menos un dron (15, 15_1, ... 15_N) de acuerdo con el al menos un comando de movimiento (416, 417) y, desde la nueva ubicación del al menos un dron (15, 15_1, ... 15_N), imágenes capturadas por el sensor de formación de imágenes (156) al servidor (30);
en el servidor (30):
a partir de información extraída de las imágenes enviadas por cada dron (15, 15_1, ... 15_N), actualizar el modelo virtual en 3D de la instalación (10) y la ubicación de cada primer dron virtual en el modelo virtual en 3D, de tal manera que los cambios en la instalación (10) capturados por las imágenes se reflejan en el modelo virtual en 3D; y
repetir las etapas de navegar el al menos un dron (15, 15_1, ... 15_N) dentro de o sobre la instalación (10) de acuerdo con los comandos de movimiento enviados por el servidor (30), enviar imágenes capturadas por el al menos un dron desde la nueva ubicación al servidor (30), actualizar el modelo virtual en 3D de la instalación a partir de las imágenes y enviar a cada dron (15, 15_1, ... 15_N) nuevos comandos de movimiento, hasta que el dron (15, 15_1, ... 15_N) en la instalación (10) alcanza la posición y orientación del segundo dron virtual como se define en el modelo virtual en 3D.
2. El método de la reivindicación 1, en donde el modelo virtual en 3D comprende además una pluralidad de elementos virtuales que representan una pluralidad de elementos reales correspondientes (11, 12) de la instalación (10).
3. El método de una cualquiera de las reivindicaciones 1-2, en donde definir en el modelo virtual en 3D una posición objetivo para cada segundo dron virtual, se realiza por un motor de enrutamiento (40), calculando el motor de enrutamiento (40) además los movimientos que debe realizar cada dron respectivo, en donde el motor de enrutamiento (40) puede ser un motor de inferencia de enrutamiento, o un motor de enrutamiento que implementa un modelo de Inteligencia Artificial, o un motor de enrutamiento que implementa técnicas de enrutamiento clásicas.
4. El método de una cualquiera de las reivindicaciones 1-3, en donde el modelo virtual en 3D de la instalación (10) se crea usando una o más de las siguientes técnicas: técnicas de localización y mapeo simultáneos (SLAM), técnicas de visión por ordenador, técnicas basadas en fotogrametría, técnicas de aprendizaje profundo y técnicas basadas en seguimiento de movimiento.
5. El método de una cualquiera de las reivindicaciones 1-4, en donde para crear el modelo virtual en 3D de la instalación (10), también se usan datos obtenidos de al menos un sistema externo (16, 17) en la instalación (10).
6. El método de una cualquiera de las reivindicaciones 1-5, en donde para crear el modelo virtual en 3D de la instalación (10), se usan datos obtenidos de otros sensores del al menos un dron, en donde los otros sensores comprenden uno o más de los siguientes: IMU, sensor de altura, sensor de profundidad, otras cámaras, sensores láser y lidar.
7. El método de una cualquiera de las reivindicaciones 1-6, en donde un operador humano puede interactuar con el modelo virtual en 3D a través de una interfaz hombre-máquina, arrastrando un segundo dron virtual a una ubicación y/u orientación diferente de la que tiene el dron real correspondiente en la instalación real (10), de modo que el movimiento que debe realizar el dron se vuelve a calcular y los comandos de movimiento se envían al dron real para mover y/o rotar el dron hasta que el primer dron virtual se ajuste a la posición y orientación del segundo dron virtual.
8. Un sistema que comprende:
al menos un dron (15, 15_1, ..., 15_N) configurado para navegar dentro de o sobre una instalación (10), estando equipado el al menos un dron (15, 15_1, ..., 15_N) con un sensor de formación de imágenes (156) configurado para capturar una pluralidad de imágenes y una interfaz de comunicaciones inalámbrica (151) configurada para enviar las imágenes capturadas;
caracterizado por queel sistema comprende, además:
un servidor (30) configurado para:
recibir la pluralidad de imágenes y, a partir de las imágenes, obtener un modelo virtual en 3D de la instalación (10) dentro de o sobre la que está navegando el al menos un dron (15, 15_1, ..., 15_N), comprendiendo el modelo virtual en 3D, para cada dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10): un primer dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación calculadas a partir de la al menos una imagen recibida; y un segundo dron virtual ubicado dentro del modelo virtual en 3D en una posición y orientación objetivo que representa la posición y orientación a alcanzar por el dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10);
para cada dron (15, 15_1, ..., 15_N) que navega dentro de o sobre una instalación (10), enviar al dron (15, 15_1, ... 15_N) al menos un comando de movimiento (416, 417) para alcanzar el punto en la instalación (10) que corresponde a la ubicación del segundo dron virtual en el modelo virtual en 3D;
estando configurado el al menos un dron (15, 15_1, ...15_N) para navegar de acuerdo con el al menos un comando de movimiento (416, 417) y, desde la nueva ubicación del al menos un dron (15, 15_1, ...15_N), enviar una pluralidad de imágenes capturadas por el sensor de formación de imágenes (156) al servidor (30);
estando configurado el servidor (30) para, a partir de la información extraída de la al menos una imagen enviada por cada dron (15, 15_1, ... 15_N): actualizar el modelo virtual en 3D de la instalación (10) y la ubicación de cada primer dron virtual en el modelo virtual en 3D, de tal manera que los cambios en la instalación (10) capturados por la al menos una imagen se reflejan en el modelo virtual en 3D; repetir las etapas de navegar el al menos un dron (15, 15_1, ...15_N) dentro de o sobre la instalación (10) de acuerdo con los comandos de movimiento enviados por el servidor (30), enviar al menos una imagen capturada por el al menos un dron desde la nueva ubicación al servidor (30), actualizar el modelo virtual en 3D de la instalación a partir de la al menos una imagen, y enviar a cada dron (15, 15_1, ... 15_N) nuevos comandos de movimiento, hasta que el dron alcance en la instalación (10) la posición y orientación del segundo dron virtual como se define en el modelo virtual en 3D.
9. El sistema de la reivindicación 8, en donde el al menos un dron (15, 15_1, ...15_N) comprende además una IMU (157), estando configurado el al menos un dron (15, 15_1, ...15_N) para enviar a través de la interfaz de comunicaciones inalámbrica (151) datos capturados por la IMU (157) al servidor (30).
10. El sistema según la reivindicación 8 o 9, en donde el al menos un dron (15, 15_1, ...15_N) comprende además un sensor de altura y/o un sensor de profundidad y/u otras cámaras y/o un sensor láser y/o un lidar, estando configurado el al menos un dron (15, 15_1, ...15_N) para enviar a través de la interfaz de comunicaciones inalámbrica (151) datos capturados por dicho sensor o sensores al servidor (30).
11. El sistema de una cualquiera de las reivindicaciones 8-10, que comprende además al menos un sistema externo (16, 17) configurado para capturar datos y enviar los datos capturados al servidor (30), de modo que los datos capturados por el al menos un sistema externo (16, 17) contribuyan a la creación del modelo virtual en 3D de la instalación.
12. Un producto de programa informático que comprende instrucciones/código de programa informático para realizar el método de acuerdo con una cualquiera de las reivindicaciones 1-7.
13. Una memoria/medio legible por ordenador que almacena instrucciones/código de programa para realizar el método de acuerdo con una cualquiera de las reivindicaciones 1-7.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20383175.5A EP4024155B1 (en) | 2020-12-30 | 2020-12-30 | Method, system and computer program product of control of unmanned aerial vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2968924T3 true ES2968924T3 (es) | 2024-05-14 |
Family
ID=74205596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20383175T Active ES2968924T3 (es) | 2020-12-30 | 2020-12-30 | Método, sistema y producto de programa informático de control de vehículos aéreos no tripulados |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4024155B1 (es) |
ES (1) | ES2968924T3 (es) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140336928A1 (en) * | 2013-05-10 | 2014-11-13 | Michael L. Scott | System and Method of Automated Civil Infrastructure Metrology for Inspection, Analysis, and Information Modeling |
US10373116B2 (en) | 2014-10-24 | 2019-08-06 | Fellow, Inc. | Intelligent inventory management and related systems and methods |
US10192354B2 (en) | 2015-04-14 | 2019-01-29 | ETAK Systems, LLC | Systems and methods for obtaining accurate 3D modeling data using UAVS for cell sites |
EP3494364A1 (en) * | 2016-08-05 | 2019-06-12 | Neu Robotics, Inc, | Mobile platform eg drone / uav performing localization and mapping using video |
MX2019003894A (es) * | 2016-10-04 | 2019-09-04 | Walmart Apollo Llc | Sistemas y metodos para navegacion autonoma con dron. |
CN109360287A (zh) | 2018-03-27 | 2019-02-19 | 浙江华云电力工程设计咨询有限公司 | 输电线路三维数字化运检管理系统 |
US10885666B2 (en) * | 2019-02-06 | 2021-01-05 | Ford Global Technologies, Llc | Hybrid metric-topological camera-based localization |
KR101992672B1 (ko) | 2019-03-04 | 2019-06-25 | (주)선운이앤지 | 드론 영상을 이용한 가공송전선로의 경관 영향 분석 방법 |
CN109917813A (zh) | 2019-04-19 | 2019-06-21 | 成都蔚来空间科技有限公司 | 无人机自主飞行三维场景显示方法及终端 |
-
2020
- 2020-12-30 ES ES20383175T patent/ES2968924T3/es active Active
- 2020-12-30 EP EP20383175.5A patent/EP4024155B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4024155A1 (en) | 2022-07-06 |
EP4024155C0 (en) | 2023-11-01 |
EP4024155B1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914369B2 (en) | Multi-sensor environmental mapping | |
Asadi et al. | An integrated UGV-UAV system for construction site data collection | |
US11353892B2 (en) | Drop-off location planning for delivery vehicle | |
EP3783454B1 (en) | Systems and methods for adjusting uav trajectory | |
JP6487010B2 (ja) | ある環境内で無人航空機を制御する方法、ある環境のマップを生成する方法、システム、プログラムおよび通信端末 | |
Heng et al. | Autonomous visual mapping and exploration with a micro aerial vehicle | |
WO2018086141A1 (en) | Construction and update of elevation maps | |
Dryanovski et al. | An open-source navigation system for micro aerial vehicles | |
TW201728876A (zh) | 自主視覺導航 | |
CN115220475A (zh) | 用于uav飞行控制的系统和方法 | |
CA3106457A1 (en) | Method for exploration and mapping using an aerial vehicle | |
Doukhi et al. | Deep reinforcement learning for autonomous map-less navigation of a flying robot | |
ES2968924T3 (es) | Método, sistema y producto de programa informático de control de vehículos aéreos no tripulados | |
Ayers | Development of an Object Detection and Tracking Pipeline for Unmanned Aerial Vehicles in a Simulated Environment | |
Boroujeni | Visual Data Analytic and Robotics for Automated Construction Performance Monitoring | |
Račinský | Aplikace algoritmu RRT-path v úloze autonomního dohledu skupinou helikoptér | |
Chen | Design and Implementation of Navigation Systems for Unmanned Aerial Vehicles | |
Maenhaut | Control of UAV for indoor landing in presence of uncertain | |
Bayer | Autonomous Exploration of Unknown Rough Terrain with Hexapod Walking Robot |