Arquitectura conceptual de los sistemas de conducción autónoma y conducción asistida (2)

Resumen:

Esta segunda parte presenta principalmente las unidades informáticas subyacentes y las cargas de trabajo de muestra.

prefacio

      

Este documento hace referencia a la arquitectura del sistema conceptual del Consorcio de Computación de Vehículos Autónomos para sistemas informáticos de conducción autónoma y conducción asistida. La arquitectura está diseñada para ser consistente con los niveles SAE L1-L5 de conducción autónoma. La introducción principal de este artículo incluye diagramas de módulos funcionales que cubren las unidades informáticas subyacentes, cargas de trabajo de muestra y estándares de la industria.

Esta segunda parte presenta principalmente las unidades informáticas subyacentes y las cargas de trabajo de muestra.

imagen

Componentes de la arquitectura del sistema de conducción autónoma

3. Descripción de la señal

Las conexiones de los módulos en el diagrama muestran, a nivel abstracto, la relación productor-consumidor en la que los datos se pasan de un módulo funcional a otro. Sin embargo, para simplificar, nos referiremos a él como señal o flujo de datos en el resto del documento. La salida de un módulo funcional puede ser una entrada a uno o más módulos funcionales en el sistema.

Este artículo describe el flujo de datos entre módulos funcionales en el diagrama de arquitectura del sistema. Se hace referencia a los flujos de datos descritos en esta sección en las descripciones de los módulos funcionales en las secciones siguientes. Los módulos funcionales simplemente se refieren al flujo de datos en esta sección y profundizan en el papel (entrada y/o salida) y los aspectos computacionales del flujo de datos (como consumidor, como productor) en términos de su función, propósito e implementación.

Los flujos de datos se pueden agrupar en "perfiles de comportamiento" comunes, que se resumen a continuación:

• Flujo de datos: un flujo de datos actualizado periódicamente; siempre hay la siguiente actualización

• Evento: un flujo de datos que indica una transición o cambio; ocurre periódicamente cuando ocurre un cambio.

• Estado: un flujo de datos que indica el estado; las nuevas actualizaciones reemplazarán el estado actual

• Estado: similar al estado, pero aún disponible cuando el productor falla o reinicia (cuando el vehículo está en marcha)

• Configuración: similar al estado, pero persiste después de reiniciar el vehículo.

• Solicitud: una solicitud de un servicio que puede resultar en un cambio de comportamiento o puede no cumplirse. Cada flujo de datos sigue el siguiente patrón:

• Nombre: Descripción de los datos transmitidos por la señal.

• Propiedad: Exclusiva (exactamente un productor es la fuente principal) | Compartida (todos los productores se consideran fuentes válidas)

Cuando un flujo de datos tiene varios productores, el atributo de "propiedad" simplemente indica si existe un productor exclusivo que debe considerarse la fuente principal. Si no se especifica esta propiedad, el flujo de datos se considera "compartido", es decir, todos los productores del flujo de datos se consideran fuentes de entrada válidas (predeterminado).

Las señales en los sistemas de vehículos autónomos se muestran a continuación, organizadas por perfiles de flujo de datos.

3.1 Flujo de datos


• Automovimiento: describe el movimiento del vehículo autónomo en relación con el sistema de coordenadas mundial.

--Proporcionar información que refleje las condiciones dinámicas de los vehículos autónomos para determinar la maniobrabilidad.

--Proporcionar información sobre el movimiento actual del vehículo autónomo.

--Considerar junto con la trayectoria objetivo y compartir información de actitud del vehículo autónomo para generar solicitudes de actuador

--Actitud en el tiempo, es decir, velocidades y aceleraciones de traslación y rotación.

• Solicitudes de actuador: envía entradas de control a los actuadores de frenado, dirección y aceleración del vehículo autónomo.

• Retroalimentación del actuador: Proporciona señales de retroalimentación de los actuadores del vehículo.

--Las limitaciones de movimiento del vehículo deben exponerse al resto del sistema porque esta retroalimentación es necesaria

--Puede interactuar con varios módulos de ejecución externos, esta retroalimentación será diferente en términos de unidad, formato, tipo, etc.

• Datos de sensores del chasis: sensores interiores del vehículo que proporcionan información relacionada con el movimiento (por ejemplo, sensores de velocidad de las ruedas, ángulo del volante, etc.).

• Datos IMU: tasa de aceleración y rotación del vehículo medida proporcionada por la IMU.

• Datos de la brújula: posición norte verdadera proporcionada por el magnetómetro.

• Datos GNSS: Datos del Sistema Global de Navegación por Satélite (GNSS). Incluye estimaciones de ubicación georreferenciadas expresadas como posiciones WGS84/GPS (las incertidumbres generalmente se miden en metros).

--Información de ubicación basada en GNSS, posiblemente combinada con información de servicios de corrección

--Incluye estimaciones de ubicación georreferenciadas. Puede haber incluido la estimación del movimiento propio.

• Datos de sensores ambientales: datos normativos de uno o más sensores ambientales.

--Puede incluir datos de cámara (luz visible y/o longitudes de onda infrarrojas), radar (gestos de medición del tiempo de vuelo), sonar (audible y/o ultrasónico) u otros modos de detección.

--Nota: Puede incluir combinaciones de varias entradas de sensores

