Kudda - Autonomes Boot

Kudda - Autonomes Boot

Prototypen sind ein wichtiger Bestandteil, um z.B. elektrotechnische Aufgaben zu bewältigen. Bevor man das endgültige Produkt baut / anfertigen lässt, möchte man sichergehen, dass alle Komponenten funktionieren, dass der Gesamtaufbau Sinn ergibt und es somit zu keinen großen finanziellen und zeitaufwändigen Schäden kommt.

Die Aufgabe in diesem Fach war es, mit einem Arduino (Mikrocontroller) ein autonom fahrendes Boot zu prototypen. D.h. es sollte eigenständig fahren und lenken können, damit es um Hindernisse herumfahren kann. Der Fokus lag darauf, getreu dem Motto "fail fast, fail often" mit schnellen und günstigen Prototypen ein sichereres Endprodukt zu erschaffen.

Nach einigen mehr und minder erfolgreichen Bootsformen und Antriebstechniken stellte sich für unsere Gruppe die Bauform des Katamarans mit zwei Motoren als die Geeignetste raus. Während wir die Hardare prototypten, musste auch ständig die Software angepasst und mit entwickelt werden. Wir setzten deshalb am Anfang wenig auf Clean Code und setzten unsere Priorität auf das schnelle Ausprobieren.




Das Endergebnis

Unser letztes Boot war ein Katamaran mit jeweils einem Motor links und rechts in den Schwimmkörpern. Wir verwendeten drei Ultraschallsensoren um Hindernisse zu erkennen und steuerten die Motoren über ein Quad-Relais. Der Arduino sowie ein kleiner ESP8266 (WiFi-Controller) wurden mit sechs wiederaufladbaren NiMH-Batterien betrieben. Dank optimiertem Programmcode am Ende und einer intervalgesteuerten Motorleistung konnte unser Boot bis zu acht Stunden am Stück fahren, bevor es wieder aufgeladen werden musste. Der Arduino kommunizierte dabei ständig mit dem ESP8266 (verwendet wurde ein Adafruit HUZZAH ESP8266 Breakout Board) um einerseits Informationen zum Systemstatus (Batterieleistung, Sensorwerte etc.) an ein externes Monitoring Tool zu schicken, aber auch um eventuelle, manuelle Signale zu empfangen und darauf reagieren zu können.




Kudda Monitoring Tool

Um die eben angesprochenen Sensorwerte und den Systemstatus zu überwachen, entwickelten wir mit Vanilla JavaScript ein Monitoring Tool, welches sich direkt mit ESP8266 per WLAN verbinden konnte. Neben dem Auslesen dieser Daten konnte auch eine Geschwindigkeitsbegrenzung an- oder ausgeschaltet werden. Zudem bat es uns die Möglichkeit, einen Not-Stop des System aufzuheben, wenn dieses einen Extremfall bemerkte. Hierfür konnte das Boot auch in einem manuellen Steuer-Modus über die Tasten W A S D gefahren werden.