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 Modellbauräder und 2 weitere Infrarotsensoren

Wie schon geschriebe, waren weitere Infrarot-Sensoren bestellt, welche die Bereiche schräg hinten links und rechts überwachen sollten.

Die Abfolge der Montage der Sensoren ist auf den folgenden Bildern gut zu erkennen;

 

Ein bißchen Verkabelung ist natürlich auch notwendig:

Hier mal ein paar schöne Fotos, wie der Bot von oben bestück aussieht. Diese Fotos habe zur späteren Verwendung in der GUI verwendet:

 

 Da  die vorige Radkonstruktion leider auch Probleme machte, wurden kurzerhand Gewinde in die Motorachsen geschnitten (nicht gerade leicht):

 

 und Standard-Modellbauräder montiert:

 

 

 

Entstörung Motoren

Nach langer langer Analyse des Quellcodes hat sich der Fehler, der dazu führte, dass der Roboter chaotisch in alle Richtungen fuhr, weil die IR-Sensoren immer auslösten, als Hardwareproblem herausgestellt!

Die neuen Getriebemotoren verursachten zusammen mit der neuen Ansteuerplatine so starke Störungen, dass alle IR-Sensoren bzw. die Platine wo alles zusammenläuft, "Fehlarlarme" also Hindernisse vor den Sensoren signalisierte. Aber das Roboter-Netz-Wiki schaffte einfache Abhilfe. Auf diesen zwei Fotos gut erkennbar, die 3 Kondensatoren und die Ferritkerne zum Entstören der Motoren:

Perfekt! Alle Störungen verschwunden! Und der Lötkolben gerade mal heiß war kam nuch eine Blinkdiode hinzu, die den Betrieb des Roboters signalisiert (aktiv):

 

Damit die Sensoren-Kabel und die bei der Kamera nicht mehr so sehr im Weg sind, kam noch etwas Spiralschlauch zum Einsatz – sehr praktisch:

 

Zum einfacheren Testen, der Abstandssensoren wurde dann noch das Arbeitszimmer kurzerhand in eine Teststrecke umfunktioniert:

 

Nun kann endlich an der Software wieder "geschraubt" 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.

Neue Kamerahalterung, neue Getriebemotoren und Motoransteuerung

Neun Monate ist es her, dass sich hier was tat. Na ja, schwanger ist der Roboter zwar noch nicht, aber „neu geboren“ doch wohl. Aber der Reihe nach. Da sich die Gelegenheit ergab, wurde heute erst mal das Webdesign etwas aufgefrischt. Eine neue Rubrik ist dabei auch dazu gekommen: Screenshots. Hier ist sehr schön, der Werdegang des Programmes mit all seinen Irrungen und Wirrungen zu erkennen. Die augenfälligste Neuerung ist sicher leicht zu erkennen – die Entwicklung läuft mittlerweile vollständig unter Linux (mit KDevelop (und natürlich weiterhin mit dem Qt-Framework (Open Source Version)).

Für die Interessierten: Einem weiteren Einsatz unter Windows steht aber – dank Qt – weiterhin nichts im Weg. Mein besonderer Dank geht hier an Oliver Bock, ohne den dieser Schritt nicht möglich gewesen wäre. Er hat den Cypress CY7C63-Linux-Treiber vom 2.4er auf den aktuellen 2.6er Linux-Kernel portiert. Ohnehin hat er mich bei diversen Programmier- und Linux-Fragen in diesem Projekt hier großartig unterstützt.

Was geschah mit der Hardware? Nun, die Kamera hat eine etwas stabilere Halterung bekommen

und einen eigenen Anschluss an den Akku:

Auch der Video-Ausgang (s/w) ist schon mal zum Anschluss an das Laptop vorbereitet worden:

Bei einem Vergleich der zwar sehr kräftigen Schrittmotoren mit Getriebenmotoren aus dem Modellbaubereich sollte sich herausstellen, dass letzere bei ausreichend Kraft haben (bei 5000 U/Min bei 12V, 148:1 Untersetzung) und dabei der Roboter nun ungefähr 1,2 km/h schafft!

Siehe dazu auch ein aktuelles Video . Dieses war der erste Versuch mit den schnellen, neuen Motoren, darum kommt die „Kameraführung“ nicht wirklich hinterher. ;-) Und ein paar Sensoren mehr, braucht er wohl auch noch…