• Datos de sensores de cabina: datos de uno o más sensores de cabina. Se pueden utilizar varias tecnologías de detección para el seguimiento de pasajeros.

--Los ejemplos pueden incluir cámaras (longitudes de onda visibles e infrarrojas), radar (detección de gestos/latidos del corazón), audio y varios otros mecanismos de detección.

3.2 Eventos

• Especificación|Característica|Objeto: Describe tres niveles comunes de abstracción de datos. Se da a entender que se puede consumir cualquiera de estos tres niveles.

• Canónico: el módulo de percepción puede generar datos en un formato canónico, que se refiere a su formato en lugar de a su estado de procesamiento. Puede sufrir alguna transformación por parte del módulo de percepción, como la eliminación de sombras.

• Características: el módulo de percepción puede generar datos en forma de características. Por ejemplo, el módulo de posicionamiento se utiliza para funciones de coincidencia de mapas.

• Objeto: Un término general que puede describir varias entidades (posiblemente con estado dinámico/semántico). Por ejemplo, carriles, semáforos, vehículos de motor, ambulancias, señales de alto de la policía de tránsito, etc. Incluye objetos dinámicos y estáticos.

• Datos V2X: Datos proporcionados por los sistemas V2X, pueden proporcionar información en tiempo real sobre el estado de los semáforos, peajes, etc., para hacer más fiable la detección. Información de infraestructuras u otros vehículos sobre la ubicación de elementos de interés.

• Condiciones del tráfico: fuente de información dinámica sobre las condiciones del tráfico cerca de vehículos autónomos o en objetivos de ruta.

3.3 Estado

• Comentarios de la misión: Comentarios sobre el estado de la misión, proporcionando comunicación a los ocupantes/conductores del vehículo. Un ejemplo es cuando el sistema solicita la intervención del conductor. Proporcione a los ocupantes del vehículo comentarios sobre las tareas actuales a través de HMI. Esto podría incluir información como el progreso hacia los objetivos de la ruta, advertencias al conductor para que tome el control o información similar.

• Objetivo de la tarea: una expresión de propósito que puede reflejar una tarea compleja con el objetivo de "alcanzar el destino objetivo" o, en niveles inferiores de automatización, un objetivo más simple como "mantener el centro del carril actual". Los objetivos de la misión pueden cambiar durante el viaje.

• Objetivo de ruta: una descripción de la ruta que tomará el vehículo autónomo, incluidos los carriles si corresponde, para lograr el objetivo de la misión. Describa los carriles y giros requeridos para cada intersección.

• Maniobras: proporcione una lista de al menos dos acciones, incluida una maniobra segura. Las maniobras se expresan como una nueva ubicación en el mapa y una velocidad objetivo en esa ubicación, y describen el comportamiento de movimiento de alto nivel del vehículo (como navegar, seguir, desviar, girar o detenerse).

• Trayectoria objetivo: Descompone la maniobra en una trayectoria objetivo (trayectoria curva), en la que los cambios de dirección, frenado y aceleración se expresan a lo largo del recorrido de la trayectoria.

• Región de interés: es una descripción de una o más regiones en el espacio mundial que la percepción debe priorizar. Esto puede describir la región de interés en el espacio mundial donde la percepción debería proporcionar un rendimiento superior (si es posible). Por ejemplo, esto podría permitir que los sensores se configuren con una resolución de percepción no uniforme, mediante la cual una carretera/infraestructura de interés particular se "ve" con una resolución más alta.

• Objetos dinámicos: Identifica todos los objetos móviles o móviles. Como vehículos, peatones o animales.

• Objetos Estáticos: Identifica todos los objetos inamovibles o infraestructura. Los objetos estáticos aún pueden tener un estado mutable asociado. Por ejemplo, superficies de carreteras, bordillos, conos, señales de tráfico, semáforos y señales electrónicas. O incluso un elemento de infraestructura como una barrera móvil (como una cabina de peaje).

• Predicción de objetos dinámicos: predice la ruta de los objetos dinámicos.

• Predicción de objetos estáticos: prediga cambios en el estado de objetos estáticos, como el momento de los cambios de semáforo.

• Datos del escenario: proporciona una descripción relevante del escenario actual, que se utiliza para determinar si el sistema de conducción autónoma está funcionando dentro del dominio de diseño operativo. Un ejemplo son las anotaciones en superficies de carreteras inundadas que los sistemas de conducción autónoma aún no están diseñados para manejar.

• Actitud: describe la posición actual y la orientación del vehículo autónomo en relación con el mapa. Se utiliza con información de mapas para habilitar o mejorar muchos comportamientos de los sistemas avanzados de asistencia al conductor (ADAS).

• Capacidad de percepción: proporciona una descripción de la capacidad de percepción dinámica del sistema de conducción autónoma (como el rango de percepción de un determinado tipo de entidad).

• Integridad del sistema: Proporciona informes del estado operativo de diferentes componentes del vehículo que son relevantes para el funcionamiento seguro del sistema de conducción autónoma, derivados de partes relacionadas con las plataformas de hardware y software.

3.4 Estado

• Estado del Pasajero: Proporciona una descripción del estado de cada pasajero (incluido el conductor) del vehículo autónomo. La información puede incluir presencia, atención, estado emocional, salud, etc.

--Información sobre el conductor y los pasajeros desde la función de seguimiento de pasajeros.

