La tecnología que hace posible los coches autónomos

coches autónomos

Los coches autónomos ya son una realidad, de eso no hay duda. Han pasado de ser ciencia ficción a comenzar a materializarse, aunque aún queda mucho camino por recorrer. Sea como sea, sorprende que un sistema inteligente sea capaz de pilotar de forma automática un vehículo, sorteando el tráfico, respetando las señales, y evitando atropellar peatones. Tras todo eso se esconde una gran tecnología.

Por eso, vamos a dedicar este artículo a aprender un poco más sobre la conducción autónoma y todas esas tecnologías que la hacen posible.

Arquitectura del sistema de un SDV

coche autónomo

Un vehículo autónomo (SDV) es un sistema complejo que requiere una arquitectura robusta para procesar información, tomar decisiones y controlar el vehículo. Esta arquitectura se divide generalmente en tres partes fundamentales principales: hardware, middleware y software.

Hardware

El hardware de un SDV es la base física del sistema. Dentro del hardware se incluyen los sensores o sistemas que recaudan información del propio vehículo, así como del entorno. Por supuesto, también se necesita un ordenador central que se encargue del procesamiento del software que es el que implementa todas las funciones de análisis, IA, etc. Y esto se hace mediante potentes equipos con CPU y GPU (), ya que se requiere ejecutar grandes cantidades de datos de forma inmediata.

Por otro lado, también tenemos la red interna que entrelaza todos los elementos, es decir, los sensores o sistemas de entrada al ordenador y del ordenador hacia los elementos de salida o actuadores. Por ejemplo, cuando un sensor detecta a un peatón, éste envía una señal al ordenador que procesará dicha información y enviará una orden al actuador que controla el freno, para detener el vehículo y evitar un atropello.

Así mismo, también tenemos otros módulos de comunicación en el sistema de hardware, que sirven para comunicarse con otros elementos de la infraestructura, como los elementos de la nube o fog computing que pueden aportar datos del tráfico, la climatología, etc.

Computación

Entre el hardware, se pueden encontrar ordenadores con procesadores variados, entre otros, además de productos como NVIDIA Orin o Thor, un chip especialmente diseñado para la conducción autónoma y sucesor de Xavier, en SoCs como Drive AGX de NVIDIA que incluye tanto CPU (ARM) como GPU (basadas en las arquitecturas Maxwell, Ampere, Ada Lovelace, Blackwell,…), que forman parte de la plataforma NVIDIA Drive. Otros productos que también podemos apreciar son Intel Movidius, Qualcomm Ride, etc.

En general, los ordenadores de los vehículos autónomos son los principales encargados de procesar la gran mayoría de la información necesaria para tomar decisiones en tiempo real, como la detección de objetos, la planificación de rutas y el control del vehículo. Esto se debe a que la latencia, es decir, el tiempo que tarda la información en viajar desde el vehículo a un centro de datos y viceversa, podría ser crítica en situaciones como evitar un accidente. Sin embargo, los data centers juegan un papel complementario y cada vez más importante, para entrenamiento de modelos de aprendizaje, cálculos que necesitan de HPC, actualizaciones de mapas, análisis de datos a gran escala o Big Data, etc.

Por tanto, el ordenador de abordo no es el único implicado en la conducción autónoma, también se apoya en la cloud computing o nube, fog computing o niebla y la edge computing o borde, todo comunicándose de forma continua para funcionar como un sistema.

Sensores

sensores

