Sistemas operativos en el coche, el futuro del automóvil

Sistemas operativos en el coche, el futuro del automóvil
28 comentarios

La semana pasada vimos en Motorpasión un interesante artículo sobre los sistemas operativos multimedia que empiezan a poblar los salpicaderos de los coches modernos. Pero vamos a ver este tema desde una perspectiva más general, ¿acaso los coches necesitan un sistema operativo?

En el sentido informático del término, el sistema operativo es una colección de programas que gestionan el hardware para hacer utilizable a nivel de aplicación, es decir, abstraer a los programas de la gestión de recursos como procesador, memoria, discos duros o periféricos.

Pasando eso a automóviles, el hardware serían las ruedas, dirección, suspensión, motor, etc. En la generación actual la electrónica ya domina buena parte de la gestión de ese hardware, que antes se gestionaba de forma mecánica y no había un SO como tal. Un carburador no sigue lógica binaria, es mecánico.

Esquema eléctrico Ford 1936
Esquema eléctrico de un Ford V8 (1936)

Si nos fijamos en una centralita moderna, es relativamente simple. Recibe una serie de señales eléctricas (analógicas o digitales) de diferentes sensores, las procesa, determina los parámetros adecuados y los manda a los inyectores, bujías, etc. Tienen un SO pero bastante primitivo en sus funciones comparado incluso con MS-DOS 1.0.

Nuevos sistemas han requerido el uso de centralitas digitales especializadas, como la del ABS, caja de cambios automática o la suspensión variable. Toda esa información viaja a través de cables, y cuando llega el momento de aprovechar cableado para reducirlo entra en juego el maravilloso mundo del multiplexado.

Para evitar que la masa de cables se dispare, se procura canalizar más información por el mismo lugar, separando las distintas señales. Este concepto ha reducido la fiabilidad en algunos casos, los famosos fallos eléctricos que presentan los coches modernos. A continuación, tecnología de hace 36 años:

Esquema eléctrico Alfa Romeo 1978
Esquema eléctrico de un Alfa Romeo 2000 (1978)

La información aumenta exponencialmente

En los próximos años el volumen de información que van a mover las centralitas se va a disparar. No es lo mismo mover un puñado de datos sobre inyección y mezcla (KB/s) que imágenes de alta resolución que se combinan con ondas de radar para determinar si hay riesgo de colisión (MB/s). Más información implica más potencia de proceso.

La electrónica simple no sirve para cualquier aplicación de un coche moderno, y es en este punto cuando podemos empezar a plantearnos el concepto de sistema operativo. No me refiero a Android, QNX o Microsoft. Me refiero a soluciones especializadas y de más bajo nivel, como UNIX o derivados.

Los ingenieros pueden elegir básicamente dos tipos de diseños:

  • pocas centralitas, más multiplexación, perder varios sistemas a la vez si hay fallos
  • muchas centralitas especializadas, más fiabilidad, pero con mayor coste en componentes, más espacio ocupado y más peso

Por ejemplo, en coches modernos de marcas que no quiero mencionar puede fallar a la vez ABS, ESP, y freno de estacionamiento hidráulico. Lo he padecido en mis carnes, al menos con aviso previo.

conductor@coche:~$ ifconfig
eth0      Link encap:Ethernet  direcciónHW xx:xx:xx:xx:xx:xx
          Marca:Mazda  Modelo:Demio  Bastidor: XXXXXXXXXXXXXXXXX
          Direc. inet:192.168.1.36  Difus.:192.168.1.255  Másc:255.255.255.0
          Dirección inet6: XXXX::XXXX:XXXX:XXXX:XXXX/64 Alcance:Enlace
          ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:294869 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:259548 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000
          Bytes RX:229582376 (229.5 MB)  TX bytes:49158881 (49.1 MB)

La conducción del futuro

Las modernas asistencias a la conducción cada vez manejan más información. De hecho, si nos fijamos en los prototipos de coches de conducción autónoma sorprenden la cantidad de espacio que ocupan los equipos informáticos que mueven toda esa masa de datos, y su consumo eléctrico no es despreciable.

Puede ser muy razonable gestionar los distintos elementos de un coche moderno de forma centralizada con un sistema operativo, siendo los distintos órganos los periféricos. Más filosofía de ordenador, con comunicación entre órganos mediante protocolos de comunicaciones como TCP/IP.

El problema de los diseños informáticos es que la tolerancia a fallos es mucho menor que en un ordenador convencional. A un PC le podemos pasar que se cuelgue o vaya lento. Eso en una centralita de la que dependen vidas no es admisible, y la fiabilidad es una cuestión de diseño de primera importancia.

Cableado en un coche moderno

Al margen del sistema operativo que vaya en la tableta integrada de turno, hablamos de algo más serio. Algunos vaticinan que se puedan hackear los coches, y ya es algo técnicamente posible con modelos como el Tesla Model S, conectado a Internet con Tesla para recibir mejoras remotamente.

