Aufgabenstellung Umsetzung Ergebnis - Robotics Lab

Transcrição

Aufgabenstellung Umsetzung Ergebnis - Robotics Lab
Etch A Sketch - NXT
Gruppe A, SoSe 2013
Team: Riexinger Felix, Schierhuber Tobias
Betreuer: Markus Kurz und Thomas Kloepfer
Aufgabenstellung
Programmteile
Wir wollen mit Hilfe eines Lego - NXT Baukastens einen Roboter entwickeln, welcher anschließend in der Lage ist, verschiedene einfache Funktionen auf einem “Etch
A Sketch” zu zeichen. Des Weiteren sollte die Bedienung des Programms auch über
Bluetooth möglich sein.
Umsetzung
Wir haben mit Hilfe von Lego ein Gerüst um das Etch A Sketch gebaut. Diese ist
möglichst klein gehalten und fest am Rahmen des Etch A Sketch angebracht. So ist
es leicht möglich, das Bild durch schütteln zu löschen.
Universität Heidelberg
IWR - Robotics Lab
Nun eine kurze Beschreibung der wichtigsten Programmteile.
Bluetoothkommuniktaion
Da der NXT - Brick selbst keine gute Möglichkeit bietet Daten einzugeben, haben
wir uns für eine Kommunikation via Bluetooth entschieden. D.h. die Eingabewerte
werden via Handyapp (NXT - Mail) an den NXT geschickt.
Berechnen von Funktionswerten und Skalierung
Sind alle benötigten Daten eingegeben, so können die Funktionswerte gemäß der
gewählten Funktion berechnet werden. Die Werte werden anschließend in einem Array gespeichert. Die zuvor berechneten Werten werden dann auf den Bildschirmbereich skaliert.
Korrigieren der Fehler des Roboters
Aufgrund des Aufbaus an sich, haben wir mit einigen Fehlerquellen zu kämpfen,
die genaues Zeichnen erschweren. Einerseits der Etch A Sketch, aber auch der NXT
selbst. Deshalb haben wir versucht Diese Fehler aufgrund der Funktionswerte zu erkennen und auszugleichen. Wie z.B. der vertikale Schlupf ist nach langen flachen
Passagen sehr groß. Deshalb versuchen wir solche Bereiche zu erkennen und gezielt
diesen Schlupf anszugleichen.
Zeichnen der Funktion
Als letztes wird nun die Funktion gezeichnet. Zu Beginn wird das Koordinatenkreuz
gezeichnet, welches sich an die Funktionswerte anpasst. Schlussendlich werden die
berechneten und korrigierten Werte nach der Reihe angefahren und so die Funktion
gezeichnet.
Ergebnis
Die Kommuniktaion mit dem Brick via Bluetooth und das Zeichnen von Polynomen
funktioniert.
Hardware
Für den grundsätzlichen Aufbau haben wir Lego verwendet und so 2 Motorhalterungen entwickelt. Da die Systeme nicht direkt kompatibel sind, haben wir die 2 Halterungen mit Ducktape am Etch A Sketch befestigt. Die Motoren können das Etch A Sketch über Zahnräder mit fest
gewählter Übersetzung bedienen.
Programmaufbau
Zunächst wird entsprechnend der Funktion und Auflösung ein Array von Werten berechnet. Diese Punkte werden anschließend in Koordinaten umgewandelt, welche
vom Programm nun abgefahren werden. Die Interaktion mit dem Roboter erfolgt via
Bluetooth, so können vorgefertigte Funktionen ausgewählt werden oder man wählt
eine Funktion und legt eigene Parameter fest.(z.B. Grad des Polynomes, Amplituden, ...)
Programmablauf
Probleme
Ein großes Problem stellt die Programmiersprache NXC dar, denn diese unterstützt
die Verwendung von Floats kaum. Des Weiteren sind nur einfache mathematische
Funktionen implementiert, was das Umsetzen von komplexeren Funktionen erschwert.
Hinzu kommt die Ungenauigkeit des Etch A Sketch, bzw. der Schlupf, der sich durch
den Aufbau ergibt.
Das Diagramm zeigt den logischen Verlauf des Programmes und zeigt so die Kernelemente der Programmierung.
Start
Fehler des
Etch A Sketch
ausgleichen
Bluetooth
Auswahl der
Funktion
Zeichnen des
Koordinatenkreuzes
Berechnen der
Funktionswerte
Anfahren der
Relativkoordinaten
Skalieren
Ende
Ausblick
Durch die Implementierung von mathematischen Funktionen, wie der Exponentialfunktion, können eine Vielzahl von neuen Funktionen berechnet und so gezeichnet werden. Die Genauigkeit könnte außerdem durch das Verwenden eines höheren
Übersetzungsverhältnisses verbessert werden.
Für mehr Informationen zu unserem Roboter, besucht die Seite des Robotiklabors der
Uni Heidelberg: www.roboter.uni-hd.de
Dort lässt sich unsere Projektseite finden!

Documentos relacionados