GOA


 

Gymnasium Oberalster

http://www.gymnasium-oberalster.de/angebote/projekte/spurt.php

Spurt: Projekte und Fragen

Für Webseiten, die nicht mehr existieren, gibt es im Internet auch Archivmaschinen: http://web.archive.org/web/20041012043425/www.hh.shuttle.de/kd1002/spurt/content/index.htm

Übersicht


1. Anfrage:

"Unser Ziel ist es, einen Roboter zu konstruieren, der sich mithilfe von

Entfernungssensoren in einem ebenen Labyrinth zurechtfinden kann.

Da der Algorithmus zur Datenauswertung und Befehlserteilung allerdings

höchstwahrscheinlich die Kapazitäten des Controllers überfordern wird,

haben wir uns überlegt, die Datenauswertung auf einem externen Computer

ausführen zu lassen, der mit dem Roboter per Funk in Verbindung steht.

Der Roboter sendet also lediglich Daten, die er von den Sensoren

erhält, und empfängt Steuerungsbefehle für die Motoren.

Die Frage ist nun: Auf welche Weise und mit welchen Bauteilen lässt

sich dieses Vorhaben am besten realisieren?"

Lösungsvorschlag Nr. 1: Serielle Schnittstelle über Bluetooth

Bluetooth ist eine Funktechnologie, die es ermöglicht, serielle Schnittstellen über Funk miteinander zu verbinden. Für die Steuerung des Roboters über Bluetooth benötigt ihr folgende Komponenten:

Der RS232 Bluetooth Adapter besitzt auf der einen Seite eine serielle Schnittstelle, die man direkt mit der seriellen Schnittstelle des Controllers verbinden kann und auf der anderen Seite eine Antenne. Zusätzlich muss der Adapter mit Strom versorgt werden.

Das ganze hat den Vorteil, dass man auf dem Controller keinerlei zusätzliche Software installieren muss. Der Controller bekommt von der Bluetooth Verbindung nichts mit. Im Handel gibt bereits einige fertige RS232 Bluetooth Adapter, wie z.B.

Leider sind diese Adapter für Industrieanwendungen gedacht und deswegen sehr teuer. Eine günstige Alternative ist der "Pico Plug" Adapter der Firma Sphinx. Den gibt es z.B. bei Ebay für 10-20€ einzeln oder inklusive Bluetooth PCMCIA Karte. Der Adapter ist zwar schon etwas älter, aber er funktioniert.

Auf der Rechner Seite reicht ein handelsüblicher Bluetooth USB Stick. Mit der zum USB Stick mitgelieferten Software kann man den RS232 Adapter finden und sich mit diesem verbinden. Danach hat man im Rechner eine neue serielle Schnittstelle, über die man mit dem Roboter kommunizieren kann. Die Datenrate beträgt 115000 kBit und die Reichweite 5-10 Meter. Das Ganze funktioniert auch unter Linux.

Installationsanleitung zum Lösungsvorschlag 1

Der Pico Plug Adapter arbeitet völlig autonom. Es braucht kein Treiber oder sonstige Software auf dem Gerät installiert werden, an dem er betrieben wird. Folgende Schritte sind notwendig um eine serielle Verbindung über Bluetooth aufzubauen:

Zum Testen kann man den Pico Plug auch an eine serielle Schnittstelle des PC stecken. Danach kann man mit zwei Hyperterminal Programmen, eins an COM 1 oder 2 und das zweite am seriellen Bluetooth Anschluß, chatten.

Zur Konfiguration des Pico Plug gibt es das Programm Pico Plug Monitor, dass ihr euch von der CD oder von der Webseite von Sphinx herunterladen könnt. Damit könnt ihr die seriellen Parameter und die Bluetooth PIN ändern.

Lösungsvorschlag Nr. 2: Serielle Schnittstelle über Wireless LAN

Die c't hat im letzten Jahr ein Bastelprojekt mit dem Namen "Brücken bauen und fernkontrollieren" veröffentlicht, dass eine serielle Verbindung über Wireless LAN ermöglicht. Den Bausatz kostet knapp 200€ und ist damit teurer als die Bluetooth Lösung.

Lösungsvorschlag Nr. 3: Serielle Schnittstelle über IrDA

IrDA ist eine Infrarot Schnittstelle über die man ebenfalls serielle Daten senden und empfangen kann. Leider ist die Kommunikation sehr richtungsorientiert und lichtabhängig. Die Funklösungen sind da robuster, obwohl auch diese störanfällig gegenüber anderen Funktechnologien im 2,4 GHz Bereich sind.

Fazit

Meine Empfehlung wäre der Lösungsvorschlag Nr. 1. Ich könnte euch zu Testzwecken meinen eigenen "Pico Plug" zur Verfügung stellen. Bei Interesse könnt ihr mich unter meiner email:marc.haase@uni-rostock.de erreichen.


2. Anfrage

Der in meinem Team entworfene Roboter fährt entlang einer schwarzen Line auf weißem Grund. Das Ende dieser Linie ist mit einem roten Strich gekennzeichnet. Dieses Ende soll erkannt werden.

Wir haben bereits den Rot-Sensor TSL257 bei www.micromaus.de gekauft aber beim Kauf nicht ausreichend beachtet das dieser Sensor nicht die Farbe Rot sondern Licht der Wellenlänge 700-800 nm detektiert, dieses wird aber auch vom weißen Untergrund reflektiert. Deshalb ist es nicht möglich zwischen weißem und roten Untergrund zu differenzieren. Des Weiteren hat der Sensor in unserem Tests eine sehr starke Abstandsabhängigkeit bewiesen. Da der Sensor aber an einem kleinen Ausleger am Roboter befestigt ist, ist das Schwanken unvermeidbar und führte bei unseren Tests zu erheblichen Verfälschungen. Bei unserem Flash M1 Controller der Firma Wickenhäuser ist aber nur noch ein A/DU frei. Das hinzuschalten eines zweiten Sensors ist also nicht möglich. Meine Frage lautet ob Sie uns einen Sensor empfehlen können der es möglich macht die rote Farbe am Ende der Linie zu detektieren. Besonderes Problem dabei ist auch noch, dass es sich ja nicht um genuines Rot handelt das den Farbeindruck rot erzeugt sondern der Farbeindruck wahrscheinlich durch Absorption von Grün zustande kommt. Genauer ist dies aber bei der Farbe aus dem Tuschkasten nicht bekannt.

Lösungsvorschlag Nr.1: Grau statt Rot erkennen

Statt mit der Farberkennung zu experimentieren, versucht doch einfach mal Grau mit dem Schwarz/Weiß Sensor zu erkennen. Voraussetzung ist, dass Euer Sensor eine lineare Kennlinie besitzt. Programmiertechnisch wird es etwas anspruchsvoller, denn bei einem normalen Schwarz/Weiß Übergang wird auch der Graubereich mit abgedeckt. Euer Modell sollte erst anhalten, wenn die Grauphase länger dauert als ein normaler Schwarz/Weiß Übergang. Vorteil dieser Lösung ist, Ihr braucht keinen zusätzlichen Sensor.

Lösungsvorschlag Nr.2: RGB Sensor

Ihr verwendet einen RGB Sensor, der Euch die genauen Farbinformationen liefern kann. Einen möglichen Sensor findet ihr bei www.micromaus.de. Den Programmieraufwand kann ich zur Zeit nicht abschätzen.