Somit sind also nun neue Getriebemotoren montiert,

die natürlich einer komplett neuen und anderen Ansteuerung bedurften. Also wurde die alte Platine demontiert,

und da es sich anbot, die neue Platine an eine sicherere Stelle als bisher zu montieren, wurde gleich alles an Kabeln entfernt und neu gemacht:

Und so sieht das ganze jetzt aus:

Die Platine zur Motoransteuerung ist übrigens ein Fertigmodul von robotikhardware.de , gemäß Roboternetz-Definition . Die USB-Platine ist von ak-modulbus . Hier sind die Sensoren mit den A/D-Wandlern jetzt modular steckbar gemacht worden. Die alte Platine entfiel damit komplett:

Wie an den Screenshots zu sehen ist, funktioniert das Ansteuern und Auslesen der CMUCAM nun auch einwandfrei. Die Auswertung der Bilder/Daten steht allerdings noch auf einem anderen Blatt…

Neue Räder (Setup-Wheels)

Endlich: Der Umstieg zu Qt 4 ist zu 99% vollzogen. Bei der Gelegenheit wurden einige interne Funktionen des Programmes ebenfalls verbessert.

Hier ein  aktueller Screenshot:

Die gemessenen Werte der IR-Sensoren werden jetzt in echten cm angezeigt.

Hierzu wurden Referenzmessungen vorgenommen – die angezeigten Ergebnisse im Programm sind auf den cm genau.

Die Abfrage der Sensoren ist vollständig in das Programm integriert, die Anzeige der Geschwindigkeit der Motoren, der Abfrage der Sensoren, sowie der Reaktionswert, ab wann ein Hindernis gemeldet werden soll, wurden ebenfalls erfolgreich implementiert. Im nächsten Schritt gilt es, eine Aktion wie ein Wendemanöver bei Hindernissen zu entwickeln.

Leider erwies sich die bisherige Reifenkonstruktion bei längeren Fahrten des Roboters teilweise als zu instabil und löste sich geringfügig bzw. wackelte dann,

so dass der Roboter nicht mehr korrekt geradeaus fuhr. Darum wurden neue Räder montiert. Es handelt sich hier um sogenannte "Setup-Wheels", die mithilfe von Propellernaben (beides von Conrad) befestigt wurde.

        

Dieser hervorragende Tipp kam, wie so oft, aus dem Forum RoboterNetz.

Im nächsten Schritt werden zwei weitere IR-Sensoren auf der Rückseite montiert. Die Elektronik ist bereits dafür ausgelegt…

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…

Erster Abstandssensor, Montage Webcam

Heute wieder sieben neue Fotos:

– Das MRS hat seinen ersten Abstandssensor bekommen (auf diesem Bild gut im Detail zu sehen).
– Für spätere Anwendungen ist eine Webcam installiert worden.
– Und ab hier sieht man das ganze noch einmal komplett bestückt in Serie.

Ein Ein-Aus-Schalter wurde übrigens ebenfalls vorne links eingebaut und die Verkabelung wurde mit Kabelbindern befestigt, anstatt der vorigen roten Klettbänder.

Neue Modellbauräder, Änderung Fahrtrichtung

Die ersten beiden Videos (DivX) wurden hinzugefügt:

Das erste zeigt den alten Antrieb mit Zahnrädern und Inliner-Rädern – sehr ungenau, mit durchdrehenden Rädern
Das zweite die aktuelle Version, mit Rädern aus dem Modellbau, direkt auf die Motorwelle geschraubt. Die Fahrtrichtung wurde geändert: Der Akku ist wegen des hohen Gewichts auf der Seite der Motoren, so dass die Reifen einen guten Grip haben. Das Laptop zeigt demnach auch in die entgegengesetzte Richtung. Siehe dazu auch die Fotos von heute im Foto-Bereich!