--Varía entre compañías de automóviles, niveles de soporte del sistema de conducción autónoma y arquitectura del sistema. Puede incluir una lista de pasajeros con información de estado asociada.

--Se enumerarán los pasajeros con etiquetas de estado relevantes. Por ejemplo < Pasajero: Adulto, Asiento: 0, Rol: Conductor, Atención: Hacia adelante, Área de mirada: (34, 56, 32), Intención del conductor: Girar a la izquierda, Salud: Normal, Emoción: Normal, Dirección: Sí, etc.

• Restricciones de ruta basadas en la supervisión del dominio operativo: Restringir la ruta para que permanezca dentro del dominio de diseño operativo (ODD). Un ejemplo es evitar determinadas rutas en determinados horarios por falta de alumbrado público.

• Restricciones de ruta basadas en escenarios: determine dinámicamente restricciones de ruta, como señales de cierre de carreteras, carriles cerrados en autopistas o entradas de autopistas cerradas con barricadas.

• Restricciones de maniobra basadas en la supervisión del dominio operativo: se imponen restricciones a las maniobras debido a la necesidad de permanecer dentro de la supervisión del dominio operativo. Un ejemplo es evitar adelantar porque el número de vehículos cercanos es mayor que el número de vehículos que se pueden seguir de forma fiable a la velocidad actual.

• Restricciones de maniobra basadas en escenarios: detecta dinámicamente restricciones de maniobra. Los ejemplos pueden incluir una ambulancia que se aproxima, un vehículo con una placa de carga larga, mala visibilidad, etc.

• Restricciones de movimiento basadas en escenas: detecta dinámicamente restricciones en el movimiento del vehículo. Por ejemplo, si se detectan superficies de la carretera resbaladizas, superficies de la carretera deterioradas, etc., es posible que sea necesario ajustar adecuadamente el estilo de conducción.

• Restricciones de movimiento del vehículo: actualice dinámicamente las restricciones sobre el movimiento autónomo del vehículo. Proporciona retroalimentación de límites de módulos de ejecución externos, que se resume y presenta a otros módulos del sistema de conducción autónoma, como la planificación de trayectoria (planificación de ruta).

3.5 Configuración

• Preferencias de ruta del usuario: proporciona preferencias o reglas que limitan la selección de ruta. Esto podría incluir limitaciones como mantener el servicio de transporte compartido o el propio vehículo autónomo dentro del dominio de diseño operativo u optimizar el consumo de combustible. La guía de ruta preferida es relevante para las tareas de conducción autónoma. Según el paradigma, las preferencias de ruta pueden reflejar las limitaciones del dominio operativo actual al guiar las rutas de las señales a través de tareas de supervisión del dominio operativo.

• Datos de mapas: proporciona datos de mapas de origen estáticos y posiblemente dinámicos, incluidos mapas de rutas para la planificación de rutas, así como los llamados mapas de alta definición (HD). Puede incluir señales georreferenciadas detalladas (incluida la ubicación de señales viales, semáforos, etc.).

--Proporcionar información de restricciones geográficas para el dominio operativo actual. --Incluye información previa de mapas estáticos o actualizados dinámicamente que pueden ser explotados por algoritmos de detección/clasificación. Por ejemplo, se pueden incluir atributos de carril deseados, ubicaciones de semáforos, etc. --Proporciona al subsistema de mapas información sobre la geometría y ubicación de las características y carreteras que, cuando se combina con otras entradas de posicionamiento, se puede utilizar para comprender la ubicación y orientación de los vehículos autónomos (nubes de puntos, ubicaciones y orientaciones de características, geometría de la carretera, etc.). ).

3.6 Solicitud

• Solicitud de tarea de supervisión de dominio operativo: una solicitud para modificar la tarea actual debido a cambios en las condiciones de servicio del vehículo o la falla de uno o más de permanecer dentro de la autorización o dominio operativo actual.

• Solicitud de tarea interconectada: establezca/cambie la tarea actual mediante una solicitud de servicio remoto. Un ejemplo sería un cambio de destino debido a una emergencia médica detectada en el vehículo. Una solicitud del servicio de conexión para modificar la tarea actual. Por ejemplo, los servicios de gestión de viajes establecen/cubren destinos o sugieren desvíos debido a atascos o accidentes.

• Solicitud de tarea HMI: Solicitud de configuración/cambio de tarea por parte del ocupante del vehículo; solicitud del ocupante del vehículo registrado a través de HMI para modificar la tarea actual. Las solicitudes de tareas pueden incluir cambios en el nivel de automatización.

• Solicitud de tarea de planificación de comportamiento: Tarea de modificación de solicitud de planificación de comportamiento (BP). Esto puede ser necesario si la Planificación del Comportamiento (BP) determina que la tarea no se puede realizar según lo planeado. La naturaleza de la solicitud podría ser, por ejemplo, una solicitud para que un conductor humano asuma el control.

• Hipótesis de maniobra del vehículo autónomo: Proporciona una o más maniobras hipotéticas para las cuales el sistema puede predecir uno o más resultados.

4. Elementos informáticos subyacentes


 

4.1 Características de los elementos informáticos típicos.

Los elementos informáticos (o procesadores) existentes tienen diferentes características que afectan su eficiencia de procesamiento. La siguiente figura muestra la eficiencia de procesamiento de diferentes elementos informáticos versus las características de procesamiento de la aplicación (como secuencial versus paralelo). Cada elemento informático tiene diferentes características para mejorar su eficiencia y rendimiento. Estas varían desde soluciones más generales hasta soluciones más específicas, definidas por estos conjuntos de características diferentes/opcionales.  

      

