SAAC

Sistemas avanzados de asistencia al conductor

3 cosas que es necesario saber

Los sistemas avanzados de asistencia al conductor (SAAC) son componentes de hardware y software que automatizan las tareas de un conductor. Algunos ejemplos actuales de SAAC en los vehículos son el control de crucero adaptativo, la detección de cambio de carril, el seguimiento de carril automático, la detección de punto ciego y el frenado de emergencia automático.

¿Por qué son importantes los sistemas SAAC?

Los sistemas SAAC ayudan a reducir errores humanos y hacer que las carreteras sean más seguras. Algunos sistemas SAAC promueven la conducción segura, ya que alertan a los conductores sobre posibles situaciones peligrosas; por ejemplo, cuando la presencia de un vehículo en el punto ciego implica un cambio de carril peligroso. Otros sistemas SAAC automatizan acciones de conducción; por ejemplo, el frenado de emergencia autónomo para evitar colisiones.

De hecho, los sistemas SAAC previenen el 28% de los accidentes y 9.900 muertes por año en los Estados Unidos, según un estudio de Boston Consulting Group.

Niveles de SAAC

Hay cinco niveles de automatización de la conducción, según la definición de la Sociedad de Ingenieros de Automoción (SAE). Actualmente, la mayoría de los automóviles en circulación cuentan con funcionalidades de SAAC de nivel 0 a nivel 3. Las empresas a la vanguardia de la conducción autónoma pretenden llegar a los niveles 4 y 5.

Niveles de conducción autónoma regidos por SAE J3016

Niveles de conducción autónoma regidos por SAE J3016

Los vehículos completamente autónomos se convertirán en realidad cuando se resuelvan los problemas de seguridad, ciberseguridad y reglamentarios.

Diseño de funcionalidades de SAAC

Para comprender cómo se diseñan las funcionalidades de SAAC, utilizaremos el control de crucero adaptativo como ejemplo. Cuando se utiliza esta funcionalidad de SAAC, el automóvil reduce la velocidad a medida que se acerca al vehículo situado delante, y acelera hasta la velocidad de crucero cuando el vehículo situado delante se aleja hasta una distancia segura.

El primer paso en el diseño del control de crucero adaptativo (CCA) es recopilar datos de los sensores instalados en el automóvil. El control de crucero adaptativo utiliza una cámara y un sensor de radar. La cámara detecta los objetos presentes en la imagen (vehículo, peatón, árbol, etc.), y el radar calcula la distancia entre el vehículo y cada objeto.

Después de recopilar datos de los sensores, el siguiente paso consiste en desarrollar algoritmos de SAAC. El control de crucero adaptativo se puede dividir en tres pasos:

Un algoritmo de percepción para detectar si hay un vehículo situado delante

Los pasos 1, 2 y 3 corresponden a:

  1. Un algoritmo de percepción para detectar si hay un vehículo situado delante
  2. Un algoritmo de radar para calcular la distancia entre los dos vehículos
  3. Un algoritmo de control para ajustar la velocidad del vehículo en función de la distancia medida

Hemos utilizado el CCA como ejemplo de SAAC, pero la metodología general de elegir los sensores correctos y diseñar algoritmos basados en los datos de los sensores se aplica a todas las funcionalidades de SAAC.

La importancia de los sensores

Los tres tipos de sensores más utilizados para las funcionalidades de SAAC son cámaras, radar y LiDAR.

Cámaras

Las cámaras se utilizan para tareas de SAAC relacionadas con la detección. Las cámaras laterales de un vehículo detectan los puntos ciegos. Las cámaras frontales detectan carriles, vehículos, señales, peatones y ciclistas. Los algoritmos de detección de SAAC correspondientes se suelen crear con algoritmos convencionales de visión artificial y Deep Learning. Las cámaras tienen varias ventajas:

  • Proporcionan datos excelentes para la detección de objetos
  • Son relativamente económicas: su reducido precio permite a los fabricantes probar muchos tipos de cámaras
  • Hay muchas variedades: se pueden probar y elegir muchos tipos de cámaras, tales como ojo de pez, monoculares y estenopeicas
  • Son las más investigadas: la cámara es el tipo de sensor más antiguo y el más estudiado

