[› Projekt

Spielfeld.jpg

Spielfeld des Wettbewerbs

 

Ansicht-VS.jpg

Ansichten-Umsetzung-links.jpg

 

Ansichten-Umsetzung-oben.jpg

 

Ansichten-Umsetzung-rechts.jpg

 

Breadboard.jpg

Breadboard mit der Schaltung zum Ansteuern uns Auslesen der Distanzsensoren

Aufgabe

»Bauen Sie einen Roboter, der eine leere Dose finden, auf­nehmen und an den Ausgangspunkt zurückbringen kann. Startpunkt ist das rote Feld auf dem in links dargestellten Spielfeld. Zu Beginn ist der Roboter parallel zu einer gewünschten Seite des Quadrates ausgerichtet.
In einem Wettkampf am Ende des Semesters wird der schnellste Roboter gekürt.

Es steht Ihnen Lego Mindstorms mit dem RCX 1.0 zur Verfügung.«

 

Vorüberlegungen

Um die gestellte Aufgabe ideal zu erfüllen, muss der Roboter die folgenden Fähigkeiten besitzen:

  • Erkennen der eigenen Ausgangsstellung im Raum
  • Erkennen / Rekonstruieren des Weges bzw. derDosenposition und der Ausgangsposition
  • Erkennen der Dose
  • Aufnehmen der Dose
  • Transport der Dose
  • Erkennen des Ziels

Natürlich sind Lösungen denkbar, die nach irgendeinem Prinzip – Auswerfen von Netzen, Schieben o. ä. – das gesamte Feld in Richtung Ausgangspunkt „leerfegen“. Auch das spezielle Markieren der Dose oder des Ausgangspunkts sind möglich.

Hier soll aber versucht werden, die mit der Aufgabenstellung intendierte Lösung zu verwirklichen.
Die Orientierung im Raum erfolgt am einfachsten über das aufgezeichnete Raster. Andere Lösungen müssten auf eine Dreieckspeilung hinauslaufen (z. B. über Ultraschall), die zusätzliche Sender und Sensoren benötigt.

Durch geeignete Fahrmanöver und Sensoren kann so auch die Ausgangsposition festgestellt werden.

Für das Auffinden der Dose gibt es mehrere Möglichkeiten:

1. Abfahren aller Quadrate und registrieren des Zusammen­pralls mit der Dose über einen Sensor

2. Abfahren aller Quadrate und Erkennen der Dose vor dem Zusammenprall mithilfe der IR-Sensoren des Bricks

3. Abtasten des gesamten Feldes über geeignete Distanz­messer. Hierbei darf nicht über den Spielfeldrand gemessen werden, um keine anderen Gegenstände mit der Dose zu verwechseln.

4. Erkennen der Dose nach dem Prinzip eines Metallsuchgeräts – ein wechselndes elektromagnetisches Feld wird von der Dose als „störendes“ Dielektrikum verändert.

Die Lösungen 1 und 2 unterfordern der Mikroprozessor, sind nicht schnell genug und unelegant.
Die übrigen Vorschläge werfen hingegen ein weiteres Problem auf: Die Anzahl der Sensoren und Aktuatoren ist auf jeweils 3 beschränkt.

Die Motoren verteilen sich folgendermaßen:
– Motor 1 und 2 zur freien Bewegung
– Motor 3 zum Anheben der Dose

Zum optimalen Verfolgen der Linie sind zwei Sensoren
nötig: jeweils einer zum Feststellen einer Abweichung nach links und rechts. Um das Ende der Geraden zu finden, wird ein weiterer Sensor benötigt. Idealerweise hilft ein vierter Sensor, eine exakte 90°-Drehung zu realisieren.

Unter zwei Sensoren ist ein Um-die-Ecke-fahren nicht
sicher möglich. Mindestens ein weiterer Sensor wird für das Erkennen der Dose gebraucht.

Motor 3 könnte auch direkt vom Dose-Kollisions-Sensor über eigene Elektronik angesteuert werden und benötigt nicht zwingend den Brick.
Zur Vervielfältigung der Sensoreingänge wird in der Literatur meist ein Multiplexverfahren vorgeschlagen z.B. bei:

Gasperi, Michael
http://www.plazaearth.com/usr/gasperi/lego.htm

Cordes, Dietmar und Lemm, Gunther:
„Konzeption von I/O-Erweiterungen für Lego Mindstorms“
http://users.informatik.haw-hamburg.de/~kvl/lepomux/lepomux.pdf

Diesen Vorschlägen möchte ich zwei weitere hinzufügen:

Zunächst schauen wir dazu auf die Möglichkeiten des Ausgangs. Er hat elektronisch gesehen vier Zustände:
1. Vorwärts: PWM mit 1kHz in 7 Stufen
2. Rückwärts: PWM mit 1kHz in 7 Stufen
3. Gestoppt: kurzgeschlossen
4. Aus (Float): hochohmig

Der erste Vorschlag nutzt diese Zustände, um elektronisch zwischen beiden Polaritäten zu unterscheiden und als dritten Zustand das Nichtvorhandensein einer Spannung zu nehmen.

Der zweite Vorschlag in Abb. 5 nutzt die unterschiedlichen
Geschwindigkeiten, also die PWM in einer Richtung.

Die pulsweitenmodulierte Spannung am Motorausgang wird durch das RC-Glied in Spannungswerte zwischen 0 und der Betriebsspannung gewandelt.
Der nachgeschaltete IC realisiert eine Punktanzeige, in Abhängigkeit von der Eingangsspannung. Mit den Ausgängen werden Relais geschaltet.
So kann jeder Motor-Leistungsstufe ein Relais zugordnet werden.

30. Juli 2007