imagen

Características informáticas de los procesadores existentes

Unidad Central de Procesamiento (CPU) La unidad central de procesamiento es el procesador (elemento informático) de arquitectura de programa almacenado más popular. Un programa se describe como una secuencia de instrucciones, por lo que normalmente cada instrucción realiza una operación paso a paso. Debido a esta ejecución paso a paso, la CPU generalmente es adecuada para cualquier combinación de operaciones secuenciales. Por otro lado, las CPU básicas no son adecuadas para operaciones en paralelo. Para resolver este problema, las CPU actuales tienen varias características opcionales adicionales.

• Las CPU puras de datos múltiples de instrucción única (SIMD)/datos de tipo vectorial no son adecuadas para el paralelismo de datos debido a las limitaciones internas del ancho de banda de la ruta de datos. Para solucionar esta limitación, algunas CPU tienen extensiones SIMD o vectoriales que pueden manejar múltiples (generalmente de 4 a 16) flujos de datos en una sola instrucción u operación. Además, la comunicación con recursos externos como la memoria mejorará con transacciones de palabras de datos largas y archivos de registro más grandes, pero aún se producirán cuellos de botella al procesar grandes cantidades de contenido.

• Multinúcleo

Debido a las tendencias en la tecnología de procesos, es difícil mejorar el rendimiento de una sola CPU con un consumo de energía razonable. El multinúcleo es una forma de resolver este problema. Si la aplicación tiene múltiples tareas (separadas), el multinúcleo funcionará bien, pero si tiene una comunicación interna estrechamente acoplada, a veces la comunicación entre procesadores (IPC) obstaculizará la operación.

Procesador de señal digital (DSP) DSP está diseñado para acelerar operaciones aritméticas (suma, resta, multiplicación, división), como operaciones de multiplicación y acumulación.

Se incluyen compresión/descompresión de datos, filtrado digital, control, identificación, etc.. Estos algoritmos hacen un uso extensivo de cálculos de acumulación múltiple (MAC), lo que permite al DSP gestionar estos procesos a alta velocidad.

Unidad de procesamiento de gráficos Computación de propósito general (GPGPU) GPGPU es una tecnología que utiliza los recursos informáticos de la GPU para fines distintos al procesamiento de imágenes. Una unidad de procesamiento de gráficos (GPU) tiene decenas de miles de núcleos aritméticos (unidades de sombreado) y realiza una ejecución de procesamiento de imágenes a alta velocidad repitiendo cálculos numéricos simples en paralelo. Al utilizar esta característica, se pueden realizar a alta velocidad procesamientos como el procesamiento de imágenes, incluida la inteligencia artificial (IA), como el aprendizaje automático y las redes neuronales, la extracción de moneda virtual, los cálculos numéricos y las simulaciones en la investigación científica y tecnológica, y los cálculos fluidos.

Para aprovechar GPGPU se requiere un entorno de programación y desarrollo diferente al de los procesadores de propósito general. Para aprovecharlo al máximo, se requiere una tecnología de programación adecuada para esta arquitectura y entornos de desarrollo de programación como "CUDA" (Unified Device Architecture) de NVIDIA, "Direct Compute" de Microsoft y "OpenCL" de Khronos Group, etc.

Aceleradores dedicados (por ejemplo, ISP, xNN)

Los aceleradores especializados se basan en una arquitectura personalizada para una aplicación específica. Por ejemplo, el flujo y el almacenamiento de datos siguen un esquema dedicado. Los aceleradores pueden incluso proporcionar una lógica personalizada, formando elementos informáticos altamente especializados. Esta especialización aumenta enormemente la eficiencia y el rendimiento computacional, pero a expensas de la generalidad. El uso de aceleradores especializados puede requerir programación dedicada y/o patentada e incluso herramientas y marcos especializados.

4.2 Unidad de computación implementada en SoC

imagen

Conducción autónoma/chip del sistema avanzado de asistencia a la conducción

Como se muestra en la figura, el actual sistema en chip (SoC) de conducción autónoma/sistema avanzado de asistencia al conductor construye componentes informáticos integrando elementos informáticos con diferentes características informáticas para lograr el procesamiento más eficiente para diferentes aplicaciones. Para ello, como se muestra en la siguiente tabla, se seleccionaron elementos informáticos con diferentes características informáticas, como CPU de uso general, DSP SIMD, GPGPU y aceleradores dedicados.

Calcular las propiedades de los componentes

imagen

•Las CPU de uso general son adecuadas para ejecutar código secuencial y paralelismo de datos limitado.

• SIMD DSP maneja tareas con mayor uso intensivo de datos.

•GPGPU también puede manejar tareas con grandes volúmenes de datos y secuencias de control flexibles.

•Los aceleradores especializados logran la mayor eficiencia de ejecución para operaciones específicas, pero deben determinarse en la etapa inicial del diseño del SoC.

Análisis de características y adaptabilidad de componentes informáticos.

Para analizar los componentes informáticos anteriores, primero los clasificamos en función de algunas características informáticas ortogonales. Los elementos informáticos de tipo SIMD son adecuados para ejecutar aplicaciones que procesan grandes cantidades de datos independientes. Por lo tanto, las características del cálculo ortogonal se pueden resumir como se muestra en la siguiente tabla.    

  

