El uso de escenarios simulados para las pruebas en la industria del automóvil es una práctica bien establecida. Sin embargo, los escenarios utilizados en el pasado, por ejemplo, para entrenar los sistemas de frenado ABS, no bastan para el entrenamiento de vehículos autónomos. Básicamente, hay que entrenar a los vehículos autónomos para que se comporten como humanos, lo que requiere simulaciones muy complejas.
Una parte fundamental de cualquier simulación de entrenamiento de vehículos autónomos es el entorno de simulación. Unity, la plataforma de renderizado 3D en tiempo real, está siendo utilizada por los equipos de ingeniería para crear de forma eficiente entornos de simulación para el entrenamiento de vehículos autónomos que sean ricos en complejidad sensorial y física, ofrezcan retos cognitivos convincentes y soporten la interacción dinámica multiagente.
Este artículo proporciona una visión general útil de lo que comprende un entorno de simulación y cómo se utiliza Unity en la producción de entornos de entrenamiento para vehículos autónomos.
Al igual que los humanos, un vehículo autónomo necesita un “cerebro”: este es el sistema autónomo, que comprende cuatro áreas clave:
Control: Control: esta parte se encarga de las acciones que el coche necesita hacer, como frenar, acelerar y virar.
Planificación: Planificación: se ocupa de cómo el vehículo navega, adelanta y evita obstáculos.
Percepción: Esto cubre cómo el coche obtiene información sobre el mundo real. La información puede recopilarse con una combinación de sensores, como:
- Visión por computadora si usas cámaras
- Sensores LiDAR (detección de luz y alcance)
- Radares
Por último, a través de un proceso llamado fusión de sensores, la información recopilada con los métodos anteriores se compara y se recopila como algo que el coche entiende realmente.
Coordinación: Esta parte está relacionada con la de planificación, ya que se ocupa de cómo se comporta el coche en relación con otros coches inteligentes con los que se encuentra. Requiere comunicación con otros vehículos e infraestructuras, por ejemplo:
- Secciones: qué tan cerca los coches pueden seguirse en las autopistas formando una especie de tren que optimiza el combustible al reducir la resistencia del aire, entre otros.
- Fusión e intersecciones: cómo los coches pueden ajustarse colectivamente al flujo de tráfico.
- Movimiento en grupo: concepto que facilita las coordinaciones anteriores.
¿Cómo se recopilan todos los datos necesarios? El aprendizaje automático está en el corazón de los vehículos autónomos, y es un sistema muy ávido de datos. Para entrenar un vehículo autónomo se necesitan enormes cantidades de datos. ¿Cómo hacerlo de forma rentable y precisa?
¿Cómo entenderá el coche de qué datos se trata? No basta con recoger los datos, hay que asegurarse de que el coche entienda qué son esos datos: no puede limitarse a ver un objeto, sino que tiene que entender si ese objeto es un árbol, una carretera, una persona, etcétera.
¿Cómo se clasifican y estructuran los datos? El vehículo autónomo tiene que entender todos y cada uno de los datos, un proceso caro y propenso a errores cuando lo llevan a cabo personas. Si se pudiera hacer automáticamente, se llegaría mucho más rápido y con más seguridad a los algoritmos necesarios.
¿Cómo preparar el vehículo para las inevitables situaciones imprevistas? Los datos recogidos exclusivamente del mundo real sólo pueden preparar al vehículo autónomo para lo que ya ha visto ahí fuera.
Los entornos de simulación complejos permiten a los equipos de ingeniería controlar la generación de datos y, en última instancia, formar un sistema de vehículos autónomos que esté preparado para todos los escenarios, incluidos los imprevistos y los casos extremos.
Para entrenar un sistema de vehículo autónomo, hay que producir un entorno lo más parecido posible a lo que vería el coche real en la carretera. Las partes fundamentales de un entorno de simulación son:
Dinámica del vehículo: cómo se comporta físicamente el coche, como la fricción con el asfalto.
Medio ambiente: Esta parte comprende tres subcategorías:
- Elementos estáticos, como las carreteras, los árboles y los señalamientos.
- Elementos dinámicos, como peatones u otros coches, que proporcionan variaciones dentro de la situación y permiten crear situaciones que pueden utilizarse para validar o recopilar datos para los vehículos.
- Parámetros, como la hora del día y las diferentes condiciones meteorológicas, que se pueden aplicar a un caso determinado para recrear situaciones diferentes.
La conjunción de estos factores ambientales variados es lo que permite producir casos extremos que son raros en la realidad.
Modelo de sensor: Los escenarios de simulación deben ser captados por el sistema autónomo a través de un modelo de sensor, como un sensor LiDAR, una cámara o un radar. Tiene que ser físicamente exacta hasta el punto de que el algoritmo que se base en esta información pueda comportarse en el entorno sintético tan bien como se comportará en la realidad.
La ingeniería de un entorno de simulación requiere las mismas funciones y herramientas que se utilizan para crear otros tipos de contenido interactivo enriquecido: iluminación y física, sistemas de partículas y meteorológicos, animación, aprendizaje automático y mucho más.
Unity es la plataforma líder mundial de renderizado 3D en tiempo real para el desarrollo de juegos y otros contenidos interactivos. Se trata de una plataforma probada y completa que impulsa millones de juegos y aplicaciones multiplataforma. También ofrece las ventajas exclusivas de la Tienda de Activos (más información a continuación) y su enorme comunidad de desarrolladores y creadores de distintos sectores.
Flexibilidad de secuencias de comandos: Los equipos pueden adaptar Unity a sus flujos de trabajo con un potente sistema de secuencias de comandos en C# y una completa API. También existe la posibilidad de comprar el acceso al código fuente, para los proyectos que requieren un desarrollo más complejo en C++.
Velocidad La intuitiva interfaz de usuario del editor de Unity permite crear prototipos rápidamente. Cuando estés en modo "Play" en el editor, podrás reproducir y previsualizar el aspecto que tendrá tu aplicación en su compilación final. Puedes pausar la escena y modificar valores, activos, scripts y otras propiedades, y ver al instante los resultados. También puede recorrer un proyecto fotograma a fotograma para facilitar la depuración.
Gran interactividad Unity proporciona una API robusta y bien documentada que da acceso a toda la gama de sus sistemas, incluyendo física, renderizado, animación y comunicaciones, permitiendo un rico modelo de interacción e integración con otros sistemas.
Gráficos de gama alta: El Scriptable Render Pipeline o SRP, te permite codificar el núcleo de tu bucle de renderizado en C#, dándote así mucha más flexibilidad para personalizar cómo se dibuja tu escena para hacerla específica para tu contenido.
Hay dos SRP disponibles: el High-Definition Render Pip eline (HDRP) ofrece una calidad visual de primera clase en hardware de alto rendimiento, mientras que el Universal Render Pipeline (URP) mantiene el rendimiento de respuesta al escalar para móviles.
Compatibilidad conRV y RA (además de despliegue en otras 25 plataformas). Gracias a su amplia compatibilidad con plataformas, estudios de juegos AAA, agencias creativas de primera línea, estudios de cine y equipos de investigación en los sectores del automóvil, el espacio y otras industrias utilizan Unity para crear aplicaciones inmersivas.
Herramientas avanzadas para artistas y diseñadores: Unity incluye herramientas de diseño de escenas 3D, narración y cinemáticas, iluminación y efectos especiales, sistema de audio y un potente sistema de animación dopesheet.
Capacidades de aprendizaje automático e IA: Capacidades de : de Unity permite a los investigadores de aprendizaje de máquinas estudiar comportamientos complejos utilizando Unity y proporciona a los desarrolladores de contenidos interactivos las últimas tecnologías de aprendizaje de máquinas para desarrollar agentes inteligentes.
El almacén de activos: La Tienda de Activos le da acceso al mayor mercado de activos listos para usar y herramientas de productividad, incluida una enorme selección para crear entornos, con el fin de ahorrar tiempo de desarrollo.
El Grupo BMW utilizó Unity para desarrollar un editor gráfico de escenarios que simplifica enormemente el proceso de prueba y validación de las funciones de conducción automatizada (AD) en desarrollo. La interfaz facilita a sus desarrolladores AD la visualización y configuración de miles de escenarios simulados que aumentan la madurez y preparación de las funciones.
Casi el 95% de todos los kilómetros de prueba de conducción autónoma de BMW se realizan con vehículos virtuales en mundos virtuales.
Lea nuestra serie de blogs para saber más.
Obtenga más información sobre cómo los principales fabricantes de automóviles del mundo están utilizando Unity para acelerar el desarrollo de vehículos autónomos y todo su ciclo de vida del producto, desde el diseño hasta la comercialización y el mantenimiento.