Montage CCTV-Kamera mit Rundumspiegel

In der Zwischenzeit waren die German Open 2007 des Robocup zusammen mit der Hannover Messe . Nach angeregterm Austausch mit sehr freundlichen Mitarbeitern des Fraunhofer Institus rund um das Thema Robotik, Sensoren und Kameras, kam der Entschluss: Es muss eine ordentliche Kamera her! Nach langem Suchen be eBay und mit viel Glück wurde eine CCTV-Kamera und ein passendes Objektiv erworben. Für die neue Rundumsicht (Omnivision) wurde kurzerhand eine verspiegelte Glühlampe verwendet, da entsprechende Spiegel aus dem Profibereich im günstigsten Fall für 200 – 300 EUR zu haben sind…

 

Nach einigen freihändigen Experimenten stellte sich eine Höhe von ca. 93 cm über dem Boden als günstig heraus, um einen guten Überblick über einen Raum zu bekommen. Hier ist nun die Montage des "Spiegels" (Glühlampe) zu sehen. Als erstes eine normale Glühlampenfassung plus Aluwinkel:

 

Damit man den Spiegel etwas besser ausrichten kann, sind es Langlöcher geworden:

Hier nun das ganze auf den Roboter montiert – inklusive Kamera:

 

Und so sieht das erste Livebild der Kamera aus (testweiseals "Webcam" im Messenger "Kopete"):

 

Aufgrund eines Bugs in Video4Linux hier nur in schwarz-weiß. Die Kamera ist nämlich eine Farbkamera, die nur bei schlechten Lichtverhältnissen oder Dunkelheit in einen extrem empfindlichen schwarz-weiß-Modus schaltet!

Hier noch einmal der Roboter in der derzeitigen Gesamtansicht: 

Bei der Größe,wird der Transport im Auto fast schon schwierig (hier auf dem Weg zum Robotik-Treff Niedersachsen ):

Montage 1. Rad-Encoder

Ein nicht einfaches Thema in der Robotik ist die Selbstlokalisierung. Soll heißen: Der Roboter muss selbst wissen, wo er ist. Einen Anfang dazu bilden Sensoren, die z.B. an den Rändern montiert werden, damit festgestellt werden kann, wieweit der Bot in welche Richtung gefahren ist. Möglich machen das Rad-Encoder. Diese bestehen i.d.R. aus einer Lichtschranke und einer sogenannten Schlitzscheibe. Dreht sich nun das Rad und unterbricht mit den Markierungen auf der Scheibe die Lichtschranke. Diese Unterbrechungen lassen sich an der Lichtschranke abfragen und zählen. Weiß man dann, wieviele Impulse einer Radumdrehung entsprechen, muss man nur noch den Umfang des Rades messen und hat so die zurückgelegte Entfernung. Eine Geschwindigkeitmessung ist damit dann natürlich auch leicht möglich (m/s).

In diesem Bild sieht man die von mir verwendeten Rad-Enconder :

Praktischerweise passten diese nach leichtem Aufbohren direkt auf meine Motoren:

DAnn war echte Präzisionsarbeit oder „Fummelkram“ angesagt. Es galt, die Gabellichtschranken zu montieren. Als erstes wurde mit sanfter Gewalt die Schutzkappe vom Getriebe der Motoren entfernt:

Danach wurde die Lichtschranke an der roten Schutzkappe montiert:


( Wohlgemerkt: Die Schrauben, die hier die Lichtschranke halten, sind nur 3 mm im Durchmesser!)

Glock gehabt: Es passte wirklich „auf den Millimeter“:

Das diese Arbeit an beiden Rändern erforderlich war, dürfte wohl klar sein…  Aber, wer hätte es gedacht, alle Kabel blieben heil, der teure Encoder und die Lichtschranken haben alles überlebt, wie die erste Testmessung zeigte:

Montage Infrarotsensoren auf Servos

Durch die sogenannte "Stuhlbeinproblematik" kam die Idee, die Servos vorne, wie eine Art Radar, auf Servos zu montieren, damit diese nicht nur genau geradeaus "schauen", sondern eine "Sicht" um mindestens 18° "zeigen".

Ach dieses zog wieder ein wenig Verkabelung nach sich, wobei der Hauptaufwand meist darin liegt, die Kabel mit den vorhandenen zusammen immer wieder "rauszureißen" und wieder zu verstauen:

 

Da die Infrarotsensoren bei häufigen Messgungen und auch störenden anderen Impulsen etwas empfindlich sind, habe ich diese mittels eines parallel zur Stromversorgung gelöteten 100 nF Kondensator etwas entstört. Praktischerweise passten diese noch ganz gut in das eigene Gehäuse:

Hier sieht man die fertig montierten "Infrarot-Servos" noch einmal insgesamt:

 

Im Video-Bereich gibt es ein kurzes Video , in dem die Sensoren zum Testen mal manuell per Seftware gedreht werden.

Montage Ultraschallsensor

In den letzten Tag wurde ein weiterer Sensor montiert. Dieses mal, der erste Ultraschallsensor.

 

 

Da der Roboter jetzt mit den neuen Motoren so schnell wurde, ist hier Handlungsbedarf, um Hindernisse früher zu erkennen. Also musste ein Sensor her, der weiter "in die Ferne" schaut. Hier wurde ein Ultraschall-Sensor gewählt (SRF05 von Devantech Ltd.). Für die Ansteuerung muss jetzt "nur noch" ein weiterer Thread programmiert werden, da es hier auf sehr kurze und vor allem exakte Timings ankommt.

Wechsel auf USB-Technologie

Es geht voran:

Nach wochenlangen Problemen, die Abfrage der IR-Sensoren oder genauer, des AD-Wandlers (TLC 549 CP), hinzubekommen, wurde jetzt erfolgreich auf den USB-Port umgestiegen. War auch nicht gerade einfach: Bei einem ersten Versuch mit dem IO-Warrior, kam heraus, dass dieser sich offensichtlich nicht wie gewünscht verhält und seltsame Signale statt einem korrekten HIGH produzierte.

Der zweite Versuch mit dem Chip CY7C63001A von AKModulbus™, sah das ganze dann schon besser aus. Die Abfrage funktioniert, der zweite IR-Sensor wurde montiert, 2 weitere Sensoren sind bestellt.

Parallel wird der Umstieg von der Entwicklungsumgebung Borland C++-Builder 6™ nach Qt erfolgen… Bei der Gelegenheit wurde die Software vom Namen des Roboters mrs (Mobile Robot 1) nach MRS (Mobile Robot Software) umbenannt und bei Sourceforge als Projekt registriert. Aber dazu später mehr…