ES2646269T3 - Planificación de rutas - Google Patents
Planificación de rutas Download PDFInfo
- Publication number
- ES2646269T3 ES2646269T3 ES14736953.2T ES14736953T ES2646269T3 ES 2646269 T3 ES2646269 T3 ES 2646269T3 ES 14736953 T ES14736953 T ES 14736953T ES 2646269 T3 ES2646269 T3 ES 2646269T3
- Authority
- ES
- Spain
- Prior art keywords
- vertex
- path
- vehicle
- graph
- route
- 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 115
- 230000008569 process Effects 0.000 claims abstract description 50
- 238000005259 measurement Methods 0.000 claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000004904 shortening Methods 0.000 claims abstract description 23
- 238000003860 storage Methods 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 33
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 19
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 230000000644 propagated effect Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 239000000446 fuel Substances 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- -1 islands Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009965 odorless effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/20—Instruments for performing navigational calculations
-
- 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/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3438—Rendez-vous, i.e. searching a destination where several users can meet, and the routes to this destination for these users; Ride sharing, i.e. searching a route such that at least two users can share a vehicle for at least part of the route
-
- 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/0206—Control of position or course in two dimensions specially adapted to water vehicles
-
- 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/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
Un procedimiento para determinar una ruta para un vehículo (6), comprendiendo el procedimiento: medir, mediante un aparato de medición (20), la posición del vehículo (6); proporcionar, para su utilización por uno o varios procesadores (22), una especificación de un área (12) a la que se tiene que desplazar el vehículo (6); y utilizando las mediciones y la especificación del área (12), llevar a cabo, mediante dichos uno o varios procesadores (22), un proceso de determinación de ruta para determinar la ruta para el vehículo (6), en el que el proceso de determinación de ruta comprende: construir un grafo (34) dentro de un espacio de estados (X) del vehículo (6), comprendiendo el grafo (34) una serie de vértices y uno o varios bordes que conectan dichos vértices; identificar, dentro del grafo construido (34), un trayecto desde un primer vértice del grafo (34) hasta un segundo vértice del grafo (34), correspondiendo el primer vértice a una posición medida del vehículo (6), y correspondiendo el segundo vértice al vehículo (6) estando ubicado, por lo menos parcialmente, dentro del área (34); utilizando el trayecto identificado, llevar a cabo un algoritmo de acortamiento de trayectos para proporcionar un trayecto acortado; y determinar la ruta del vehículo especificada por el trayecto acortado, proporcionando de ese modo la ruta para el vehículo (6); y el algoritmo de acortamiento de trayectos comprende: definir el trayecto identificado como el trayecto actual; y llevar a cabo una o varias etapas i a vi, para producir el trayecto acortado; donde la etapa i comprende seleccionar un vértice a lo largo del trayecto actual para proporcionar un primer vértice del trayecto; la etapa ii comprende seleccionar otro vértice a lo largo del trayecto actual para proporcionar un segundo vértice del trayecto, estando el segundo vértice del trayecto conectado al primer vértice del trayecto mediante por lo menos dos bordes; la etapa iii comprende determinar un primer valor de coste, siendo el primer valor de coste indicativo de un coste asociado con un trayecto dentro del trayecto actual desde el primer vértice del trayecto hasta el segundo vértice del trayecto; la etapa iv comprende proporcionar un borde adicional, teniendo el borde adicional como su vértice inicial el primer vértice del trayecto y como su vértice final el segundo vértice del trayecto; la etapa v comprende determinar un segundo valor de coste, siendo el segundo valor de coste indicativo de un coste asociado con un trayecto desde el primer vértice del trayecto hasta el segundo vértice del trayecto a lo largo del borde adicional; y la etapa vi, en función del primer y el segundo valores de coste: deshecha el borde adicional y mantiene el trayecto actual; o bien modifica el trayecto actual eliminando del trayecto actual los bordes y vértices en el trayecto actual mediante los que están conectados el primer vértice del trayecto y el segundo vértice del trayecto, e incluye el borde adicional en el trayecto actual.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Planificacion de rutas
SECTOR TECNICO DE LA INVENCION
La presente invencion se refiere a la determinacion de rutas para vetuculos.
ANTECEDENTES
Los vetuculos autonomos se utilizan a menudo para realizar tareas peligrosas, repetitivas o de larga duracion.
Se pueden utilizar multiples vetuculos autonomos que interaction, para conseguir un objetivo comun.
Durante determinadas tareas, puede ser deseable o necesario que dos o mas vehoulos autonomos "se encuentren", es decir, se desplacen de tal modo que un vetuculo autonomo este situado dentro de un area que tiene una posicion fija con respecto a un vetuculo autonomo diferente. Un encuentro entre dos de mas vehfculos puede ser, por ejemplo, con el objetivo de una transferencia de combustible o de carga entre los vetuculos autonomos, del transporte de un vetuculo autonomo por otro o de la realizacion de reparaciones.
Muchos algoritmos convencionales para determinar trayectos o rutas para vetuculos tienden a no poder determinar rutas que proporcionen encuentros de multiples vetuculos.
El documento US2010/168942 esta dirigido a optimizar un trayecto para una embarcacion mantima a traves de una via navegable, desde una ubicacion inicial hasta una ubicacion final.
COMPENDIO DE LA INVENCION
El presente inventor se ha dado cuenta de que se pueden proporcionar encuentros entre multiples vetuculos utilizando un proceso de planificacion de trayectos, que tiene en cuenta la incertidumbre de localizacion futura de los multiples vetuculos. El presente inventor se ha dado cuenta de que se pueden proporcionar encuentros entre multiples vetuculos utilizando planificadores de estados de creencias para planificar rutas, de tal modo que tengan en cuenta la incertidumbre de la localizacion de multiples vetuculos.
El presente inventor se ha dado cuenta de que, planificando rutas para encuentros de multiples vetuculos de tal modo que se tenga en cuenta la incertidumbre de la localizacion de multiples vetuculos, la probabilidad de un fallo de las rutas determinadas tiende a reducirse.
En un primer aspecto, la presente invencion da a conocer un procedimiento para determinar rutas para un vetuculo, comprendiendo el procedimiento: medir, mediante un aparato de medicion, la posicion de un vetuculo; proporcionar, para su utilizacion mediante uno o varios procesadores, una especificacion de un area en la que se tiene que desplazar el vetuculo; y, utilizando las mediciones y la especificacion del area, llevar a cabo, mediante uno o varios procesadores, un proceso de determinacion de ruta para determinar una ruta para el vetuculo. El proceso de determinacion de ruta comprende: construir un grafo dentro de un espacio de estados del vetuculo, comprendiendo el grafo una serie de vertices y uno o varios bordes que conectan dichos vertices; identificar, dentro del grafo construido, un trayecto desde un primer vertice del grafo hasta un segundo vertice del grafo, correspondiendo el primer vertice a la posicion medida del vetuculo, y correspondiendo el segundo vertice al vetuculo estando ubicado por lo menos parcialmente dentro del area; utilizando el trayecto identificado, llevar a cabo un algoritmo de acortamiento de trayecto para proporcionar un trayecto acortado; y determinar la ruta del vetuculo especificada por el trayecto acortado, proporcionando de ese modo la ruta para el vetuculo. El algoritmo de acortamiento de trayecto comprende: definir el trayecto identificado, como el trayecto actual; y llevar a cabo una o varias veces las etapas (i) a (vi), para producir asf el trayecto acortado; donde: la etapa (i) comprende seleccionar un vertice a lo largo del trayecto actual de tal modo que se proporciona un primer vertice del trayecto; la etapa (ii) comprende seleccionar otro vertice a lo largo del trayecto actual de tal modo que se proporciona un segundo vertice del trayecto, estando el segundo vertice del trayecto conectado con el primer vertice del trayecto mediante por lo menos dos bordes; la etapa (iii) comprende determinar un primer valor de coste, siendo el primer valor de coste indicativo de un coste asociado con un trayecto dentro del trayecto actual desde el primer vertice del trayecto hasta el segundo vertice del trayecto; la etapa (iv) comprende proporcionar un borde adicional, teniendo el borde adicional como su vertice inicial el primer vertice del trayecto y como su vertice final el segundo vertice del trayecto; la etapa (v) comprende determinar un segundo valor de coste, siendo el segundo valor de coste indicativo de un coste asociado con un trayecto desde el primer vertice del trayecto hasta el segundo vertice del trayecto a lo largo del borde adicional; y la etapa (vi), en funcion del primer y el segundo valores de coste, deshecha el borde adicional y mantiene el trayecto actual o bien modifica el trayecto actual eliminando, del trayecto actual, los bordes y vertices en el trayecto actual mediante los que estan conectados el primer vertice del trayecto y el segundo vertice del trayecto e incluyendo, en el trayecto actual, el borde adicional.
5
10
15
20
25
30
35
40
45
50
El procedimiento puede comprender ademas controlar el vehnculo mediante un controlador del vehnculo acoplado operativamente a uno o varios procesadores, de tal modo que el vehnculo siga la ruta, desplazado de ese modo el vehnculo para que este ubicado, por lo menos parcialmente, dentro del area.
En algunos aspectos, si, en caso de que el vehnculo siguiera la ruta del vehnculo definida por el borde adicional, el vehnculo colisionara con otra entidad, en la etapa (vi) el trayecto actual no se modifica y se desecha el borde adicional.
El grafo puede ser un arbol.
La etapa de construir el grafo puede comprender: inicializar el grafo mediante determinar, utilizando la posicion medida del vehnculo, el primer vertice del grafo, y llevar a cabo una o varias veces las etapas (vii) a (ix), proporcionando de ese modo el grafo. La etapa (vii) comprende muestrear el espacio de estados del vehfculo para proporcionar otro vertice. La etapa (viii) comprende proporcionar un borde que conecta el otro vertice con un vertice diferente del grafo. La etapa (ix) comprende incluir el otro vertice y los bordes en el grafo.
En algunos aspectos, para cada ejecucion de las etapas (vii) a (ix), se incluye solamente un borde en el grafo si, en el caso de que el vehnculo siguiera la ruta del vehnculo definida por dicho borde, el vehnculo no colisionara con otra entidad.
La etapa de identificar el trayecto desde el primer vertice hasta el segundo vertice puede comprender: asignar, a uno o varios vertices dentro del grafo, uno o varios valores de creencia; propagar, a lo largo de cada trayecto en el grafo, los valores de creencia para asignar a cada vertice del grafo uno o varios valores de creencia, estando cada valor de creencia asociado con un vertice en el grafo correspondiente a un unico trayecto en el grafo que pasa a traves de dicho vertice; y seleccionar, en base a uno o varios de los valores de creencia, un trayecto desde el primer vertice hasta el segundo vertice.
Un valor de creencia asignado al primer vertice puede ser indicativo de una incertidumbre asociada con la medicion de la posicion del vehnculo.
Para cada vertice en el grafo diferente al primer vertice, un valor de creencia asignado a dicho vertice puede ser indicativo de una incertidumbre de la posicion del vehnculo, si el vehnculo siguiera una ruta especificada por un trayecto en el grafo desde el primer vertice hasta dicho vertice.
La etapa de propagar los valores de creencia puede comprender ajustar uno o varios de los valores de creencia para tener en cuenta otras mediciones de una posicion del vehnculo tomadas por el aparato de medicion.
Para cada vertice del grafo diferente al primer vertice, un valor de creencia asignado a dicho vertice puede ser indicativo de un valor de coste asociado con el vehnculo que sigue una ruta especificada por un trayecto en el grafo desde el primer vertice hasta dicho vertice.
La etapa de identificar el trayecto desde el primer vertice hasta el segundo vertice puede comprender identificar, a partir de un conjunto de valores de creencia asignados al segundo vertice, el valor de creencia correspondiente al mmimo valor de coste, e identificar el trayecto desde el primer vertice hasta el segundo vertice correspondiente al valor de creencia identificado.
El procedimiento puede comprender ademas medir, mediante el aparato de medicion, la posicion de otro vehnculo. El area puede tener una posicion fija en relacion con el otro vehnculo. El proceso de determinacion de ruta se puede llevar a cabo para determinar otra ruta para el otro vehnculo. El grafo se puede construir dentro de un espacio de estados conjuntos del vehnculo y del otro vehnculo. El primer vertice del grafo puede corresponder a las posiciones medidas del vehnculo y del otro vehnculo.
El vehnculo puede ser un vehnculo no tripulado.
El aparato de medicion puede ser un sistema de medicion seleccionado del grupo de sistemas de medicion que consisten en: un sistema de radar y un sistema de posicionamiento global.
En otro aspecto, la presente invencion da a conocer un aparato para determinar rutas para un vehnculo, comprendiendo el aparato un aparato de medicion configurado para medir una posicion de un vehnculo, y uno o varios procesadores acoplados al aparato de medicion y configurados para, utilizando la medicion y una especificacion del area en la que se tiene que desplazar el vehnculo, llevar a cabo un proceso de determinacion de ruta para determinar una ruta para el vehnculo. El proceso de determinacion de ruta comprende: construir un grafo dentro de un espacio de estados del vehnculo, comprendiendo el grafo una serie de vertices y uno o varios bordes que conectan dichos vertices; identificar, dentro del grafo construido, un trayecto desde un primer vertice del grafo hasta un segundo vertice del grafo, correspondiendo el primer vertice a la posicion medida del vehnculo, y correspondiendo el segundo vertice al vehnculo estando ubicado por lo menos parcialmente dentro del area; utilizando el trayecto identificado, llevar a cabo un algoritmo de acortamiento de trayecto para proporcionar un trayecto acortado; y determinar la ruta del vehnculo especificada por el trayecto acortado, proporcionando de ese
5
10
15
20
25
30
35
40
45
modo la ruta para el vetnculo. El algoritmo de acortamiento de trayecto comprende: definir el trayecto identificado, como el trayecto actual; y llevar a cabo una o varias veces las etapas (i) a (vi), para producir asf el trayecto acortado; donde la etapa (i) comprende seleccionar un vertice a lo largo del trayecto actual de tal modo que se proporciona un primer vertice del trayecto; la etapa (ii) comprende seleccionar otro vertice a lo largo del trayecto actual de tal modo que se proporciona un segundo vertice del trayecto, estando el segundo vertice del trayecto conectado con el primer vertice del trayecto mediante por lo menos dos bordes; la etapa (iii) comprende determinar un primer valor de coste, siendo el primer valor de coste indicativo de un coste asociado con un trayecto dentro del trayecto actual desde el primer vertice del trayecto hasta el segundo vertice del trayecto; la etapa (iv) comprende proporcionar un borde adicional, teniendo el borde adicional como su vertice inicial el primer vertice del trayecto y como su vertice final el segundo vertice del trayecto; la etapa (v) comprende determinar un segundo valor de coste, siendo el segundo valor de coste indicativo de un coste asociado con un trayecto desde el primer vertice del trayecto hasta el segundo vertice del trayecto a lo largo del borde adicional; y la etapa (vi), en funcion del primer y el segundo valores de coste, deshecha el borde adicional y mantiene el trayecto actual o bien modifica el trayecto actual eliminando, del trayecto actual, los bordes y vertices en el trayecto actual mediante los que estan conectados el primer vertice del trayecto y el segundo vertice del trayecto e incluyendo, en el trayecto actual, el borde adicional.
En otro aspecto, la presente invencion da a conocer un programa o una serie de programas dispuestos de tal modo que cuando son ejecutados por un sistema informatico o por uno o varios procesadores, hacen que el sistema informatico o dichos uno o varios procesadores funcionen de acuerdo con el procedimiento de cualquiera de los aspectos anteriores.
En otro aspecto, la presente invencion da a conocer un medio de almacenamiento legible a maquina que almacena un programa o, por lo menos, uno de la serie de programas segun el aspecto anterior.
BREVE DESCRIPCION DE LOS DIBUJOS
La figura 1 es una ilustracion esquematica (no a escala) de un escenario; la figura 2 es una ilustracion esquematica (no a escala) de una estacion terrestre;
la figura 3 es un diagrama de flujo de proceso que muestra ciertas etapas de una realizacion de un procedimiento para controlar vetnculos;
la figura 4 es un diagrama de flujo de proceso que muestra ciertas etapas de un proceso de determinacion de ruta;
la figura 5 es un diagrama de flujo de proceso que muestra ciertas etapas de un algoritmo de arbol de creencias aleatorio de exploracion rapida ;
la figura 6 es una ilustracion esquematica (no a escala) que muestra un espacio de un estado conjunto de los vetnculos;
la figura 7 es una ilustracion esquematica (no escala) que muestra rutas de vetnculos dentro del escenario; la figura 8 es una ilustracion esquematica (no escala) que muestra un arbol construido;
la figura 9 es un diagrama de flujo de proceso que muestra ciertas etapas de un algoritmo de acortamiento de rutas; y
la figura 10 es una ilustracion esquematica que muestra una parte de un trayecto con el arbol.
DESCRIPCION DETALLADA
La figura 1 es una ilustracion esquematica (no escala) de un escenario 1 en el que se va implementar una realizacion de un procedimiento para controlar un grupo de vetnculos.
El escenario 1 comprende una estacion terrestre 2, un primer vetnculo 4 y un segundo vetnculo 6.
En el escenario 1, la estacion terrestre 2 esta ubicada en tierra firme 8 que esta junto a una masa de agua 10 (por ejemplo, el mar). La estacion terrestre se describe en mayor detalle mas adelante haciendo referencia a la figura 2.
En el escenario 1, el primer vetnculo 4 es un vetnculo acuatico. En particular, el primer vetnculo 4 es un barco autonomo no tripulado que es controlable mediante la estacion terrestre 2, tal como se describe en mayor detalle a continuacion haciendo referencia a las figuras 3 a 10. El primer vetnculo 4 esta ubicado en la superficie de la masa de agua 10, en una posicion distante de tierra firme 8.
En el escenario 1, el segundo vetnculo 6 es un vetnculo acuatico. En particular, el segundo vetnculo 6 es un bote autonomo no tripulado. En este escenario 1, el segundo vetnculo 6 es un vetnculo mas pequeno que el primer vetnculo 4. El segundo vetnculo 6 es el que es controlable mediante la estacion terrestre 2, tal como se describe en
5
10
15
20
25
30
35
40
45
50
mayor detalle a continuacion haciendo referencia a las figuras 3 a 10. El segundo vehnculo 6 esta ubicado en la superficie de la masa de agua 10 en una posicion distante de la tierra firme 8 y distante del primer vehnculo 4.
En este escenario 1, inicialmente el segundo vehnculo 6 era transportado a bordo del primer vehnculo 4. A continuacion, el segundo vehnculo fue botado desde el primer vehnculo 4. Despues de ser botado desde el primer vehnculo 4, el segundo vehnculo 6 se controlo (por ejemplo, mediante la estacion terrestre 2) para llevar a cabo un levantamiento hidrografico en la proximidad del primer vehfculo 4. En otras realizaciones, los vehfculos 4, 6 se pueden haber controlado para llevar a cabo un tipo diferente de tarea, tal como una tarea de busqueda y rescate o una tarea de vigilancia.
A la finalizacion del levantamiento hidrografico, el segundo vehnculo 6 se devuelve a bordo del primer vehnculo 4. Esto se consigue desplazando el primer y/o el segundo vehfculos 4, 6 de tal modo que el segundo vehfculo 6 este ubicado totalmente dentro de un area, o zona, en la masa de agua 10. Esta area o zona se denomina en adelante la "zona objetivo" y se indica en la figura 1 mediante un cuadro de puntos y el numeral de referencia 12. Una vez el segundo vehfculo 6 esta totalmente ubicado dentro de la zona objetivo 12, se puede accionar un cabrestante u otro aparato elevador que este situado a bordo del primer vehfculo 4 para subir el segundo vehfculo 6 al primer vehfculo 4.
La zona objetivo 12 es una zona en la superficie de la masa de agua 10 que tiene una posicion fija con respecto al primer vehfculo 6. La zona objetivo 12 es un area en la superficie de la masa de agua 10 que esta proxima al primer vehfculo 4. La zona objetivo 12 es un area a la que se desplaza el segundo vehfculo 6 de tal modo que el segundo vehfculo 6 se puede subir al primer vehfculo 4.
A continuacion se describe en mayor detalle, haciendo referencia a la figura 3, una realizacion de un procedimiento para controlar los vehfculos 4, 6, de tal modo que el segundo vehfculo 6 este ubicado totalmente dentro de la zona objetivo 12.
La figura 2 es una ilustracion esquematica (no escala) que muestra la estacion terrestre 2.
En esta realizacion, la estacion terrestre 2 comprende un sistema de radar 20, un modulo 22 de determinacion de ruta, un modulo 24 de control de los vehfculos y un transceptor 26.
En esta realizacion, el sistema de radar 20 comprende una antena de radar 28 para transmitir y recibir senales de radar. El sistema de radar 20 esta configurado para transmitir, utilizando la antena de radar 28, una senal de radar a la masa de agua 10, de tal modo que la senal de radar incide sobre los vehfculos 4, 6. Asimismo, el sistema de radar 20 esta configurado para recibir, utilizando la antena de radar 28, una senal de radar que ha sido reflejada desde la masa de agua 10 y los vehfculos 4, 6.
El sistema de radar 20 esta conectado al modulo 22 de determinacion de ruta, de tal modo que se puede enviar una senal entre el sistema de radar 20 y el modulo 22 de determinacion de ruta.
En esta realizacion, el modulo 22 de determinacion de ruta esta configurado para procesar una senal recibida por el modulo 22 de determinacion de ruta desde el sistema de radar 20. En esta realizacion, este procesamiento de senal llevado a cabo por el modulo 22 de determinacion de ruta se realiza para determinar una ruta para cada uno de los vehfculos 4, 6. El procesamiento de senal realizado por el modulo 22 de determinacion de ruta se describe a continuacion en mayor detalle haciendo referencia a las figuras 3 a 10.
Ademas de estar conectado al sistema de radar 20, el modulo 22 de determinacion de ruta esta conectado al modulo 24 de control de los vehfculos, de tal modo que se puede enviar una senal (por ejemplo, una senal que especifique una salida del modulo 22 de determinacion de ruta, por ejemplo, una especificacion de una ruta para un vehfculo 4, 6) entre el modulo 22 de determinacion de ruta y el modulo 24 de control de los vehfculos.
En esta realizacion, el modulo 24 de control de los vehfculos esta configurado para procesar una senal recibida por el modulo 24 de control de los vehfculos desde el modulo 22 de determinacion de ruta. En esta realizacion, este procesamiento de senal llevado a cabo por el modulo 24 de control de los vehfculos se realiza para determinar una senal de control para cada uno de los vehfculos 4, 6.
Ademas de estar conectado al modulo 22 de determinacion de ruta, el modulo 24 de control de los vehfculos esta conectado al transceptor 26, de tal modo que se puede enviar una senal (por ejemplo, una salida del modulo 24 de control de los vehfculos, por ejemplo, una senal de control del vehfculo) entre el modulo 24 de control de los vehfculos y el transceptor 26.
En esta realizacion, el transceptor 26 esta configurado para transmitir a los vehfculos 4, 6 senales de control de los vehfculos que han sido recibidas por el transceptor 26 desde el modulo 24 de control de los vehfculos. En esta realizacion, el transceptor 26 transmite senales de control de los vehfculos a los vehfculos 4, 6 por medio de un enlace de comunicacion inalambrica entre el transceptor 26 y cada uno de los vehfculos 4, 6.
5
10
15
20
25
30
35
40
45
En esta realizacion, cada uno de los vehnculos 4, 6 comprende un aparato para recibir una senal de control del vehnculo desde el transceptor 26. Asimismo, cada uno de los vehnculos 4, 6 comprende un aparato para implementar acciones especificadas mediante una senal de control del vehnculo recibida.
La figura 3 es un diagrama de flujo de proceso que muestra ciertas etapas de una realizacion de un procedimiento para controlar los vehfculos 4, 6 de tal modo que el segundo vehfculo 6 este ubicado totalmente dentro de la zona objetivo 12.
En la etapa s2, el sistema de radar 20 de la estacion terrestre 2 transmite una senal de radar a la masa de agua 10.
La senal de radar transmitida incide sobre el primer vehfculo 4 y el segundo vehfculo 6.
En la etapa s4, la masa de agua 10, el primer vehnculo 4 y el segundo vehfculo 6 reflejan la senal de radar incidente de regreso al sistema de radar 20.
En la etapa s6, el sistema de radar 20 recibe la senal de radar reflejada.
En la etapa s8, el sistema de radar 20 envfa al modulo de procesamiento 22 una senal correspondiente a la senal de
radar recibida.
En la etapa s10, el modulo de procesamiento 22 procesa la senal recibida del sistema de radar 20 para determinar una ruta para cada uno de los vehfculos 4, 6.
La ruta determinada para el primer vehfculo 4 se denomina en adelante "la primera ruta".
La ruta determinada para el segundo vehfculo 6 se denomina en adelante "la segunda ruta".
En esta realizacion, la primera y segunda rutas son tales que, si el primer vehfculo 4 siguiera la primera ruta y el segundo vehfculo 6 siguiera la segunda ruta, el segundo vehfculo 6 estana totalmente ubicado dentro de la zona objetivo 12 (que tiene una posicion fija con respecto al primer vehfculo 4).
El proceso de determinacion de ruta que se lleva a cabo mediante el modulo de procesamiento 22 en la etapa s10 se describe a continuacion en mayor detalle haciendo referencia a la figura 4.
En la etapa s12, el modulo de procesamiento 22 envfa una senal que especifica la primera y la segunda rutas determinadas al modulo 24 de control de los vehfculos
En la etapa s14, el modulo 24 de control de los vehfculos procesa la senal recibida desde el modulo de procesamiento 22 para determinar una respectiva senal de control del vehfculo para cada uno de los vehfculos 4, 6.
La senal de control del vehfculo determinada para el primer vehfculo 4 se denomina en adelante "la primera senal de control del vehnculo".
La senal de control del vehfculo determinada para el segundo vehfculo 6 se denomina en adelante "la segunda senal de control del vehnculo"
En esta realizacion, la primera senal de control del vehfculo es para controlar el primer vehfculo 4 de tal modo que el primer vehfculo 4 siga la primera ruta. Por ejemplo, la primera senal de control del vehfculo especifica instrucciones que, si son implementadas por el primer vehfculo 4, hacen que el primer vehfculo 4 siga la primera ruta.
Analogamente, la segunda senal de control del vehfculo es para controlar el segundo vehfculo 6 de tal modo que el segundo vehfculo 6 siga la segunda ruta. Por ejemplo, el segundo vehfculo 6 especifica instrucciones que, si son implementadas por el segundo vehfculo 6, hacen que el segundo vehfculo 6 siga la segunda ruta.
En la etapa s16, el modulo 24 de control de los vehfculos envfa la primera y la segunda senales de control al transceptor 26.
En la etapa s18, el transceptor 26 transmite las senales de control de los vehfculos a los vehfculos relevantes 4, 6.
En esta realizacion, el transceptor 26 transmite la primera senal de control al primer vehfculo 4, por ejemplo, por medio de un primer enlace de comunicaciones inalambricas. De manera similar, el transceptor 26 transmite la segunda senal de control al segundo vehfculo 6, por ejemplo, por medio de un segundo enlace de comunicaciones inalambricas.
En la etapa S22, los vehfculos 4, 6 reciben mediante el transceptor 26 las senales de control de los vehfculos enviadas a los mismos.
En la etapa S24, cada uno de los vehfculos 4, 6 funciona de acuerdo con la senal de control del vehfculo recibida por dicho vehfculo.
5
10
15
20
25
30
35
40
En otras palabras, en esta realization, el primer vehteulo 4 funciona de acuerdo con la primera senal de control y se hace que siga la primera ruta. De manera similar, el segundo vehteulo 6 funciona de acuerdo con la segunda senal de control y se le hace seguir la segunda ruta.
Despues de que el primer vehiculo 4 haya seguido la primera ruta y el segundo vehiculo 6 haya seguido la segunda ruta, el segundo vehiculo 6 esta ubicado totalmente dentro de la zona objetivo 12. De este modo, el segundo vehiculo 6 puede ser subido al primer vehiculo 4 utilizando un aparato elevador ubicado en el primer vehiculo 4.
Por lo tanto, se da a conocer una realizacion de un procedimiento para controlar los vehiculos 4, 6, de tal modo que el segundo vehiculo 6 este ubicado totalmente dentro de la zona objetivo 12.
Volviendo a continuation a la etapa s10 del proceso de la figura 3, la figura 4 es un diagrama de flujo de proceso que muestra determinadas etapas del proceso de determination de rutas llevado a cabo por el modulo de procesamiento 22 para determinar la primera y la segunda rutas para el primer y el segundo vehiculos 4, 6, respectivamente.
En esta realizacion, el proceso de determinacion de rutas se lleva a cabo para encontrar, para cada uno de los vehiculos 4, 6, una ruta de coste mmimo que, cuando estas rutas son seguidas por los vehiculos 4, 6, hace que el segundo vehiculo 6 este ubicado totalmente dentro de la zona objetivo 12. Un "coste" de una ruta puede ser en terminos de cualquier parametro apropiado, por ejemplo, la longitud de dicha ruta (es decir, la distancia que tiene que recorrer un vehiculo que transita dicha ruta), el tiempo que tarda un vehiculo en recorrer dicha ruta, la cantidad de combustible utilizado por un vehiculo para recorrer dicha ruta o cualquier combination o funcion de estos parametros.
En esta realizacion, el modulo de procesamiento 22 comprende un filtro de Kalman lineal. Tal como se describe en mayor detalle a continuacion, el modulo de procesamiento implementa 22 el filtro de Kalman para estimar un estado conjunto de los vehiculos 4, 6. Esta estimation del estado conjunto de los vehiculos 4, 6 utiliza una serie de mediciones de los vehiculos 4, 6 tomadas por el sistema de radar 20 durante un periodo de tiempo, en las etapas s2 a s6. Estas mediciones de radar tienden a incluir ruido y otros errores.
En otras realizaciones, el modulo de procesamiento 22 comprende un filtro no lineal, tal como un filtro de Kalman extendido (EKF, Extended Kalman Filter) o un filtro de Kalman "inodoro" (UKF, Unscented Kalman Filter), en lugar o ademas del filtro de Kalman lineal.
En la etapa s26, utilizando la senal correspondiente a la senal de radar recibida, recibida por el modulo de procesamiento 22, el modulo de procesamiento 22 produce una estimacion de un vector del estado conjunto inicial. El vector del estado conjunto inicial es un estado inicial de los vehiculos 4, 6. En esta realizacion, el vector del estado conjunto se define como:
donde: XVi es un estado del i-esimo vehiculo;
t es una dimension de tiempo universal en que existen todos los estados de vehiculos; y
k es una etapa de tiempo discreto del filtro de Kalman del modulo de procesamiento 22. En esta realizacion, k = 0 indica a la etapa de tiempo inicial del filtro de Kalman.
En esta realizacion, un estado del vehiculo XVi se define como:
V
o,_
donde: x es la coordenada x del i-esimo vehiculo medida desde un origen que puede estar situado, por ejemplo, en la estacion terrestre 2;
yi es la coordenada y del i-esimo vehiculo medida desde un origen que puede estar situado, por ejemplo, en la estacion terrestre 2; y
9i es el rumbo del i-esimo vehmulo medido respecto de un rumbo de referencia, por ejemplo, norte.
En algunas realizaciones, el estado de un vehmulo XVi puede incluir uno o varios parametros de vehmulo diferentes (tales como la position z, la velocidad x, la velocidad y, la velocidad z, la altitud, el balanceo, el cabeceo, la guinada, la velocidad de rotation, el sesgo del sensor) en lugar, o ademas de uno o varios de los parametros de vehiculo 5 mencionados anteriormente.
En algunas realizaciones, el parametro de tiempo t puede ser utilizado para disponer que el vehiculo 4, 6 evite obstaculos dinamicos.
En algunas realizaciones, el parametro de tiempo t puede ser utilizado (por ejemplo, en sistemas de localization variable en el tiempo) para hacer que las mediciones de posicion de los vehiculos se tomen solo en momentos en 10 los que el sistema de localizacion tiende a ser lo suficientemente preciso.
Asimismo, en realizaciones en las que el coste de una ruta del vehiculo esta relacionado con el tiempo, el parametro t puede ser utilizado para determinar el coste de una ruta del vehiculo.
En la etapa s28, el modulo de procesamiento 22 calcula la covarianza del estado x*. En esta realization, la covarianza del estado x* se define como:
15
PkF1 0 0
0 p[2 0
0 0 Pi
T> Vi
donde: r k es una matriz de covarianza del i-esimo vehiculo; pt
k es una matriz de covarianza del parametro de tiempo t; y 0 es una matriz de ceros.
En esta realizacion, la matriz de covarianza del i-esimo vehiculo
se define como:
20
< o o 0 <*1 0 0 0 <7’
donde: ox es la varianza de la coordenada x del i-esimo vehiculo;
oy es la varianza de la coordenada y del i-esimo vehiculo; y oei es la varianza del rumbo del i-esimo vehiculo.
En la etapa s30, el modulo de procesamiento lleva a cabo un algoritmo de arbol de creencias aleatorio de 25 exploration rapida (RRBT, Rapidly-exploring Random Belief Tree) que se extiende al calculo de rutas coordinadas
de multiples vehiculos que proporcionan encuentros de multiples vehiculos. El algoritmo RRBT utilizado en esta realizacion se describe brevemente a continuation haciendo referencia a la figura 5. Se puede encontrar mas information sobre el algoritmo RRBT y una utilization del mismo, por ejemplo, en el documento "Rapidly-exploring Random Belief Trees for Motion Planning Under Uncertainty", Bry, Adam, y Nicholas Roy, Actas de la Conferencia 30 Internacional sobre Robotica y Automatization IEEE 2011 (iCRA (International Conference on Robotics and Automation) 2011), del 9 al 13 de mayo de 2011, que se incorpora como referencia a la presente memoria.
En esta realizacion, se lleva a cabo el algoritmo RRBT para determinar una ruta inicial para cada uno de los vehiculos 4, 6 que, si fuera seguida por estos vehiculos, haria que el segundo vehiculo 6 se desplazara a la zona objetivo 12.
35 En algunas realizaciones, se puede utilizar una alternativa al algoritmo RRBT para determinar las rutas iniciales de los vehiculos.
5
10
15
20
25
30
35
40
45
En la etapa s32, el modulo de procesamiento 22 lleva a cabo un "algoritmo de acortamiento de rutas" sobre una o varias de las rutas de vehnculos determinadas en la etapa s30.
En esta realizacion, el algoritmo de acortamiento de rutas se ejecuta para "suavizar" una o varias de las rutas iniciales de los vehnculos con el fin de determinar la primera y la segunda rutas de vehnculos. Este "suavizado" de una ruta inicial de vehnculo tiende a reducir la longitud de dicha ruta inicial.
El algoritmo de acortamiento de rutas se describe en mayor detalle a continuacion haciendo referencia a la figura 9.
En esta realizacion, la salida del algoritmo de acortamiento de rutas consiste en la primera y la segunda rutas que tienen que ser enviadas del modulo de procesamiento 22 al modulo 24 de control de los vehnculos.
Por lo tanto, se proporciona el proceso de determinacion de rutas.
Volviendo a continuacion a la etapa s30 del proceso de la figura 4, la figura 5 es un diagrama de flujo de proceso que muestra ciertas etapas del algoritmo RRBT ejecutado por el modulo de procesamiento 22 para determinar rutas iniciales para los vehnculos 4, 6. En esta realizacion, este proceso se lleva a cabo para determinar las rutas iniciales para los vehnculos 4, 6 que, si fueran seguidas por estos vehnculos 4, 6, hanan que el segundo vehnculo 6 se desplazara a la zona objetivo 12.
En esta realizacion, el proceso de la figura 5 comprende construir un grafo (tal como se entiende en el campo de la teona de grafos). En esta realizacion, el grafo es un grafo dirigido conectado que comprende una serie de vertices conectados mediante bordes. En otras realizaciones, se construye un tipo apropiado diferente de estructura, por ejemplo, un grafo dirigido no dclico.
En esta realizacion, el grafo se construye como un espacio X de todos los posibles vectores de estados conjuntos x.
En la etapa s34, el grafo que va a ser construido se inicializa con un unico vertice y una unica creencia. Este unico vertice y la correspondiente creencia es un nodo rafz del grafo que se va a construir.
En esta realizacion, el unico vertice que define el nodo rafz del grafo es la estimacion (o medicion) del estado conjunto de los vehnculos 4, 6 producida en la etapa s20, es decir xo.
En esta realizacion, la creencia que define el nodo rafz del grafo especifica la incertidumbre de la estimacion de xo, es decir, Po. Asimismo, en esta realizacion, la creencia que define el nodo rafz del grafo especifica un coste de trayecto inicial. Asimismo, en esta realizacion, la creencia que define el nodo rafz del grafo especifica una distribucion de trayectorias que son dependientes de la controlabilidad de los vehnculos.
En esta realizacion, el vertice inicial xo es un punto dentro del espacio X. El vertice inicial xo especifica una posicion (es decir, coordenadas x e y) y un rumbo para cada uno de los vehnculos 4, 6.
En la etapa s36, el mdice se ajusta para que sea igual a 1, es decir, a = 1.
En la etapa s38, el espacio X se muestrea aleatoriamente para proporcionar un vertice a-esimo xa.
En esta realizacion, el vertice a-esimo xa es un punto dentro del espacio X. El vertice a-esimo xa especifica una posicion (es decir, unas coordenadas x e y) y un rumbo para cada uno de los vehnculos 4, 6.
En esta realizacion, el vertice a-esimo xa es un punto diferente en el espacio X para cada vertice muestreado anteriormente y el vertice inicial xo.
En la etapa s4o, el vertice a-esimo xa se conecta al otro vertice mas proximo en el espacio X (o a una serie de otros vertices mas proximos en el espacio X). Esta conexion es un posible borde del grafo que se esta construyendo y por lo tanto en adelante se denomina "el borde a-esimo".
Por ejemplo, en la primera iteracion del proceso de la figura 5, el primer vertice xi se conecta al vertice inicial xo. Esta conexion desde el primer vertice xi que esta conectado al vertice inicial xo se denominara en adelante "el primer borde".
En esta realizacion, cada uno de los diferentes vertices dentro del espacio X especifica una posicion y un rumbo diferentes para cada uno de los vehnculos 4, 6. Por lo tanto, una conexion o borde entre dos vertices diferentes especifica una ruta para cada uno de los vehnculos 4, 6, desde una ubicacion hasta una ubicacion diferente.
La figura 6 es una ilustracion esquematica (no a escala) que muestra una representacion del espacio X, el vertice inicial xo, el primer vertice xi y el primer borde 3o (entre el vertice inicial xo y el primer vertice xi).
La figura 7 es una ilustracion esquematica (no escala) que muestra el escenario 1, y las rutas de vehnculos 32 para los vehnculos 4, 6 que se especifican mediante el primer borde 3o.
10
15
20
25
30
35
En la etapa s41, el modulo de procesamiento 22 determina, en el caso de que los vehteulos 4, 6 siguieran las rutas especificadas por el borde a-esimo, si uno o ambos de los vehiculos 4, 6 podnan o no colisionar con un objeto (por ejemplo, la tierra firme 8 u objeto o terreno a cuyo traves no se puedan desplazar los vehteulos 4, 6) o con otro vehiculo.
Por ejemplo, en la primera iteration del proceso de la figura 5, el modulo de procesamiento 22 determina que los vehiculos 4, 6 pueden seguir las rutas de vehiculos 32 definidas por la primera conexion 30, dado que estas rutas 32 son rutas a traves de la masa de agua 10 que evitan objetos por los que los vehiculos 4, 6 no puedan viajar, o que no puedan franquear o atravesar.
En esta realization, el proceso llevado a cabo en la etapa s38 comprende implementar la siguiente ecuacion de propagation de estados para estimar el movimiento de un vehiculo a lo largo de las rutas de vehiculos:
donde: F = I define un modelo de movimiento para los vehiculos 4, 6;
B = I define un modelo de control para los vehiculos 4, 6; u es un vector de velocidad;
w es una perturbation aleatoria del proceso para el vector de velocidad u. En esta realizacion,
W, ~ N(0,diag(al)).;
En esta realizacion, el movimiento y el control son independientes para cada elemento del espacio de estados.
En otras realizaciones, se puede utilizar un modelo de movimiento diferente para estimar el movimiento de un vehiculo a lo largo de las rutas de vehiculos.
Se puede utilizar cualquier procedimiento apropiado para determinar si, en caso de los vehiculos 4, 6 que siguieran las rutas especificadas por el borde a-esimo, uno o ambos de los vehiculos 4, 6 colisionanan o no con un objeto o con otro vehiculo. Un procedimiento de ejemplo para determinar si los dos vehiculos colisionanan o no, es como sigue. Se puede utilizar un procedimiento analogo para determinar si un vehiculo colisiona o no con un objeto que no sea un vehiculo.
En esta realizacion, cada vehiculo 4, 6 esta representado por un respectivo poligono YVi. El poligono i-esimo YVi representa el i-esimo vehiculo como un obstaculo dinamico.
La estimation de un estado del i-esimo vehiculo (es decir, la estimation de XVi) se define como el baricentro del poligono i-esimo YVi.
En esta realizacion, cada poligono se define como un conjunto de vertices bidimensionales centrados en torno al baricentro de dicho poligono, es decir
*i yi
^2
De este modo, un estado de objeto de vehiculo incierto se puede definir como una tupla, es decir, TVi = (x Vi,PViYVi), donde xVi es la estimacion de XVi.
En esta realizacion, se supone que la incertidumbre en la position, en cualquier parte de un poligono, es igual que la incertidumbre del baricentro de dicho poligono, es decir, se supone que la incertidumbre de un punto en el poligono YVi es PVi.
En esta realizacion, se muestrea un borde exterior de cada poligono. Cada punto muestreado en un borde exterior de un poligono tiene una incertidumbre en la posicion igual a la incertidumbre del baricentro de dicho poligono.
En esta realizacion, la distancia entre dos puntos muestreados adyacentes a lo largo de un borde de un poligono se define como:
5
10
15
20
25
30
35
donde: Ai es el autovalor maximo de la matriz de covarianza de posiciones del primer vehmulo 4;
A2 es el autovalor maximo de la matriz de covarianza de posiciones del segundo vehmulo 6; y n es un numero de variaciones estandar respecto de una media x.
En esta realizacion, una colision entre dos poligonos se puede detectar determinando la distancia de Mahalanobis entre dos elipses de covarianza, cada una de las cuales esta centrada en torno a un punto de muestra a lo largo de un borde de un poligono diferente.
En esta realizacion, la distancia de Mahalanobis entre dos puntos de muestra es:
d?»=(x?-4Y{Pn+p’>rtf-xZ)
donde: i = 1,...,N'e x j = 1,...,We x l = 1,...,K e Y
m = 1,...,K e Y
N es el numero de vehfculos;
K es el numero de puntos de muestra en torno a un borde de un poligono;
Y es un vector de puntos de muestra en torno a un borde de un poligono; y
dv,y]
i,m es una distancia estadistica entre el punto de muestra l-esimo en el poligono que representa el i-esimo vehfculo y el punto de muestra m-esimo en el poligono que representa el vehfculo j-esimo.
La distancia de Mahalanobis tiene una distribucion de chi cuadrado para variables aleatorias con distribucion normal. Por lo tanto, en esta realizacion, se detecta una colision entre los polfgonos i-esimo y j-esimo (es decir, una colision
dri'Vj < x2
entre los vehfculos i-esimo y j-esimo) si, para cada par (I, m), ^,m ' donde px es un intervalo de
probabilidad. De manera similar, en esta realizacion, no se detecta ninguna colision entre los polfgonos i-esimo y j-
dVhVj > x2
esimo (es decir, ninguna colision entre los vehfculos i-esimo y j-esimo) si, para cada par (I, m), ^,m '
En algunas realizaciones, los objetos que tienen que ser evitados por los vehfculos se pueden modelizar como polfgonos de manera similar a lo descrito anteriormente para los vehfculos 4, 6. Por lo tanto, se pueden detectar las colisiones entre un objeto y un vehfculo.
En algunas realizaciones, por ejemplo, si existe una incertidumbre significativa en la orientacion 9i de un vehfculo, las muestras de poligono se pueden tomar para las orientaciones dentro de un intervalo, por ejemplo
donde: Op es el numero de desviaciones estandar desde la media x; y
es la covarianza de la incertidumbre del rumbo del i-esimo vehiculo.
En esta realizacion, la masa de agua 10 no contiene ningun objeto con el que pueda colisionar el vehiculo 4, 6. Sin embargo, en otras realizaciones, dichos objetos pueden estar presentes en la masa de agua 10. Ejemplos de dichos objetos incluyen, de forma no limitativa, rocas, islas, plataformas petroliferas y otros botes.
Si en la etapa s41 el modulo de procesamiento 22 determina que, en el caso de que los vehfculos 4, 6 siguieran la ruta especificada por el borde a-esimo, uno o ambos de los vehfculos 4, 6 colisionahan con un objeto, el procedimiento avanza a las etapas s42.
Sin embargo, si en la etapa s38 el modulo de procesamiento 22 determina que, en el caso de que los vehfculos 4, 6 siguieran la ruta especificada por el borde a-esimo, uno o ambos de los vehfculos 4, 6 no colisionarian con ningun objeto, el procedimiento avanza a la etapa s43.
5
10
15
20
25
30
35
40
45
50
En la etapa s42, el modulo de procesamiento 22 desecha el vertice a-esimo xa y el borde a-esimo. En esta realization, el vertice a-esimo Xa y el borde a-esimo no se incluyen en el grafo que se esta construyendo.
Despues de la etapa s42, el procedimiento retrocede a la etapa s38 en la que el espacio X se vuelve a muestrear para proporcionar un nuevo vertice a-esimo Xa.
Volviendo a continuation al caso en que el modulo de procesamiento 22 determina que, en caso de que los vehiculos 4, 6 siguieran la ruta especificada por el borde a-esimo, uno o ambos de los vehiculos 4, 6 no colisionaria con un objeto, en la etapa s43, el vertice a-esimo Xa y el borde a-esimo se incluyen en el grafo que se esta construyendo.
En la etapa s44, despues de que se haya anadido el vertice a-esimo Xa y el borde a-esimo al grafo que se esta construyendo, la creencia asociada con el nodo raiz (es decir, la creencia asociada con el vertice inicial xo) se propaga a lo largo de cada trayecto diferente dentro del grafo actual, produciendo de ese modo un arbol de creencias.
En particular, en esta realizacion, la incertidumbre asociada con xo (es decir, Po) se propaga a traves de todo el grafo actual, desde el vertice inicial xo hasta todos los demas vertices en el grafo actual, a lo largo de todos los trayectos diferentes dentro del grafo actual. De manera similar, el coste inicial asociado con xo se propaga a traves de todo el grafo actual, desde el vertice inicial xo hasta todos los demas vertices en el grafo actual, a lo largo de todos los trayectos diferentes dentro del grafo actual.
Por lo tanto, despues de la propagation de creencias, en esta realizacion, cada vertice tiene asociadas consigo una o varias creencias.
En particular, en esta realizacion, despues de la propagacion de creencias, cada vertice en el grafo actual tiene asociada consigo una creencia para cada trayecto definido por el grafo actual que pasa a traves de dicho vertice. Una creencia correspondiente a un vertice y un trayecto dentro del grafo especifica una incertidumbre de dicho vertice (es decir, una incertidumbre asociada con las posiciones y los rumbos de los vehiculos si dicho trayecto fuera seguido por los vehiculos) y un coste de dicho trayecto.
En esta realizacion, las creencias del grafo y los bordes que conectan dichas creencias definen un "arbol de creencias". Cada una de las creencias asociadas con los vertices del grafo actual es un "nodo de creencias" del arbol de creencias.
La siguiente information es util para comprender como se propaga una creencia (que, en esta realizacion, comprende una incertidumbre de la position, una distribution de control y un coste del trayecto) a traves del grafo. Se puede encontrar mas informacion sobre propagacion de creencias, por ejemplo, en el documento "Rapidly- exploring Random Belief Trees for Motion Planning Under Uncertainty", que se incorpora como referencia a la presente memoria.
Se puede utilizar una "funcion de propagacion" que toma como sus argumentos un borde y un nodo de creencias en el vertice inicial para dicho borde, y devuelve un nodo de creencias en el vertice final para dicho borde.
La incertidumbre de las posiciones y/o de los rumbos de los vehiculos 4, 6 se puede reducir, por ejemplo, tomando mediciones de los vehiculos 4, 6 mediante el sistema de radar 2o. De este modo, la incertidumbre correspondiente a un vertice del arbol actual se puede reducir utilizando mediciones de radar de los vehiculos 4, 6.
Dichas mediciones pueden ser tenidas en cuenta cuando se propagan creencias a traves del arbol actual. En esta realizacion, se utiliza un modelo lineal basado en intervalos para determinar una varianza del sistema de radar 2o. En esta realizacion, el sistema de radar 2o esta ubicado en el mismo espacio X que los vehiculos 4, 6. Un estado del sistema de radar 2o Xradar puede especificar, por ejemplo, una posicion global del sistema de radar 2o, pero no especificar un rumbo.
En esta realizacion, las mediciones tomadas por el sistema de radar 2o del estado conjunto de los vehiculos 4, 6 se definen como:
donde: H es un modelo de medicion lineal; y vt es un ruido de medicion.
En esta realizacion, H extrae, del espacio de estados, las coordenadas x e y de cada uno de los vehiculos 4, 6. En otras palabras, H elimina la orientation y el tiempo del espacio de estados. En esta realizacion, el espacio de estados esta definido como:
5
10
15
20
25
En esta realizacion, el ruido de medicion vt esta distribuido como sigue:
\t ~ N(0,diag(G2z))
donde: Oz es una varianza del ruido del modelo de medicion.
En esta realizacion:
Vi
donde: u z es una varianza de medicion del i-esimo vehiculo En esta realizacion:
donde: rs es un factor de escala que se puede ajustar en funcion de determinadas condiciones, por ejemplo, condiciones ambientales del escenario 1 o parametros de funcionamiento del sistema de radar 20.
En esta realizacion, la precision del sistema de radar 20 disminuye de manera isotropa cuando la distancia desde el sistema de radar 20 aumenta linealmente.
En esta realizacion, un obstaculo puede impedir que una senal de radar del sistema de radar 20 incida sobre uno de los vehmulos 4, 6. Por ejemplo, el primer vehiculo puede impedir, por lo menos parcialmente, que una senal de radar del sistema de radar 20 incida sobre el segundo vehiculo 6. En otras palabras, el primer vehiculo puede, de hecho, escudar al segundo vehiculo 6 frente a una senal de radar transmitida por el sistema de radar 20.
En esta realizacion, ventajosamente, se tiene en cuenta este bloqueo de la senal de radar. Esto se puede conseguir como sigue.
En primer lugar, para cada vehiculo 4, 6, se especifica una lmea desde el sistema de radar 20 hasta dicho vehiculo 4, 6.
En segundo lugar, cada lmea especificada se analiza para ver si dicha lmea se cruza o no con un obstaculo, por ejemplo, un objeto u otro vehiculo. Esto se puede llevar a cabo, por ejemplo, utilizando un algoritmo de intersection lmea-lmea para comprobar si la lmea especificada se cruza con un poligono Y que representa un obstaculo.
En esta realizacion, una lmea entre el sistema de radar y un vehiculo 4, 6 que se cruza con un obstaculo indica que las senales de radar desde el sistema de radar hacia dicho vehiculo 4 6 son bloqueadas por dicho obstaculo.
En tercer lugar, para cada vehiculo 4, 6 para el que las senales serial de radar del sistema de radar se bloquean, la
n
covarianza de medicion para dicho vehiculo az se ajusta a un numero arbitrariamente grande, por ejemplo
5
10
15
20
25
30
35
40
45
,10%
De este modo, la incertidumbre de la posicion se puede propagar a traves del arbol.
La siguiente informacion es util para comprender como se propaga un coste a traves del arbol.
Un coste o una funcion coste pueden ser representativos del tiempo de trayecto para los vehnculos 4, 6, de la distancia recorrida por los vehnculos 4, 6, de la cantidad de combustible utilizado por los vehnculos, de cualquier otro tipo apropiado de coste o de funcion coste, o una combinacion de los mismos. Una funcion coste se puede propagar desde un primer vertice del arbol actual hasta un segundo vertice del arbol actual, a lo largo de un borde del arbol actual, tomando la funcion coste del primer vertice, modificando dicha funcion coste para incluir los tiempos, la distancia, la cantidad de combustible, etc. utilizados por el vehnculo que viaja a lo largo de rutas especificadas por el borde entre el primer vertice y el segundo vertice, y ajustando una funcion coste del segundo vertice para que sea igual a la funcion coste modificada.
En la etapa s46, se determina si se satisfacen o no uno o varios "criterios de finalizacion". En esta realizacion, un criterio de finalizacion puede ser cualquier criterio apropiado, por ejemplo el criterio de que el mdice a sea igual a un valor umbral predeterminado B. Asimismo, por ejemplo, un criterio de finalizacion puede ser que el tiempo de calculo haya excedido un tiempo umbral T. Asimismo, por ejemplo, un criterio de finalizacion puede ser que el numero de estados muestreados que corresponden al segundo vehnculo 6 que esta completamente dentro de la zona objetivo 12 exceda un valor umbral predeterminado M.
Si en la etapa s46 se determina que no se satisfacen uno o varios criterios, el procedimiento avanza a la etapa s48.
Sin embargo, si en la etapa s46 se determina que se satisfacen cada uno de dichos uno o varios criterios de finalizacion, el procedimiento avanza a la etapa s50.
En la etapa s48, el mdice a se aumenta en 1, es decir, a = a + 1.
Despues de la etapa s48, en esta realizacion, el procedimiento regresa a la etapa s38, en la que el espacio X es muestreado aleatoriamente para proporcionar una nueva muestra.
Volviendo a continuacion al caso en que se satisfacen cada uno de dichos uno o varios criterios de finalizacion, en la etapa s50 se proporciona el arbol que se ha construido, en adelante denominado el "grafo final".
La figura 8 es una ilustracion esquematica (no a escala) que muestra el grafo final 34 que se ha construido en la etapa s50. El grafo final 34 comprende una serie de vertices muestreados (indicados mediante drculos negros macizos en la figura 8) conectados entre sf por bordes (indicados mediante lmeas que conectan los vertices).
En esta realizacion, cada vertice en el grafo final 34 corresponde a un estado x en el espacio X (es decir, una posicion y un rumbo para cada uno de los vehnculos 4, 6).
En esta realizacion, cada borde en el grafo final 34 corresponde a una ruta para los vetnculos 4, 6 a traves de la masa de agua 10 (entre posiciones correspondientes a las representadas por los vertices que conectan ese borde).
De este modo, un trayecto a traves del grafo final 34, desde el vertice inicial hasta un vertice final, a lo largo de una serie de bordes del grafo final 34, define una ruta para los vehnculos 4, 6 a traves de la masa de agua 10 (entre posiciones correspondientes a las representadas por el vertice inicial y el vertice final).
Asimismo, en esta realizacion, cada vertice en el grafo final 34 tiene asociada consigo una o varias creencias (o incertidumbres). En esta realizacion, cada creencia asociada con un vertice corresponde a un trayecto respectivo dentro del grafo final 34 que pasa a traves de dicho vertice.
Para cada vertice y cada trayecto dentro del grafo final 34 que pasa a traves de dicho vertice, la creencia asociada especifica una incertidumbre para dicho vertice y dicho trayecto (es decir, una incertidumbre de las posiciones y los rumbos de los vehnculos si dichos vehnculos fueran a seguir una ruta especificada por dicho trayecto). Asimismo, para cada vertice y cada trayecto dentro del grafo final 34 que pasa traves del vertice, la creencia asociada especifica un coste para dicho vertice y dicho trayecto (es decir, el coste que tendna para los vehnculos viajar a lo largo de una ruta especificada por dicho trayecto)
En la etapa s52, se identifican dichos uno o varios vertices en el grafo final 34 que corresponde al estado en el que el segundo vehnculo 6 esta completamente ubicado en el interior de la zona objetivo 12.
En esta realizacion, el segundo vehnculo 6 esta completamente ubicado dentro de la zona objetivo 12 si el polfgono que representa el segundo vehnculo YV2 esta completamente ubicado dentro de la zona objetivo 12 y no existe ninguna colision entre el polfgono que representa el segundo vehnculo YV2 y el lfmite de la zona objetivo 12.
5
10
15
20
25
30
35
40
45
50
Determinar si existe o no una colision entre el poKgono que representa el segundo vehmulo YV2 y el Ifmite de la zona objetivo 12 se puede realizar, por ejemplo, utilizando un procedimiento analogo al descrito anteriormente para determinar si un vehmulo 4, 6 colisiona o no con un objeto.
En la etapa s54, a partir del conjunto de vertices identificados en la etapa s52, se identifica el vertice que esta asociado con una creencia que especifica el valor de coste mmimo. Se identifica asimismo la creencia asociada con el coste mmimo.
El vertice identificado en la etapa s54 se denomina a continuacion el "vertice final"
La creencia identificada en la etapa s54 corresponde al vertice final y asimismo a un trayecto espedfico dentro del arbol 34 desde el vertice inicial xo al vertice final.
En la etapa s56, se identifica al trayecto espedfico dentro del grafo final 34 desde el vertice inicial xo hasta el vertice final que corresponde a la creencia identificada en la etapa s54.
En la etapa s58, se determinan las rutas para los vehmulos 4, 6 a traves de la masa de agua que se especifica mediante el trayecto dentro del grafo final 34 que ha sido identificado en la etapa s56.
Las rutas determinadas para los vehmulos 4, 6 son las rutas iniciales para los vehmulos 4, 6 que, si fueran seguidas por dichos vehmulos 4, 6, hanan que el segundo vehmulo 6 se desplazara a la zona objetivo l2.
Por lo tanto, se proporciona el proceso RRBT.
Volviendo a continuacion a la etapa s32 del proceso de la figura 4, la figura 9 es un diagrama de flujo de proceso que muestra ciertas etapas del algoritmo de acortamiento de rutas llevado a cabo por el modulo de procesamiento 22 para reducir la longitud de las rutas iniciales de los vehmulos. En esta realizacion, el proceso de la figura 9 es llevado a cabo por el modulo de procesamiento 22.
En la etapa s60, se identifica al trayecto dentro del grafo final 34 que corresponde a las rutas iniciales para los vehmulos 4, 6 (es decir, el trayecto identificado en la etapa s56 del proceso de la figura 5).
En la etapa s62, se selecciona un vertice no seleccionado anteriormente, a lo largo del trayecto identificado. En una primera iteracion del proceso de la figura 9, todos los vertices a lo largo del trayecto identificado son vertices no seleccionados anteriormente.
El vertice que se selecciona se indica como Xp. En esta realizacion, el vertice seleccionado Xp se conecta mediante un borde al siguiente vertice a lo largo del trayecto identificado, es decir Xp se conecta mediante un borde al vertice
Xp+1.
En la etapa s64, se selecciona el vertice Xp+2.
En la etapa s66, los vertices seleccionados son conectados mediante un borde. En otras palabras, el vertice Xp y el vertice xp+2 se conectan mediante un borde. El borde que conecta el vertice Xp y el vertice xp+2 se denomina en adelante el "nuevo borde".
La figura 10 es una ilustracion esquematica que muestra una parte del trayecto identificado en la etapa s60 (que esta identificado en la figura 10 por el numeral de referencia 36), el vertice Xp, el vertice xp+2 y el nuevo borde 38.
En esta realizacion, el trayecto 36 es un trayecto desde el vertice inicial Xo hasta un vertice final Xfinai. El vertice final Xfinai corresponde a un estado en el que el segundo vehmulo 6 esta completamente ubicado con la zona objetivo 12. Tal como se muestra en la figura 10, el nuevo borde 38 proporciona un trayecto desde el vertice inicial Xo hasta el vertice final Xfinai que sortea el vertice xp+1, es decir, un trayecto que pasa traves de los siguientes vertices por orden: Xo,...,Xp, Xp+2,...Xfinai.
En la etapa s68, se determina si, en caso de que los vehmulos 4, 6 siguieran las rutas especificadas por el nuevo borde 38, uno o ambos de los vehmulos 4, 6 colisionanan o no con un objeto (por ejemplo, la tierra firme 8 u otro objeto o terreno que los vehmulos 4, 6 no pueden atravesar) u otro vehmulo. En esta realizacion, este proceso de determinacion de colisiones se lleva a cabo del mismo modo que se ha descrito anteriormente en la etapa s41 del proceso de la figura 5.
Si en la etapa s68 se determina que, en caso de que los vehmulos 4, 6 siguieran la ruta especificada por el nuevo borde 38, uno o ambos de los vehmulos 4, 6 colisionanan con un objeto, el procedimiento avanza a la etapa s74. La etapa s74 se describira mas adelante en mayor detalle despues de una descripcion de las etapas s7o y s72.
Sin embargo, si en la etapa s68 se determina que, en caso de que los vehmulos 4, 6 siguieran la ruta especificada por el nuevo borde 38, uno o ambos de los vetrtculos 4, 6 no colisionanan con un objeto, el procedimiento avanza a la etapa s7o.
5
10
15
20
25
30
35
40
45
50
En la etapa s70, la creencia asociada con el nodo rafz (es decir, la creencia asociada con el vertice inicial xo) se propaga a lo largo de todo el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai sorteando el vertice xp+i (es decir, el trayecto desde el vertice inicial X0 hasta el vertice final Xfinai proporcionado por el nuevo borde 38). En esta realizacion, este proceso de propagacion de creencia se lleva a cabo del mismo modo que se ha descrito anteriormente en la etapa s44 del proceso de la figura 5.
En la etapa s72, se determina si el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai sorteando el vertice Xp+1 (es decir, el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai proporcionado por el nuevo borde 38) es o no un trayecto de menor coste que el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai incluyendo el vertice xp+i. Esto se puede realizar, por ejemplo, comparando los costes asociados con los dos trayectos diferentes.
Si en la etapa s72 se determina que el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai sorteando el vertice xP+i no es un trayecto de menor coste que el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai incluyendo el vertice xp+i, el procedimiento avanza a las etapas s74.
Sin embargo, si en la etapa s72 se determina que el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai sorteando el vertice xp+i es un trayecto de menor coste que el trayecto desde el vertice inicial Xo hasta el vertice final Xfinai incluyendo el vertice xp+i, el procedimiento avanza a la etapa s76.
En la etapa s74, se desecha el nuevo borde 38. Despues de la etapa s74, el procedimiento avanza a la etapa s78, que se describira en mayor detalle a continuacion despues de una descripcion de la etapa s76.
En la etapa s76, el nuevo borde 38 esta incluido en el trayecto 36. Asimismo, en esta realizacion, el vertice xp+i se elimina del trayecto 36. Asimismo, en esta realizacion, los bordes en el trayecto 36 que estan conectados al vertice xp+i son eliminados del trayecto 36. En otras palabras, el borde que conecta xp a xp+i y el borde que conecta xp+i a xp+2 son eliminados del trayecto 36. Por lo tanto, se actualiza el trayecto 36.
En la etapa s78, se determina si todos los vertices del trayecto actual han sido o no seleccionados anteriormente.
En la etapa s78, si se determina que aun no han sido seleccionados todos los vertices en el trayecto actual, el procedimiento vuelve a la etapa s62, en la que se selecciona un nuevo vertice no seleccionado anteriormente a lo largo del trayecto actual.
Sin embargo, si en la etapa s78 se determina que todos los vertices en el trayecto actual han sido seleccionados anteriormente, el procedimiento avanza a la etapa s8o.
En la etapa s8o, se determinan las rutas para los vehfculos 4, 6 a traves de la masa de agua io que se especifican mediante el actual trayecto actualizado.
Las rutas determinadas para los vehfculos 4, 6 son la primera y la segunda rutas que tienen que ser enviadas por la unidad de procesamiento 22 para ser utilizadas por el modulo 24 de control de los vehfculos en la etapa si2.
Por lo tanto, se proporciona el algoritmo de acortamiento de rutas.
Ventajosamente, se proporciona un procedimiento mediante el que se pueden controlar una serie de vehfculos autonomos. El sistema y el procedimiento descritos anteriormente tienden a proporcionar un control coordinado de los vehfculos. El sistema y el procedimiento descritos anteriormente tienden a facilitar que los vehfculos sean controlados de tal modo que se provoquen "encuentros" de los vehfculos, es decir, controlar los vehfculos de tal modo que un vehfculo este ubicado dentro de un area que tiene una ubicacion fija con respecto a otro vehfculo. Esto tiende a contrastar con los procedimientos convencionales para controlar vehfculos autonomos, que habitualmente controlan un unico vehfculo de tal modo que dicho vehfculo se desplace a una ubicacion que tiene una posicion global fija.
Por lo tanto, el procedimiento y el aparato descritos anteriormente tienden ventajosamente a permitir encuentros coordinados de vehfculos.
Ventajosamente, el sistema y el procedimiento descritos anteriormente se pueden extender para controlar mas de dos vehfculos.
Ventajosamente, utilizando el sistema y el procedimiento descritos anteriormente para controlar vehfculos, tienden a evitarse las colisiones entre estos vehfculos y las colisiones entre un vehfculo y un objeto que no sea un vehfculo. El procedimiento descrito anteriormente incluye modelizar una planta de un vehfculo como un polfgono bidimensional, e incorporar una incertidumbre de la ubicacion, contenida en estados de creencia calculados por el modulo de procesamiento, de tal modo que se determinan rutas de vehfculos que garantizan que los vehfculos no colisionan con otros vehfculos o con objetos que no sean vehfculos.
Ventajosamente, el procedimiento y el sistema descritos anteriormente pueden ser utilizados para determinar rutas para vehfculos que minimicen un coste (por ejemplo, un coste en tiempo, un coste en distancia, un coste en combustible o cualquier otra funcion de coste).
5
10
15
20
25
30
35
40
45
50
55
Ventajosamente, el procedimiento descrito anteriormente incluye utilizar mediciones de ubicaciones de los vehnculos (tomadas por el sistema de radar) para reducir la incertidumbre sobre las ubicaciones de los vehnculos. Las rutas de vehnculos determinadas utilizando el sistema y los procedimientos descritos anteriormente tienden ventajosamente a atravesar areas en las que se pueden realizar mediciones de las posiciones de los vehnculos, con el fin de reducir la incertidumbre asociada con las posiciones de los vehnculos.
Ventajosamente, el sistema y el procedimiento descritos anteriormente tienden a tener en cuenta mediciones de la posicion de un vehnculo que esta bloqueado, por ejemplo por otros vehnculos o por objetos que no sean vehnculos
Ventajosamente, implementar el algoritmo de acortamiento de rutas descrito anteriormente tiende a modificar una ruta inicial, de tal modo que se reduce un coste en distancia, un coste en tiempo, un coste en combustible u otro coste de dicha ruta inicial. En las realizaciones anteriores, las rutas iniciales se determinan implementando el algoritmo RRBT. En algunas realizaciones, el algoritmo de acortamiento de rutas se puede iterar multiples veces para modificar adicionalmente una ruta inicial, de tal modo que se reduzca adicionalmente un coste de la ruta.
Ventajosamente, implementar el algoritmo de acortamiento de rutas descrito anteriormente tiende a ser computacionalmente eficiente. Por lo tanto, el algoritmo de acortamiento de rutas tiende a facilitar la planificacion de rutas y el control del vehnculo en tiempo real.
Ventajosamente, el sistema y los procedimientos descritos anteriormente tienden a tener en cuenta diferentes dinamicas para cada vetnculo. Por ejemplo, un barco grande tiende a poder cambiar de direccion de manera relativamente lenta, mientras que un bote menor tiende a poder cambiar de direccion con relativa rapidez.
Ventajosamente, el sistema y los procedimientos descritos anteriormente tienden a ser utilizables con vehnculos que siguen un trayecto predefinido. Un aparato que incluya el modulo de procesamiento para implementar la disposicion anterior, y realice las etapas del procedimiento que se describen despues, se puede proporcionar configurando o adaptando cualquier aparato adecuado, por ejemplo uno o varios ordenadores u otros procesadores o aparatos de procesamiento, y/o proporcionando modulos adicionales. El aparato puede comprender un ordenador, una red de ordenadores o uno o varios procesadores, para implementar instrucciones y utilizar datos, incluyendo instrucciones y datos en forma de un programa informatico o de una serie de programas informaticos almacenados en un medio de almacenamiento legible a maquina, tal como una memoria informatica, un disco informatico, ROM, PROM, etc., o cualquier combinacion de estos u otros medios de almacenamiento.
Se debe observar que algunas de las etapas de proceso representadas en los diagramas de flujo de las figuras 3, 4, 5 y 9 y descritas anteriormente se pueden omitir, o dichas etapas de proceso se pueden llevar a cabo en un orden diferente al presentado anteriormente y mostrado en dichas figuras. Ademas, aunque por comodidad y para facilitar la comprension todas las etapas de proceso se han representado como etapas secuenciales discretas temporalmente, sin embargo algunas de las etapas de proceso pueden de hecho ejecutarse simultaneamente o por lo menos solapando temporalmente en alguna medida.
En las realizaciones anteriores, el procedimiento para controlar un grupo de vehnculos se implementa en un escenario descrito anteriormente haciendo referencia a la figura 1. Sin embargo, en otras realizaciones el procedimiento se implementa en un escenario diferente.
En las realizaciones anteriores, se calculan rutas para dos vehnculos y se controlan estos dos vehnculos. Sin embargo, en otras realizaciones se determinan rutas para un numero diferente de vehnculos (por ejemplo, mas de dos vehnculos). A continuacion, estos vehnculos se pueden controlar de tal modo que se sigan las rutas determinadas para dichos vehnculos.
En las realizaciones anteriores, el procedimiento para controlar un grupo de vehnculos se implementa para desplazar los vehnculos de tal modo que el segundo vehnculo este completamente ubicado dentro de la zona objetivo que tiene una ubicacion fija con respecto al primer vehnculo. El segundo vehnculo que esta completamente ubicado dentro de la zona objetivo se puede considerar como un "estado objetivo" del sistema. Sin embargo, en otras realizaciones existe un estado objetivo diferente. Por ejemplo, en otras realizaciones, el estado objetivo es un estado en que el segundo vehnculo esta completamente ubicado dentro de una primera zona objetivo que tiene una ubicacion fija con respecto al primer vehnculo, y asimismo el primer vehnculo esta completamente ubicado dentro de una segunda zona objetivo que tiene una ubicacion fija con respecto al segundo vehnculo. En otras realizaciones, existen multiples zonas objetivo definidas con respecto a multiples vehnculos diferentes. En algunas realizaciones, un estado objetivo puede ser un estado en el que cualquier numero apropiado de vehnculos estan parcial o completamente ubicados dentro de una zona objetivo al mismo tiempo, o en tiempos diferentes.
En las realizaciones anteriores, los vehnculos son vehnculos acuaticos (por ejemplo mantimos) no tripulados. Sin embargo, en otras realizaciones, uno o varios de los vehnculos son un tipo diferente de vehnculo, por ejemplo, un vehnculo acuatico tripulado, un vehnculo terrestre tripulado o no tripulado, o una aeronave tripulada o no tripulada. En algunas realizaciones, uno o varios de los vehnculos pueden ser un tipo diferente de entidad, por ejemplo, una entidad que no sea un vehnculo, por ejemplo un brazo robotico o un cabrestante.
5
10
15
20
25
En las realizaciones anteriores, las mediciones de los rumbos y de las posiciones de los vetnculos se toman mediante el sistema de radar. Sin embargo, en otras realizaciones se pueden utilizar uno o varios tipos diferentes de mediciones de los vetnculos, en lugar o ademas de las mediciones de radar. Por ejemplo, en algunas realizaciones se puede utilizar una medicion GPS de la posicion de un vetnculo. Otros ejemplos de sensores apropiados que pueden ser utilizados para tomar mediciones de vetnculos incluyen, de forma no limitativa, una camara de luz visible, una camara de infrarrojos, un sistema LIDAR, balizas de radio, una unidad de medicion inercial, un compas, un velodmetro marino y un sensor ultrasonico.
En algunas realizaciones, las mediciones de los vetnculos se pueden tomar desde multiples ubicaciones diferentes. Por ejemplo, en algunas realizaciones, una serie de sistemas de radar diferentes pueden tomar mediciones de los rumbos y de las posiciones de los vetnculos. En algunas realizaciones, se puede tomar una medicion utilizando un sistema montado en un vetnculo.
En las realizaciones anteriores, el escenario comprende una unica estacion terrestre. Sin embargo, en otras realizaciones se utilizan multiples estaciones terrestres.
En las realizaciones anteriores, la determinacion de las rutas de vetnculos se lleva a cabo en la estacion terrestre. Sin embargo, en otras realizaciones, la determinacion de las rutas de vetnculos se lleva a cabo en una o varias ubicaciones diferentes, en lugar o ademas de en la estacion terrestre. Por ejemplo, en algunas realizaciones, la determinacion de las rutas de vetnculos se puede llevar a cabo a bordo de uno o varios de los vetnculos. En otras realizaciones, el proceso de determinar las rutas de vetnculos puede estar distribuido a traves de una serie de diferentes sistemas de procesamiento ubicados en diferentes emplazamientos.
En las realizaciones anteriores, el algoritmo de acortamiento de rutas se utiliza para refinar rutas de vetnculos que se tan determinado utilizando un algoritmo RRBT que se tia extendido para permitir el calculo de multiples rutas de vetnculos para un movimiento coordinado de los vetnculos. Sin embargo, en otras realizaciones, el algoritmo de acortamiento de rutas se utiliza para refinar rutas de vetnculos que se tan determinado utilizando un proceso apropiado diferente, tal como un algoritmo RRBT estandar.
Claims (15)
- 51015202530354045REIVINDICACIONES1. Un procedimiento para determinar una ruta para un vehnculo (6), comprendiendo el procedimiento: medir, mediante un aparato de medicion (20), la posicion del vehnculo (6);proporcionar, para su utilizacion por uno o varios procesadores (22), una especificacion de un area (12) a la que se tiene que desplazar el vehnculo (6); yutilizando las mediciones y la especificacion del area (12), llevar a cabo, mediante dichos uno o varios procesadores (22), un proceso de determinacion de ruta para determinar la ruta para el vehnculo (6), en el queel proceso de determinacion de ruta comprende:construir un grafo (34) dentro de un espacio de estados (X) del vehnculo (6), comprendiendo el grafo (34) una serie de vertices y uno o varios bordes que conectan dichos vertices;identificar, dentro del grafo construido (34), un trayecto desde un primer vertice del grafo (34) hasta un segundo vertice del grafo (34), correspondiendo el primer vertice a una posicion medida del vehnculo (6), y correspondiendo el segundo vertice al vehnculo (6) estando ubicado, por lo menos parcialmente, dentro del area (34);utilizando el trayecto identificado, llevar a cabo un algoritmo de acortamiento de trayectos para proporcionar un trayecto acortado; ydeterminar la ruta del vehnculo especificada por el trayecto acortado, proporcionando de ese modo la ruta para el vehnculo (6); yel algoritmo de acortamiento de trayectos comprende: definir el trayecto identificado como el trayecto actual; yllevar a cabo una o varias etapas i a vi, para producir el trayecto acortado; dondela etapa i comprende seleccionar un vertice a lo largo del trayecto actual para proporcionar un primer vertice del trayecto;la etapa ii comprende seleccionar otro vertice a lo largo del trayecto actual para proporcionar un segundo vertice del trayecto, estando el segundo vertice del trayecto conectado al primer vertice del trayecto mediante por lo menos dos bordes;la etapa iii comprende determinar un primer valor de coste, siendo el primer valor de coste indicativo de un coste asociado con un trayecto dentro del trayecto actual desde el primer vertice del trayecto hasta el segundo vertice del trayecto;la etapa iv comprende proporcionar un borde adicional, teniendo el borde adicional como su vertice inicial el primer vertice del trayecto y como su vertice final el segundo vertice del trayecto;la etapa v comprende determinar un segundo valor de coste, siendo el segundo valor de coste indicativo de un coste asociado con un trayecto desde el primer vertice del trayecto hasta el segundo vertice del trayecto a lo largo del borde adicional; yla etapa vi, en funcion del primer y el segundo valores de coste: deshecha el borde adicional y mantiene el trayecto actual; o bienmodifica el trayecto actual eliminando del trayecto actual los bordes y vertices en el trayecto actual mediante los que estan conectados el primer vertice del trayecto y el segundo vertice del trayecto, e incluye el borde adicional en el trayecto actual.
- 2. Un procedimiento segun la reivindicacion 1, en el que el procedimiento comprende ademas controlar el vehnculo (6) mediante un controlador (24) de vehnculos acoplado operativamente a dichos uno o varios procesadores (22), de tal modo que el vehnculo (6) siga la ruta, desplazando de ese modo el vehnculo (6) para que este ubicado, por lo menos parcialmente, dentro del area (12).
- 3. Un procedimiento segun la reivindicacion 1 o 2, en el que, en caso de que el vehnculo (6) siga la ruta del vehnculo definida por el borde adicional, si el vetnculo colisionara con otra entidad, en la etapa vi, no se modifica el trayecto actual y se desecha el borde adicional.
- 4. Un procedimiento segun la reivindicacion 1, 2 o 3, en el que el grafo (34) es un arbol.510152025303540
- 5. Un procedimiento segun cualquiera de las reivindicaciones 1 a 4, en el que la etapa de construir el grafo (34) comprende:inicializar el grafo (34) mediante determinar, utilizando la posicion medida del vehnculo, el primer vertice del grafo (34); yllevar a cabo las etapas vii a ix una o varias veces, proporcionando de ese modo el grafo; donde la etapa vii comprende muestrear el espacio de estados (X) del vehnculo (6) para proporcionar otro vertice; la etapa viii comprende proporcionar un borde que conecta el otro vertice con un vertice diferente del grafo (34); y la etapa ix comprende incluir el otro vertice y los bordes en el grafo (34).
- 6. Un procedimiento segun la reivindicacion 5, en el que, para cada ejecucion de las etapas vii a ix, se incluye solamente un borde en el grafo, en caso de que el vehnculo (6) siguiera la ruta del vehnculo definida por dicho borde, el vehnculo (6) no colisionara con otra entidad.
- 7. Un procedimiento segun cualquiera de las reivindicaciones 1 a 6, en el que la etapa de identificar el trayecto desde el primer vertice hasta el segundo vertice comprende:asignar, a uno o varios vertices dentro del grafo (34), uno o varios valores de creencia;propagar, a lo largo de cada trayecto en el grafo (34), los valores de creencia de tal modo que se asigna a cada vertice en el grafo uno o varios valores de creencia, estando cada valor de creencia asociado a un vertice en el grafo (34) correspondiente a un unico trayecto en el grafo (34) que pasa a traves de dicho vertice;y seleccionar, en base a uno o varios de los valores de creencia, un trayecto desde el primer vertice hasta el segundo vertice.
- 8. Un procedimiento segun la reivindicacion 7, en el que:un valor de creencia asignado al primer vertice es indicativo de una incertidumbre asociada con la medicion de la posicion del vehnculo (6);para cada vertice en el grafo (34) diferente al primer vertice, un valor de creencia asignado a dicho vertice es indicativo de la incertidumbre de la posicion del vehnculo (6) si el vehnculo (6) siguiera una ruta especificada por un trayecto en el grafo (34) desde el primer vertice hasta dicho vertice; yla etapa de propagar los valores de creencia comprende ajustar uno o varios de los valores de creencia para tener en cuenta otras mediciones de la posicion del vehnculo (6) tomadas por el aparato de medicion.
- 9. Un procedimiento segun la reivindicacion 7 u 8, en el que:para cada vertice en el grafo (34) diferente al primer vertice, un valor de creencia asignado a dicho vertice es indicativo de un valor de coste asociado con el vehnculo (6) que sigue una ruta especificada por un trayecto en el grafo desde el primer vertice hasta dicho vertice; yla etapa de identificar el trayecto desde el primer vertice hasta el segundo vertice comprende:identificar, a partir de un conjunto de valores de creencia asignados al segundo vertice, el valor de correspondiente al valor de coste mmimo; yidentificar el trayecto desde el primer vertice hasta el segundo vertice correspondiente al valor de identificado.
- 10. Un procedimiento segun cualquiera de las reivindicaciones 1 a 9, en el que el procedimiento comprende ademas medir, mediante el aparato de medicion, la posicion de otro vehnculo (4); el area (12) tiene una posicion fija con respecto al otro vehnculo (4);el proceso de determinacion de ruta se lleva a cabo para determinar ademas otra ruta para el otro vehnculo (4); el grafo (34) se construye dentro de un espacio de estados conjuntos del vehnculo (6) y del otro vehnculo (4); y correspondiendo el primer vertice del grafo a las posiciones medidas del vehnculo (6) y del otro vehnculo (4).
- 11. Un procedimiento segun cualquiera de las reivindicaciones 1 a 10, en el que el vehnculo (6) es un vehnculo no tripulado.creenciacreencia51015202530354045
- 12. Un procedimiento segun cualquiera de las reivindicaciones 1 a 11, en el que el aparato de medicion (20) comprende uno o varios de los sistemas de medicion seleccionados del grupo de: un sistema de radar y un sistema de posicionamiento global.
- 13. Aparato para determinar una ruta para un vehnculo (6), comprendiendo el aparato: un aparato de medicion (20) configurado para medir la posicion del vehnculo (6); yuno o varios procesadores (22) acoplados al aparato de medicion (20) y configurados para, utilizando las mediciones y una especificacion de un area (12) a la que se tiene que desplazar el vehnculo (6), llevar a cabo el proceso de determinacion de ruta con el fin de determinar la ruta para el vehnculo (6); en el queel proceso de determinacion de ruta comprende:construir un grafo (34) dentro de un espacio de estados (X) del vehnculo (6), comprendiendo el grafo (34) una serie de vertices y uno o varios bordes que conectan dichos vertices;identificar, dentro del grafo construido (34), un trayecto desde un primer vertice del grafo (34) hasta un segundo vertice del grafo (34), correspondiendo el primer vertice a la posicion medida del vetnculo (6), y correspondiendo el segundo vertice al vetnculo (6) estando ubicado, por lo menos parcialmente, dentro del area (12);utilizando el trayecto identificado, llevar a cabo un algoritmo de acortamiento de trayectos para proporcionar un trayecto acortado; ydeterminar la ruta del vetnculo especificada por el trayecto acortado, proporcionando de ese modo la ruta para el vetnculo (6); yel algoritmo de acortamiento de trayectos comprende: definir el trayecto identificado como el trayecto actual; yllevar a cabo una o varias etapas i a vi, para producir el trayecto acortado; dondela etapa i comprende seleccionar un vertice a lo largo del trayecto actual para proporcionar un primer vertice del trayecto;la etapa ii comprende seleccionar otro vertice a lo largo del trayecto actual para proporcionar un segundo vertice del trayecto, estando el segundo vertice del trayecto conectado al primer vertice del trayecto mediante por lo menos dos bordes;la etapa iii comprende determinar un primer valor de coste, siendo el primer valor de coste indicativo de un coste asociado con un trayecto dentro del trayecto actual desde el primer vertice del trayecto hasta el segundo vertice del trayecto;la etapa iv comprende proporcionar un borde adicional, teniendo el borde adicional como su vertice inicial el primer vertice del trayecto y como su vertice final el segundo vertice del trayecto;la etapa v comprende determinar un segundo valor de coste, siendo el segundo valor de coste indicativo de un coste asociado con un trayecto desde el primer vertice del trayecto hasta el segundo vertice del trayecto a lo largo del borde adicional; yla etapa vi, en funcion del primer y del segundo valores de coste: deshecha el borde adicional y mantiene el trayecto actual; o bienmodifica el trayecto actual eliminando del trayecto actual los bordes y vertices en el trayecto actual mediante los que estan conectados el primer vertice del trayecto y el segundo vertice del trayecto, e incluye el borde adicional en el trayecto actual.
- 14. Un programa o una serie de programas dispuestos de tal modo que cuando son ejecutados por un sistema informatico, o por uno o varios procesadores, hacen que el sistema informatico o dichos uno o varios procesadores funcionen de acuerdo con el procedimiento segun cualquiera de las reivindicaciones 1 a 12.
- 15. Un medio de almacenamiento legible a maquina, que almacena un programa o por lo menos uno de una serie de programas segun la reivindicacion 14.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1312587.7A GB2516230B (en) | 2013-07-15 | 2013-07-15 | Route planning |
EP13275164 | 2013-07-15 | ||
GB201312587 | 2013-07-15 | ||
EP13275164.5A EP2827211A1 (en) | 2013-07-15 | 2013-07-15 | Route planning |
PCT/GB2014/052065 WO2015008032A1 (en) | 2013-07-15 | 2014-07-07 | Route planning |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2646269T3 true ES2646269T3 (es) | 2017-12-13 |
Family
ID=51162851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14736953.2T Active ES2646269T3 (es) | 2013-07-15 | 2014-07-07 | Planificación de rutas |
Country Status (4)
Country | Link |
---|---|
US (1) | US9733090B2 (es) |
EP (1) | EP3022618B1 (es) |
ES (1) | ES2646269T3 (es) |
WO (1) | WO2015008032A1 (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3022618B1 (en) | 2013-07-15 | 2017-10-04 | BAE SYSTEMS plc | Route planning |
KR101664582B1 (ko) * | 2014-11-12 | 2016-10-10 | 현대자동차주식회사 | 자율주행차량의 주행경로 생성장치 및 방법 |
US9645577B1 (en) | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US10303166B2 (en) | 2016-05-23 | 2019-05-28 | nuTonomy Inc. | Supervisory control of vehicles |
US10126136B2 (en) | 2016-06-14 | 2018-11-13 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US10309792B2 (en) | 2016-06-14 | 2019-06-04 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US11092446B2 (en) | 2016-06-14 | 2021-08-17 | Motional Ad Llc | Route planning for an autonomous vehicle |
US10829116B2 (en) | 2016-07-01 | 2020-11-10 | nuTonomy Inc. | Affecting functions of a vehicle based on function-related information about its environment |
US10244094B2 (en) | 2016-08-18 | 2019-03-26 | nuTonomy Inc. | Hailing a vehicle |
US10681513B2 (en) | 2016-10-20 | 2020-06-09 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10857994B2 (en) | 2016-10-20 | 2020-12-08 | Motional Ad Llc | Identifying a stopping place for an autonomous vehicle |
US10331129B2 (en) | 2016-10-20 | 2019-06-25 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10473470B2 (en) | 2016-10-20 | 2019-11-12 | nuTonomy Inc. | Identifying a stopping place for an autonomous vehicle |
US10650270B2 (en) * | 2017-04-21 | 2020-05-12 | X Development Llc | Methods and systems for simultaneous localization and calibration |
US10809732B2 (en) * | 2018-09-25 | 2020-10-20 | Mitsubishi Electric Research Laboratories, Inc. | Deterministic path planning for controlling vehicle movement |
CN109917794B (zh) * | 2019-04-18 | 2022-02-18 | 北京智行者科技有限公司 | 全局路径规划方法及装置 |
US11592843B2 (en) | 2020-04-08 | 2023-02-28 | Lockheed Martin Corporation | Autonomous aircraft local planning to avoid obstructions |
CN111928853B (zh) * | 2020-07-30 | 2023-06-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 复杂环境下空基平台快速航路规划方法 |
CN112197783B (zh) * | 2020-09-30 | 2022-08-02 | 哈尔滨工程大学 | 一种考虑车头指向的两阶段多抽样的rrt路径规划方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266610B1 (en) | 1998-12-31 | 2001-07-24 | Honeywell International Inc. | Multi-dimensional route optimizer |
AU3678500A (en) * | 2000-04-13 | 2001-10-30 | Zhimin Lin | Semi-optimal path finding in a wholly unknown environment |
US8560223B2 (en) | 2002-08-29 | 2013-10-15 | Mapquest, Inc. | Automated route determination |
US7447593B2 (en) * | 2004-03-26 | 2008-11-04 | Raytheon Company | System and method for adaptive path planning |
US8140256B1 (en) | 2006-08-16 | 2012-03-20 | University Of South Florida | Dynamic ride matching system |
US8126642B2 (en) | 2008-10-24 | 2012-02-28 | Gray & Company, Inc. | Control and systems for autonomously driven vehicles |
US8155811B2 (en) | 2008-12-29 | 2012-04-10 | General Electric Company | System and method for optimizing a path for a marine vessel through a waterway |
EP3022618B1 (en) | 2013-07-15 | 2017-10-04 | BAE SYSTEMS plc | Route planning |
-
2014
- 2014-07-07 EP EP14736953.2A patent/EP3022618B1/en active Active
- 2014-07-07 ES ES14736953.2T patent/ES2646269T3/es active Active
- 2014-07-07 US US14/905,204 patent/US9733090B2/en active Active
- 2014-07-07 WO PCT/GB2014/052065 patent/WO2015008032A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015008032A1 (en) | 2015-01-22 |
EP3022618B1 (en) | 2017-10-04 |
EP3022618A1 (en) | 2016-05-25 |
US20160161262A1 (en) | 2016-06-09 |
US9733090B2 (en) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2646269T3 (es) | Planificación de rutas | |
ES2649193T3 (es) | Planificación de ruta | |
Jin et al. | Mapless navigation among dynamics with social-safety-awareness: a reinforcement learning approach from 2d laser scans | |
Chakrabarty et al. | Real-time path planning for multi-copters flying in UTM-TCL4 | |
AU2014360672A1 (en) | Method and apparatus for developing a flight path | |
Montenegro et al. | A review on distributed control of cooperating mini UAVs | |
Pritzl et al. | Cooperative navigation and guidance of a micro-scale aerial vehicle by an accompanying UAV using 3D LiDAR relative localization | |
Santos et al. | Navigation stack for robots working in steep slope vineyard | |
Nahavandi et al. | A comprehensive review on autonomous navigation | |
EP2827210A1 (en) | Route planning | |
Madridano et al. | Obstacle avoidance manager for UAVs swarm | |
Jung et al. | Collision‐free local planner for unknown subterranean navigation | |
Ma et al. | Local path planning for mobile robots based on intermediate objectives | |
Mäkelä | Outdoor navigation of mobile robots | |
KR102233226B1 (ko) | LiDAR가 탑재된 FPGA 기반 드론 비행제어 시스템 | |
Baxevani et al. | Resilient Ground Vehicle Autonomous Navigation in GPS-Denied Environments | |
Miera et al. | LiDAR-based drone navigation with reinforcement learning | |
Newaz et al. | Exploration priority based heuristic approach to uav path planning | |
Jung et al. | Robust Collision-free Lightweight Aerial Autonomy for Unknown Area Exploration | |
Kudriashov et al. | Introduction to Mobile Robots Navigation, Localization and Mapping | |
Bao et al. | Landmark selection and path planning for unmanned vehicles with position error corrections | |
CN118034360A (zh) | 室内物品飞行搬运机器人定位导航方法和装置、存储介质 | |
De Petrillo et al. | Gaussian Process Regression for Learning Environment Impacts on Localization Accuracy of a UAV with Respect to UGV for Search Planning | |
EP2827211A1 (en) | Route planning | |
Gomes | UAV navigation in GNSS-denied environments |