Home About

Das Ziel dieser Arbeit war, einen Roboter zu bauen und zu programmieren, der ein unbekanntes Gebiet kartografiert. Der Roboter soll dabei dauernd in Kontakt mit einem Computer stehen und dessen Befehle ausführen. Dieser erstellt im Gegenzug die digitale Karte aus den Messpunkten und steuert den Roboter, auch ohne menschlichen Einfluss.

Aufgrund der verfügbaren Mittel und der Komplexität der Aufgabe, ist das Testgebiet beschränkt auf eine Fläche in der Grösse eines Zimmers und auf eine zweidimensionale Struktur.

Als Grundlage für den Roboter diente Legomindstorms. Für die Programmierung wurde „LeJos“ und Java verwendet.

In zahlreichen Arbeitsschritten wurde, vom ersten Prototypen bis hin zum endgültigen Roboter sowohl die Hardware als auch die Software ausführlich getestet und kontinuierlich verbessert. Durch die Lösung zahlreicher Probleme ist vor allem auch mein grosser Lernerfolg Resultat der Arbeit.

Das Projekt wurde in Java programmiert.
Beispielcode:

private void driveTo(float posbx, float posby, float dirc) throws Exception { 
LCD.clear();
LCD.drawString("DriveTo1", 0, 0); 
LCD.drawString("a" + dirc, 0, 1); 
LCD.drawString("x" + posbx, 0, 2);
LCD.drawString("y" + posby, 0, 3); 
LCD.drawString("nang" + nang, 0, 4); 

//Navigator driveTo(X,Y,angle) 
//Ausrichtung festlegen 
if (nang != true) { 
//Winkel im math. Sinne 
getangle = -cs.getDegrees(); 
nang = true;
} 
//sanft Beschleunigen 
Motor.A.smoothAcceleration(true); 
Motor.C.smoothAcceleration(true);
...
        

Insgesamt wurden etwa 7000 Zeilen Code geschrieben.

Pdf-File der Maturitätsarbeit ohne Programmcode (Achtung 3.48 mb gross!)
Dokument

verkleinerte Version des Pdf-Files(Achtung 2 mb gross!)
Dokument

About

© Christian Tschudi 2010

Kontakt:
Berghaldenstr. 46
8800 Thalwil
044 720 38 18

Der Roboter hatte die Aufgabe in X-Richtung: -50cm und in Y-Richtung: 50cm zu fahren und dann die Ausrichtung +90° einzunehmen.

Der Roboter hatte die Aufgabe in X-Richtung: -20cm und in Y-Richtung: -10cm zu fahren und dann die Ausrichtung -90° einzunehmen.

Mit einer solchen Messung sendet der Roboter dem Computer je etwa 220 Ultraschall- und Infrarotmesspunkte.

Auf diese Weise kann der Kompasssensor kalibriert werden um verlässlichere Angaben zu liefern.