Volviendo al tema de los sensores, podemos encontrar algunos dispositivos o periféricos de entrada como:

  • Radar: se trata de un dispositivo que usa ondas de radio para detectar objetos a cierta distancia, midiendo así la velocidad, la distancia y la presencia de otros vehículos, peatones y obstáculos, incluso si hay condiciones de baja visibilidad.
  • LiDAR: son las siglas de Light Detection and Ranging, y se trata de un dispositivo que usa pulsos láser para crear mapas 3D del entorno, y así saber cómo moverse por él. Puede tanto medir distancias de forma precisa, crear una representación detallada de forma rápida, etc.
  • Ultrasonidos: también puede servir para detectar objetos en tiempo real, como los anteriores. En este caso emite ondas sonoras de alta frecuencia y mide el tiempo que tardan en rebotar para conocer las distancias. Se usan como complemento a los anteriores para medir objetos que se encuentran muy cerca del vehículo, por ejemplo en maniobras para el estacionamiento.
  • Cámaras: estas cámaras pueden capturar imágenes del entorno para ser procesadas por sistemas de visión computacional o visión artificial y así poder identificar objetos, peatones, señales de tráfico, carriles, y otros elementos. De esta forma, también podrán conocer las limitaciones de velocidad, y otro tipo de señalización vertical u horizontal.
  • Inertial Measurement Units: estas unidades IMUs miden la orientación, la velocidad angular y la aceleración de un vehículo. Esto es necesario para rastrear el movimiento que hace el coche, estimar su posición, y poder orientarse cuando la señal GPS no está disponible.
  • Odómetro: este dispositivo mide distancia recorrida por el vehículo, usando esto para calcular la posición del coche en combinación con otros sensores. Además, puede ser útil para determinar el desgaste de neumáticos, los kilómetros recorridos para estimar las revisiones de motor, etc.

Por supuesto, los coches autónomos también tienen otros muchos sensores, para medir temperatura del motor, velocidad, presión de los neumáticos, etc.

Interfaces y actuadores

Por otro lado tenemos el denominado In-vehicle network, o la red del vehículo. Son sistemas de comunicación que permiten la interconexión de diferentes componentes electrónicos dentro de un vehículo. Estos sistemas son esenciales para la coordinación y el intercambio de información entre los diversos sistemas de control del vehículo, incluyendo los sistemas de conducción autónoma. Por ejemplo, podemos destacar buses de datos como:

  • CAN (Controller Area Network): es ampliamente utilizado en la industria del motor, que permite la comunicación entre diferentes módulos electrónicos.
  • LIN (Local Interconnect Network): un protocolo de comunicación de bajo costo utilizado para conectar dispositivos de baja velocidad, como sensores y actuadores.
  • MOST (Media Oriented Systems Transport): en este caso es de alta velocidad utilizado para transmitir datos multimedia, como audio y video.

Gracias a ellos se puede intercambiar datos desde distintos módulos electrónicos y ECUs, así como enviar señales de control distribuido, diagnóstico mediante la conexión de dispositivos capaces de leer e interpretar códigos de error, etc.

Además, también sirven para lo que se denomina como Actuator Interface y los componentes, es decir, los actuadores. El Actuator Interface es el punto de conexión entre el sistema de control de un vehículo autónomo y los actuadores físicos que controlan el movimiento del vehículo. Estos actuadores son dispositivos mecánicos que realizan acciones basadas en señales eléctricas. Este subsistema se compone de un módulo de control de potencia, control de motor, servoactuadores, sensores de posición y velocidad, etc.

Drive-by-wire es un sistema de control que reemplaza los componentes mecánicos tradicionales del sistema de conducción (como el volante, los pedales y la caja de cambios) por sistemas electrónicos y eléctricos. Esto permite una mayor flexibilidad y control en la conducción autónoma. Podemos tener uno para controlar el volante, otro para los frenos, para el acelerador, o para el cambio de marchas…

Middleware

ROS

El middleware es una capa de software que conecta el hardware con el software de aplicación. Sus funciones incluyen el procesamiento de datos filtrando, fusionando y procesando los datos que llegan desde los sensores, además de planificar y desarrollar el control de los actuadores a partir de planes de conducción.

Esta capa de la arquitectura no hay que confundirla con el firmware, ya que es una capa de software integrado que se encarga de mediar entre el hardware y el software de aplicación. Dicho de otro modo, se trata de una capa de abstracción que permite a los desarrolladores aprovechar los recursos de hardware disponibles de forma sencilla desde la capa de software o aplicaciones, mediante una API/frameworks de desarrollo.

