ES2883847T3 - Prevención de colisiones de vehículos - Google Patents

Prevención de colisiones de vehículos Download PDF

Info

Publication number
ES2883847T3
ES2883847T3 ES17787070T ES17787070T ES2883847T3 ES 2883847 T3 ES2883847 T3 ES 2883847T3 ES 17787070 T ES17787070 T ES 17787070T ES 17787070 T ES17787070 T ES 17787070T ES 2883847 T3 ES2883847 T3 ES 2883847T3
Authority
ES
Spain
Prior art keywords
speed
vehicle
processor
points
obstacle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17787070T
Other languages
English (en)
Inventor
Matthew Hyatt Turpin
Stephen Marc Chaves
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2883847T3 publication Critical patent/ES2883847T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/102Simultaneous control of position or course in three dimensions specially adapted for aircraft specially adapted for vertical take-off of aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/176Urban or other man-made structures
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0004Transmission of traffic-related information to or from an aircraft
    • G08G5/0013Transmission of traffic-related information to or from an aircraft with a ground station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0073Surveillance aids
    • G08G5/0086Surveillance aids for monitoring terrain
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/04Anti-collision systems
    • G08G5/045Navigation or guidance aids, e.g. determination of anti-collision manoeuvers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/933Radar or analogous systems specially adapted for specific applications for anti-collision purposes of aircraft or spacecraft
    • G01S13/935Radar or analogous systems specially adapted for specific applications for anti-collision purposes of aircraft or spacecraft for terrain-avoidance

Abstract

Un método (700) para evitar colisiones de vehículos de un vehículo, que comprende: recibir (702) datos de la cámara que comprenden uno o más puntos (404), en donde cada punto corresponde a un píxel en una imagen; determinar (704) una distancia y una dirección desde el vehículo (200) hasta el único o más puntos; determinar (706) una restricción de velocidad para cada uno del único o más puntos en base a la distancia y la dirección determinadas desde el vehículo hasta cada uno del único o más puntos; determinar (610) una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas basadas en una instrucción de navegación de vehículos, en donde una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas son menores o iguales a cada restricción de velocidad; seleccionar (612) una solución de velocidad desde la única o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo; y ajustar (614) una velocidad del vehículo basada en la solución de velocidad seleccionada.

Description