Propiedades de computación ortogonal

imagen

• Paralelismo de datos: procesar diferentes datos en paralelo

• Paralelismo de tareas: procesar diferentes tareas en paralelo

• Localidad de referencia: proporciona acceso a la localidad temporal y la localidad espacial de los datos (localidad de datos)

A continuación se muestran ejemplos de patrones de datos asignados para cada uno de los "Paralelismo de datos" y "Localidad de referencia (Localidad de datos)". El paralelismo de tareas es muy similar al paralelismo de datos; la diferencia es la localidad de datos y el procesamiento del contexto.

imagen

La relación entre "paralelismo de datos", "localidad de referencia" y "elemento de cálculo" se muestra en la tabla. Paralelismo de datos, localidad de referencia y tablas relacionales para elementos informáticos

imagen

La relación entre "Paralelismo de tareas" y "Elementos informáticos" se muestra en la siguiente tabla. Relación entre paralelismo de tareas y elementos computacionales.

imagen

Con base en las características informáticas anteriores, se pueden definir los tipos típicos de operaciones necesarias para la ejecución eficiente de aplicaciones AD/ADAS en SoC. Tipo de operación y elemento informático correspondiente.

imagen

Algoritmos y operaciones A continuación compartimos el impacto de los algoritmos típicos en diferentes operaciones que varían en el paralelismo de datos y subprocesos. La base para la toma de decisiones de la unidad informática.

imagen

posición

imagen

Comprensión de la escena

imagen

planificación del comportamiento

imagen

plan de ruta

imagen

Planificación de trayectoria

imagen

control deportivo

imagen

Ciclismo

imagen

Monitoreo de ocupantes

imagen

dominio operativo

imagen

control de la misión

imagen

Para facilitar la comprensión de las características de procesamiento de cada algoritmo de conducción autónoma, se utiliza una palabra sencilla para clasificarlos, es decir, operaciones típicas. Cabe señalar que para algunas operaciones típicas, como las ramas condicionales, se puede seleccionar una variedad de unidades informáticas diferentes porque cada una tiene sus propias fortalezas.

5. Preprocesamiento del sensor


 

5.1 Proceso de preprocesamiento de la cámara

•Conducción autónoma HDR: para adaptarse al entorno de alto rango dinámico de la conducción autónoma, los sensores de imagen avanzados adoptan diseños simultáneos de exposición múltiple y/o de píxeles divididos. La combinación de diferentes exposiciones extiende el rango dinámico inherente (80-100 dB) al rango dinámico objetivo (120-140 dB o superior).

•Cámara o módulo de cámara: Un sistema de sensor que consta de un sensor de imagen, un conjunto de filtros de color, una lente, una carcasa y un preprocesamiento opcional.

• Matriz de filtros de color (CFA): un componente óptico aplicado a un sensor de imagen para formar un patrón de píxeles de colores específicos, generalmente especificados en colores individuales 2x2, como rojo, verde, azul, amarillo, cian, etc. Los ejemplos comunes incluyen RGGB (Bayer), RCCC, RCCB y RYYCy.

•Preprocesamiento de visión por computadora (CV): procesamiento específico utilizado para mejorar el efecto de los algoritmos CV tradicionales, como el flujo óptico, la detección de esquinas de Harris, etc.

•Sensor de imagen: un chip que recoge luz y genera muestras de píxeles digitales. Puede captar luz de diferentes longitudes de onda y tiene varios formatos de salida digital. Las longitudes de onda comunes incluyen luz visible, IR, infrarrojo cercano (NIR), IR de onda corta (SWIR), etc.

•Preprocesamiento visual humano: Procesamiento específico utilizado para hacer que las imágenes sean más visibles para los humanos.

•Lente: Hay varias lentes montadas en el conjunto de sensores de imagen y en el CFA. Las aplicaciones tradicionales de conducción autónoma utilizan enfoque fijo/lentes fijas.

•Preprocesamiento de aprendizaje automático (ML): procesamiento específico utilizado para mejorar los efectos de los algoritmos de aprendizaje automático (ML) y redes neuronales profundas (DNN). Dependiendo del algoritmo utilizado, el preprocesamiento puede variar desde ninguno hasta un proceso completo de visión humana. Consulte el Grupo de trabajo de imágenes para obtener más detalles.

• Preprocesamiento en el sensor: los sensores de imagen avanzados utilizados para la conducción autónoma tienen muchas funciones para mejorar y comprimir muestras sin procesar. Estos sensores suelen presentar ajuste de ganancia digital, ajuste de nivel de negro, combinación lineal de múltiples segmentos de exposición, etc. El tráfico de salida sigue siendo grande (3 ~ 6 Gbps), pero mucho menor que el flujo de muestra original.

• Muestras de píxeles sin procesar: muestras sin procesar del ADC en chip. Estas muestras todavía están ajustadas para los efectos ópticos y analógicos de la lente, CFA, configuraciones de ganancia analógica, configuraciones de exposición, etc. Los píxeles normalmente se muestrean entre 10 y 16 bits por exposición. Un sensor de imagen de 8 megapíxeles que utiliza 4 exposiciones a 30 fotogramas por segundo producirá una velocidad de datos de hasta 15,36 Gbps.

5.2 Proceso de preprocesamiento del radar