No olvidemos tampoco las tendencias en conectividad entre coches (C2C, car to car) y con la infraestructura vial (C2X, car to infrastucture). Requiere protocolos de comunicación estándar que han de procesarse con sistemas operativos, para poder actuar sobre el hardware del coche.

En el futuro los coches intercambiarán información sobre el tráfico, como si ha ocurrido un accidente, si hay retenciones, si vamos a superar un semáforo en rojo o si hay peatones cruzando. Ya, el conductor puede ver todo eso, pero la máquina tiene un tiempo de reacción mucho más pequeño y eso amplía márgenes de actuación.

car to infrastucture

Así que sí, me temo que es inevitable que los sistemas operativos entren en los coches, pero no pensemos en pantallazos azules ni kernel panic porque van a ser cosas archiprobadas y con poca tolerancia a fallos. Si no, la NHTSA empezará a crujir fabricantes con multas millonarias y es más barato hacer las cosas bien.

De formación, soy ingeniero informático, y de deformación también. No puedo concebir un coche en el que haya conducción autónoma o semiautónoma, y que viva en un mundo conectado, sin sistema operativo. Su nombre o siglas es lo de menos, su función es lo que es relevante.

Además, el uso de SO en los coches abre la puerta al mundo de las actualizaciones y las mejoras de un modo mucho más flexible. En vez de reprogramar centralitas para dar más caballos, se pueden reprogramar centralitas para mejorar la respuesta en caso de posible accidente o incorporar funciones nuevas.

Sensores del Ford Focus (2010)
Sensores del Ford Focus (2010)

No llegaremos al extremo de que cada dos o tres días haya que tener el coche en el taller descargando pesadas actualizaciones. Imagino que el ciclo de vida de cada versión será mucho mayor, y que lo razonable es actualizar los coches en los intervalos de mantenimiento programado.

Ya ocurre en la actualidad. Sin ir muy lejos mi coche particular del 2009 ya ha recibido actualizaciones de centralita en el ABS y su sistema híbrido para recibir una mejora, aunque yo no las haya notado nunca. Fue por motivos de seguridad, no por ponerme funciones nuevas, pero ahí está el precedente.

Los Tesla Model S recibieron una actualización remota para no bajar la suspensión del todo a alta velocidad a raíz de los dos incendios que hubo en EEUU al golpear objetos duros los bajos. No hizo falta llevarlos al taller. En el futuro veremos más cosas por el estilo, sin perder el tiempo en el taller.

Visión de un coche autónomo
Visión de un coche autónomo

¿A prueba de fallos?

También he de decir que como informático me da un poco de aprensión el utilizar la filosofía de ordenador a bordo de un coche, porque la complejidad de los programas y las rutinas aumenta exponencialmente. Eso implica más sensibilidad y probabilidad de fallos. ¿Qué programa moderno sale en una versión 1.0 que NUNCA falla?

Pero si tenemos en cuenta las tendencias de futuro, no hay escapatoria. Cuanto menos hardware haya a bordo, mejor. La gestión por software tendrá más peso y se reducirá el número de centralitas. La capacidad de proceso deberá estar siempre sobredimensionada, ya que los retardos son inaceptables, como en un reloj.

Además, por una simple cuestión de seguridad, es muy sano que el sistema operativo multimedia y el del resto del coche vayan separados y no interactúen. Sería el acabose que con un portátil con WiFi se pueda alterar una función de importancia como las de seguridad. Si no hay puerta, no se puede pasar, ¿a que es lógico?

Visión de un coche autónomo
Visión de un coche autónomo

¿Y a dónde vamos? No sabría deciros si se aprovecharán los bajos niveles de sistemas como UNIX (o derivados, como GNU Linux), si se estandarizarán sistemas operativos especializados para automóvil o si se les pondrá Windows y habrá que aumentar los requisitos de hardware varios pueblos para que eso funcione.

Cierto es que cada fabricante hará lo que le dé la gana, pero como hay tanta tendencia a reducir la complejidad entre modelos, de la misma forma que se diseña una plataforma se puede diseñar un SO que sirva para varios modelos a la vez, optimizando los costes de ingeniería.

Y ya si hablamos de coches autónomos, el SO es un concepto indisoluble al del propio automóvil, aunque no se llame iOS, ni Android, ni Windows 8. Los ordenadores irán sobre ruedas, ya han empezado a hacerlo. El automóvil sin electrónica es ya una reliquia y solo tiene sentido en los clásicos, porque en su época era lo que había.

En Motorpasión | "Sistemas multimedia integrados en el coche: en el futuro todos los coches llevarán uno":https://www.motorpasion.com/gadgets/sistemas-multimedia-integrados-en-el-coche-en-el-futuro-todos-los-coches-llevaran-uno

Temas
Comentarios cerrados