Für diejenigen die es nicht kennen, esp-idf ist die offizielle Entwicklungs Gestellarbeit für die ESP32 Winzigkontrolleure und es ist doch echt ziemlich angenehm damit zu arbeiten, da es ziemlich gute Treiber und auch einen Haufen an Werkzeugen zum kompilieren, blitzen und entkäfern von Winzigkontrolleuren mitbringt. Es ist mir jetzt schon mehrfach passiert, dass ich Dinge implementiren wollte, nur um dann zu merken, dass es bereits Treiber gibt, die genau dass machen was ich implementieren wollte.
Wieso die IDF nicht so toll ist muss ich glaube nicht erklären.


Wie komplex ein Fahrzeug ist (aus IT Sicht), hängt primär von der Größe und dem Grad an Autonomie ab. Je mehr Dinge wir im Betrieb überwachen bzw. automatisch ausführen wollen, umso komplizierter wirds. Moderne Maschinen (vom Auto bis zum Feldhäcksler) stecken wirklich von oben bis unten voll mit Mikrocontrollern und Sensoren.
Wir hingegen haben so nen kleines Fahrzeug, dass der ESP32 lediglich einige wenige Dinge Kontrolliert. So lange man auch nicht groß graphische Anwendungen oder Maschinelles Lernen in dem Gerät nutzt, kommt man mit einem ESP32 schon echt ziemlich weit, weil die schon echt einiges an Leistung mitbringen.
Da ich noch ein bisschen über das Projekt abnerden will, hier die Komponemtenliste die vom ESP32 kontrolliert wird:
Bis auf die Motoren ist das wirklich komplett einfach. Der Drehwinkelgeber gibt seine Position konstant als Analogsignal aus, welches wir mit dem “ADC contious mode driver” entspannt auslesen können. Der Radarlaser gibt ein Frequenzsignal aus, welches wiederum sehr einfach mit einem eigens dafür entwickelten Treiber ausgelesen werden kann. Joystick und Gaspedal werden vermutlich ähnlich funktionieren oder eventuell I2C mitzen, was aber auch kein Problem ist, weil es entsprechende Treiber dafür gibt
Da wir es hier mit Motoren aus dem Industriebereich haben ist entsprechend auch klar, dass ich die nicht einfach über PWM kontrollieren kann. Stattdessen werden die Motoren per CAN Bus angesteuert, was halt ein für mich neues Protokoll ist, welches aber relativ einfach funktionieren sollte, da das halt Industriestandard ist.