Algunos ejemplos de sistemas operativos empleados en los coches autónomos son:

  • ROS (Robot Operating System): es un sistema de código abierto para el desarrollo de software de robots o mecanismos automáticos que proporciona servicios estándar de un sistema operativo como abstracción de hardware, comunicación entre procesos y gestión de paquetes, facilitando la creación de aplicaciones robóticas complejas.
  • Autoware.AI: es una plataforma de software de código abierto para el desarrollo de vehículos autónomos. Al igual que ROS, proporciona una arquitectura modular y una amplia gama de herramientas y bibliotecas.
  • Apollo: desarrollado por Baidu, Apollo es una plataforma de software de código abierto para vehículos autónomos que ofrece una arquitectura flexible y escalable.
  • NVIDIA DRIVE OS: es una plataforma de software de NVIDIA diseñada específicamente para vehículos autónomos. Proporciona una base sólida para el desarrollo de aplicaciones de conducción autónoma y cuenta con una estrecha integración con el hardware de NVIDIA.
  • ROS2: La siguiente generación de ROS, diseñada para abordar algunas de las limitaciones de ROS, y ofrecer una mayor escalabilidad y robustez para aplicaciones críticas.

Application

ROS aplicaciones

La capa de applicación es el software de un SDV es la parte intangible del sistema, todas esas aplicaciones que se encargan de procesar la percepción de los sensores, la localización del coche en el mundo real, la planificación, el control, etc., y que lo hacen aprovechando los recursos de hardware.

Otros conceptos importantes sobre coches autónomos

coches autónomos

Para finalizar, también me gustaría describir otros conceptos importantes para la conducción autónoma y que no he comentado en el apartado anterior:

ADAS vs ADS

No hay que confundir ADAS con ADS, no son lo mismo. ADAS son las siglas de Sistemas Avanzados de Asistencia al Conductor (Advanced Driver Assistance Systems). Estos sistemas están diseñados para ayudar al conductor en diversas tareas, mejorando la seguridad y la comodidad de la conducción. Por ejemplo, el ABS, el control de tracción, etc., y están también presentes en los coches autónomos.

En cambio, ADS (Automated Driving Systems) se refiere a sistemas que tienen como objetivo permitir que un vehículo pueda conducirse a sí mismo sin la intervención humana en determinadas condiciones. Es decir, es la tecnología para el pilotaje autónomo, y no es sustituto de ADAS, sino complementario…

Algoritmo ICP

El algoritmo ICP (Iterative Closest Point) es una herramienta fundamental en el campo de la visión por computadora, especialmente en tareas que involucran la alineación de nubes de puntos. Imagina tener dos escaneos 3D de un mismo objeto, pero tomados desde diferentes ángulos o en momentos distintos. El algoritmo ICP te permite encontrar la transformación (rotación y traslación) que mejor alinea estos dos escaneos, haciendo que coincidan lo más posible. De esta forma, se puede utilizar para realizar reconstrucciones 3D usando varios escaneos realizados por los sensores, también puede servir para el denominado SLAM que describiré más adelante, así como para la visión artificial.

INS + GPS + SLAM-based

Los sistemas de navegación INS (Inertial Navigation System), GPS (Global Positioning System) y SLAM (Simultaneous Localization and Mapping) se emplean en diversas aplicaciones, especialmente en vehículos autónomos. Cada uno tiene sus propias fortalezas y debilidades, y a menudo se combinan para lograr una localización y navegación más precisas y robustas.

Mientras INS se basa en sensores internos, como acelerómetros y giroscopios para medir la aceleración y velocidad angular, GPS se basa en la triangulación del vehículo mediante señales de satélites (también se puede hablar de otros sistemas de geolocalización cono Galileo, GLONASS, BeiDou…), y los sistemas SLAM combinan la localización con la cartografía simultáneamente para construir mapas del entorno mientras determina la posición del vehículo dentro de dicho entorno.