DESCRIPCIÓN
Prevención de colisiones de vehículos
SOLICITUDES RELACIONADAS
Esta solicitud reivindica el beneficio de prioridad a la solicitud de patente provisional de los Estados Unidos n. ° 62/421.551 titulada "Prevención de colisiones de vehículos" presentada el 14 de noviembre de 2016.
ANTECEDENTES
Los vehículos en movimiento, y en particular los vehículos robóticos y semiautónomos, eventualmente enfrentan el desafío de evitar obstáculos. Si bien los vehículos tripulados pueden depender de un operador humano para detectar obstáculos y tomar decisiones de navegación en tiempo real para evitar una colisión, los vehículos controlados de manera remota y los vehículos semiautónomos deben confiar en técnicas automatizadas para evitar obstáculos.
La atención se centra en el documento US 2006/058931 A1 que describe sistemas y métodos para evitar colisiones que se implementan en vehículos móviles no tripulados para complementar las trayectorias basadas en mapas generadas por los sistemas de navegación de los vehículos. Estos sistemas incluyen el radar, que detecta obstáculos en la ruta de los vehículos móviles no tripulados, y los módulos para evitar colisiones, que permiten a los vehículos evitar obstáculos inesperados ajustando sus trayectorias y velocidades en función de la información recibida desde el radar. En general, cuando el radar detecta un obstáculo, el módulo de prevención de colisiones modifica la velocidad comandada de un vehículo móvil no tripulado restando de la velocidad nominal comandada el componente que está en la dirección del obstáculo. La magnitud de la modificación de la velocidad aumenta normalmente a medida que disminuye la distancia entre el vehículo móvil y el obstáculo.
SUMARIO
La presente invención se expone en las reivindicaciones independientes, respectivamente. Las realizaciones preferidas de la invención se describen en las reivindicaciones dependientes.
Varias realizaciones incluyen métodos que pueden ser implementados por un procesador de un vehículo para evitar una colisión con un objeto. Varias realizaciones pueden incluir la recepción de datos del sensor que comprenden uno o más puntos, determinar una distancia y una dirección desde el vehículo hasta uno o más puntos, determinar una restricción de velocidad para cada uno del único o más puntos en base a la distancia determinada y la dirección desde el vehículo a cada uno del único o más puntos, determinar una o más soluciones de velocidad que satisfacen las restricciones de velocidad determinadas basadas en una instrucción de navegación del vehículo, seleccionar una solución de velocidad desde una o más soluciones de velocidad determinadas basadas en la instrucción de navegación del vehículo y ajustar una velocidad del vehículo basada en la solución de velocidad seleccionada. En algunas realizaciones, la recepción de datos del sensor puede incluir la recepción de datos del sensor sin procesar. En algunas realizaciones, la restricción de velocidad para cada uno del único o más puntos puede incluir una restricción de desigualdad de velocidad.
En algunas realizaciones, determinar la distancia y la dirección desde el vehículo hasta uno o más puntos puede incluir determinar una distancia y una dirección desde el vehículo hasta un obstáculo. En algunas realizaciones, el obstáculo puede incluir un obstáculo representado por uno o más puntos.
En algunas realizaciones, determinar una restricción de velocidad para cada uno del único o más puntos en base a la distancia y dirección determinadas desde el vehículo hasta cada uno del único o más puntos puede incluir determinar una restricción de velocidad para cada uno del único o más puntos en base a la distancia y la dirección determinadas desde el vehículo hasta un obstáculo representado por uno o más puntos.
En algunas realizaciones, la instrucción de navegación del vehículo puede incluir un componente de dirección, y la selección de la solución de velocidad a partir de una o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo puede incluir seleccionar la solución de velocidad que tiene un componente de dirección que coincide estrechamente con el componente de dirección de la instrucción de navegación del vehículo. En algunas realizaciones, la instrucción de navegación del vehículo puede incluir un componente de velocidad, y la selección de la solución de velocidad a partir de una o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo puede incluir seleccionar la solución de velocidad que tiene un componente de velocidad que coincide estrechamente con el componente de velocidad de la instrucción de navegación.
Otras realizaciones pueden incluir un vehículo que incluye un procesador configurado con instrucciones ejecutables por procesador para realizar operaciones de los métodos resumidos anteriormente. Otras realizaciones pueden incluir un vehículo que incluye medios para realizar las funciones de los métodos resumidos anteriormente. Otras realizaciones pueden incluir medios de almacenamiento legibles por procesador en los que se almacenan instrucciones ejecutables por procesador configuradas para hacer que un procesador de un vehículo realice operaciones de los métodos resumidos anteriormente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 es un diagrama de bloques del sistema de un vehículo que funciona dentro de un sistema de comunicación según varias realizaciones.
La figura 2 es un diagrama de bloques de componentes que ilustra los componentes de un vehículo según varias realizaciones.
La figura 3 ilustra un sistema de coordenadas de la carrocería de un vehículo según varias realizaciones.
La figura 4A ilustra un método para evitar colisiones de vehículos según varias realizaciones.
La figura 4B ilustra un método para evitar colisiones de vehículos según varias realizaciones.
La figura 5 ilustra un método para evitar colisiones de vehículos según varias realizaciones.
La figura 6 es un diagrama de flujo del proceso que ilustra un método para evitar colisiones de vehículos según varias realizaciones.
La figura 7 es un diagrama de flujo del proceso que ilustra un método para evitar colisiones de vehículos según varias realizaciones.
DESCRIPCIÓN DETALLADA
Varias realizaciones incluyen métodos que pueden ser implementados mediante un procesador de un vehículo y pueden mejorar el funcionamiento del vehículo al permitir que el vehículo evite una colisión con un obstáculo. En algunas realizaciones, el procesador puede recibir datos del sensor que incluyen uno o más puntos, y el procesador puede determinar una distancia y una dirección desde el vehículo hasta uno o más puntos. En algunas realizaciones, el procesador puede determinar una distancia y una dirección desde el vehículo hasta el único o más puntos, y puede determinar una restricción de velocidad para cada uno del único o más puntos en base a la distancia y dirección determinadas hasta cada uno del único o más puntos. En algunas realizaciones, el procesador puede determinar una distancia y una dirección desde el vehículo hasta un obstáculo que puede estar representado por uno o más puntos, y puede determinar una restricción de velocidad para el obstáculo. En algunas realizaciones, el procesador puede determinar una restricción de velocidad para cada uno del único o más puntos. El procesador puede recibir o adquirir una entrada de navegación que puede incluir una velocidad de entrada, y puede usar la velocidad de entrada y una o más restricciones de velocidad para determinar una solución de velocidad que cumpla con todas las restricciones de velocidad. Varias realizaciones también pueden mejorar el funcionamiento del vehículo ajustando la velocidad del vehículo para que coincida estrechamente con las instrucciones de navegación. Varias realizaciones también pueden mejorar el funcionamiento del vehículo reduciendo una carga computacional en el procesador del vehículo al identificar uno o más puntos entre un grupo de puntos (que puede incluir un grupo muy grande de puntos) y al determinar una restricción de velocidad para cada uno del único o más puntos identificados. En varias realizaciones, el procesador puede usar las restricciones de velocidad para establecer límites en la velocidad del vehículo.
Como se usa en la presente, el término "vehículo" se refiere a uno de varios tipos de vehículos robóticos y vehículos semiautónomos. Un vehículo puede incluir un dispositivo informático a bordo configurado para maniobrar y/o navegar por el vehículo con alguna instrucción de funcionamiento remota o actualizaciones de instrucciones almacenadas en una memoria del dispositivo informático a bordo. En algunas implementaciones, un vehículo puede ser un vehículo aéreo propulsado para el vuelo mediante el uso de una pluralidad de unidades de propulsión, cada una de las cuales incluye uno o más rotores, que brindan fuerzas de propulsión y/o elevación para el vehículo. En algunas implementaciones, un vehículo puede ser un vehículo terrestre, un vehículo acuático o un vehículo subacuático. Las unidades de propulsión del vehículo pueden ser alimentadas por uno o más tipos de fuentes de energía eléctrica, como baterías, celdas de combustible, generadores de motores, celdas solares u otras fuentes de energía eléctrica, que también pueden alimentar el dispositivo informático a bordo, los componentes de navegación y/u otros componentes a bordo.
Los vehículos en movimiento, y en particular los vehículos robóticos y semiautónomos, eventualmente enfrentan el desafío de evitar obstáculos. Si bien los vehículos tripulados pueden depender de un operador humano para detectar obstáculos y tomar decisiones de navegación en tiempo real para evitar una colisión, los vehículos controlados de manera remota y los vehículos semiautónomos deben confiar en técnicas automatizadas para evitar obstáculos.
Varias realizaciones proporcionan métodos implementados por un procesador de un vehículo para evitar una colisión con un objeto. En varias realizaciones, el procesador del vehículo puede detectar un obstáculo, por ejemplo a partir de la información recibida por un sensor del vehículo. El procesador puede determinar una distancia entre el vehículo y el obstáculo y un ángulo con el obstáculo, y puede determinar una restricción de velocidad para el obstáculo. El procesador puede recibir o adquirir una instrucción de navegación, que puede incluir una velocidad de entrada. El procesador puede determinar una o más soluciones de velocidad basándose en la velocidad de entrada que cumple con la restricción de velocidad. El procesador puede seleccionar una solución de velocidad basada en la instrucción de navegación, y el procesador puede ajustar la velocidad del vehículo en base a la solución de velocidad seleccionada. En algunas realizaciones, la restricción de velocidad puede incluir una velocidad máxima que el vehículo puede alcanzar sin colisionar contra el obstáculo.
Se pueden implementar varias realizaciones dentro de un vehículo que funciona dentro de una variedad de sistemas de comunicación 100, cuyo ejemplo se ilustra en la figura 1. Con referencia a la figura 1, el sistema de comunicación 100 puede incluir un vehículo 102, un controlador de vehículo 130, una estación base 104, un punto de acceso 106, una red de comunicación 108 y un elemento de red 110.
La estación base 104 y el punto de acceso 106 pueden proporcionar comunicaciones inalámbricas para acceder a la red de comunicaciones 108 a través de una red de retorno de comunicaciones cableadas y/o inalámbricas 118 y 120, respectivamente. La estación base 104 puede incluir estaciones base configuradas para proporcionar comunicaciones inalámbricas en un área amplia (por ejemplo, macroceldas), así como celdas pequeñas, que pueden incluir una micro celda, una femto celda, una pico celda y otros puntos de acceso de red similares. El punto de acceso 106 puede incluir puntos de acceso configurados para proporcionar comunicaciones inalámbricas en un área relativamente más pequeña. También son posibles otros ejemplos de estaciones base y puntos de acceso.
El vehículo 102 puede comunicarse con el controlador del vehículo 130 a través de un enlace de comunicación inalámbrica 116. El controlador del vehículo 130 puede proporcionar instrucciones de vuelo y/o navegación al vehículo 102. El vehículo 102 también puede comunicarse con la estación base 104 a través de un enlace de comunicación inalámbrica 112, y con el punto de acceso 106 a través de un enlace de comunicación inalámbrica 114. Los enlaces de comunicación inalámbrica 112 y 114 pueden incluir una pluralidad de señales portadoras, frecuencias o bandas de frecuencia, cada una de las cuales puede incluir una pluralidad de canales lógicos. Los enlaces de comunicación inalámbrica 112 y 114 pueden utilizar una o más tecnologías de acceso por radio (RAT). Ejemplos de RAT que pueden utilizar en un enlace de comunicación inalámbrica incluyen 3GPP, Evolución a largo plazo (LTE), 3G, 4G, 5G, Sistema global para la movilidad (GSM), Acceso múltiple por división de código (CDMA), Acceso múltiple por división de código de banda ancha (WCDMA), Interoperabilidad mundial para acceso por microondas (WiMAX), Acceso múltiple por división de tiempo (TDMA) y otras RAT celulares de tecnologías de comunicación de telefonía móvil. Otros ejemplos de RAT que pueden utilizarse en uno o más de los diversos enlaces de comunicación inalámbrica dentro del sistema de comunicación 100 incluyen protocolos de alcance medio como Wi-Fi, LTE-U, LTE-Directo, LAA, MuLTEfire y RAT de alcance relativamente corto como ZigBee®, Bluetooth® y Bluetooth Low Energy (LE)®.
El elemento de red 110 puede incluir un servidor de red u otro elemento de red similar. El elemento de red 110 puede comunicarse con la red de comunicación 108 a través de un enlace de comunicación 122. El vehículo 102 y el elemento de red 110 pueden comunicarse a través de la red de comunicación 108. El elemento de red 110 puede proporcionar al vehículo 102 una variedad de información, como información de navegación, información meteorológica, información sobre el tráfico aéreo, terrestre y/o marítimo local, instrucciones de control de movimiento y demás información, instrucciones o comandos relevantes para operaciones del vehículo 102.
En varias realizaciones, el vehículo 102 puede moverse a través de un entorno en una ruta de movimiento 150. A medida que el vehículo 102 se mueve por el entorno, el vehículo puede detectar un obstáculo, como un obstáculo 140 o un obstáculo 142. Los obstáculos pueden suponer un riesgo de colisión para el vehículo 102. Algunos obstáculos, como el obstáculo 142, pueden ser relativamente más pequeños y es posible evitarlos o sortearlos. Algunos obstáculos, como el obstáculo 140, pueden incluir obstáculos que no son posibles de evitar o sortear, como una pared o una barrera similar.
Los vehículos pueden incluir una variedad de diseños. La figura 2 ilustra un vehículo de ejemplo 200 que puede utilizar varias realizaciones. Si bien el vehículo 200 se ilustra con un diseño aéreo, esa ilustración no pretende implicar o requerir que varias realizaciones estén limitadas a vehículos aéreos de superficies de sustentación rotatorias o vehículos aéreos. Se pueden usar varias realizaciones con vehículos alados, así como vehículos terrestres, vehículos de motor y vehículos subacuáticos. También se apreciará que los vehículos de otros diseños pueden incluir elementos que son análogos a los elementos descritos a continuación con respecto al vehículo aéreo 200, y pueden incluir también otros elementos, según sea adecuado para el diseño particular del vehículo.
Con referencia a las figuras 1 y 2, el vehículo 200 puede ser similar al vehículo 102. El vehículo 200 utiliza uno o más rotores 202 accionados por motores correspondientes para proporcionar el lanzamiento (o despegue) así como otros movimientos aéreos (por ejemplo, progresión hacia adelante, ascenso, descenso, movimientos laterales, inclinación, rotación, etc.). El vehículo 200 puede incluir varios rotores 202, un chasis 204 y columnas de aterrizaje 206 o deslizamientos. El chasis 204 puede proporcionar soporte estructural para los motores asociados con los rotores 202. Las columnas de aterrizaje 206 pueden soportar el peso de carga máximo para la combinación de los componentes del vehículo 200 y, en algunos casos, una carga útil. Para facilitar la descripción y la ilustración, se omiten algunos aspectos detallados del vehículo 200, como el cableado, las interconexiones de la estructura de chasis u otras características que serán conocidas por un experto en la técnica. Por ejemplo, mientras que el vehículo 200 se muestra y describe con un chasis 204 que tiene varios elementos de soporte o estructuras de chasis, el vehículo 200 puede construirse utilizando un chasis moldeado en el que se obtiene soporte a través de la estructura moldeada. Aunque el vehículo ilustrado 200 tiene cuatro rotores 202, esto es meramente ejemplar y varias realizaciones pueden incluir más o menos de cuatro rotores 202.
El vehículo 200 puede incluir además una unidad de control 210 que puede albergar varios circuitos y dispositivos usados para alimentar y controlar el funcionamiento del vehículo 200. La unidad de control 210 puede incluir un procesador 220, un módulo de energía 230, sensores 240, unidades de seguridad de carga útil 244, un módulo de salida 250, un módulo de entrada 260 y un módulo de radio 270.
El procesador 220 puede configurarse con instrucciones ejecutables por procesador para controlar el viaje y otras operaciones del vehículo 200, incluidas las operaciones de diversas realizaciones. El procesador 220 puede incluir o estar acoplado a una unidad de navegación 222, una memoria 224, una unidad de giroscopio/acelerómetro 226 y un módulo de aviónica 228. El procesador 220 y/o la unidad de navegación 222 pueden configurarse para comunicarse con un servidor a través de una conexión inalámbrica (por ejemplo, una red de datos celulares) para recibir datos útiles en la navegación, proporcionar informes de posición en tiempo real y evaluar datos.
El módulo de aviónica 228 se puede acoplar al procesador 220 y/o la unidad de navegación 222, y se puede configurar para proporcionar información relacionada con el control de viaje, como la altitud, la postura, la velocidad aérea, el rumbo y la información similar que la unidad de navegación 222 puede utilizar para fines de navegación, como la navegación a estima entre las actualizaciones de posición del Sistema global de navegación por satélite (GNSS).
La unidad de giroscopio/acelerómetro 226 puede incluir un acelerómetro, un giroscopio, un sensor de inercia u otros sensores similares. El módulo de aviónica 228 puede incluir o recibir datos desde la unidad de giróscopo/acelerómetro 226 que proporciona datos con respecto a la orientación y aceleraciones del vehículo 200 que pueden usarse en determinaciones de navegación y posicionamiento.
El procesador 220 puede recibir además información adicional desde los sensores 240, tal como un sensor de imagen o un sensor óptico (por ejemplo, capaz de detectar luz visible, infrarroja, ultravioleta y/u otras longitudes de onda de luz). Los sensores 240 también pueden incluir un sensor de radiofrecuencia (RF), un barómetro, un emisor/detector de sonar, un emisor/detector de radar, un micrófono u otro sensor acústico, u otro sensor que pueda proporcionar información utilizable por el procesador 220 para operaciones de movimiento así como determinaciones y cálculos de navegación y posicionamiento. Los sensores 240 pueden incluir sensores de contacto o de presión que pueden proporcionar una señal que indique cuando el vehículo 200 ha hecho contacto con una superficie. Las unidades de sujeción de carga útil 244 pueden incluir un motor accionador que acciona un mecanismo de agarre y liberación y controles relacionados que responden a la unidad de control 210 para agarrar y liberar una carga útil en respuesta a los comandos desde la unidad de control 210. En varias realizaciones, la unidad de control 210 puede estar equipada con un módulo de entrada 260, que puede usarse para una variedad de aplicaciones. Por ejemplo, el módulo de entrada 260 puede recibir imágenes o datos desde una cámara o sensor a bordo, o puede recibir señales electrónicas desde otros componentes (por ejemplo, una carga útil).
En algunas realizaciones, la unidad de navegación 222 puede incluir módulos para realizar varias funciones diferentes, tales como un módulo controlador de vuelo 222a y un módulo planificador de ruta 222b. El módulo de controlador de vuelo 222a puede realizar cálculos y enviar instrucciones a varios controladores de motor y/o accionadores en el vehículo 200 relacionados con el control momento a momento de los movimientos del vehículo. El módulo del controlador de vuelo 222a puede usar información desde uno o más de la unidad de giroscopio/acelerómetro 226, el módulo de aviónica 228 y los sensores 240. El módulo planificador de ruta 222b puede realizar cálculos y determinaciones relacionadas con la planificación de ruta global (en contraste con el control momento a momento de los movimientos del vehículo 200) y puede enviar información de ruta al módulo del controlador de vuelo 222a.
El módulo de energía 230 puede incluir una o más baterías que pueden proporcionar energía a varios componentes, incluido el procesador 220, los sensores 240, las unidades de sujeción de carga útil 244, el módulo de salida 250, el módulo de entrada 260 y el módulo de radio 270. Además, el módulo de energía 230 puede incluir componentes de almacenamiento de energía, tales como baterías recargables. El procesador 220 puede configurarse con instrucciones ejecutables por procesador para controlar la carga del módulo de energía 230 (es decir, el almacenamiento de energía recolectada), por ejemplo al ejecutar un algoritmo de control de carga usando un circuito de control de carga. De manera adicional o alternativa, el módulo de energía 230 puede configurarse para gestionar su propia carga. El procesador 220 puede acoplarse al módulo de salida 250, que puede emitir señales de control para gestionar los motores que accionan los rotores 202 y otros componentes.
El vehículo 200 puede controlarse mediante el control de los motores individuales de los rotores 202 a medida que el vehículo 200 avanza hacia un destino. El procesador 220 puede recibir datos desde la unidad de navegación 222 y utilizar dichos datos para determinar la posición y orientación actuales del vehículo 200, así como el rumbo adecuado hacia el destino o sitios intermedios. En varias realizaciones, la unidad de navegación 222 puede incluir un sistema receptor GNSS (por ejemplo, uno o más receptores del sistema de posicionamiento global (GPS)) que permiten que el vehículo 200 navegue con señales GNSS. En algunas realizaciones, la unidad de navegación 222 puede recibir o determinar una posición derivada de sistemas basados en imágenes, como la odometría inercial visual. De manera adicional o alternativa, la unidad de navegación 222 puede estar equipada con receptores de radionavegación para recibir balizas de navegación u otras señales desde nodos de radio, tales como balizas de navegación (por ejemplo, balizas de muy alta frecuencia (VHF) de alcance omnidireccional (VOR)), puntos de acceso Wi-Fi, sitios de redes celulares, estaciones de radio, dispositivos informáticos remotos, otros UAV, etc.
El módulo de radio 270 puede estar configurado para recibir señales de navegación, tales como señales desde instalaciones de navegación de aviación, etc., y proporcionar tales señales al procesador 220 y/o la unidad de navegación 222 para ayudar en la navegación del vehículo. En varias realizaciones, la unidad de navegación 222 puede utilizar señales recibidas desde emisores de RF reconocibles (por ejemplo, estaciones de radio AM/FM, puntos de acceso Wi-Fi y estaciones base de redes celulares) en tierra.
El módulo de radio 270 puede incluir un módem 274 y una antena de transmisión/recepción 272. El módulo de radio 270 puede configurarse para llevar a cabo comunicaciones inalámbricas con un controlador de vehículo 290, así como con una estación base de telefonía inalámbrica o torre celular (por ejemplo, la estación base 104), un punto de acceso a la red (por ejemplo, el punto de acceso 106), una baliza, un teléfono inteligente, una tableta u otro dispositivo informático con el que el vehículo 200 puede comunicarse (tal como el elemento de red 110). El procesador 220 puede establecer un enlace de comunicación inalámbrica bidireccional 294 a través del módem 274 y la antena 272 del módulo de radio 270 y el dispositivo de comunicación inalámbrica 290 a través de una antena de transmisión/recepción 292. En algunas realizaciones, el módulo de radio 270 puede configurarse para admitir múltiples conexiones con diferentes dispositivos de comunicación inalámbrica usando diferentes tecnologías de acceso por radio.
Si bien varios componentes de la unidad de control 210 se ilustran como componentes separados, algunos o todos los componentes (por ejemplo, el procesador 220, el módulo de salida 250, el módulo de radio 270 y otras unidades) pueden integrarse juntos en un único dispositivo o módulo, como un módulo de sistema en chip.
En algunas realizaciones, un vehículo robótico o semiautónomo puede detectar su entorno y/o tomar ciertas decisiones de navegación y/o de vuelo basándose en un chasis o sistema de coordenadas de carrocería. La figura 3 ilustra un ejemplo de un sistema de coordenadas del chasis de la carrocería de tres ejes 300. Con referencia a las figuras 1-3, en algunas realizaciones, un procesador de un vehículo (por ejemplo, el procesador 220) puede determinar una dirección y una distancia desde el vehículo hasta un obstáculo (o hasta un punto, como se describe más adelante) en relación con el sistema de coordenadas del chasis de la carrocería. En algunas realizaciones, el sistema de coordenadas del chasis de la carrocería 300 puede usar una variedad de chasis, incluidos un chasis mundial, un chasis de la carrocería, un chasis de la carrocería alineada por gravedad y similares. En varias realizaciones, un procesador del vehículo (por ejemplo, el procesador 220) puede indicar ubicaciones relativas a cada eje-X, eje-Y y eje-Z. El procesador puede asociar direcciones relativas con cada eje (por ejemplo, direcciones hacia adelante y hacia atrás con el eje-X, izquierda y derecha con el eje-Y, y arriba y abajo con el eje-Z).
La figura 4A ilustra un método para evitar colisiones de vehículos 400 según varias realizaciones. Con referencia a las figuras 1-4A, un procesador (por ejemplo, el procesador 220) de un vehículo 402 (que puede ser similar al vehículo 102 y 200) puede detectar obstáculos, como los obstáculos 140 y 142, usando un sensor del vehículo (por ejemplo uno o más de los sensores 240). En algunas implementaciones, el sensor puede obtener o recibir datos que permitan al procesador del vehículo 402 determinar una distancia y una dirección (por ejemplo, un ángulo) desde el vehículo 402 hasta un obstáculo (por ejemplo, los obstáculos 140 y 142). El sensor puede, por ejemplo, incluir un sensor binocular, como una cámara binocular, que puede permitir al procesador del vehículo 402 obtener información de profundidad desde estéreo (DFS), que el procesador puede utilizar para determinar la distancia y la dirección desde el vehículo 402 hasta los obstáculos 140 y 142. Como otro ejemplo, el sensor puede incluir uno o más de radar, lidar, sonar u otro sensor que pueda proporcionar al procesador información para determinar la distancia y dirección a los obstáculos 140 y 142.
La caracterización de un obstáculo, como la determinación del tamaño, la forma y otras características de un obstáculo detectado, puede ser computacionalmente intensiva. Para reducir la carga computacional en el procesador, en algunas realizaciones, el procesador puede identificar uno o más puntos, como los puntos 404(1-n) ilustrados en el obstáculo 140 y los puntos 406(1-n) ilustrados en el obstáculo 142. Cada uno del único o más puntos (por ejemplo, 404(1-n) y 406(1-n) pueden indicar la existencia de un obstáculo en la ubicación del punto y/o puede ser en sí mismo la totalidad de un obstáculo. En algunas realizaciones, cada uno del único o más puntos puede representar un obstáculo. En algunas realizaciones, es posible que el procesador no identifique, o no pueda identificar ningún punto, lo que puede indicar que no se detecta ningún obstáculo.
En algunas realizaciones, el procesador puede identificar uno o más puntos, tales como los puntos 404a, 404b, 404c...404(n), y los puntos 406a, 406b...406(n). En algunas implementaciones, un punto puede ser un punto sobre o cerca de un obstáculo (por ejemplo, los obstáculos 140 y 142), pero eso no es necesario. En algunas realizaciones, el procesador puede identificar uno o más puntos desde un campo de visión, por ejemplo, de un sensor del vehículo 402. Por ejemplo, el procesador puede recibir una imagen usando una cámara y puede identificar uno o más puntos en la imagen. En algunas implementaciones, un punto puede corresponder a un píxel en la imagen. En algunas implementaciones, el procesador puede identificar una gran cantidad de puntos, como un punto por cada píxel de la imagen. En algunas realizaciones, el procesador puede reducir la carga de procesamiento identificando menos puntos. En algunas realizaciones, el procesador puede reducir una carga de procesamiento mediante la reducción de una resolución de la imagen, reduciendo así un número de píxeles a partir de los cuales identificar los puntos.
En varias realizaciones, el procesador puede recibir datos del sensor sin procesar ("datos del sensor en bruto"), como datos de imagen sin procesar desde una cámara, y puede no realizar un procesamiento adicional en los datos del sensor en bruto recibidos para reconocer o identificar un objeto representado en los datos del sensor. Por ejemplo, es posible que el procesador no realice análisis de los datos del sensor para reconocer, definir, localizar o caracterizar de otro modo un objeto dentro del campo de visión del sensor. Por lo tanto, aunque un objeto podría reconocer o caracterizarse al procesar los datos del sensor en bruto recibidos, las diversas realizaciones no implican ni requieren tales operaciones computacionalmente intensivas. En algunas realizaciones, el procesador puede no aplicar los datos del sensor sin procesar a un algoritmo o fórmula para identificar un objeto que está representado por los datos del sensor.
Para cada obstáculo detectado (por ejemplo, 140, 142), o para cada punto identificado (por ejemplo, 404(1-n), 406(1-n), el procesador puede determinar una restricción de velocidad que el procesador puede utilizar para ajustar la velocidad del vehículo 402. Una velocidad (por ejemplo, del vehículo 402) y una restricción de velocidad, cada una puede ser una cantidad vectorial que incluye un componente de dirección y un componente de velocidad. En algunas realizaciones, el procesador del vehículo 402 puede determinar una restricción de velocidad para cada punto en un obstáculo. La determinación de la restricción de velocidad puede basarse en una distancia y una dirección desde el vehículo hasta el obstáculo o el punto. En varias realizaciones, el procesador puede determinar nuevas/diferentes restricciones de velocidad a medida que cambia la distancia y/o dirección a un obstáculo o punto. En varias realizaciones, el procesador puede determinar las restricciones de velocidad a medida que el vehículo se mueve a través del espacio con respecto a cada obstáculo o punto. En algunas realizaciones, el procesador puede determinar las restricciones de velocidad muchas veces por segundo (potencialmente cientos o miles de veces por segundo), dependiendo de los recursos de procesamiento disponibles y las capacidades del procesador.
En varias realizaciones, la distancia determinada desde el vehículo hasta un obstáculo o punto puede incluir una distancia de parada. La distancia de parada puede ser una distancia de tope desde el obstáculo (o punto) en el que el vehículo debe dejar de moverse hacia el obstáculo o punto para evitar colisionar con el obstáculo o punto. En algunas realizaciones, la distancia de parada puede ser al menos una longitud del vehículo (u otra medida de un tamaño del vehículo). La distancia de parada también puede incluir una distancia adicional, para proporcionar un mayor tope entre el vehículo y el obstáculo o punto. El procesador puede determinar o ajustar la distancia de parada basándose en la sensibilidad de un sensor del vehículo. Por ejemplo, un sensor de cámara binocular puede tener una percepción de profundidad mínima y el procesador puede determinar la distancia de parada basándose en la percepción de profundidad mínima del sensor. El procesador también puede determinar o ajustar la distancia de parada basándose en la velocidad del vehículo, la masa del vehículo (por ejemplo, una distancia de parada del vehículo que se mueve a una velocidad), una velocidad de procesamiento del procesador y cualquier otra propiedad que pueda derivar de la dinámica del vehículo.
En algunas realizaciones, el procesador puede determinar un valor de distancia "d", que puede representarse como:
Figure imgf000007_0001
E donde "D" representa una distancia total desde el vehículo hasta el obstáculo o punto; "5" representa la distancia de parada; y "d" representa una distancia desde el vehículo hasta la distancia de parada (es decir, la distancia total menos la distancia de parada).
En varias realizaciones, el procesador puede determinar la posición del obstáculo o un punto determinando un ángulo "0" que representa un ángulo entre un eje de referencia del chasis de coordenadas de la carrocería del vehículo y una línea que se extiende desde el vehículo hasta el obstáculo o punto. En algunas realizaciones, el procesador puede determinar dos o más ángulos entre dos o más ejes de referencia del chasis de coordenadas de la carrocería y la línea que se extiende desde el vehículo hasta el obstáculo o punto (por ejemplo, uno o más de un ángulo desde un eje-x, un ángulo desde el eje-y, y un ángulo desde el eje-z). En varias realizaciones, el procesador puede determinar ángulos y distancias nuevos/diferentes a medida que el vehículo se mueve en relación con el obstáculo o los puntos.
La figura 4B ilustra un método para evitar colisiones de vehículos 400 según varias realizaciones. Con referencia a las figuras 1-4B, un procesador (por ejemplo, el procesador 220) de un vehículo 402 (que puede ser similar al vehículo 102 y 200) puede determinar múltiples restricciones de velocidad que el procesador puede utilizar para determinar una solución de velocidad que cumpla con las múltiples restricciones de velocidad. Por ejemplo, para tres puntos (por ejemplo, los puntos 404b, 404c y 406a), el procesador puede determinar las respectivas restricciones de velocidad 410, 420 y 430. El procesador puede usar las restricciones de velocidad 410, 420 y 430 para delimitar o limitar la velocidad del vehículo. En algunas realizaciones, el procesador puede usar las restricciones de velocidad 410, 420 y 430 para delimitar o limitar la velocidad del vehículo dentro de un chasis de referencia de cada punto (u obstáculo). En algunas realizaciones, el procesador puede recibir instrucciones de navegación que incluyen una entrada (por ejemplo, instruida o comandada) de velocidad del vehículo (por ejemplo, Ventrada 440), y el procesador puede usar las restricciones de velocidad 410, 420 y 430 y la velocidad de entrada Ventrada 440 para determinar una o más soluciones de velocidad (por ejemplo, Vsolución 450). En varias realizaciones, la velocidad de entrada 440 y la solución de velocidad 450 pueden incluir cada una un componente de dirección y un componente de velocidad.
En algunas realizaciones, una restricción de velocidad puede representar una velocidad máxima que el vehículo puede alcanzar (o que el procesador puede permitir que el vehículo alcance) sin colisionar contra el obstáculo o punto. Las restricciones de velocidad se pueden representar mediante la función:
Figure imgf000008_0001
[Ecuación 2]
en donde "V" representa una restricción de velocidad, "a" representa una aceleración máxima (que puede ser constante o no) y "d" representa la distancia desde el vehículo hasta la distancia de parada.
En varias realizaciones, la restricción de velocidad determinada puede representarse como un hiperplano que define una "valla" o "barrera" virtual entre el vehículo y el obstáculo o punto que se encuentra en el punto final de la distancia de parada más alejada del punto u obstáculo. El procesador puede usar cada restricción de velocidad 410, 420 y 430 para determinar una solución de velocidad que cumpla (por ejemplo, sea menor o igual a) cada restricción de velocidad, evitando así que el vehículo se desplace dentro de la distancia de parada para cada obstáculo o punto. Por ejemplo, como se ilustra en la figura 4B, la velocidad de entrada Ventrada 440 está más allá (ilustrada como arriba y a la izquierda de) las restricciones de velocidad 410 y 420. El procesador puede, usando las restricciones de velocidad 410, 420 y 430 (que el procesador puede considerar en conjunto), devolver la solución de velocidad Vsolución 450, que está dentro (ilustrada a continuación) de las restricciones de velocidad 410, 420 y 430. Por lo tanto, en algunas realizaciones, el procesador puede delimitar o limitar la velocidad del vehículo mediante las restricciones de velocidad combinadas 410, 420 y 430.
En varias realizaciones, el procesador puede modificar o ajustar la instrucción de navegación usando las restricciones de velocidad para evitar una colisión con uno o más obstáculos o puntos. Por ejemplo, el vehículo puede adquirir una instrucción de navegación que indique la velocidad de entrada 440. En algunas realizaciones, el procesador puede adquirir la instrucción de navegación desde una entrada de usuario, como desde el controlador 130. En algunas realizaciones, el procesador puede adquirir la instrucción de navegación accediendo a los datos de navegación almacenados que pueden almacenarse en una memoria del vehículo. En algunas realizaciones, el procesador puede adquirir la instrucción de navegación al recibir una transmisión de datos de navegación desde una fuente remota, como un elemento de red 110.
La instrucción de navegación puede incluir un componente de dirección y un componente de velocidad que indican una dirección y una velocidad en la que debe viajar el vehículo. Si el procesador determina que la velocidad deseada 440 excede una o más de las restricciones 410, 420 y 430, el procesador puede ejecutar una función de optimización usando la velocidad deseada 440 y las restricciones de velocidad 410, 420 y 430 para determinar las soluciones de velocidad que cumplirán (por ejemplo, no violará) con las restricciones de velocidad 410, 420 y 430. En algunas realizaciones, mientras que las restricciones de velocidad se generan usando una expresión de igualdad, cada restricción de velocidad puede representarse como una expresión de desigualdad (una "restricción de desigualdad de velocidad") que proporciona una velocidad umbral, por debajo de la cual el procesador debe mantener la velocidad del vehículo. Por ejemplo, una restricción de desigualdad de velocidad puede estar representada por la función:
Figure imgf000009_0001
en donde " D " representa un vector desde el vehículo hasta un obstáculo o punto "i", "a" representa la aceleración máxima (que puede ser constante o no) y "d" representa la distancia dentro de la cual el vehículo puede evitar una colisión con el obstáculo o punto (por ejemplo, la distancia desde el vehículo hasta la distancia de parada del obstáculo o punto). En algunas realizaciones, el procesador puede pasar las restricciones de velocidad 410, 420, 430 y la velocidad deseada 440 a una función de optimización para producir una o más soluciones de velocidad 450. Las soluciones de velocidad 450 pueden ser velocidades alternas que, si se implementan mediante la unidad de navegación/controlador de vuelo del vehículo, evitarían que el vehículo colisione con los obstáculos o puntos.
En algunas realizaciones, el vehículo puede comparar una o más soluciones de velocidad generadas 450 con la velocidad deseada 440 y puede seleccionar la solución de velocidad 450 que coincida estrechamente con al menos uno del componente de velocidad y el componente de dirección de la velocidad deseada 440. Por lo tanto, en algunas realizaciones, el procesador puede seleccionar una solución de velocidad que tenga un componente de dirección que coincida estrechamente con el componente de dirección de la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que coincida estrechamente con el componente de velocidad de la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que tenga tanto un componente de dirección como un componente de velocidad que coincida estrechamente con los componentes de dirección y velocidad de la instrucción de navegación. En algunas realizaciones, el procesador puede volver a determinar iterativamente (por ejemplo, periódica o aperiódicamente) las restricciones de velocidad 410, 420 y 430, y puede volver a determinar las soluciones de velocidad 450 para evitar una colisión cuando el vehículo se mueve con referencia a obstáculos o puntos. En algunas realizaciones, la redeterminación iterativa de las restricciones de velocidad y las soluciones de velocidad puede permitir que el procesador seleccione una solución de velocidad determinada que coincida estrechamente con la instrucción de navegación. El procesador puede luego ajustar la velocidad del vehículo en base a la solución de velocidad seleccionada. En funcionamiento, la redeterminación iterativa de las restricciones de velocidad y las soluciones de velocidad, y el ajuste de la velocidad del vehículo en base a las mismas, pueden permitir al procesador ajustar la velocidad del vehículo de una manera que se sienta natural y no disruptiva para el operador del vehículo. En algunas implementaciones, donde una entrada de navegación inalterada puede resultar en una colisión del vehículo con un obstáculo o punto, el uso de la solución de velocidad determinada por parte del procesador para ajustar la velocidad del vehículo puede hacer que el vehículo se mueva a lo largo de un camino que evite la colisión con un obstáculo o punto, e incluso puede resultar en movimiento por parte del vehículo que bordea, se desliza, elude o se desliza sobre un obstáculo o punto a lo largo de una ruta que de otra manera coincide estrechamente con la entrada de navegación.
En algunas realizaciones, el procesador puede usar datos del sensor sin procesar ("en bruto") y puede que no realice una determinación adicional, haga suposiciones y/o saque conclusiones sobre uno o más puntos identificados. Por ejemplo, el procesador puede no determinar un volumen alrededor de uno o más puntos, por ejemplo, en una o más dimensiones. Como otro ejemplo, el procesador puede no determinar si uno o más puntos son estáticos o en movimiento.
La figura 5 ilustra un método para evitar colisiones de vehículos 500 según varias realizaciones. Con referencia a las figuras 1-5, el método 500 puede ser implementado por un procesador (por ejemplo, el procesador 220 y/o similar) de un vehículo (por ejemplo, el vehículo 102, 200 y 402).
Un procesador del vehículo 502 (que puede ser similar al vehículo 102, 200 o 402) puede adquirir una instrucción de navegación (por ejemplo, desde una entrada de usuario, datos de navegación almacenados, desde el elemento de red, etc.). La instrucción de navegación puede incluir una velocidad, que puede incluir un componente de dirección y un componente de velocidad. Por ejemplo, la instrucción de navegación puede dirigir el vehículo 502 a lo largo de una ruta 504 entre los obstáculos 140 y 142. Como otro ejemplo, la instrucción de navegación puede dirigir el vehículo 502 a lo largo de una ruta 506 hacia el obstáculo 142 (o hacia uno o más de los puntos 406a, 406b,...406(n)). Como otro ejemplo, la instrucción de navegación puede dirigir el vehículo a lo largo de una ruta 508 hacia el obstáculo 140 (o hacia uno o más puntos 404a, 404b,...406(n)). El desplazamiento del vehículo 502 a lo largo de la ruta 504 puede no requerir ningún ajuste a la velocidad del vehículo 502.
Por el contrario, seguir la ruta 506 sin ningún ajuste a la velocidad del vehículo 502 puede resultar en una colisión entre el vehículo 502 y el obstáculo 142. Sin embargo, habiendo determinado las limitaciones de velocidad asociadas con el obstáculo 142 (o con los puntos 406a, 406a, ... 406 (n)), el procesador puede usar las restricciones de velocidad para determinar una o más soluciones de velocidad que cumplan (por ejemplo, sean menores o iguales que) las restricciones de velocidad. En algunas realizaciones, el procesador puede seleccionar la solución de velocidad que coincida estrechamente con la instrucción de navegación, y puede ajustar la velocidad del vehículo 502 basándose en la solución de velocidad seleccionada.
Por ejemplo, a medida que el vehículo 502, que se desplaza a lo largo de la ruta 506, se acerca o llega a una ubicación 506a que está cerca del obstáculo 142, independientemente de la velocidad indicada, el procesador puede determinar una o más soluciones de velocidad que cumplan con la restricción o restricciones de velocidad y puede ajustar la velocidad del vehículo basándose en una solución de velocidad seleccionada, evitando así que el vehículo 502 colisione con el obstáculo 142. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que tenga un componente de dirección que coincida estrechamente con el componente de dirección de la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que coincida estrechamente con el componente de velocidad de la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que tenga tanto un componente de dirección como un componente de velocidad que coincida estrechamente con los componentes de dirección y velocidad de la instrucción de navegación.
Por ejemplo, en la solución de velocidad seleccionada, el procesador puede ajustar la velocidad del vehículo, dirigiendo así al vehículo 502 para que siga una ruta que evita una colisión con el obstáculo 142. Por ejemplo, aunque la instrucción de navegación incluye una velocidad que de otro modo haría que el vehículo 502 colisione con el obstáculo 142, el procesador puede ajustar la velocidad del vehículo 502 basándose en la solución de velocidad seleccionada de modo que el vehículo 502 se desplace alrededor del obstáculo 142, por ejemplo, desde la ubicación 506a hasta la ubicación 506b. En varias realizaciones, el procesador puede volver a determinar iterativamente las restricciones de velocidad basándose en las distancias y direcciones cambiantes a los obstáculos o puntos. En algunas realizaciones, cuando el vehículo 502 llega o se acerca a la ubicación 506b, el procesador puede seleccionar otra solución de velocidad (basada, en algunas realizaciones, en el componente de dirección y/o el componente de velocidad de la instrucción de navegación) y, en consecuencia, el procesador puede ajustar la velocidad del vehículo. Por ejemplo, en la ubicación 506b, el procesador puede volver a ajustar la velocidad del vehículo 502 basándose en el componente de dirección y/o el componente de velocidad de la instrucción de navegación, dirigir el vehículo 502 para viajar usando una velocidad que coincida estrechamente con la velocidad de la instrucción de navegación. Mientras que la figura 5 ilustra dos ubicaciones 506a y 506b a lo largo de la ruta 506, en varias realizaciones el procesador puede ajustar la velocidad del vehículo en numerosos puntos en el tiempo. Por ejemplo, el procesador puede volver a determinar iterativamente una distancia y una dirección desde el vehículo hasta cada obstáculo o punto, y puede volver a determinar iterativamente las limitaciones de velocidad para cada obstáculo o punto. El procesador también puede determinar nuevas soluciones de velocidad basándose en las restricciones de velocidad redeterminadas y puede ajustar la velocidad del vehículo basándose en una solución de velocidad seleccionada.
Como otro ejemplo, basándose en la solución de velocidad seleccionada, el procesador puede dirigir el vehículo 502 para que siga la ruta 508, que si se sigue sin ningún ajuste a la velocidad del vehículo 502 puede resultar en la colisión entre el vehículo 502 y el obstáculo 140. En el caso de que el obstáculo 140 incluya un obstáculo por el que el vehículo 502 no pueda navegar fácilmente, como una pared, el procesador puede determinar las restricciones de velocidad y puede seleccionar una solución de velocidad que evite que el vehículo 502 colisione con el obstáculo 140. En este ejemplo, dado que no se puede navegar alrededor del obstáculo 140, el procesador puede ajustar la velocidad del vehículo basándose en la solución de velocidad seleccionada de manera que el vehículo 502 se desplace a lo largo de una superficie del obstáculo 140, como la superficie de una pared. Por lo tanto, en algunas realizaciones, el ajuste de la velocidad del vehículo, basándose en la solución de velocidad seleccionada, puede dirigir al vehículo 502 para que realice una maniobra de "deslizamiento de la pared" o que se desplace a lo largo de una ruta que evite una colisión entre el vehículo 502 y el obstáculo 140.
En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que coincida estrechamente con el componente de dirección y/o el componente de velocidad de la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad que coincida estrechamente con los componentes de dirección y/o velocidad de la instrucción de navegación, de manera que la velocidad del vehículo ajustada o resultante varíe desde la velocidad del vehículo instruida lo más suavemente posible. Por ejemplo, el procesador puede seleccionar una solución de velocidad tal que una cantidad de variación entre la velocidad del vehículo de la instrucción de navegación y la velocidad del vehículo ajustada permanezca dentro de una variación umbral durante un período de tiempo. En algunas realizaciones, el procesador puede seleccionar una solución de velocidad, de modo que uno o más del componente de dirección y el componente de velocidad de la velocidad ajustada varían desde el componente de dirección y el componente de velocidad de la instrucción de navegación dentro de una variación umbral durante un período de tiempo.
La dirección y la velocidad de la velocidad ajustada del vehículo 502 pueden variar cada una independientemente del componente de dirección y del componente de velocidad de la velocidad de la instrucción de navegación. Por ejemplo, comenzar en la ubicación 508a del procesador puede ajustar la velocidad del vehículo 502 para viajar en una dirección que es sustancialmente diferente (por ejemplo, 90°) desde el componente de dirección de la instrucción de navegación, mientras que tiene un componente de velocidad que puede coincidir estrechamente con el componente de velocidad de la instrucción de navegación, y viceversa.
La figura 6 ilustra un método 600 para evitar colisiones de vehículos según varias realizaciones. Con referencia a las figuras 1-6, el método 600 puede ser implementado por un procesador (por ejemplo, el procesador 220 y/o similar) de un vehículo (por ejemplo, el vehículo 102, 200, 402, 502 y 602).
En el bloque 602, el procesador del vehículo puede detectar un obstáculo. En algunas realizaciones, el procesador del vehículo puede detectar el obstáculo utilizando uno o más sensores del vehículo.
En el bloque 604, el procesador del vehículo puede determinar una distancia y una dirección desde el vehículo hasta el obstáculo. En algunas realizaciones, el procesador puede identificar uno o más puntos, y el procesador puede determinar una distancia y una dirección desde el vehículo hasta uno o más puntos.
En el bloque 606, el procesador puede determinar una restricción de velocidad para el obstáculo basándose en la distancia y en la dirección al obstáculo. En algunas realizaciones, el procesador puede determinar una restricción de velocidad para cada uno del único o más puntos. En algunas realizaciones, el procesador puede determinar una o más restricciones de velocidad basadas en la instrucción de navegación adquirida, que puede ser una operación reactiva (por ejemplo, basada en la adquisición de la instrucción de navegación) en lugar de una operación de planificación avanzada (por ejemplo, como parte de una planificación de ruta u otra operación de planificación de la navegación). En algunas realizaciones, un módulo de controlador de movimiento (por ejemplo, el módulo del controlador de movimiento 222a) puede determinar las restricciones de velocidad. En algunas realizaciones, una restricción de velocidad puede incluir una restricción de desigualdad de velocidad.
En el bloque 608, el procesador puede adquirir una instrucción de navegación.
En el bloque 610, el procesador puede determinar una o más soluciones de velocidad que cumplen con la restricción o restricciones de velocidad. En algunas realizaciones, el procesador puede determinar una o más soluciones de velocidad basadas en la instrucción de navegación adquirida, que puede ser una operación reactiva (por ejemplo, basada en la adquisición de la instrucción de navegación), en lugar de una operación de planificación avanzada (por ejemplo, como parte de una planificación de ruta u otra operación de planificación de la navegación). En algunas realizaciones, un módulo de controlador de movimiento (por ejemplo, el módulo del controlador de vuelo 222a) puede determinar una o más soluciones de velocidad que cumplen con la restricción o restricciones de velocidad. En el bloque 612, el procesador puede seleccionar una solución de velocidad determinada entre una o más soluciones de velocidad que coincidan estrechamente con la instrucción de navegación. En algunas realizaciones, el procesador puede seleccionar la solución de velocidad basándose en la distancia entre la dirección desde el vehículo y el obstáculo y en la instrucción de navegación, o en ambas.
En el bloque 614, el procesador puede ajustar la velocidad del vehículo en base a la solución de velocidad seleccionada.
El procesador puede volver a detectar un obstáculo en el bloque 602. En diversas implementaciones, el procesador puede realizar repetidamente las operaciones de los bloques 602-614 con respecto al mismo obstáculo (por ejemplo, el obstáculo 140 y 142), lo que permite al procesador actualizar o ajustar una o más restricciones de velocidad, y ajustar la velocidad del vehículo según la restricción o restricciones de velocidad actualizada(s) o ajustada(s).
La figura 7 ilustra un método 700 para evitar colisiones de vehículos según varias realizaciones. Con referencia a las figuras 1-7, el método 700 puede ser implementado por un procesador (por ejemplo, el procesador 220 y/o similar) de un vehículo (por ejemplo, el vehículo 102, 200, 402, 502 y 602). En los bloques 608-614, el procesador del dispositivo puede realizar operaciones de bloques numerados similares del método 600.
En el bloque 702, el procesador del vehículo puede recibir datos de sensores, incluidos uno o más puntos. En algunas realizaciones, el procesador puede recibir datos del sensor sin procesar o en bruto, como datos de imagen sin procesar desde una cámara, y puede no realizar un procesamiento adicional en los datos del sensor en bruto recibidos para reconocer o identificar un objeto representado en los datos del sensor. Por ejemplo, es posible que el procesador no realice una determinación utilizando los datos del sensor para reconocer, definir, localizar o caracterizar de otro modo un objeto dentro del campo de visión del sensor. En algunas realizaciones, el procesador puede no aplicar los datos del sensor sin procesar a un algoritmo o fórmula para identificar un objeto que está representado por los datos del sensor.
La caracterización de un obstáculo dentro de los datos del sensor, como la determinación del tamaño, la forma y otras características de un obstáculo detectado, puede ser computacionalmente intensiva. Para reducir la carga computacional en el procesador, en algunas realizaciones, el procesador puede identificar uno o más puntos, (por ejemplo, los puntos 404(1-n) ilustrados en el obstáculo 140 y los puntos 406(1-n) ilustrados en el obstáculo 142) sin realizar determinaciones adicionales, como cálculos en los datos de sensores en bruto, para detectar un obstáculo dentro del campo de vista del sensor (por ejemplo, para detectar un objeto, o para determinar un tamaño, forma u otra característica de un obstáculo). En algunas realizaciones, el procesador puede usar datos del sensor sin procesar (en bruto) y puede que no realice determinaciones adicionales, haga suposiciones y/o saque conclusiones sobre uno o más puntos identificados. Por ejemplo, el procesador puede no determinar un volumen, superficie u otro parámetro geométrico alrededor de uno o más puntos, por ejemplo, en una o más dimensiones. Como otro ejemplo, el procesador puede no determinar si uno o más puntos son estáticos o en movimiento.
En el bloque 704, el procesador del vehículo puede determinar una distancia y una dirección desde el vehículo hasta cada uno del único o más puntos. Por ejemplo, el procesador puede recibir una imagen usando una cámara y puede identificar uno o más puntos en la imagen. En algunas implementaciones, un punto puede corresponder a un píxel en la imagen. En algunas implementaciones, el procesador puede identificar o seleccionar una gran cantidad de puntos, como un punto por cada píxel de la imagen. En algunas realizaciones, el procesador puede reducir una carga de procesamiento identificando/seleccionando menos puntos para determinar la distancia y la dirección. En algunas realizaciones, el procesador puede reducir una carga de procesamiento mediante la reducción de una resolución de la imagen, reduciendo así el número de píxeles a partir de los cuales identificar los puntos.
En el bloque 706, el procesador puede determinar una restricción de velocidad para cada uno del único o más puntos identificados basados en la distancia y en la dirección determinadas hasta el punto o puntos. En algunas realizaciones, el procesador puede determinar la restricción de velocidad para cada uno o más de los puntos identificados basados en la instrucción de navegación adquirida. La instrucción de navegación adquirida puede ser una operación reactiva (por ejemplo, basada en la adquisición de la instrucción de navegación) en lugar de una operación de planificación avanzada (por ejemplo, como parte de una planificación de ruta u otra operación de planificación de la navegación). En algunas realizaciones, un módulo de controlador de movimiento (por ejemplo, el módulo del controlador de vuelo 222a) puede determinar las restricciones de velocidad. En algunas realizaciones, cada restricción de velocidad puede incluir una restricción de desigualdad de velocidad.
Varias realizaciones permiten al procesador del vehículo evitar una colisión con un objeto, mejorando así el funcionamiento del vehículo. Varias realizaciones también mejoran el funcionamiento del vehículo ajustando la velocidad del vehículo para que coincida estrechamente (en algunos casos dentro de una variación umbral) con la velocidad del vehículo de la instrucción de navegación. Varias realizaciones también mejoran el funcionamiento del vehículo al reducir una carga computacional en el procesador del vehículo al asignar uno o más puntos al obstáculo y determinar las restricciones de velocidad asignadas a uno o más de los puntos.

Claims (14)

REIVINDICACIONES
1. Un método (700) para evitar colisiones de vehículos de un vehículo, que comprende:
recibir (702) datos de la cámara que comprenden uno o más puntos (404), en donde cada punto corresponde a un píxel en una imagen;
determinar (704) una distancia y una dirección desde el vehículo (200) hasta el único o más puntos; determinar (706) una restricción de velocidad para cada uno del único o más puntos en base a la distancia y la dirección determinadas desde el vehículo hasta cada uno del único o más puntos;
determinar (610) una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas basadas en una instrucción de navegación de vehículos, en donde una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas son menores o iguales a cada restricción de velocidad; seleccionar (612) una solución de velocidad desde la única o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo; y
ajustar (614) una velocidad del vehículo basada en la solución de velocidad seleccionada.
2. El método de la reivindicación 1, en donde la recepción de datos de la cámara comprende recibir datos de cámara sin procesar.
3. El método de la reivindicación 1, en donde la restricción de velocidad para cada uno del único o más puntos comprende una restricción de desigualdad de velocidad.
4. El método de la reivindicación 3, en donde la determinación de la distancia y la dirección desde el vehículo hasta el único o más puntos comprende:
determinar una distancia y una dirección desde el vehículo hasta un obstáculo.
5. El método de la reivindicación 4, en donde el obstáculo comprende un obstáculo representado por uno o más puntos.
6. El método de la reivindicación 1, en donde la determinación de una restricción de velocidad para cada uno del único o más puntos en base la distancia y la dirección determinadas desde el vehículo hasta cada uno del único o más puntos comprende:
determinar una restricción de velocidad para cada uno del único o más puntos en base la distancia y la dirección determinadas desde el vehículo hasta un obstáculo representado por el único o más puntos.
7. El método de la reivindicación 1,
en donde la instrucción de navegación del vehículo incluye un componente de dirección, y
en donde seleccionar la solución de velocidad a partir de una o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo comprende seleccionar la solución de velocidad que tiene un componente de dirección que coincide estrechamente con el componente de dirección de la instrucción de navegación del vehículo.
8. El método de la reivindicación 1,
en donde la instrucción de navegación del vehículo incluye un componente de velocidad, y
en donde seleccionar la solución de velocidad a partir de una o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo comprende seleccionar la solución de velocidad que tiene un componente de velocidad que coincide estrechamente con el componente de velocidad de la instrucción de navegación del vehículo.
9. Un vehículo (200), que comprende:
un procesador (220) configurado con instrucciones ejecutables por procesador para:
recibir datos de la cámara que comprenden uno o más puntos (404), en donde cada punto corresponde a un píxel en una imagen;
determinar una distancia y una dirección desde el vehículo hasta uno o más puntos;
determinar una restricción de velocidad para cada uno del único o más puntos en base a la distancia y la dirección determinadas desde el vehículo hasta cada uno del único o más puntos;
determinar una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas basadas en una instrucción de navegación de vehículos, en donde una o más soluciones de velocidad que cumplen con las restricciones de velocidad determinadas son menores o iguales a cada restricción de velocidad; seleccionar una solución de velocidad desde la única o más soluciones de velocidad determinadas en base a la instrucción de navegación del vehículo; y
ajustar una velocidad del vehículo en base a la solución de velocidad seleccionada.
10. El vehículo de la reivindicación 9, en donde el procesador se configura con más detalle con las instrucciones ejecutables por procesador para recibir los datos del sensor de datos de la cámara que comprenden datos de la cámara sin procesar.
11. El vehículo de la reivindicación 9, en donde el procesador además está configurado con las instrucciones ejecutables por procesador de modo que la restricción de velocidad para cada uno del único o más puntos comprende una restricción de desigualdad de velocidad.
12. El vehículo de la reivindicación 11, en donde el procesador además está configurado con las instrucciones ejecutables por procesador para:
determinar una distancia y una dirección desde el vehículo hasta un obstáculo;
en donde el obstáculo comprende un obstáculo representado por uno o más puntos; y
determinar una restricción de velocidad para cada uno del único o más puntos en base la distancia y la dirección determinadas desde el vehículo hasta un obstáculo representado por uno o más puntos.
13. El vehículo de la reivindicación 9, en donde el procesador además está configurado con las instrucciones ejecutables por procesador de modo que la instrucción de navegación del vehículo incluye un componente de dirección, y
en donde el procesador está configurado además con instrucciones ejecutables por procesador para seleccionar la solución de velocidad que tiene un componente de dirección que coincide estrechamente con el componente de dirección de la instrucción de navegación del vehículo; o en donde el procesador está configurado además con instrucciones ejecutables por procesador de modo que la instrucción de navegación del vehículo incluye un componente de velocidad, y
en donde el procesador está configurado además con instrucciones ejecutables por procesador para seleccionar la solución de velocidad basada en la instrucción de navegación del vehículo seleccionando la solución de velocidad que tiene un componente de velocidad que coincide estrechamente con el componente de velocidad de la instrucción de navegación del vehículo.
14. Un medio de almacenamiento no transitorio legible por el procesador que tiene almacenadas en el mismo instrucciones ejecutables por procesador configuradas para hacer que un procesador de un vehículo realice operaciones que lleven a cabo el método de cualquiera de las reivindicaciones 1-8.
ES17787070T 2016-11-14 2017-09-29 Prevención de colisiones de vehículos Active ES2883847T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662421551P 2016-11-14 2016-11-14
US15/607,975 US10289121B2 (en) 2016-11-14 2017-05-30 Vehicle collision avoidance
PCT/US2017/054291 WO2018089128A1 (en) 2016-11-14 2017-09-29 Vehicle collision avoidance

Publications (1)

Publication Number Publication Date
ES2883847T3 true ES2883847T3 (es) 2021-12-09

Family

ID=62108476

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17787070T Active ES2883847T3 (es) 2016-11-14 2017-09-29 Prevención de colisiones de vehículos

Country Status (9)

Country Link
US (2) US10289121B2 (es)
EP (1) EP3538966B1 (es)
JP (1) JP7173966B2 (es)
KR (1) KR102476681B1 (es)
CN (1) CN109906416B (es)
ES (1) ES2883847T3 (es)
SG (1) SG11201902738PA (es)
TW (1) TW201818368A (es)
WO (1) WO2018089128A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10517021B2 (en) 2016-06-30 2019-12-24 Evolve Cellular Inc. Long term evolution-primary WiFi (LTE-PW)
US10289121B2 (en) 2016-11-14 2019-05-14 Qualcomm Incorporated Vehicle collision avoidance
US11468310B2 (en) * 2018-03-07 2022-10-11 International Business Machines Corporation Constraining actions for reinforcement learning under safety requirements
US10649446B2 (en) * 2018-04-30 2020-05-12 Amazon Technologies, Inc. Techniques for conveyance device control
US11572079B2 (en) * 2019-04-25 2023-02-07 WeRide Corp. Apparatus and method for controlling velocity of autonomous driving vehicle, and storage medium
US11225228B2 (en) * 2020-03-11 2022-01-18 Baidu Usa Llc Method for enhancing in-path obstacle detection with safety redundancy autonomous system
CN114787888A (zh) * 2020-06-26 2022-07-22 松下知识产权经营株式会社 信息处理方法、信息处理终端、以及信息处理系统
CN113071482B (zh) * 2021-04-28 2023-03-21 江苏大学 一种基于通行时间区间的智能车辆防碰撞方法
US20230244249A1 (en) * 2022-02-01 2023-08-03 Lockheed Martin Corporation Collision prevention flight control mode

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6442711A (en) * 1987-08-10 1989-02-15 Nissan Motor Autonomous running vehicle controller
JP4043276B2 (ja) * 2002-04-24 2008-02-06 株式会社日立製作所 レーダ装置
US20060058931A1 (en) * 2004-09-15 2006-03-16 Honeywell International Inc. Collision avoidance involving radar feedback
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
IT1399129B1 (it) * 2010-04-01 2013-04-05 Paoletti Sistema di sorveglianza adattivo modulare per mezzi strutture persone
GB201100841D0 (en) 2011-01-18 2011-08-17 Bae Systems Plc Trajectory planning
CN102685516A (zh) * 2011-03-07 2012-09-19 李慧盈 立体视觉主动安全辅助驾驶方法
US8849483B2 (en) 2011-04-13 2014-09-30 California Institute Of Technology Target trailing with safe navigation with colregs for maritime autonomous surface vehicles
US9760092B2 (en) * 2012-03-16 2017-09-12 Waymo Llc Actively modifying a field of view of an autonomous vehicle in view of constraints
EP2845071B1 (en) 2012-04-30 2020-03-18 The Trustees Of The University Of Pennsylvania Three-dimensional manipulation of teams of quadrotors
JP6201561B2 (ja) 2013-09-20 2017-09-27 株式会社デンソー 走行軌道生成装置、および走行軌道生成プログラム
US10466709B2 (en) * 2013-11-08 2019-11-05 Hitachi, Ltd. Autonomous driving vehicle and autonomous driving system
US9875661B2 (en) * 2014-05-10 2018-01-23 Aurora Flight Sciences Corporation Dynamic collision-avoidance system and method
WO2016033795A1 (en) 2014-09-05 2016-03-10 SZ DJI Technology Co., Ltd. Velocity control for an unmanned aerial vehicle
CN104199034A (zh) * 2014-09-19 2014-12-10 黄国鹏 基于雷达传感器的汽车防撞方法和装置
US9896202B2 (en) * 2014-12-03 2018-02-20 X Development Llc Systems and methods for reliable relative navigation and autonomous following between unmanned aerial vehicle and a target object
CN105549597B (zh) * 2016-02-04 2018-06-26 同济大学 一种基于环境不确定性的无人车动态路径规划方法
CN105759836A (zh) * 2016-03-14 2016-07-13 武汉卓拔科技有限公司 一种基于3d摄像头的无人机避障方法及装置
US10289121B2 (en) 2016-11-14 2019-05-14 Qualcomm Incorporated Vehicle collision avoidance

Also Published As

Publication number Publication date
US11054835B2 (en) 2021-07-06
EP3538966B1 (en) 2021-07-21
CN109906416B (zh) 2022-04-26
WO2018089128A1 (en) 2018-05-17
KR20190076985A (ko) 2019-07-02
US10289121B2 (en) 2019-05-14
BR112019009543A2 (pt) 2019-07-30
US20190220041A1 (en) 2019-07-18
JP7173966B2 (ja) 2022-11-16
CN109906416A (zh) 2019-06-18
EP3538966A1 (en) 2019-09-18
US20180136669A1 (en) 2018-05-17
SG11201902738PA (en) 2019-05-30
TW201818368A (zh) 2018-05-16
JP2019537140A (ja) 2019-12-19
KR102476681B1 (ko) 2022-12-09

Similar Documents

Publication Publication Date Title
ES2883847T3 (es) Prevención de colisiones de vehículos
US10717435B2 (en) Adjustable object avoidance proximity threshold based on classification of detected objects
EP3735624B1 (en) Adjustable object avoidance proximity threshold
US11086316B2 (en) Robotic vehicle insecure pay load detection and response
US20180032040A1 (en) System And Method Of Dynamically Controlling Parameters For Processing Sensor Output Data For Collision Avoidance And Path Planning
US20200117210A1 (en) Auto-Exploration Control of a Robotic Vehicle
US10386857B2 (en) Sensor-centric path planning and control for robotic vehicles
CN111247390B (zh) Vslam的并发的重新定位和重新初始化
US10149276B2 (en) Aerial robotic vehicle antenna switching
CN111093907B (zh) 机器人式运载工具的稳健导航
US20190066522A1 (en) Controlling Landings of an Aerial Robotic Vehicle Using Three-Dimensional Terrain Maps Generated Using Visual-Inertial Odometry
JP7401437B2 (ja) ロボットビークルの着陸のための着陸地帯の識別
US20230290257A1 (en) Vehicle controller
BR112019009543B1 (pt) Prevenção de colisão veicular
Meister et al. Adaptive path planning for VTOL-UAVs