•Radar automotriz: consta de un conjunto de antenas, uno o más circuitos integrados de microondas (MMIC) y preprocesamiento opcional. La mayoría de los radares para automóviles funcionan utilizando onda continua de frecuencia modulada (FMCW), pero se están desarrollando varias tecnologías alternativas. Existen muchas buenas fuentes de información sobre los conceptos básicos del funcionamiento del radar.

•Marco de radar: una secuencia de pulsos de transmisión emitidos por uno o más transmisores para lograr los objetivos de diseño de precisión en el campo de visión de la escena, resolución/separación/identificación y dimensiones deseadas (rango, velocidad radial, acimut y elevación).

• Muestras de radar sin procesar: muestras del ADC conectado a un receptor específico (Rx). Estos ADC suelen tener de 10 a 16 bits, funcionan a aproximadamente 50 MHz (MSps) y generan tráfico sin procesar de hasta aproximadamente 800 Mbps por canal de recepción. Los radares automotrices de alta gama suelen tener de 4 a 16 canales de recepción (de 3,2 a 12,8 Gbps) y la investigación avanzada utiliza docenas de receptores.

•Cubo de datos de radar: un cubo de 1 a 4 dimensiones generado mediante el procesamiento de muestras de radar originales. La FFT se utiliza generalmente para obtener dimensiones de rango y Doppler. La formación de haces digital está disponible para calcular el azimut y/o la elevación, pero también hay muchos algoritmos más avanzados que intercambian mejores resultados por procesamiento adicional.

•Compresión del cubo de datos de radar: dado que la mayoría de las posiciones en el cubo de datos no se devuelven, existen varios algoritmos simples (generalmente propietarios) para comprimir el cubo de datos y reducir el ancho de banda de transmisión.

• Detección de radar/nube de puntos: normalmente umbralización/CFAR de cubos de datos y fusión de retornos adyacentes en puntos/detecciones individuales. Esto reduce en gran medida el ancho de banda de los datos, pero también pierde la "forma" del objetivo en el cubo de datos.

•Objetos de radar: según los resultados de la detección, el procesamiento de radar tradicional agrupa puntos cercanos y devuelve "fragmentos" del objeto objetivo.

•Percepción de radar: una gran clase de algoritmos que pueden procesar datos de radar en objetos clasificados como automóviles, personas y más objetos de infraestructura. Estos algoritmos suelen operar sobre cubos de datos, nubes de puntos u objetos, pero también existen estudios basados ​​en datos sin procesar.

•Formato de datos de salida del radar: nube de puntos, los puntos tienen atributos como ubicación, distancia, intensidad e información de movimiento.

5.3 Proceso de preprocesamiento LiDAR

Sensores lidar para automóviles: los sistemas lidar se pueden dividir en varias categorías básicas. Variables fundamentales como la longitud de onda, la tecnología de pulso/modulación, la tecnología del receptor y la tecnología de escaneo crean muchas compensaciones.

Flash versus lidar de escaneo: Flash lidar es esencialmente una cámara de tiempo de vuelo (TOF). Utilizando un flash láser y un conjunto de receptores 2D de alta velocidad, se pueden capturar muchos "contenedores de exposición" o "contenedores de distancia". La matriz 2D proporciona la posición x/y, y el procesamiento de agrupación de distancias puede obtener la posición z máxima de la reflexión o el retorno. A diferencia del LIDAR flash, el LIDAR de escaneo sólo "ve" en una dirección x/y a la vez. Después de enviar el pulso, espere un cierto período de tiempo para obtener la devolución. Esto permite a los diseñadores centrarse en emitir energía (dentro de límites seguros para los ojos) en un lugar a la vez. Luego, el mecanismo de escaneo se mueve a la siguiente posición de "píxel".

Lidar pulsado y modulado: el lidar pulsado requiere mayor potencia para superar el ruido de fondo de la luz solar, pero el sistema es relativamente simple. Los lidars modulados tienen niveles de ruido más bajos porque la fuente de interferencia no está modulada (luz solar u otros lidars pulsados) o es extremadamente improbable que coincida con la combinación de tiempo/frecuencia de la modulación emitida (otros lidars modulados). Debido a los niveles de ruido más bajos, el lidar modulado tiene un rango mucho más amplio que el lidar pulsado con una potencia de salida similar. El coste de transmisores y receptores más complejos es la principal desventaja. Dependiendo del esquema de modulación (como FMCW), también tienen un tiempo de "permanencia" más largo porque el receptor necesita esperar a que regrese la modulación completa, en lugar de un pulso rápido. Este mayor tiempo de permanencia da como resultado puntos/segundo más bajos en comparación con otras tecnologías.

Muestras LIDAR sin procesar: las muestras LIDAR miden la intensidad del retorno versus el tiempo. Normalmente son de 1 a 6 Gbps por receptor y es poco probable que se transmitan con la tecnología de red automotriz actual. La intensidad de la recepción depende de la potencia de transmisión, la distancia al objeto y la reflectividad del objeto.

Formas de onda de retorno Lidar: las muestras originales tienen un umbral para formar cada forma de onda reflejada desde un objeto distante, también conocido como retorno.

