ES2955912T3 - Sistemas y métodos para operación de vehículos autónomos - Google Patents

Sistemas y métodos para operación de vehículos autónomos Download PDF

Info

Publication number
ES2955912T3
ES2955912T3 ES21192682T ES21192682T ES2955912T3 ES 2955912 T3 ES2955912 T3 ES 2955912T3 ES 21192682 T ES21192682 T ES 21192682T ES 21192682 T ES21192682 T ES 21192682T ES 2955912 T3 ES2955912 T3 ES 2955912T3
Authority
ES
Spain
Prior art keywords
autonomous vehicle
sensor
vehicle
sensor data
instruction
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
ES21192682T
Other languages
English (en)
Inventor
James Barabas
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.)
6 River Systems LLC
Original Assignee
6 River Systems LLC
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 6 River Systems LLC filed Critical 6 River Systems LLC
Application granted granted Critical
Publication of ES2955912T3 publication Critical patent/ES2955912T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control 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/0291Fleet control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • G05D1/249Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons from positioning sensors located off-board the vehicle, e.g. from cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/65Data transmitted between vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

En el presente documento se divulgan sistemas y métodos para la operación de vehículos autónomos, en los que un procesador está configurado para recibir datos de sensores recopilados por un primer sensor de un primer vehículo autónomo durante la navegación del primer vehículo autónomo a través de una ubicación particular y antes de una señal de control generada posteriormente. por un controlador del primer vehículo autónomo; determinar en base a los datos del sensor un evento que activó la señal de control. Un dispositivo de comunicación acoplado al procesador está configurado para transmitir a un segundo vehículo autónomo una instrucción, basada en el evento determinado, para ajustar los datos del sensor recopilados por un segundo sensor del segundo vehículo autónomo durante la navegación del segundo vehículo autónomo en la ubicación particular. . (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistemas y métodos para operación de vehículos autónomos
Campo técnico
La siguiente descripción está dirigida a sistemas y métodos para la operación de vehículos autónomos y, más específicamente, a sistemas y métodos para el ajuste de datos de sensores en la operación de vehículos autónomos.
Antecedentes
Los vehículos autónomos se pueden configurar para navegar en espacios abiertos (por ejemplo, en el aire, sobre tierra, bajo el agua, etc.). Por ejemplo, los vehículos autónomos se pueden configurar para navegar dentro de un área que incluye obstáculos o humanos. Tal área puede ser un almacén, una tienda minorista, un hospital, una oficina, etc. Para navegar con éxito en tales áreas, los vehículos autónomos pueden depender de uno o más sensores. Sin embargo, en algunos casos, los sensores pueden ser excesivamente sensibles a ciertas entradas ambientales, lo que hace que los vehículos operen de manera menos eficiente. El documento DE 102012008846 A1 describe que un vehículo autónomo cambia la percepción de su sensor cuando se conduce pasada una estación.
Compendio
En la presente memoria se describen sistemas y métodos de ejemplo para la operación de vehículos autónomos, incluyendo sistemas y métodos para el ajuste de datos de sensores de sensores de vehículos.
En un aspecto, la descripción presenta un método implementado por ordenador para la operación de vehículos autónomos. El método puede incluir recibir, por un procesador, datos de sensor recopilados por un primer sensor de un primer vehículo autónomo durante la navegación del primer vehículo autónomo a través de una ubicación particular y antes de una señal de control generada posteriormente por un controlador del primer vehículo autónomo; determinar, por el procesador y en base a los datos del sensor, un evento que desencadenó la señal de control; y transmitir a un segundo vehículo autónomo, mediante un dispositivo de comunicación acoplado al procesador, una instrucción, basada en el evento determinado, para ajustar los datos del sensor recopilados por un segundo sensor del segundo vehículo autónomo durante la navegación del segundo vehículo autónomo en la ubicación particular. Varias realizaciones del método pueden incluir una o más de las siguientes características.
La señal de control se puede generar para: (a) detener o frenar el primer vehículo autónomo; (b) desviar el primer vehículo autónomo de la ubicación particular; o (c) transferir el control del primer vehículo autónomo a un usuario. El primer sensor del primer vehículo autónomo puede incluir al menos uno de entre una cámara o un sensor LiDAR. El evento determinado puede incluir al menos uno de: (i) una desviación por encima de un umbral de un campo de visión del primer sensor; (ii) una condición de iluminación que ocurre en el campo de visión del primer sensor; (iii) una característica de la ubicación particular; (iv) una dirección de navegación del primer vehículo autónomo; o (v) una hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular.
La desviación en el campo de visión puede corresponder a un movimiento físico del primer sensor. El evento determinado puede incluir la desviación. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo para corregir una desviación en un campo de visión del segundo sensor. El evento determinado puede incluir la condición de iluminación que ocurre en el campo de visión del primer sensor. La instrucción puede ser ignorar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo.
El evento determinado puede incluir la dirección de navegación del primer vehículo autónomo. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo según una dirección de navegación del segundo vehículo autónomo. El evento determinado puede incluir la hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo durante un período de tiempo asociado con la hora del día. El método puede incluir determinar otra instrucción para invertir, después de la aparición del evento, el ajuste de los datos del sensor recopilados por el segundo sensor, en el que la determinación se ejecuta por al menos uno de (i) el procesador o (ii) una unidad de procesamiento del segundo vehículo autónomo.
El evento determinado puede incluir una condición de iluminación de una superficie en la ubicación particular, la condición de iluminación que incluye al menos uno de entre un resplandor o un reflejo. La instrucción para ajustar los datos del sensor puede incluir una instrucción para ignorar al menos una parte de los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo desde la superficie. El primer vehículo autónomo puede ser el mismo que el segundo vehículo autónomo y el primer sensor es el mismo que el segundo sensor.
En otro aspecto, la descripción presenta un sistema para la operación autónoma de vehículos. El sistema puede incluir un procesador configurado para: recibir datos de sensor recopilados por un primer sensor de un primer vehículo autónomo durante la navegación del primer vehículo autónomo a través de una ubicación particular y antes de una señal de control generada posteriormente por un controlador del primer vehículo autónomo; y determinar, en base a los datos del sensor, un evento que desencadenó la señal de control. El sistema puede incluir un dispositivo de comunicación acoplado al procesador y configurado para transmitir a un segundo vehículo autónomo una instrucción, en base al evento determinado, para ajustar los datos del sensor recopilados por un segundo sensor del segundo vehículo autónomo durante la navegación del segundo vehículo autónomo en la ubicación particular.
Varias realizaciones del sistema pueden incluir una o más de las siguientes características.
La señal de control se puede generar para: (a) detener o ralentizar el primer vehículo autónomo; (b) desviar el primer vehículo autónomo de la ubicación particular; o (c) transferir el control del primer vehículo autónomo a un usuario. El primer sensor del primer vehículo autónomo puede incluir al menos uno de entre una cámara o un sensor LiDAR. El evento determinado puede incluir al menos uno de: (i) una desviación por encima de un umbral de un campo de visión del primer sensor; (ii) una condición de iluminación que ocurre en el campo de visión del primer sensor; (iii) una característica de la ubicación particular; (iv) una dirección de navegación del primer vehículo autónomo; o (v) una hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular.
La desviación en el campo de visión puede corresponder a un movimiento físico del primer sensor. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo para corregir la desviación en un campo de visión del segundo sensor. La instrucción para ajustar los datos del sensor puede incluir una instrucción para ignorar al menos una parte de los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo desde la superficie.
El evento determinado puede incluir la dirección de navegación del primer vehículo autónomo. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo según una dirección de navegación del segundo vehículo autónomo. El evento determinado puede incluir la hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular. La instrucción puede ser ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo durante un período de tiempo asociado con la hora de día. El procesador se puede configurar para incluir la determinación de otra instrucción para invertir, después de la aparición del evento, el ajuste de los datos del sensor recopilados por el segundo sensor, en el que la determinación se ejecuta por al menos uno de (i) el procesador o (ii) una unidad de procesamiento del segundo vehículo autónomo.
El evento determinado puede incluir una condición de iluminación de una superficie en la ubicación particular, la condición de iluminación que incluye al menos uno de entre un resplandor o un reflejo.
En otro aspecto, la descripción presenta un medio no transitorio legible por ordenador que tiene instrucciones almacenadas en el mismo que, cuando se ejecutan por uno o más procesadores informáticos, hacen que los procesadores informáticos realicen operaciones que comprenden: recibir datos del sensor recopilados por un primer sensor de un primer vehículo autónomo durante la navegación del primer vehículo autónomo a través de una ubicación particular y antes de una señal de control generada posteriormente por un controlador del primer vehículo autónomo; determinar, en base a los datos del sensor, un evento que desencadenó la señal de control; y transmitir a un segundo vehículo autónomo una instrucción, en base al evento determinado, para ajustar los datos del sensor recopilados por un segundo sensor del segundo vehículo autónomo durante la navegación del segundo vehículo autónomo en la ubicación particular.
En otro aspecto, la descripción presenta un programa informático que comprende instrucciones que, cuando se ejecutan por un procesador, hacen que el procesador lleve a cabo cualquiera de los métodos descritos en la presente memoria.
Por consiguiente, se proporciona un método, un sistema y un programa informático como se detalla en las reivindicaciones que siguen.
Breve descripción de los dibujos
En los dibujos, caracteres de referencia similares generalmente se refieren a las mismas partes a lo largo de las diferentes vistas. Además, los dibujos no están necesariamente a escala, sino que generalmente, en su lugar, el énfasis se pone en ilustrar los principios de los sistemas y métodos descritos en la presente memoria. En la siguiente descripción, se describen diversas realizaciones con referencia a los siguientes dibujos.
La Fig. 1A es un modelo de una realización de un vehículo autónomo configurado para ejecutar tareas dentro de un entorno tipo almacén.
La Fig. 1B es un modelo de otra realización de un vehículo autónomo configurado para ejecutar tareas dentro de un entorno tipo almacén.
La Fig. 2 es un diagrama de una realización de un sistema para el ajuste de datos de sensores en la operación del vehículo autónomo.
La Fig. 3 es un diagrama de flujo de una realización de un método para el ajuste de datos de sensores en la operación del vehículo autónomo.
La Fig. 4 es un diagrama de un vehículo autónomo que se encuentra con una condición de iluminación adversa. Las Fig. 5A-5E son una serie de diagramas que representan un vehículo autónomo que encuentra condiciones de superficie adversas y las vistas de los sensores asociados.
La Fig. 6 es un diagrama de una realización de un almacén automatizado que incluye uno o más vehículos autónomos.
La Fig. 7 es un diagrama de bloques de una realización de un sistema informático utilizado en implementar los sistemas y métodos descritos en la presente memoria.
Descripción detallada
En un escenario de almacén (o en una tienda minorista, una tienda de comestibles, un hospital, etc.), los vehículos autónomos pueden navegar dentro de los pasillos o espacios del almacén según caminos predeterminados o variables. Además, los vehículos autónomos tienen que navegar en coordinación con o alrededor de otros vehículos autónomos y/o trabajadores humanos. Para hacerlo así de manera segura y eficiente, los vehículos autónomos dependen de una operación certera y/o precisa de los sensores para navegar de manera segura en un almacén o escenario minorista. En algunos casos, uno o más sensores de imagen o de profundidad (por ejemplo, una cámara o un sensor LiDAR) en un vehículo autónomo se pueden ver afectados por las condiciones de la superficie y/o las condiciones de iluminación (a las que también se hace referencia como "impedimentos" o "eventos" en la presente memoria). La salida de los sensores se puede ajustar dinámicamente (por ejemplo, corregir, ignorar, modificar, etc.) para tener en cuenta tales condiciones para evitar comportamientos ineficientes (por ejemplo, paradas innecesarias, desaceleración, un cambio en la ruta de navegación, etc.) por el vehículo autónomo.
La tecnología descrita en la presente memoria se puede emplear en carros móviles del tipo descrito, por ejemplo, en la patente de EE. UU. N° 9.834.380, expedida el 5 de diciembre de 2017 y titulada "Warehouse Automation Systems and Methods", la totalidad de la cual se incorpora en la presente memoria como referencia y se describe en parte a continuación.
Aplicación a carros de almacén autónomos
La Fig. 1A representa un sistema de carro 100 mejorado que incluye un carro 102 mejorado (por ejemplo, un vehículo autónomo). Como se ilustra, uno o más carros mejorados, a los que se hace referencia a menudo en la industria como carros de recolección, pueden trabajar junto con uno o más trabajadores del almacén 104 (a los que también se hace referencia como asociados) para mover artículos de inventario por un almacén. Los carros 102 mejorados están destinados a ayudar en la mayoría de las tareas del almacén, tales como recoger, reponer existencias, mover, clasificar, contar o verificar artículos (por ejemplo, productos). Estos carros 102 pueden mostrar información al asociado 104 a través del uso de una interfaz de usuario (por ejemplo, pantalla) 106 y/o indicadores visuales y/o audibles a bordo que mejoran el desempeño de los asociados 104. El carro 102 puede ser propulsado por un motor (por ejemplo, un motor eléctrico) que está acoplado a una fuente de energía (por ejemplo, una batería, un supercondensador, etc.), de manera que el carro 102 se mueva de manera autónoma y no requiera que se empuje o tire por una fuerza humana u otra fuerza. El carro 102 puede viajar a un área de carga para cargar su batería o baterías.
Haciendo referencia aún a la Fig. 1A, los carros 102 mejorados se pueden configurar para transportar uno o muchos contenedores de almacenamiento 108 similares o distintos, a menudo en forma de contenedores o cajas, que se pueden usar para contener uno o más productos diferentes. Estos contenedores de almacenamiento 108 se pueden retirar del carro 102 mejorado. En algunos casos, los contenedores 108 se usan para contener artículos que se recogen de los estantes (por ejemplo, para completar un pedido de un cliente). En algunos casos, cada contenedor 108 se puede usar como una ubicación de recolección separada (es decir, un contenedor 108 es un solo pedido). En otros casos, los contenedores 108 se pueden usar para la selección por lotes (es decir, cada contenedor 108 puede contener múltiples pedidos completos o parciales). Cada contenedor 108 se puede asignar a una o muchas estaciones diferentes para clasificación y procesamiento posterior a la selección. En una realización, uno o más de los contenedores 108 están dedicados a la selección por lotes de múltiples tipos de productos y otro uno o más contenedores 108 están dedicados a la selección de múltiples cantidades de un solo producto (por ejemplo, para pedidos que solo tienen un artículo). Esta selección única permite al almacén omitir la clasificación secundaria y entregar los productos directamente a una estación de embalaje. En otra realización, uno o más de los contenedores 108 están asignados a la selección de pedidos (por ejemplo, para pedidos potencialmente urgentes) y uno o más de los contenedores 108 están asignados a la selección por lotes (por ejemplo, para pedidos sensibles de menor coste o menos urgentes). En otra realización más, uno o más de los contenedores 108 transportan producto que se utilizará para reponer producto en las ubicaciones de almacenamiento. Otra opción es que el carro 102 mejorado mueva productos y/o envíos a lo largo de todo el almacén según sea necesario entre diferentes estaciones, tales como estaciones de embalaje y envío. En otra implementación más, uno o más de los contenedores 108 se dejan vacíos para ayudar a contar el producto que entra y luego sale del contenedor 108 como parte de una tarea de recuento cíclico que se lleva a cabo regularmente en los almacenes para la gestión de inventario. Las tareas se pueden completar en un modo dedicado a un tipo de tarea o intercalar entre diferentes tipos de tareas. Por ejemplo, un asociado 104 puede estar recogiendo productos en el contenedor "uno" en el carro 102 mejorado y luego se le puede decir que tome productos del contenedor "dos" en el carro 102 mejorado y los guarde en el mismo pasillo.
La Fig. 1B es una realización alternativa del carro 102 mejorado y se muestra (para facilitar la comprensión) sin que los contenedores de almacenamiento 108 estén presentes. Como antes, el carro 102 mejorado incluye la pantalla 106 e indicadores de iluminación 110, 112. En operación, los contenedores de almacenamiento 108 pueden estar presentes en el carro 102 mejorado representado en la Fig. 1B. Con referencia a ambas Figs. 1A y 1B, el carro 102 mejorado puede incluir una primera y segunda plataformas 150, 154 para soportar una pluralidad de contenedores 108 capaces de recibir productos. Al menos un soporte 158 puede soportar la primera plataforma 150 por encima de la segunda plataforma 154. El al menos un soporte 158 puede estar ubicado sustancialmente centralmente a lo largo de las respectivas longitudes 162, 166 de la primera y segunda plataformas 150, 154 entre los extremos delantero y trasero 170, 174 del mismo y puede soportar la primera y segunda plataformas 150, 154 en ubicaciones dispuestas dentro de las partes interiores de la primera y segunda plataformas 150, 154. Como se ilustra en la Fig. 1B, el extremo frontal 170 del carro 102 puede definir un recorte 156 Puede haber uno o más sensores (por ejemplo, sensores de detección y alcance de luz (LiDAR)) alojados dentro del recorte 156. El recorte 156 permite que el sensor o sensores vean y detecten objetos delante y al lado (por ejemplo, más de 180° alrededor) del carro 102.
La siguiente discusión se centra en el uso de vehículos autónomos, tales como el carro 102 mejorado, en un entorno de almacén, por ejemplo, para guiar a los trabajadores por el suelo de un almacén y transportar inventario o pedidos de clientes para su envío. Sin embargo, los vehículos autónomos de cualquier tipo se pueden utilizar en muchos escenarios diferentes y para diversos fines, incluyendo, pero no limitado a: guiar a los compradores o almacenar inventario en una tienda minorista, conducir pasajeros en las carreteras, entregar alimentos y medicinas en hospitales, transportar carga en puertos de envío, limpieza de residuos, etc. Los vehículos autónomos se pueden emplear en un entorno similar a un almacén abierto al público (por ejemplo, grandes superficies o mayoristas). Esta descripción, que incluye, pero no se limita a, la tecnología, los sistemas y los métodos descritos en la presente memoria, es igualmente aplicable a cualquier tipo de vehículo autónomo.
Sistemas informáticos para la operación de vehículos autónomos
La Fig. 2 ilustra un sistema 200 configurado para el ajuste de datos de sensores en vehículos autónomos. El sistema 200 puede incluir un sistema informático remoto 202 configurado para ser acoplado directa o indirectamente a uno o más vehículos autónomos 102a, 102b, 102c (a los que se hace referencia colectivamente como 102). Por ejemplo, el sistema informático remoto 202 puede comunicarse directamente con el sistema informático 206 de un vehículo autónomo 102 (por ejemplo, a través del canal de comunicación 208). Además o alternativamente, el sistema informático remoto 202 puede comunicarse con uno o más vehículos autónomos 102 a través de un dispositivo de red de la red 210. En algunas realizaciones, el sistema informático remoto 202 puede comunicarse con un primer vehículo autónomo (por ejemplo, el vehículo 102a) a través de un segundo vehículo autónomo (por ejemplo, el vehículo 102b).
El sistema informático remoto 202 de ejemplo puede incluir uno o más procesadores 212 acoplados a un dispositivo de comunicación 214 configurado para recibir y transmitir mensajes y/o instrucciones (por ejemplo, hacia y desde un vehículo o vehículos autónomos 102). El sistema informático de vehículo 206 de ejemplo puede incluir un procesador 216 acoplado a un dispositivo de comunicación 218 y un controlador 220. El dispositivo de comunicación de vehículo 218 se puede acoplar al dispositivo de comunicación remoto 214. El procesador de vehículo 216 se puede configurar para procesar señales desde el dispositivo de comunicación remoto 214 y/o dispositivo de comunicación de vehículo 218. El controlador 220 se puede configurar para enviar señales de control a un sistema de navegación y/u otros componentes del vehículo 102, como se describe además en la presente memoria. El vehículo 102 puede incluir uno o más sensores 222 configurados para capturar datos de sensores (por ejemplo, imágenes, vídeo, audio, información de profundidad, etc.) y transmitir los datos de sensores al sistema informático remoto 202 y/o al sistema informático de vehículo 206. Como se discute en la presente memoria y a menos que se especifique lo contrario, el término "sistema informático" puede referirse al sistema informático remoto 202 y/o al sistema informático de vehículo 206.
El sistema o sistemas informáticos pueden recibir y/u obtener información acerca de una o más tareas, por ejemplo, de otro sistema informático o a través de una red. En algunos casos, una tarea puede ser el pedido del cliente, incluyendo la lista de artículos, la prioridad del pedido en relación con otros pedidos, la fecha de envío objetivo, si el pedido se puede enviar incompleto (sin todos los artículos pedidos) y/o en múltiples envíos, etc. En algunos casos, una tarea puede estar relacionada con el inventario, por ejemplo, reponer, organizar, contar, mover, etc. Un procesador (por ejemplo, del sistema 202 y/o del sistema 206) puede procesar la tarea para determinar una ruta óptima para que uno o más vehículos autónomos 102 lleven a cabo la tarea (por ejemplo, recoger artículos en una "lista de selección" para el pedido o mover artículos). Por ejemplo, se puede asignar una tarea a un solo vehículo o a dos o más vehículos 102.
La ruta determinada se puede transmitir al controlador 220 del vehículo 102. El controlador 220 puede navegar el vehículo 102 en una secuencia optimizada de paradas (a las que también se hace referencia como viaje) dentro del almacén para recoger o mover artículos. En una parada dad, un trabajador cerca del vehículo 102 puede colocar físicamente el artículo en un contenedor 108 para que lo transporte el vehículo 102. Alternativamente o además, el vehículo autónomo 102 puede incluir un aparato (por ejemplo, un brazo robótico) configurado para recoger artículos en un contenedor 108.
Eventos de navegación
Como se discutió anteriormente, a los vehículos autónomos 102 se les puede asignar la tarea de recopilar artículos, mover artículos y/o almacenar artículos dentro del almacén. Mientras que se navega para completar tales tareas, un vehículo autónomo 102 puede encontrar uno o más eventos de condiciones de superficie o de iluminación que desafíen sus sensores. En algunos casos, tales impedimentos pueden ser temporales y/o transitorios. Los impedimentos se pueden asociar con una o más ubicaciones y/o una o más direcciones de viaje. Por ejemplo, el vehículo 102 puede encontrar un bache o una zanja en la superficie de viaje. Los almacenes y centros logísticos son grandes edificios de tipo industrial que típicamente no tienen el mismo nivel de acabado en la construcción que algunos edificios comerciales o residenciales. Por consiguiente, los almacenes pueden tener ciertos parches de suelo rugoso, incluyendo pequeños baches o hundimientos en el suelo. En algunos casos, el vehículo puede pasar sobre un pedazo de escombros o una estructura temporal (por ejemplo, una cubierta para un cable en el suelo). Estas áreas no lisas del suelo pueden causar un movimiento extremo en la vista del sensor (por ejemplo, campo de visión de la cámara y/o LiDAR) de un vehículo autónomo 102 a medida que se empuja hacia arriba y hacia abajo o de lado a lado en un corto período de tiempo a medida que atraviesa el impedimento de la superficie.
En algunos casos, el vehículo 102 puede encontrar condiciones de iluminación en ciertas horas del día, por ejemplo, resplandor o reflejos 30 minutos antes del atardecer, que pueden inhibir la capacidad del vehículo para confiar en sus sensores para la navegación. Por ejemplo, la condición de iluminación se puede deber a que la luz del sol (por ejemplo, durante el día, la mañana, la tarde, etc.) incide en una ubicación en el camino del vehículo y causar el resplandor o reflejo. En algunos casos, las condiciones de iluminación se pueden deber a la variabilidad de la luz solar, en la medida que la luz solar puede ser diferente cada día (por ejemplo, debido a las nubes u otras condiciones climáticas). En otro ejemplo, las luces del techo pueden encenderse o proporcionar mayor iluminación en ciertas horas del día (por ejemplo, por la noche). En algunos casos, las luces del techo pueden causar resplandor, inhibiendo la capacidad del vehículo para navegar.
En algunos casos, los impedimentos pueden ser permanentes, semipermanentes, periódicos, esporádicos, estacionales o fijos durante una cantidad de tiempo prolongada (por ejemplo, semanas, meses, años, etc.). Es posible que no se tenga en cuenta una nueva característica en un mapeo inicial del almacén para el vehículo 102. Por ejemplo, el almacén se puede modificar con una característica permanente (por ejemplo, una rampa, una ventana, una pista en el suelo para un divisor de espacio o maquinaria, etc.). En otro ejemplo, el almacén se puede modificar con una característica estacional o dependiente del tiempo. Por ejemplo, la iluminación del techo puede estar encendida mucho más tiempo durante los meses de invierno que en los meses de verano. En otro ejemplo, durante la temporada navideña, algunos tipos de escombros (por ejemplo, brillantina o materiales reflectantes de decoraciones navideñas, vidrios rotos de guirnaldas de luces, etc.) en el suelo del almacén pueden ser más comunes que en otras épocas del año.
Los movimientos físicos o el bloqueo de las vistas de los sensores pueden dar como resultado una realimentación inexacta al procesador y/o controlador del vehículo, haciendo que el vehículo se detenga o desacelere innecesariamente, reduciendo así su eficiencia para completar sus tareas. Por ejemplo, los sensores del vehículo pueden detectar un impedimento en el camino del vehículo 102 mientras que el vehículo navega y enviar una señal al controlador (por ejemplo, directamente o por medio del procesador) para ralentizar y detener el vehículo. Además, la evaluación de un impedimento por los sensores y/o el procesador del vehículo puede requerir recursos de cálculo que pueden no estar disponibles o pueden ser costosos.
Ajuste de datos del sensor
Se puede configurar un sistema automatizado para ajustar los datos del sensor para tener en cuenta uno o más eventos de navegación, como se discutió anteriormente. En algunas realizaciones, el sistema automatizado ajusta la interpretación de los datos del sensor. En algunas realizaciones, el sistema automatizado ajusta una o más transformaciones aplicadas a los datos del sensor. Ajustando los datos del sensor, se puede evitar que el vehículo reaccione exageradamente ante impedimentos relativamente inofensivos para mantener un cierto nivel de eficiencia en un almacén. Por ejemplo, detener o ralentizar un vehículo en un camino con mucho resplandor puede ser indeseable. El sistema automatizado puede incluir uno o más vehículos autónomos 102 y/o uno o más sistemas informáticos remotos 202 en comunicación con los vehículos autónomos 102.
La Fig. 3 es un diagrama de flujo de un método 300 para la operación de un vehículo autónomo. En el paso 302, se configura un procesador (por ejemplo, un procesador 216 o procesador 212) para recibir datos del sensor (por ejemplo, datos de imágenes, datos de profundidad, datos de sensor LiDAR, etc.) recopilados por uno o más sensores (por ejemplo, los sensores 222) de un vehículo autónomo (por ejemplo, el vehículo 102a). Los datos del sensor se pueden recopilar durante la navegación del vehículo autónomo 102 a través de una ubicación particular, ubicaciones con condiciones compartidas y/o condiciones de navegación particulares. Por ejemplo, la ubicación particular puede ser una ubicación a lo largo del camino de navegación del vehículo 102 dentro de un almacén o cualquier otra ubicación que el vehículo 102 esté configurado para atravesar. En algunos casos, los datos del sensor se pueden recopilar durante la navegación en condiciones particulares (por ejemplo, condiciones de superficie y/o iluminación). La Fig. 4 ilustra un vehículo 102 que navega por un camino 402 en una parte orientada al sur de un almacén ubicado en el hemisferio norte. Como se ilustra, los sensores 222 de un vehículo 102 que atraviesa el camino 402 durante la tarde pueden desencadenar un evento de navegación debido al resplandor 404 de la luz solar intensa a través de una ventana 406.
En algunas realizaciones, ubicaciones particulares pueden ser similares en condiciones de manera que ocurran eventos de navegación iguales o similares. Por ejemplo, dos o más áreas del suelo de un edificio pueden someterse a condiciones de iluminación similares (por ejemplo, luces de techo de alta potencia colocadas sobre ciertas zonas o pasillos de un edificio, etc.). Por ejemplo, dos o más pasillos del suelo de un almacén pueden experimentar una fuerte luz solar por la tarde proveniente de las ventanas orientadas al sur de un edificio ubicado en el hemisferio norte. En tal caso, se pueden generar datos de sensor a partir de un sensor de luz, un sensor de calor, una cámara, etc. indicativos de tal condición de iluminación o una brújula indicativa de la dirección de viaje de un vehículo 102. A medida que el vehículo 102 está viajando en dirección sur en el suelo de un almacén, la brújula puede generar datos de la brújula, desencadenando un evento que probablemente impida la navegación eficiente y/o segura del vehículo 102. En otro ejemplo, una cubierta de suelo para un cable que atraviesa múltiples pasillos de un almacén puede dar como resultado condiciones compartidas en cada uno de los pasillos.
En algunas realizaciones, los datos del sensor se pueden recopilar antes, durante y/o después de una señal de control que se genera posteriormente por un controlador 220 del vehículo 102a. Por ejemplo, para los datos del sensor recopilados antes de que se genere la señal de control, los datos del sensor pueden reflejar un vehículo 102 subiendo un bache. En otro ejemplo de datos del sensor recopilados antes, durante y después de que se genere la señal de control, si el vehículo 102 pasó sobre un bache en una ubicación particular, los datos del sensor pueden reflejar la aparición del bache. En particular, es probable que los datos del sensor (por ejemplo, datos de imagen o profundidad) muestren la diferencia en imágenes y/o profundidad con relación al vehículo 102 a medida que el vehículo sube el bache y luego baja el bache. En otro ejemplo, si los sensores 222 experimentan un resplandor o reflejo desde una superficie cercana a los sensores, los datos del sensor correspondientes pueden reflejar el resplandor o reflejo antes de que la señal de control ralentice o detenga el vehículo 102.
Las Fig. 5A-5E ilustran los datos del sensor recopilados de los sensores de imagen y/o de profundidad a medida que el vehículo pasa un bache 502 (el evento de navegación). A medida que el vehículo 102 pasa sobre un bache 502 en su camino de navegación, se proporcionan los correspondientes campos de visión del sensor 504a-504e (a los que se hace referencia colectivamente como vistas 504). Las vistas del sensor 504 pueden incluir: (a) una vista a nivel 504a, (b) una vista hacia arriba 504b, (c) una vista a nivel 504c, (d) una vista hacia abajo 504d y (e) una vista a nivel 504e. Tenga en cuenta que el número de ruedas y la orientación del vehículo 102 pueden afectar a las vistas del sensor 504. Por ejemplo, si el vehículo 102 tuviera ruedas adicionales o menos en su carrocería, puede haber vistas adicionales hacia arriba, a nivel y/o hacia abajo.
En algunas realizaciones, una desviación (por ejemplo, la vista hacia arriba o la vista hacia abajo) en el campo de visión del sensor se puede comparar con un umbral para determinar si el vehículo 102 encontró un evento de navegación. Este umbral puede estar predeterminado o determinado dinámicamente. El umbral puede depender del tipo de evento de navegación (por ejemplo, condición de superficie frente a de iluminación, etc.). En algunas realizaciones, la desviación en el campo de visión del sensor puede tener un umbral temporal, por ejemplo, dependiendo de la velocidad del vehículo, el tipo de evento de navegación, etc. Por ejemplo, el vehículo 102 puede conducir a través de un resplandor durante uno o más minutos, por lo que el umbral correspondiente puede ser 30 segundos o 1 minuto. En otro ejemplo, el vehículo 102 puede pasar sobre un bache relativamente rápido (por ejemplo, en unos pocos segundos). Por consiguiente, el umbral correspondiente puede ser 0,5 segundos, 1 segundo, etc.
En algunas realizaciones, el controlador 220 puede generar una señal de control cuando el vehículo 102 y/o los sensores 222 experimentan un evento de navegación. La señal de control puede ser indicativa del evento de navegación. Por ejemplo, si el evento de navegación fue un bache, la señal de control puede dar instrucciones al vehículo 102 para ralentizarse, detenerse, atravesar, rodear el bache o se desviarse de su camino. Si el evento de navegación fue un resplandor o reflejo, la señal de control puede dar instrucciones al vehículo para ralentizarse, detenerse, atravesar, etc.
En el paso 304, el procesador puede determinar un evento que desencadenó la señal de control en base a los datos del sensor. Por ejemplo, si las imágenes de los datos del sensor aparecieran como se ilustra en las Figs. 5A-5E, el procesador puede determinar que el vehículo 102 pasó sobre un bache 502. Si el campo de visión del sensor estaba descolorido o saturado con luz, entonces el procesador puede determinar la existencia de resplandor o reflejo.
En algunas realizaciones, el procesador puede generar una instrucción en base al evento determinado para ajustar los datos del sensor recopilados por un sensor 222 de un vehículo autónomo (por ejemplo, el vehículo 102a, 102b, 102c, etc.) durante la navegación del vehículo hacia la ubicación particular o encontrar condiciones particulares.
En algunas realizaciones, la instrucción para ajustar los datos del sensor se puede configurar o modificar para la dirección de viaje de un vehículo autónomo 102. Por ejemplo, si un primer vehículo autónomo 102a encontró el evento de navegación en una primera dirección, la instrucción generada por el procesador puede incluir instrucciones de ajuste del sensor para la primera dirección. En algunas realizaciones, las instrucciones pueden incluir instrucciones de ajuste del sensor para al menos otra dirección distinta de la primera dirección, por ejemplo, la dirección opuesta, una dirección separada 90 grados de la primera dirección, etc. Por ejemplo, el suelo de un almacén típicamente está configurado en pasillos de manera que muchos caminos de navegación estén principalmente en orientaciones paralelas o perpendiculares entre sí. La Fig. 6 ilustra un suelo de almacén 600 de ejemplo que tiene pasillos 602a, 602b, configurados paralelos entre sí y un corredor 604 configurado perpendicular a los pasillos 602a y 602b. En este ejemplo, un vehículo 102a encuentra un evento de navegación 605 (por ejemplo, una condición de superficie o de iluminación). La instrucción generada por un procesador (al que se hace referencia como "procesador de origen") y asociada con una primera dirección 606a se puede modificar para varias otras direcciones. Por ejemplo, la instrucción se puede modificar para la dirección opuesta 606b o la dirección de desplazamiento de 90 grados 606c. La instrucción se puede modificar por el procesador del vehículo de recepción. Por ejemplo, el vehículo 102c puede recibir la instrucción del vehículo 102a y modificar la instrucción de ajuste del sensor según su dirección 606c de aproximación al evento de navegación 605. En algunas realizaciones, el procesador de origen puede enviar una instrucción que incluye ajustes del sensor para dos o más direcciones. Por ejemplo, debido al diseño típico del suelo del almacén 600, la instrucción puede incluir ajustes de sensor para la dirección opuesta 606b, dirección de desplazamiento de 90 grados 606c, etc.
En algunas realizaciones, el procesador puede generar múltiples instrucciones en base al mismo evento de navegación. Las múltiples instrucciones pueden referirse a múltiples ubicaciones adyacentes con relación a la ubicación particular del evento de navegación. Por ejemplo, si el vehículo 102 encuentra un resplandor en un pasillo del almacén, el procesador puede generar instrucciones correspondientes al resplandor esperado en pasillos adyacentes del almacén.
En algunas realizaciones, el procesador puede generar una primera instrucción para ajustar los datos del sensor y una segunda instrucción para "deshacer" o invertir el ajuste de los datos del sensor. Esto puede ser beneficioso cuando el evento de navegación es temporal (por ejemplo, un resplandor en un período corto de tiempo en las tardes de julio y agosto).
En algunas realizaciones, el procesador puede generar una o más versiones de una instrucción para ajustar los datos del sensor. Las versiones pueden ser dependientes del modelo, tipo, tamaño, forma, etc. del vehículo autónomo 102 y/o del tipo y calibración de los sensores de vehículo 222. Por ejemplo, una primera instrucción puede ser para vehículos que tienen una distancia de 4 pulgadas (10,16 centímetros) entre el suelo y una lente de cámara del sensor y una segunda instrucción puede ser para vehículos que tienen un espacio libre de 6 pulgadas (15,24 centímetros).
En el paso 306, la instrucción puede transmitirse a un sistema informático para ajustar los datos del sensor. Por ejemplo, la instrucción se puede transmitir dentro del mismo vehículo autónomo (por ejemplo, de un componente a otro componente del vehículo 102a), desde un vehículo autónomo (por ejemplo, 102a) a otro vehículo o vehículos autónomos (por ejemplo, el vehículo 102b y/ o el vehículo 102c), y/o desde un vehículo autónomo (por ejemplo, 102a) a un sistema informático remoto 202 para ser utilizado por otro vehículo (por ejemplo, 102a o 102b) que navega a través de la misma ubicación. En algunas realizaciones, un dispositivo de comunicación 218 de un vehículo 102a puede transmitir la instrucción a un dispositivo de comunicación 218 de otro vehículo 102b. En algunas realizaciones, un primer módulo dentro del procesador 216 de un vehículo 102a puede transmitir la instrucción a un segundo módulo del procesador 216 del vehículo 102a. Por ejemplo, el primer módulo se puede configurar para generar la instrucción, como se describió anteriormente, y el segundo módulo se puede configurar para ajustar los datos del sensor. En algunas realizaciones, un dispositivo de comunicación 214 del sistema informático remoto 202 puede transmitir la instrucción a un dispositivo de comunicación 218 de un vehículo 102a. En algunas realizaciones, un dispositivo de comunicación 218 del vehículo 102a puede transmitir la instrucción a un dispositivo de comunicación 214 de un sistema informático remoto 202. En algunos casos, la instrucción puede ser dependiente del tiempo (por ejemplo, ciertas horas del día, ciertas horas de año, durante configuraciones de almacén temporales, durante condiciones de almacén temporales, etc.). Por lo tanto, el procesador puede aplicar la instrucción durante el tiempo relevante (por ejemplo, durante una ventana de 45 minutos por la tarde con un fuerte resplandor o un suelo mojado que debería secarse en 20 minutos) y puede dejar de aplicar la instrucción después de ese tiempo. En algunas realizaciones, la instrucción se puede transmitir periódicamente (por ejemplo, una vez cada hora, medio día, un día, etc. o al final del día, comienzo del día, etc.) de modo que se "sincronicen" múltiples vehículos con instrucciones iguales o similares.
En algunas realizaciones, el procesador (por ejemplo, el procesador 212 o 216) está configurado para ajustar los datos del sensor en base a la instrucción recibida. El ajuste puede incluir modificar, ignorar, suprimir, etc., los datos del sensor. Para impedimentos físicos a la navegación del vehículo, los datos de salida del sensor se pueden ajustar (por ejemplo, mediante un procesador) para tener en cuenta el impedimento. Por ejemplo, el desplazamiento de traslación y/o rotación presente en los datos del sensor indicativo del campo de visión del sensor se puede corregir dinámicamente (por ejemplo, en tiempo real o casi en tiempo real). En algunas realizaciones, una vez que se determina un ángulo o transformación ajustados para cada cuadro de los datos del sensor, se pueden producir los nuevos datos del sensor ajustados artificialmente para transformar cada imagen o cuadro de profundidad en un nuevo cuadro. Haciendo referencia de nuevo a las Figs. 5A-5E, si un vehículo 102 pasa sobre un bache 502 en su camino de navegación o en una ubicación particular, las vistas del sensor mientras que atraviesa ese obstáculo pueden incluir: (a) una vista a nivel, (b) una vista hacia arriba, (c) una vista a nivel, (d) una vista hacia abajo y (e) una vista a nivel. Un procesador puede aplicar correcciones (por ejemplo, en software) a los datos del sensor resultantes de forma preventiva, por ejemplo, antes de transmitir los datos de envío a otro componente (por ejemplo, un controlador 220). Las correcciones pueden corresponder a las vistas del sensor de la siguiente manera: (a') sin corrección, (b') corrección hacia abajo o supresión de datos, (c') sin corrección, (d') corrección hacia arriba o supresión de datos, y (e') sin corrección.
Para obstrucciones relacionadas con la iluminación a la navegación del vehículo, los datos de salida del sensor se pueden ajustar (por ejemplo, mediante un procesador de ordenador) para tener en cuenta la obstrucción. En particular, las condiciones de iluminación (por ejemplo, resplandor o reflejos) que impiden el campo de visión del sensor se pueden corregir dinámicamente (por ejemplo, en tiempo real o casi en tiempo real). Por ejemplo, si un vehículo encuentra un suelo recién lavado en un almacén, las luces por encima de la cabeza pueden causar un reflejo significativo desde el suelo (por ejemplo, mientras el suelo aún está mojado) hacia la lente de la cámara del vehículo. Haciendo referencia al ejemplo ilustrado en la Fig. 4, la luz 404 que entra a través de una ventana 406 de almacén en un momento y/o ángulo particular en un día soleado puede causar un resplandor significativo en la lente de la cámara del sensor del vehículo. En algunas implementaciones, un procesador puede aplicar correcciones a las partes de los datos que están borradas y/o no contienen información visual o de profundidad útil para permitir al vehículo navegar. En algunas implementaciones, el procesador puede ignorar cierta información (por ejemplo, datos de imágenes) y en su lugar utilizar información de profundidad (por ejemplo, datos del sensor LiDAR) para superar condiciones particulares. En algunas implementaciones, el procesador puede cambiar de manera preventiva los ajustes de exposición y/o reducir la resolución en la cámara de un vehículo que viaja en un camino con una obstrucción temporal conocida.
En algunas implementaciones, para evitar una reacción exagerada y/o falsos positivos por un vehículo autónomo ante obstrucciones temporales, el procesador puede ajustar los datos del sensor para un evento (por ejemplo, una obstrucción física o una obstrucción relacionada con la iluminación) para reducir la frecuencia de desencadenamiento de una señal de control del controlador. Por ejemplo, los datos del sensor no ajustados desencadenan una señal de control que puede hacer que el vehículo aplique los frenos (por ejemplo, se detenga o ralentice), desvíe el vehículo de su camino, transfiera el control a un usuario (por ejemplo, un trabajador humano), etc. Por ejemplo, si un evento ocurre muy rápidamente (por ejemplo, el vehículo pasa por un pequeño bache en menos de 1 segundo), se puede enviar una señal de control dentro de 1 segundo del evento. Sin embargo, los datos del sensor se pueden ajustar o ignorar de manera que se envíe una señal de control solo si el evento persiste durante 5 segundos o más. En otro ejemplo, un evento puede ser persistente pero inofensivo (por ejemplo, un reflejo de la superficie de viaje). Una señal de control puede hacer que el vehículo se detenga a 1 metro del reflejo detectado (el umbral predeterminado). El procesador puede enviar una instrucción al controlador con datos del sensor ajustados de manera que el vehículo pueda ralentizarse pero continuar viajando sobre la superficie que tiene el reflejo (por ejemplo, reducir el umbral a cero metros).
En algunas realizaciones, los datos del sensor ajustados se pueden probar en uno o más vehículos adicionales (por ejemplo, 102b, 102c, etc.) antes de ser transmitidos a un grupo más grande de vehículos. De esta forma, un procesador (por ejemplo, del vehículo 102b, del vehículo 102c o del sistema informático remoto 202) puede determinar que los datos del sensor pueden necesitar ser ajustados además o que el impedimento se ha resuelto de otra forma (por ejemplo, limpiado), arreglado, una ventana se oscureció, el camino se ha bloqueado por completo, etc.).
En algunas realizaciones, un sistema informático puede usar los datos del sensor ajustados a través de un simulador de un vehículo (por ejemplo, el controlador 220 de un vehículo) para determinar si los datos del sensor ajustados desencadenan una reacción indeseable (por ejemplo, una ralentización o detención ineficiente del vehículo). Los datos del sensor ajustados se pueden ajustar aún más hasta que el vehículo simulado opere como se desea.
En algunas realizaciones, si el ajuste de los datos del sensor no produce el efecto deseado en el vehículo 102, entonces un procesador puede marcar la ubicación o ubicaciones particulares con la condición como inseguras o que requieren asistencia humana para un recorrido seguro (por ejemplo, en "modo manual solamente").
Implementaciones basadas en ordenador
En algunos ejemplos, parte o todo el procesamiento descrito anteriormente se puede llevar a cabo en un dispositivo informático personal, en uno o más dispositivos informáticos centralizados o mediante procesamiento basado en la nube mediante uno o más servidores. En algunos ejemplos, algunos tipos de procesamiento ocurren en un dispositivo y otros tipos de procesamiento ocurren en otro dispositivo. En algunos ejemplos, algunos o todos los datos descritos anteriormente se pueden almacenar en un dispositivo informático personal, en un almacenamiento de datos alojado en uno o más dispositivos informáticos centralizados, o a través de almacenamiento basado en la nube. En algunos ejemplos, algunos datos se almacenan en una ubicación y otros datos se almacenan en otra ubicación. En algunos ejemplos, se puede utilizar la computación cuántica. En algunos ejemplos, se pueden utilizar lenguajes de programación funcionales. En algunos ejemplos, se puede utilizar memoria eléctrica, tal como memoria basada en flash.
La Fig. 7 es un diagrama de bloques de un sistema informático de ejemplo 700 que se puede usar para implementar los sistemas y métodos descritos en la presente memoria. Los ordenadores de propósito general, aparatos de red, dispositivos móviles u otros sistemas electrónicos también pueden incluir al menos partes del sistema 700. El sistema 700 incluye un procesador 710, una memoria 720, un dispositivo de almacenamiento 730 y un dispositivo de entrada/salida 740. Cada uno de los componentes 710, 720, 730 y 740 se puede interconectar, por ejemplo, usando un bus de sistema 750. El procesador 710 es capaz de procesar instrucciones para su ejecución dentro del sistema 700. En algunas implementaciones, el procesador 710 es un procesador de un solo subproceso. En algunas implementaciones, el procesador 710 es un procesador multiproceso. El procesador 710 es capaz de procesar instrucciones almacenadas en la memoria 720 o en el dispositivo de almacenamiento 730.
La memoria 720 almacena información dentro del sistema 700. En algunas implementaciones, la memoria 720 es un medio no transitorio legible por ordenador. En algunas implementaciones, la memoria 720 es una unidad de memoria volátil. En algunas implementaciones, la memoria 720 es una unidad de memoria no volátil.
El dispositivo de almacenamiento 730 es capaz de proporcionar almacenamiento masivo para el sistema 700. En algunas implementaciones, el dispositivo de almacenamiento 730 es un medio no transitorio legible por ordenador. En varias implementaciones diferentes, el dispositivo de almacenamiento 730 puede incluir, por ejemplo, un dispositivo de disco duro, un dispositivo de disco óptico, una unidad de datos sólidos, una unidad flash o algún otro dispositivo de almacenamiento de gran capacidad. Por ejemplo, el dispositivo de almacenamiento puede almacenar datos a largo plazo (por ejemplo, datos de bases de datos, datos del sistema de archivos, etc.). El dispositivo de entrada/salida 740 proporciona operaciones de entrada/salida para el sistema 700. En algunas implementaciones, el dispositivo de entrada/salida 740 puede incluir uno o más dispositivos de interfaz de red, por ejemplo, una tarjeta Ethernet, un dispositivo de comunicación en serie, por ejemplo, un puerto RS-232 y/o un dispositivo de interfaz inalámbrica, por ejemplo, una tarjeta 802.11, un módem inalámbrico de 3G o un módem inalámbrico de 4G. En algunas implementaciones, el dispositivo de entrada/salida puede incluir dispositivos controladores configurados para recibir datos de entrada y enviar datos de salida a otros dispositivos de entrada/salida, por ejemplo, teclado, impresora y dispositivos de visualización 760. En algunos ejemplos, se pueden utilizar dispositivos informáticos móviles, dispositivos de comunicación móviles y otros dispositivos.
En algunas implementaciones, al menos una parte de los enfoques descritos anteriormente se pueden realizar mediante instrucciones que, tras su ejecución, hacen que uno o más dispositivos de procesamiento lleven a cabo los procesos y funciones descritos anteriormente. Tales instrucciones pueden incluir, por ejemplo, instrucciones interpretadas tales como instrucciones de secuencia de comandos, o código ejecutable, u otras instrucciones almacenadas en un medio no transitorio legible por ordenador. El dispositivo de almacenamiento 730 se puede implementar de una forma distribuida a través de una red, tal como una granja de servidores o un conjunto de servidores ampliamente distribuidos, o se puede implementar en un único dispositivo informático.
Aunque en la Fig. 7 se ha descrito un sistema de procesamiento de ejemplo, las realizaciones de la materia en cuestión, las operaciones funcionales y los procesos descritos en esta especificación se pueden implementar en otros tipos de circuitería electrónica digital, en software o microprograma de ordenador incorporado tangiblemente, en hardware de ordenador, incluyendo las estructuras descritas en esta especificación y sus equivalentes estructurales, o en combinaciones de uno o más de ellos. Las realizaciones de la materia en cuestión descrita en esta especificación se pueden implementar como uno o más programas informáticos, es decir, uno o más módulos de instrucciones de programas informáticos codificados en un soporte de programa tangible no volátil para su ejecución o para controlar la operación de aparatos de procesamiento de datos. Alternativamente o además, las instrucciones de programa se pueden codificar en una señal propagada generada artificialmente, por ejemplo, una señal eléctrica, óptica o electromagnética generada por máquina que se genera para codificar información para su transmisión a un aparato receptor adecuado para su ejecución mediante un aparato de procesamiento de datos. El medio de almacenamiento informático puede ser un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria de acceso aleatorio o en serie, o una combinación de uno o más de ellos.
El término "sistema" puede abarcar todo tipo de aparatos, dispositivos y máquinas para procesar datos, incluyendo a modo de ejemplo un procesador programable, un ordenador o múltiples procesadores u ordenadores. Un sistema de procesamiento puede incluir circuitería lógica de propósito especial, por ejemplo, una FPGA (matriz de puertas programables en campo) o un ASIC (circuito integrado de aplicaciones específicas). Un sistema de procesamiento puede incluir, además de hardware, código que crea un entorno de ejecución para el programa informático en cuestión, por ejemplo, código que constituye el microprograma del procesador, una pila de protocolos, un sistema de gestión de bases de datos, un sistema operativo o una combinación de uno o más de ellos.
Un programa de ordenador (al que también se puede hacer referencia o describir como un programa, software, una aplicación de software, un módulo, un módulo de software, una secuencia de comandos o un código) se puede escribir en cualquier forma de lenguaje de programación, incluyendo los lenguajes compilados o interpretados, o lenguajes declarativos o procedimentales, y se puede desplegar en cualquier forma, incluyendo como programa independiente o como módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa informático puede corresponder, aunque no necesariamente, a un archivo en un sistema de archivos. Un programa se puede almacenar en una parte de un archivo que contiene otros programas o datos (por ejemplo, una o más secuencias de comandos almacenadas en un documento de lenguaje de marcado), en un único archivo dedicado al programa en cuestión o en múltiples archivos coordinados (por ejemplo, archivos que almacenan uno o más módulos, subprogramas o partes de código). Un programa informático se puede desplegar para ser ejecutado en un ordenador o en múltiples ordenadores ubicados en un sitio o distribuir en múltiples sitios e interconectar por una red de comunicación.
Los procesos y flujos lógicos descritos en esta especificación se pueden realizar por uno o más ordenadores programables que ejecutan uno o más programas informáticos para realizar funciones operando con datos de entrada y generando salida. Los procesos y flujos lógicos también se pueden realizar mediante, y el aparato también se puede implementar como, circuitería lógica de propósito especial, por ejemplo, una FPGA (matriz de puertas programables en campo) o un ASIC (circuito integrado de aplicaciones específicas).
Los ordenadores adecuados para la ejecución de un programa informático pueden incluir, a modo de ejemplo, microprocesadores de propósito general o especial, o ambos, o cualquier otro tipo de unidad central de procesamiento. Generalmente, una unidad central de procesamiento recibirá instrucciones y datos de una memoria de solo lectura o de una memoria de acceso aleatorio o de ambas. Un ordenador generalmente incluye una unidad central de procesamiento para realizar o ejecutar instrucciones y uno o más dispositivos de memoria para almacenar instrucciones y datos. Generalmente, un ordenador también incluirá, o se acoplará operativamente para recibir datos o transferir datos a, o ambos, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, discos magnéticos, magnetoópticos o discos ópticos. Sin embargo, un ordenador no necesita tener tales dispositivos. Además, un ordenador puede estar integrada en otro dispositivo, por ejemplo, un teléfono móvil, un asistente digital personal (PDA), un reproductor de audio o vídeo móvil, una consola de juegos, un receptor del Sistema de Posicionamiento Global (GPS) o un dispositivo de almacenamiento portátil (por ejemplo, una unidad flash de bus serie universal (USB), por nombrar unos pocos.
Los medios legibles por ordenador adecuados para almacenar instrucciones de programas informáticos y datos incluyen todas las formas de memoria no volátil, medios y dispositivos de memoria, incluyendo, a modo de ejemplo, dispositivos de memoria de semiconductores, por ejemplo, EPROM, EEPROM y dispositivos de memoria flash; discos magnéticos, por ejemplo, discos duros internos o discos extraíbles; discos magnetoópticos; y discos CD-ROM y DVD-ROM. El procesador y la memoria se pueden complementar o incorporar en circuitería lógica de propósito especial.
Para proporcionar interacción con un usuario, se pueden implementar realizaciones de la materia en cuestión descrita en esta especificación en un ordenador que tiene un dispositivo de visualización, por ejemplo, un monitor de CRT (tubo de rayos catódicos) o LCD (pantalla de cristal líquido), para mostrar información al usuario y un teclado y un dispositivo de apuntamiento, por ejemplo, un ratón o una bola de seguimiento, mediante el cual el usuario puede proporcionar una entrada al ordenador. También se pueden utilizar otros tipos de dispositivos para proporcionar interacción con un usuario; por ejemplo, la realimentación proporcionada al usuario puede ser cualquier forma de realimentación sensorial, por ejemplo, realimentación visual, realimentación auditiva o realimentación táctil; y la entrada del usuario se puede recibir en cualquier forma, incluyendo entrada acústica, de voz o táctil. Además, un ordenador puede interactuar con un usuario enviando y recibiendo documentos desde un dispositivo que se utiliza por el usuario; por ejemplo, enviando páginas web a un navegador web en el dispositivo de usuario de un usuario en respuesta a solicitudes recibidas desde el navegador web.
Las realizaciones de la materia en cuestión descrita en esta especificación se pueden implementar en un sistema informático que incluye un componente de etapa final, por ejemplo, como un servidor de datos, o que incluye un componente de soporte intermedio, por ejemplo, un servidor de aplicaciones, o que incluye un componente de etapa de entrada, por ejemplo, un ordenador cliente que tiene una interfaz gráfica de usuario o un navegador web a través del cual un usuario puede interactuar con una implementación de la materia en cuestión descrita en esta especificación, o cualquier combinación de uno o más componentes de etapa final, soporte intermedio o etapa de entrada. Los componentes del sistema se pueden interconectar mediante cualquier forma o medio de comunicación de datos digitales, por ejemplo, una red de comunicación. Ejemplos de redes de comunicación incluyen una red de área local ("LAN") y una red de área extensa ("WAN"), por ejemplo, Internet.
El sistema informático puede incluir clientes y servidores. Un cliente y un servidor generalmente están remotos uno de otro y típicamente interactúan a través de una red de comunicación. La relación de cliente y servidor surge en virtud de que programas informáticos se ejecutan en los respectivos ordenadores y tienen una relación clienteservidor entre sí.

Claims (15)

REIVINDICACIONES
1. Un método implementado por ordenador para la operación de vehículos autónomos, el método que comprende: recibir, mediante un procesador, datos de sensor recopilados por un primer sensor de un primer vehículo autónomo durante la navegación del primer vehículo autónomo a través de una ubicación particular y antes de una señal de control generada posteriormente por un controlador del primer vehículo autónomo; determinar, por el procesador y en base a los datos del sensor, un evento que desencadenó la señal de control; y
transmitir a un segundo vehículo autónomo, mediante un dispositivo de comunicación acoplado al procesador, una instrucción, en base al evento determinado, para ajustar los datos del sensor recopilados por un segundo sensor del segundo vehículo autónomo durante la navegación del segundo vehículo autónomo en la ubicación particular.
2. El método de la reivindicación 1, en donde la señal de control se genera para:
(a) detener o ralentizar el primer vehículo autónomo;
(b) desviar el primer vehículo autónomo de la ubicación particular; o
(c) transferir el control del primer vehículo autónomo a un usuario.
3. El método de la reivindicación 1 o 2, en donde el primer sensor del primer vehículo autónomo comprende al menos uno de entre una cámara o un sensor LiDAR.
4. El método de cualquiera de las reivindicaciones anteriores, en donde el evento determinado comprende al menos uno de:
(i) una desviación por encima de un umbral de un campo de visión del primer sensor;
(ii) una condición de iluminación que ocurre en el campo de visión del primer sensor;
(iii) una característica de la ubicación particular;
(iv) una dirección de navegación del primer vehículo autónomo; o
(v) una hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular.
5. El método de la reivindicación 4, en donde la desviación en el campo de visión corresponde a un movimiento físico del primer sensor.
6. El método de la reivindicación 4 o 5, en donde el evento determinado comprende la desviación, y en donde la instrucción es para ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo para corregir una desviación en un campo de visión del segundo sensor.
7. El método de cualquiera de las reivindicaciones 4 a 6, en donde el evento determinado comprende la condición de iluminación que ocurre en el campo de visión del primer sensor, y en donde la instrucción es ignorar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo.
8. El método de cualquiera de las reivindicaciones 4 a 7, en donde el evento determinado comprende la dirección de navegación del primer vehículo autónomo, y en donde la instrucción es ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo según una dirección de navegación del segundo vehículo autónomo.
9. El método de cualquiera de las reivindicaciones 4 a 8, en donde el evento determinado comprende la hora del día asociada con la navegación del primer vehículo autónomo a través de la ubicación particular, y en donde la instrucción es para ajustar los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo durante un periodo de tiempo asociado a la hora del día.
10. El método de cualquiera de las reivindicaciones anteriores, que comprende además:
determinar otra instrucción para invertir, después de la aparición del evento, el ajuste de los datos del sensor recopilados por el segundo sensor, en donde la determinación se ejecuta por al menos uno de (i) el procesador o (ii) una unidad de procesamiento del segundo vehículo autónomo.
11. El método de cualquiera de las reivindicaciones anteriores, en donde el evento determinado comprende una condición de iluminación de una superficie en la ubicación particular, la condición de iluminación que comprende al menos uno de entre un resplandor o un reflejo.
12. El método de la reivindicación 11, en donde la instrucción para ajustar los datos del sensor comprende una instrucción para ignorar al menos una parte de los datos del sensor recopilados por el segundo sensor del segundo vehículo autónomo desde la superficie.
13. El método de cualquiera de las reivindicaciones anteriores, en donde el primer vehículo autónomo es el mismo que el segundo vehículo autónomo y el primer sensor es el mismo que el segundo sensor.
14. Un sistema para la operación de vehículos autónomos, el sistema que comprende:
un procesador configurado para llevar a cabo el método de cualquiera de las reivindicaciones anteriores.
15. Un programa informático que comprende instrucciones que, cuando se ejecutan por uno o más procesadores informáticos, hacen que los procesadores informáticos realicen operaciones según cualquiera de los métodos de las reivindicaciones 1 a 13.
ES21192682T 2021-03-11 2021-08-23 Sistemas y métodos para operación de vehículos autónomos Active ES2955912T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/198,691 US11934198B2 (en) 2021-03-11 2021-03-11 Systems and methods for autonomous vehicle operation

Publications (1)

Publication Number Publication Date
ES2955912T3 true ES2955912T3 (es) 2023-12-11

Family

ID=77465823

Family Applications (1)

Application Number Title Priority Date Filing Date
ES21192682T Active ES2955912T3 (es) 2021-03-11 2021-08-23 Sistemas y métodos para operación de vehículos autónomos

Country Status (6)

Country Link
US (1) US11934198B2 (es)
EP (1) EP4057101B1 (es)
CN (1) CN115123266A (es)
CA (1) CA3144826C (es)
ES (1) ES2955912T3 (es)
PL (1) PL4057101T3 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12528400B2 (en) 2022-04-08 2026-01-20 Shopify Inc Mobile fulfillment container apparatus, systems, and related methods
US12561639B2 (en) 2022-04-08 2026-02-24 Shopify Inc Mobile fulfillment container apparatus, systems, and related methods
CN115797023B (zh) * 2023-02-09 2023-05-02 浙江云针信息科技有限公司 一种无人驾驶车辆的车位无线充电及打车方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946605A (en) * 1996-05-24 1999-08-31 Digital Dj Method and apparatus for communicating information using a data tuner
US8368506B2 (en) 2007-07-19 2013-02-05 Nec Corporation Sensing device and system, controlling method and control program
DE102012008846A1 (de) 2012-04-28 2012-11-29 Daimler Ag Fahrerloses Transportsystem und Verfahren zum Betreiben eines solchen fahrerlosen Transportsystems
EP3387596A1 (en) 2015-12-07 2018-10-17 6 River Systems, Inc. Warehouse automation systems and methods using a motor-driven cart
US9840256B1 (en) * 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
CN109074735B (zh) * 2016-05-17 2022-04-05 福特全球技术公司 使用集成的车辆传感器检测和通知结冰状况的设备和方法
WO2019058720A1 (ja) 2017-09-22 2019-03-28 ソニー株式会社 情報処理装置、自律型移動装置、および方法、並びにプログラム
US10223912B1 (en) * 2017-11-21 2019-03-05 Aptiv Technologies Limited Virtual barrier system
US11914367B2 (en) * 2018-12-11 2024-02-27 GM Global Technology Operations LLC Sun-aware routing and controls of an autonomous vehicle
US11561547B2 (en) * 2019-02-20 2023-01-24 Gm Cruise Holdings Llc Autonomous vehicle routing based upon spatiotemporal factors
KR102267331B1 (ko) * 2019-05-09 2021-06-22 엘지전자 주식회사 자율 주행 차량과 이를 이용한 보행자 안내 시스템 및 방법
US20210229681A1 (en) * 2020-01-27 2021-07-29 GM Global Technology Operations LLC Realtime proactive object fusion for object tracking
US11458993B2 (en) * 2020-09-15 2022-10-04 Tusimple, Inc. Detecting a road closure by a lead autonomous vehicle (AV) and updating routing plans for following AVs

Also Published As

Publication number Publication date
US11934198B2 (en) 2024-03-19
EP4057101A1 (en) 2022-09-14
CA3144826C (en) 2025-08-05
US20220291694A1 (en) 2022-09-15
CA3144826A1 (en) 2022-09-11
CN115123266A (zh) 2022-09-30
PL4057101T3 (pl) 2023-11-06
EP4057101B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
ES2955912T3 (es) Sistemas y métodos para operación de vehículos autónomos
US11467574B2 (en) Infrastructure monitoring system on autonomous vehicles
CN108628295B (zh) 移动控制系统、移动控制装置以及记录介质
US11073835B2 (en) All weather autonomously driven vehicles
Montemerlo et al. Junior: The stanford entry in the urban challenge
Baril et al. Kilometer-scale autonomous navigation in subarctic forests: challenges and lessons learned
EP3649587A1 (en) Vehicle and drone management system
US10836356B2 (en) Sensor dirtiness detection
AU2018311699B2 (en) Systems and methods for navigation path determination for unmanned vehicles
US20190295035A2 (en) Energy-efficient delivery of shipments
US20200363223A1 (en) Stranding and scoping analysis for autonomous vehicle services
EP3994666A1 (en) Object localization for autonomous driving by visual tracking and image reprojection
CN116300858A (zh) 控制移动机器人
US20220236733A1 (en) Virtual mapping systems and methods for use in autonomous vehicle navigation
US10578447B2 (en) Method for identifying safe and traversable paths
US20220291681A1 (en) Systems and methods for edge and guard detection in autonomous vehicle operation
US12145800B1 (en) Structured field map generation for inventory system
US20220019220A1 (en) Detecting loops for autonomous vehicles
US20240123944A1 (en) Devices, systems, and methods for camera cleaning and flare reduction for vehicles
Tobias Transferable semi-autonomous architecture for vehicles operating in corridor crop environments
WO2024081257A1 (en) Devices, systems, and methods for camera cleaning and flare reduction for vehicles
Huang et al. The CSUF unmanned utility ground robotic vehicle