La desventaja de trabajar con datos de cámaras es que son menos adecuados para detectar la distancia a un objeto, en comparación con los datos de otros tipos de sensores. Por esta razón, los desarrolladores de SAAC suelen usar cámaras junto con radares.

Radar

Los sensores de radar emiten ondas de alta frecuencia y registran cuándo estas ondas regresan a ellos desde los objetos del entorno. Estos datos se pueden emplear para calcular la distancia a un objeto. En los sistemas SAAC, los sensores de radar normalmente se encuentran en la parte delantera del vehículo.

El radar funciona en diferentes condiciones climáticas, lo que lo convierte en una opción de sensor práctica para funcionalidades de SAAC tales como el frenado de emergencia automático y el control de crucero adaptativo.

Aunque los datos de sensores de radar son adecuados para algoritmos de detección de distancia, resultan menos útiles en algoritmos para clasificar los objetos detectados. Por esta razón, los desarrolladores de SAAC suelen utilizar radares junto con cámaras.

LiDAR

Los sensores de LiDAR (detección y distancia por luz) emiten un láser al entorno y registran cuándo la señal regresa. Las señales devueltas se reconstruyen para crear una nube de puntos en 3D que muestra el entorno circundante del LiDAR. Los datos de LiDAR se pueden usar para calcular la distancia del sensor con respecto a los objetos de la nube de puntos en 3D.

En las aplicaciones de SAAC se usan dos tipos de sensores de LiDAR:

  1. LiDAR electromecánico (giratorio): el LiDAR electromecánico se monta en la parte superior de un automóvil y gira mientras recopila datos para producir un mapa de nube de puntos en 3D del entorno.
  2. LiDAR de estado sólido: se trata de un tipo de LiDAR más reciente sin piezas móviles. A largo plazo, el LiDAR de estado sólido promete ser más rápido, económico y preciso que el LiDAR electromecánico. No obstante, diseñar un sensor comercialmente viable plantea problemas de ingeniería relacionados con la seguridad y el alcance del sensor.

Los datos de LiDAR se pueden usar para funciones de detección de distancia e identificación de objetos en SAAC. Sin embargo, procesar datos de LiDAR requiere más capacidad de cálculo en comparación con datos de cámaras y radar, y plantea algunos problemas que suponen un desafío para los desarrolladores de algoritmos de SAAC.

Desarrollo de algoritmos de SAAC con simulación

Las pruebas en hardware son costosas, por lo que los ingenieros recurren en primer lugar a la simulación virtual para probar las soluciones de SAAC. Los entornos de simulación pueden ser en 2D o 3D.

Puede utilizar la simulación en 2D para desarrollar y probar algoritmos de SAAC para cámaras y radares. Primero se crean escenas virtuales con carreteras, peatones, ciclistas y otros vehículos. Luego, se coloca un vehículo de prueba en la escena al que se le instalan cámaras virtuales y sensores de radar. Después, se programa el movimiento del automóvil para generar datos de sensores sintéticos con los que desarrollar y probar el algoritmo de SAAC.

La simulación en 3D se basa en la simulación en 2D, y permite probar el LiDAR, además de las cámaras y los radares. Los entornos en 3D requieren más capacidad de cálculo debido a su relativa complejidad.

Después de desarrollar algoritmos de SAAC en entornos de simulación, la siguiente etapa de desarrollo son las pruebas de hardware-in-the-loop (HIL). Los algoritmos de SAAC se prueban en hardware real de automóviles, como un sistema de frenado real, conectándolos a un entorno de simulación. Las pruebas de HIL proporcionan una idea bastante aproximada de cómo funcionará un componente de SAAC de un automóvil en el mundo real.

Existen otras pruebas de SAAC, como driver-in-the-loop, pero todas consisten en realizar pruebas en el vehículo para comprender cómo funcionará cuando se encajen todas las piezas. Estas son las pruebas de SAAC más costosas, pero también las más precisas, y son obligatorias antes de que un vehículo pueda pasar a producción.

Funcionalidades de SAAC con MATLAB y Simulink