• Devoluciones LiDAR: utilice varios algoritmos para encontrar el pico de intensidad/tiempo de la forma de onda de retorno. Para cualquier pulso de transmisión, puede haber muchos retornos diferentes debido a la divergencia del haz y la translucidez del objetivo. Estos retornos generalmente incluyen la posición x,y en el campo de visión, la distancia e intensidad devueltas y una marca de tiempo para la sincronización global.

• Nube de puntos LiDAR: una nube de puntos es una lista de retornos que pueden tener múltiples retornos para cada posición x/y en el campo de visión. La mayoría de los lidars automotrices generan de 1 a 3 nubes de puntos devueltos por posición x/y. Existe una fuerte opinión en la comunidad investigadora de que se deben generar formas de onda de retorno porque contienen más información sobre el objeto objetivo. De manera similar al procesamiento de radar, la detección de picos puede comprimir efectivamente el ancho de banda de datos requerido, pero pierde significativamente información del objeto objetivo.

6. Interfaz/conexión del ISP

Las opciones de sensores específicos (como las cámaras) están fuera del alcance de la discusión. Sin embargo, cualquier módulo funcional del sistema (como la percepción) que consuma los datos de la imagen procesada está dentro del alcance de esta discusión.

Módulo de función de percepción

La plataforma informática debe proporcionar la funcionalidad del ISP para procesar los datos entrantes de la cámara. La potencia de procesamiento del ISP debe ser suficiente para las cámaras requeridas por la aplicación. Esto depende de muchos factores, incluida la categoría de la aplicación (escenario de conducción, nivel de automatización, ODD) y la implementación de la aplicación. Diferentes desarrolladores de aplicaciones de conducción autónoma pueden tener diferentes métodos para usar cámaras en la misma escena y ODD.

Se puede observar una tendencia general:

•En general, la cantidad de píxeles necesarios para una escena determinada está limitada por una compensación entre las leyes de la física y los requisitos del algoritmo de detección y, por lo tanto, puede ser consistente en todas las aplicaciones. Sin embargo, la industria adopta una variedad de combinaciones de resolución y número de cámaras.

•Aplicaciones específicas pueden elegir más cámaras de baja resolución en el rango de 1-3MP, o una pequeña cantidad de cámaras de alta resolución. Para escenarios de conducción autónoma a alta velocidad (como la conducción en autopista), se pueden utilizar cámaras de alta resolución de hasta 8 MP o más para respaldar la percepción de características de larga distancia.

En muchas implementaciones de plataformas informáticas, las capacidades de procesamiento del ISP se pueden configurar de manera flexible para admitir diferentes configuraciones de cámara.

La potencia de procesamiento puede estar limitada por el rendimiento total de píxeles de todas las cámaras, en lugar de por una sola cámara. Proporcionar esta flexibilidad permite una gama más diversa de configuraciones de cámara.

7. Prueba comparativa del diagrama del módulo de funciones

Las actividades de benchmarking se centran principalmente en dos aspectos:

Benchmarks correspondientes a los bloques de construcción del diagrama de bloques funcionales. Como el punto de referencia de inferencia de aprendizaje profundo, que es un componente importante para la percepción y otros módulos.

Marco de evaluación comparativa, que se centra en la orquestación, ejecución y análisis de evaluaciones comparativas en todo el sistema informático.

8. Seguridad funcional y seguridad de la información.

La seguridad funcional y la seguridad de la información son sin duda dos aspectos muy importantes de cualquier solución de sistema automotriz. Ninguno de los dos será un simple complemento a un sistema de automatización de conducción, sino que requerirá una revisión más detallada de un extremo a otro, como la investigación de las soluciones disponibles y otras actividades organizativas.

9. Carga de trabajo de muestra


 

9.1 Descripción general

Esta sección proporciona ejemplos de casos de uso para sistemas de conducción asistida L1 y sistemas de conducción autónoma L5; configuración de carga de trabajo/ajustes de perceptrón y categorías funcionales. El objetivo es dar una orientación aproximada sobre posibles soluciones de hardware.

En la carga de trabajo de ejemplo, se omiten números específicos sobre los KPI de rendimiento porque, por un lado, cambian constantemente y, por el otro, se diferencian. Es importante tener en cuenta que esta carga de trabajo de ejemplo no considera las capacidades de operación de fallas.

Carga de trabajo de ejemplo

Cada sistema cubre principalmente tres aspectos:

• Paquete Perceptrón: sienta las bases para construir funciones de conducción. Los cinco sistemas derivados están claramente diferenciados en términos de sus conjuntos de perceptrones.

• Categorías funcionales: proporciona orientación sobre las funciones de conducción asistida y conducción autónoma que puede proporcionar el sistema. Esto es flexible y la implementación real puede variar.

• Métricas calculadas: cuantificar el rendimiento del hardware. La industria cree que el valor específico del KPI está diferenciado, por lo que no se proporciona aquí. La figura muestra las tendencias de rendimiento y complejidad entre los sistemas de ejemplo.

9.2 Cinco sistemas de ejemplo

A continuación se presentan cinco sistemas de ejemplo, desde la conducción asistida L1 hasta la conducción autónoma L4.  

Sistema de gama ultrabaja

Este sistema representa una configuración de sensor ejemplar, que contiene una cámara (1x3-8,3MP) y un radar.

Su nivel SAE objetivo es L1 y sus categorías funcionales incluyen:

• Escenario NCAP básico

• Asistencia de frenado de emergencia

• Asistencia de crucero

• Control de crucero adaptativo