Como cada sistema tiene sus pros y contras, y pueden tener impedimentos, como una mala señal de GPS por causa de la climatología o la orientación de los satélites, etc., generalmente los coches autónomos usan combinación de varios para mayor seguridad, como INS+GPS, SLAM+GPS, o INS+GPS+SLAM.

Otros modelos de posicionamiento: Filtro Kalman, EKF, AMM, UKF y estimación de estado

Los anteriores no son los únicos sistemas para calcular el estado. El algoritmo de Filtro de Kalman es un sistema recursivo que estima el estado de un sistema dinámico (como la posición y velocidad) a partir de mediciones. Funciona prediciendo el estado futuro y luego actualizando esta predicción con las nuevas mediciones. Es ampliamente utilizado en sistemas de control y navegación.

EKF (Extended Kalman Filter) es una extensión del filtro de Kalman que se utiliza cuando el modelo de movimiento no es lineal. Linealiza el modelo en cada paso de tiempo para aplicar las ecuaciones del filtro de Kalman. Es comúnmente utilizado en robótica móvil.

Advanced Motion Model es una representación matemática que describe cómo cambia el estado de un sistema a lo largo del tiempo. Puede incluir factores como la aceleración, la velocidad angular y las fuerzas externas. Por otro lado,

En cambio, UKF (Unscented Kalman Filter) es una alternativa al EKF que evita la linealización del modelo. En lugar de eso, utiliza un conjunto de puntos de muestreo (puntos sigma) para representar la distribución de probabilidad del estado. Estos puntos se propagan a través del modelo no lineal y luego se utiliza para calcular la media y la covarianza del estado estimado.

Inteligencia del vehículo

Por supuesto, para aprovechar el hardware y toda esta infraestructura de los coches autónomos, es necesario un sistema inteligente que pueda tomar decisiones, y para ello son necesarios otras tecnologías como las de la IA. Aunque, como sabes, aún queda mucho que mejorar, puesto que aún es una tecnología disruptiva y necesita mejorar. Para ello, los coches autónomos se apoyan en paradigmas como:

  • Machine Learning: es una rama de la inteligencia artificial que se enfoca en desarrollar algoritmos que aprenden a partir de datos. Estos algoritmos pueden encontrar patrones en los datos y hacer predicciones o tomar decisiones.
  • Supervised Learning: es un tipo de aprendizaje automático en el que el algoritmo aprende a mapear una entrada a una salida deseada. Se le proporciona un conjunto de datos de entrenamiento con entradas y salidas correctas, y el algoritmo aprende a generalizar a nuevos datos.
  • Red Neuronal: es un modelo computacional inspirado en el cerebro biológico. Está compuesto por una red de nodos interconectados que procesan información. Las redes neuronales son capaces de aprender representaciones complejas de los datos y se utilizan en una amplia variedad de tareas, como el reconocimiento de imágenes y el procesamiento del lenguaje natural.

Mapeado (occupancy grid, feature, relational maps…)

Todas estas tecnologías, fundamentalemente mapean el entorno para poder tomar decisiones en torno a ello. No son mapas preprogramados, ya que todo puede cambiar de un instante a otro, en función del tráfico, los peatones, obras, obstáculos, etc. Por eso es necesario realizar esta representación en tiempo real. Dentro del mapping tenemos:

  • Occupancy grid: es una representación del espacio que divide el entorno en una cuadrícula y asigna a cada celda una probabilidad de ocupación.
  • Feature maps: son representaciones que se centran en características específicas del entorno, como esquinas, líneas o objetos.
  • Relational maps: representan las relaciones entre diferentes objetos o lugares en el entorno.

Los filtros Kalman, el EKF/UKF y el mapeado están estrechamente relacionadas, así como el machine learning, que se encarga de comprender dicho entorno y tomar decisiones en función de ello.

Imágenes | Canva | NVIDIA | GeeksForGeeks | FlexAutomotive


Tasa gratis tu coche en 1 minuto ➜

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.