http://practicapp.com/carbagepilot-part1/
Publicado por Robbe Derks el 17 de diciembre de 2024 { Volver al Blog }
Junto con algunos amigos, decidí a principios de este año participar en el Carbage run 2025 edición invierno. Este es un viaje de 6 días en invierno atravesando Suecia hasta el círculo polar, y luego bajando hasta Helsinki en un grupo de aproximadamente 400 autos.
Un pequeño detalle (probablemente lo adivinaste por el nombre): tu auto tiene que ser “carbage”. En la práctica, esto significa que debe tener al menos 20 años, y un valor de mercado menor a €1000.

Esta ruta, incluyendo el viaje de ida y vuelta desde Bélgica, significaría manejar aproximadamente 6000 km en poco más de una semana, a menudo en condiciones no ideales. Además, nuestro auto también será evaluado por originalidad, por lo que esta idea apareció en mi cabeza:

¿Por qué no hacerlo autónomo?
Para quienes no lo saben: existe un proyecto llamado openpilot, desarrollado por comma.ai, que agrega funciones avanzadas de asistencia al conductor de nivel 2 (palabras elegantes para conducción parcialmente autónoma como el Autopilot de Tesla) a más de 275 modelos de autos compatibles como Toyotas, Hondas, Hyundais, VWs recientes, …. ¡Incluso hay soporte para Tesla Model 3/Y!
La palabra clave aquí es “recientes”, es decir: los autos que pueden ser soportados necesitan tener alguna forma electrónica de accionar dirección, acelerador y frenos. Este es el caso en prácticamente todos los autos modernos, ya que funciones como mantenimiento de carril y control de crucero adaptativo son cada vez más comunes.
En estos casos, los actuadores suelen implementarse en forma de:
Estos aceptan comandos (razonables) a través de mensajes del bus CAN desde un módulo de cámara o similar, que luego pueden ser interceptados y reemplazados por comandos más apropiados para openpilot.
Casualmente, he estado trabajando en comma.ai durante unos 5 años como ingeniero de hardware, por lo que estoy bastante familiarizado con el funcionamiento interno de todo el sistema. Hace algunos años incluso di una charla sobre controlar autos que entra más en detalle.
(por cierto: ¡estamos contratando!)

Este es el auto que compramos, sin verlo previamente en una subasta online: un Volvo 940 Estate de 1993. Aunque el estado de la pintura no lo sugeriría, en realidad estaba en sorprendentemente buenas condiciones para un auto de más de 30 años.
Como podrás imaginar:
Veamos cada uno y cómo podemos adaptar los actuadores necesarios:
Probablemente el actuador más importante para mantenerse en la trayectoria correcta (y el más complejo de adaptar mecánicamente) es la dirección.
El Volvo viene de fábrica con dirección asistida hidráulica.
Para poder aplicar torque electrónicamente al volante, la opción más viable que encontramos fue adaptar un sistema de dirección asistida eléctrica (EPS) de un Toyota Corolla 2020. En el Corolla, este motor está montado en la columna de dirección detrás del tablero y amplifica el torque del conductor hacia el eje de salida.

La cremallera de dirección del Corolla 2020 que conseguimos de un desguace
Aunque el conjunto completo parece bastante grande, gran parte corresponde a funciones de ajuste del volante, que pueden eliminarse en nuestro caso. Para hacerlo entrar detrás del tablero, quitamos la columna original del Volvo y colocamos el EPS en el medio:

Cortamos lo máximo posible del sistema del Corolla y soldamos los acoples a la columna original del Volvo (que también cortamos en partes)
Con el motor ya montado en la columna, agregamos refuerzos adicionales desde el marco original de la dirección hacia el EPS:

Además del motor, el Corolla también tiene un sensor externo de ángulo de dirección. Aunque el motor EPS tiene uno interno, este solo sirve para ángulos relativos en los bucles de control internos. El sensor externo proporciona una medición absoluta (0° cuando el auto va recto), lo cual también es necesario para el control de openpilot.

Fabricación de un buje para conectar el sensor y el sensor instalado
Con todo instalado, se vuelve a montar en el auto:

El cableado es simple:
Con eso, el sistema funciona (probablemente en modo degradado porque faltan mensajes CAN del auto original).
Sí, quedan dos sistemas.
Funciona, pero:
El Volvo original usa asistencia por vacío.

Los autos modernos usan sistemas eléctricos como el iBooster:

Se instaló en el Volvo:

Sorprendentemente: 👉 encajó casi perfecto sin adaptar mucho
Se modificaron:

A veces también querés ir más rápido.
Sistema original:

Este fue el único actuador donde no había solución moderna.
👉 Porque los autos nuevos no usan carburador.
Entonces:
Compré un servo RC (sorprendentemente fuerte) resistente al agua en AliExpress, y mi papá mecanizó una segunda polea para montarla en él. Después de eso, solo fue cuestión de armar un soporte para el servo, agregar bujes guía de bronce para mantener los cables alineados, y listo.

¡Vroom vroom!
La lógica:
También instalamos un radar Tesla Continental detrás de la parrilla frontal. Aunque el control de crucero basado solo en visión funciona más o menos en openpilot, usar un radar real hace que la experiencia sea más suave y consistente.

Buena pregunta. Soy vago, así que puede tardar.
Pero vamos a pasar mucho tiempo en el auto en unas semanas, así que quizás ahí.
La parte 2 será sobre:
Después:
Después de eso, quién sabe. ¿Qué te gustaría que explique?