Como sugiere su nombre, los requisitos informáticos de este sistema se encuentran en la parte inferior del rango entre los cinco sistemas. 

sistema de gama baja

El sistema representa una configuración de sensor ejemplar que contiene dos cámaras (2x8,3MP), cinco radares, diez sensores ultrasónicos y una cámara de seguimiento del conductor (1x8,3MP).

Su nivel SAE objetivo es L2 y sus categorías funcionales incluyen:

• Crucero por carretera

• Atasco en el carril (máximo 50 km/h)

• Asistencia para cambio de carril con confirmación del conductor

• Estacionamiento supervisado

Los requisitos informáticos de este sistema se encuentran en el extremo inferior de los cinco sistemas. 

sistema de rango medio

El sistema representa una configuración de sensores ejemplar que contiene seis cámaras (2x 8,3MP + 4x 2,1MP), cinco radares y diez sensores ultrasónicos.

Su nivel SAE objetivo es L2/L3 y sus categorías funcionales incluyen:

• Conducción autónoma en carretera condicional

• Conducción autónoma condicional en atascos de tráfico a velocidades extremadamente bajas

• Estacionamiento no supervisado (con infrarrojos)

• Escenarios NCAP (incluidos escenarios cruzados)

Los requisitos informáticos del sistema se encuentran en el rango medio de los cinco sistemas.

sistema de alta gama

El sistema representa una configuración de sensores ejemplar que contiene 12 cámaras (3x8,3MP + 9x 2,1MP), cinco radares, dos lidars, diez sensores ultrasónicos y un sensor acústico.

Su nivel SAE objetivo es L3/L4 y sus categorías funcionales incluyen:

• Conducción autónoma en carretera condicional

• Estacionamiento no supervisado

Los requisitos informáticos de este sistema se encuentran en el extremo superior de los cinco sistemas.

Sistema de ultra alta gama

El sistema representa una configuración de sensores ejemplar que contiene más de 15 cámaras (3x8,3MP + 4x 4,9MP + 8x 2,1MP), diez radares, cuatro lidares, diez sensores ultrasónicos y un sensor acústico. Su nivel SAE objetivo es L4 y sus categorías funcionales incluyen: • Conducción en carretera altamente automatizada. • Lanzadera de baja velocidad altamente automatizada en áreas urbanas (máximo 50 km/h).

Este sistema tiene los requisitos computacionales más altos de los cinco sistemas.   

  

10. Interfaz de desarrollo

Además de la funcionalidad, también hay que prestar atención al proceso de desarrollo de los sistemas de conducción autónomos (ADS). A continuación se muestra una breve descripción general de las capacidades de depuración utilizadas en el desarrollo inicial de una unidad de control electrónico (ECU) para ponerla en funcionamiento.

La sección Registro de eventos describe la recuperación de datos de las carreteras para servir al desarrollo, mejoras de características y otros usos para registrar datos de eventos. Dado que la industria ya se ha puesto de acuerdo sobre estos aspectos en la Automotive Safety Alliance, aquí se presenta su trabajo. 

10.1 Función de depuración

Algunas mediciones no intrusivas se pueden realizar utilizando hardware, mientras que otras requieren software y conllevan gastos generales. El sistema debe admitir el uso "asistido" (no ADAS) de los datos.

Conceptualmente (si no físicamente) debería haber muchas sondas (o puertos) de datos consistentes y que no interfieran: el uso original de la aplicación, el registrador de datos, la interfaz de depuración y el sistema de información y entretenimiento.

Los datos del sensor y el estado de la aplicación se examinan de forma diferente. Los datos del sensor se originan fuera del procesador y se pueden copiar de forma transparente. Los datos de la solicitud sólo podrán ser visibles a través de medios intrusivos. Grabar el flujo de instrucciones es un mecanismo independiente del registro del flujo de datos.   

Se deben considerar los siguientes puntos para la interfaz de depuración del módulo de funciones:

• Puntos de sonda

• Por E/S y todas las variables de estado de la aplicación

• Banda ancha 

• Equivalente a sensores y aplicaciones 

Los elementos de la función de depuración que pueden discutirse son los siguientes:

• Error de inyección

• Captura de excepciones

• Interrupciones internas y externas

• puntos de interrupción

• Puntos de vigilancia

• Ejecución paso a paso (niveles alto y bajo)

• Leer y escribir memoria

• Graba todo el plano de datos a la máxima velocidad de datos

• JTAG

• Seguimiento de instrucciones

• Marca de tiempo

• Simulación HIL/SIL

• Acceso al puerto de depuración remota

• Cargas de trabajo de elementos informáticos como CPU/GPU e interconexiones de bus

• Consumo de energía del elemento de cálculo   

10.2 Grabación de eventos

Registrar datos durante un incidente es importante por muchas razones diferentes, como investigación de colisiones, estudios de rendimiento del sistema, análisis de fallas, aprendizaje continuo, etc. El análisis y la investigación de incidentes ayudarán a identificar las lecciones aprendidas para lograr mejoras generales en la industria en materia de conducción autónoma y sistemas de asistencia al conductor.

Las plataformas informáticas deben diseñarse de manera que los datos puedan recopilarse de manera fácil y flexible para lograr los objetivos antes mencionados.

Fuente |  ZhiCheRobot

Supongo que te gusta

Origin blog.csdn.net/yessunday/article/details/132592155
Recomendado
Clasificación