MATLAB® y Simulink® soportan el desarrollo de SAAC en todas las etapas del flujo de trabajo:

  1. Análisis de datos
  2. Síntesis de escenarios de conducción
  3. Diseño de algoritmos de planificación y control de SAAC
  4. Diseño de algoritmos de percepción
  5. Despliegue de algoritmos
  6. Integración y pruebas

Análisis de datos

MATLAB permite acceder, visualizar y etiquetar datos de conducción grabados y en tiempo real para desarrollar sistemas SAAC. MATLAB también admite datos de mapas geográficos a través de HERE HD Live Maps, OpenStreetMap y Zenrin Japan Maps. Estos datos se utilizan con frecuencia para desarrollar y verificar algoritmos de SAAC.

App que muestra un vídeo a la izquierda con un vehículo etiquetado en un cuadro delimitador azul y la palabra "car" y una secuencia de LiDAR a la derecha con un automóvil etiquetado en un cuadro delimitador azul en 3D.

App Ground Truth Labeler para etiquetar de manera interactiva los datos de validación (ground-truth) de un vídeo, una secuencia de imágenes o una nube de puntos de LiDAR.

Síntesis de escenarios de conducción

MATLAB permite desarrollar y probar algoritmos de SAAC en escenarios virtuales utilizando el entorno de simulación de cuboides para sistemas de control, fusión de sensores y planificación de trayectorias, así como el entorno Unreal Engine para percepción. También se pueden diseñar escenas en 3D realistas con RoadRunner.

App que muestra un área de escena a la izquierda y una vista aérea de la escena a la derecha. En la parte izquierda, se muestra una intersección con varios automóviles, incluido un ego-vehículo azul que viaja hacia el norte. En la parte derecha, aparece la misma intersección desde una vista aérea con las detecciones de sensores de cámara y radar del ego-vehículo.

App Driving Scenario Designer para diseñar escenarios, configurar sensores y generar datos sintéticos para aplicaciones de SAAC.

Diseño de algoritmos de planificación y control de SAAC

MATLAB cuenta con muchas aplicaciones de referencia de conducción autónoma que puede emplear como punto de partida para diseñar sus propios algoritmos de planificación y control de SAAC.

Carretera con ego-vehículo, desde el que varias rutas curvas muestran las trayectorias, con vista de seguimiento a la izquierda y vista aérea a la derecha. Las rutas están codificadas por colores como "optimal" (óptima), "colliding" (de colisión), "infeasible" (no factible) y "not evaluated" (no evaluada).

Gráfica de vista aérea que muestra la evaluación de posibles trayectorias en una situación de conducción en autopista.

Diseño de algoritmos de percepción

MATLAB proporciona herramientas para desarrollar algoritmos de percepción a partir de datos de cámaras, radar y LiDAR. Puede desarrollar algoritmos utilizando visión artificial, Deep Learning, procesamiento de radar y LiDAR, y fusión de sensores.

Vista desde la perspectiva del conductor de una señal de stop con un cuadro delimitador amarillo y una etiqueta que dice "stopSign: (Confidence = 0.995492)" [Señal de stop (confianza = 0,995492)].

Detección de una señal de stop utilizando una red R-CNN previamente entrenada con MATLAB.

Despliegue de algoritmos de SAAC

Toolboxes como MATLAB Coder™, Embedded Coder®GPU Coder™ permiten generar código automáticamente para desplegar algoritmos de SAAC en dispositivos integrados y arquitecturas orientadas a servicios, tales como ROS y AUTOSAR.

Placa NVIDIA Jetson TX2.

NVIDIA Jetson TX2. Puede generar código CUDA para esta placa con GPU Coder

Integración y pruebas

Puede integrar y probar sistemas de percepción, planificación y control con las herramientas que ofrece Simulink. Requirements Toolbox™ permite capturar y gestionar requisitos de SAAC. También puede utilizar Simulink Test™ para ejecutar y automatizar casos de prueba en paralelo.

Editor de requisitos con un visor de archivos a la izquierda y propiedades a la derecha. El panel de propiedades muestra una tabla de prueba para realizar pruebas de parada y arranque en una carretera con curvas. La tabla describe los vehículos de destino y los requisitos del ego-vehículo.

Pruebas de requisitos para una aplicación de referencia de seguimiento de carril en autopistas.

Aplicaciones de SAAC creadas por usuarios de MATLAB y Simulink