Robotics Group Oldenburg  

Wintersemester 2000/2001

Johannes Hurka, Stefan Pieper, Thorsten Schneider

Praktikum: Roboterbau

Die Vorüberlegungen

Jeder einzelne Praktikumstermin wird als eigener Abschnitt behandelt um den Verlauf des Baus, der überlegungen und des Fortschritts besser nachvollziehen zu können.
18 Oktober 2000

Zaunroboter

Ein Roboter, der sich selbstständig bewegt und erkennt wo er lang muss ist eine große Heraussforderung. Ein Roboter, der gleichzeitig noch eine Aufgabe erledigt, z.B. Sachen einsammeln, Sachen finden o.ä. ist besonders faszinierendes. Daher ging unsere überlegung zuerst in Richtung eines mobilen Roboters, der einen Zaun zieht, also eine in sich geschlossene Figur abfährt und dabei einen Zwirn abrollt und diesen an Zaunpfählen befestigt.

Hund und Herrchen

Eine andere interessante Aufgabe, die an Roboter zu stellen wäre, ist die Komunikation untereinander. Zum Beispiel bei Hund und Herrchen. Ein Roboter, der mehr überblick, hat versteckt einen Gegenstand. Der andere Roboter hört auf ein Signal des anderen Roboters und sucht und findet hoffentlich den Gegenstand und ist anschließend in der Lage dem Herrchenroboter diesen Gegenstand zurück zu bringen. Ein solcher Hund wäre also in der Lage sein Herrschen zu orten und den Weg zurück zu finden. Interessant hieran wäre die Art und Weise der Kommunikation zwischen den Robotern und der Gegenstand der versteckt, gesucht, gefaßt, transportiert und wieder abgelegt werden muss.

Turmbauroboter

Die überlegung, die uns am meisten zugesagt hat, ist ein stationärer Roboter, der Gegenstände in seinem Aktionsradius ortet, aufnimmt und sie zu einem Turm aufeinandersetzt. Unsere erste überlegung ging in die Richtung Bauklötze zu greifen und zu stapeln. Allerdings ist dafür ein Greifer notwendig, der relativ kompliziert umzusetzen wäre und den Aktionsradius relativ klein halten würde. Ein Möglichkeit, die von der Idee einigermaßen gut umsetzbar zu sein scheint, ist ein magnetisches Teil, dass mit einem Elektromagneten angehoben wird, wobei noch zu überlegen ist, wie man es schaft, dass das Teilchen sich nicht zu stark irgendeine Richtung dreht, da sonst das Aufeinanderstapeln zu einem Turm schwierig wäre. \newpage

Baubeginn

25. Oktober 2000

Fragen zu unserer Aufgabe

Einige wichtige Fragen, die wir uns gestellt haben, als wir mit der Konstruktion des Turmes begonnen haben, waren: \beginitemize \item Sollen wir den Turm insgesamt drehen, oder nur den Ausleger? \item Wie ist es am einfachsten die zu hebenden Teile zu orten? \item Wie wird der Elektromagnet präzise über dem Objekt positioniert? \item Wie wird der Turm so stabil, dass wir die Gegenstände heben können? \item Wie groß muss das Gewicht des Fußes sein, damit bei der grösten Auslenkung der schwerste Gegenstand gehoben werden kann? \item Wie kann man den Turm langsam genug drehen, damit man in der weitesten zu erreichenden Entfernung noch Bewegungen machen kann die fein genug sind um Teile zu heben? \item Wie befestigt man den Turm drehbar und stabil auf dem Fuß? \item Wie soll die Stromversorgung gestaltet werden? \enditemize

Einige erste Antworten

\begindescription \item[Drehbarer Kran] Wir haben uns zum einen dazu entschieden den gesamten Turm zu drehen, da wir am Fuß des Turmes einen Infrarotsensor anbrigen wollen, der Teile ortet, wenn der Turm sich dreht. Ob es reicht einen Infrarotsensor am Fuß des Krans zu haben, oder ob am Ausleger noch ein mobiler Infrarotsensor, der von oben das Objekt feststellt, angebracht werden muss, ist uns hierbei noch nicht ganz klar.
\item[Magnet] Die Idee Holzklötze zu heben schien uns relativ schwierig, so dass wir uns dazu entschieden haben mit einem Elektromagneten Gegenstände von der Grösenordnung Spielzeugauto zu heben. Ob es uns geling diesen Elektromagneten so zu stabilisieren, dass er sich nicht verdreht ist jedoch noch nicht klar.
\item[Seilwinde] Die Positionierung des Magneten über dem Objekt soll durch eine Seilwinde im Krankopf geschehen, deren Faden über eine Umlenkrolle beliebig positioniert werden kann. Wir wollen die Umlenkrolle mit Hilfe eines Motors, mit geeigneter überstetzung, über eine Zahnstange verschieben, es bleibt hierbei zu hoffen, dass wir den Aktionsradius groß genug halten und auch die Positionierung mit einer möglichst großen Feinheit versehen können. \enddescription

Fußkonstruktion Verson 0.3

Der Fuß des Krans ist relativ groß und in seinem Inneren ist ein Getriebe, das durch eine Schnecke und einige Zahlräder eine ziemlich große übersetzung hat. Die Oberfläche des Fußes ist plan, so dass man dort den Turm gut aufsetzen kann. Der Reibungswiderstand könnte sozusagen ein nicht zu unterschätzendes Problem sein. Der Fuß selbst hat zur Stabilität zu Zeit noch einige längere Stangen, die ihn nach vorne, hinten, rechts und links stabilisieren. Wahrscheinlich muss die Konstruktion jedoch noch verschmälert werden, da sonst der Aktionsradius des Turmes zu klein wird. Der Motor sollte die gröste Einschränkung für den Aktionsradius werden, da er außen an der Fußkonstruktion angebracht ist und relativ weit ansteht.

Auslenkmechanik

Die übersetzung, die die Umlenkrolle den Ausleger entlang schieben soll ist relativ schwer, so dass sie über dem Drehpunkt des Turmes angebracht werden muss, da sonst die Stabilität stark beeinträchtigt werden könnte. Außerdem ist es wichtig, dass der Ausleger ein Gegengewicht hat, so dass der Turm seinen Schwerpunkt in mittlerer Lage genau über dem Drehpunkt hat. Ansonsten könnte es noch weitere Schwierigkeiten mit dem Aktionsradius geben. Dabei scheint es sinnvoll zu sein, den Motor und die übersetzung in gewissem Maße als Gegengewicht für den Ausleger zu verwenden. Allerdings kann der Motor auch nicht zu weit hinten angebracht werden, da der Verschiebemechanismus dadurch zu lang werden würde. \newpage

Ein Turm entsteht

2. November 2000

Fußkonstruktion Version 0.7

Der Fuß des Krans, den wir in der vergangenen Woche gebaut haben, haben wir am heutigen Praktikumstermin wieder auseinandergenommen. Peter hat ein Zahnrad mitgebracht, das für unsere Anwendung gut geeignet ist. Es ist fast so groß wie unsere vorherige Auflagefläche und nach oben und unten gut bebaubar. Das Zahnrad besteht nämlich aus einem festen unteren Teil, das direkt auf eine Legoplatte gesteckt werden kann, auf dem ein zweites drehbares Zahnrad liegt. Das zweite Zahnrad hat zwei aufgesetzte Legosteine, so dass ein Turm direkt aufgesetzt werden könnte. Der Fuß konnte durch dieses Zahnrad wesentlich verkleinert werden, so dass der Infrarotsensor, der zur Ortung der Steine dient näher an den Turm herangesetzt werden konnte. Der Motor zum Drehen des Krans sitzt jetzt direkt unter dem Zahnrad, ohne die Standfläche zu vergrößern. Die übersetzung vom Motor auf das Zahnrad erfolgt über zwei Schnecken, so dass der Kran sehr langsam gedreht werden kann. Die Fußkonstruktion scheint die schwierigste Aufgabe bei der Konstruktion des Turmes zu sein. Die Auflagefläche ist zur Zeit etwa 8cm x 8cm groß.

Aufbau

Der Kranaufbau besteht aus einem ca. 30cm hohes Gestell aus aneinander geclipsten Legosteinen, die durch Stangen und Querverstrebungen stabilisiert wurden. Oben auf dem Kran sitzt im Krankopf, das Getriebe um den Ausleger, bzw. den Magneten auszulenken. Der Ausleger ist zur Zeit ca 30cm lang und am kurzen Ende des Auslegers ist der Antrieb für die Seilwinde untergebracht. Der Mangnet wird über eine verschiebbare Stange längs des Auslegers bewegt.

Planung für die Steuerung

An dem Motor, der den Kran dreht befindet, sich eine Lichtschranke, die die Drehungen des Krans feststellt. Am Fuß des Krans befindet sich ein Infrarotsensor, der zur Ortung und zur Entfernungsbestimmung, der zu hebenden Objekte dient. Weiterhin ist eine Umdrehungsmessung an der Seilwinde notwendig, um den Magneten nicht zu schnell zu heben, oder zu schnell anzusetzten. Außerdem wird ein Sensor benötigt, der feststellt, wie weit der Kran ausgelenkt ist. Dies wird auch über einen Rotationssensor oder über zwei Microschalter getätigt die feststellen, wann der Kran maximal oder minimal ausgelenkt ist. Das Handyboard muss aller Wahrscheinlichkeit nach außerhalb des Krans untergebracht werden, d.h., dass in dem Kran ein relativ umfangreicher Kabelstrang entlang geführt werden muss. Zwei Kabel für jeden der Motoren, zwei Kabel für den IR-Sensor, drei oder vier Kabel für die Kippschalter und für die Rotationssensoren noch weiter vier Kabel. Alles in allem müssen ca. 14 Kabel sinnvoll im Kran verlegt werden, ohne dass diese den Betrieb des Kranes beeinflussen, oder seine Funktionalität stören. \newpage

Der Turm Version 0.6

9. November 2000

Bauliche Veränderungen

Am heutigen Praktikumstermin haben wir den Turm in einigen Teilen noch ein wenig verändert. In den Fuß des Krans haben wir einen Motor eingesetzt. Außerdem haben wir dem Fuß mit Hilfe von einigen größeren Platten eine etwas größere Standfläche gegeben. Damit der Turm jedoch stehen und Gewichte heben kann ist noch eine schwerere Bodenplatte notwendig. Am besten wäre se, wenn man den Turm auf den Tisch klebt oder anschraubt, damit ein Umfallen unmöglich wird und der Fuß des Turms nicht noch höher wird als er schon ist. Den Ausleger des Krans, der uns beim vorherigen Termin einen Aktionsradius von ca. 10cm geboten hat, haben wir um ca. 15cm verlängert. Durch zusätzliche Zahnstangen haben wir jetzt einen Aktionsradius von ca. 30cm. Der Ausleger ist ca 50cm lang.
Am Kopf des Krans haben wir noch weitere änderungen vorgenommen. An dem Antrieb für den Ausleger haben wir einen Rotationssensor angebracht, damit wir die Auslenkung messen können. Weiterhin haben wir die meisten Kabel im Turm verlegt. Der Fuß des Turms bietet genügend Platz um alle Kabel durch den Fuß aus dem Kran herauszuführen.

Das Handyboard kommt zum Einsatz

Heute haben wir zum ersten Mal das Handyboard an den Computer angeschlossen und einige Befehle und Komandos getestet. Nachdem das Handyboard mit Hilfe von IC einsatzbereit war, haben wir versucht einen Motor an unserem Turm anzusteueren. Das war als erstes der Motor der Seilwinde. Dabei haben wir festgestellt, dass der Motor erst ab geeignet großen Parametern anspricht. Allerdings dann auch richtig! Es war uns nicht möglich die Seilwinde langsam genug zu betreiben um einen Magneten geeignet zu manövrieren. Daher mussten wir nach diesem Test die Getriebekonstruktion an der Seilwinde gleich wieder abändern. Bei dem nächsten Motortest haben wir eine neues Problem festgestellt:
Wir wollten den Motor ansprechen, der für das Auslenken des Auslegers zuständig ist. Dabei reagierte der Motor auf die entsprechenden Befehle jedoch nicht, wobei wir den Fehler dann als Wackelkontakt bei einer Steckverbindung ausfindig machen konnten. Das Kabel, das vom Handyboard in den Turm kommt ist mit einfachen Steckverbindungen versehen. Der Motor, der die Seilwinde antreibt hat auch diese Steckverbindungen. Der Moter, der den Ausleger antreibt, ist ein Legomotor und muss mit einem Legoanschluß verbuden werden. Die Legostecker haben zwar Buchsen für die Stecker, allerdings sind diese Verbindungen nicht zuverlässig. Dieses Problem konnten wir heute auch nicht lösen, es bedarf noch einiger überlegungen, bis wir dieses Problem in den Griff bekommen.

Seilwinde

Bei der Seilwinde werden sich noch einige Schwierigkeiten ergeben. Wir haben noch keine gute Lösung gefunden, an der Seilwinde die Höhe des Magneten festzustellen. Allein die Umdrehungen der Seilwinde festzustellen kann zu Problemen führen, da nicht garantiert ist, dass das Seil sich gleichmäßig auf- und abrollt. Eventuell müssen wir mit einem anderen Motor testen, ob eine geeignetere Geschwindigkeit des Auf- und Abwickelns erreicht werden kann. Außerdem müssen wir noch entscheiden, ob wir mit ein oder zwei Fäden arbeiten, um ein eventuelles Verdrehen der Gegenstände geeignet zu beeinflussen. \newpage

Entwicklungsphase

16. November 2000

Änderungen am Turmbau

Die Seilwinde

Die Seilwinde haben wir heute noch einmal überarbeitet. Beim letzten Praktikumstermin haben wir festgestellt, dass sie zu schnell wäre um irgendwelche Gegenstände zu heben, ohne dass diese vom Elektromagneten wieder hinunterfallen würden. Außerdem könnten wir die Höhe des Magneten nicht vernünftig bestimmen, daher haben wir mit Hilfe einer Schnecke die übersetzung wesentlich verlangsamt. Die Seilwinde könnte jetzt Gegenstände so langsam anheben, dass diese an dem Magneten haften bleiben. Der Umdrehungszähler sitz direkt am Moter, so dass wir sehr viel Counts pro Zentimeter Schnur bekommen.

Auslegerantrieb

Die übersetzung des Auslegerantriebs haben wir mit Hilfe von zwei Schnecken derart verlangsamt, dass wir in radialer Richtung vermutlich bis auf einige Millimeter genau die Auslenkung bestimmen können. Der Umdrehungszähler ist direkt am Moter, so das wir für einen Zentimeter Auslenkung vermutlich einige hundert Counts bekommen. Außer den baulichen Veränderungen haben wir noch einige Kabel in dem Turm verlegt, so dass jetzt genügen Leitungen für die Sensoren vorhanden sind.

Software

Am heutigen Praktikumstermin haben wir zum ersten Mal das Handyboard mit selbstgeschriebenen Funktionen angesprochen. Diese Funktionen dienen bisher dazu die einzelnen Motoren anzusprechen und einzelne Sensorwerte auszulesen. \beginitemize \item Parallel zu den baulichen Veränderungen, habe wir mit Hilfe von IC kleine Testprogramme erstellt, mit denen wir uns von der Funktionalität unseres Turms nach und nach überzeugen konnten. Zuerst haben wir eine kleine Funktion geschrieben, die einen Motor anspricht. Diese haben wir gleich erweitert, so dass man am Handy-Board mit Hilfe der Start- und Stop-Taster Motor 1 anschalten, wieder ausschalten, Motor 2 anschalten, usw. konnte. Die Geschwindigkeit war noch nicht regelbar.
\item Wir haben im nächsten Schritt das Stellrädchen am Handy-Board dafür verwendet die Drehgeschwindigkeit zu verändern. Zuerst auf einer Skala von 0 bis 99: Motor aus bis volle Kraft, anschließend von -99 bis 99 volle Kraft rückwärts bis volle kraft vorwärts. \item An der Fußkonstruktion haben wir von vornherein einen Rotationssensor angebracht,den wir nun an das Handy-Board angeschlossen haben. Wir haben in unser kleines Testprogramm eine neue Funktion eingefügt, die den Sensor ausliest und einen Counter hochzählt. Den Counterwert haben wir uns auf dem Display anzeigen lassen. \enditemize Das Auslesen des Infrarotsensors zur Entfernugsbestimmung haben wir heute noch nicht einbinden können. Allerdings sind die entsprechenden Leitungen verlegt und wir müssen nucr noch die Datei mit den Funktionen für den Sensor finden. \newpage

Kabelsalat

23. November 2000

Test

Nachdem wir am letzten Termin die ersten Motoren angesprochen haben und uns von der Funktionalität unseres Turmes überzeugt hatten, haben wir auch am heutigen Termin alle Funktionen des Turms noch einmal getestet. Dabei haben wir einige Schwierigkeiten festgestellt, die uns zu folgenden Veränderungen geführt haben: \beginitemize \item Austausch der einzelnen Kabel durch ein Flachbandkabel. \item änderung der Testsoftware derart, dass wir mit der Starttaste die Motoren durchschalten können und mit der Stoptaste die Sensoren abwechseln können. \enditemize Desweiteren haben wir \beginitemize \item die Infrarotsensoren vermessen, \item zwei Notschalter an unserem Turm angebracht, und \item die Fußkonstruktion verändert. \enditemize

Stromversorgung

Wir haben festgestellt, das unsere Verdrahtung recht hinderlich sein kann, da wir ca. 14 Kabel im Turm verlegt haben. Hier ist das Kabel für den Elektromagneten noch nicht dabei. Aus diesem Grund haben wir am heutigen Termin den Turm von seinem Fuß herunter genommen und alle Kabel aus dem Turm entfernt.
Aus einem alten Rechner haben wir ein 20-poliges Flachbandkabel ausgebaut, einen der Stecker abgekniffen und die einzelnen Kabel mit einem Stecker versehen. Dieses Kabel haben wir anstelle der 14 losen Kabel durch den Fuß in den Turm gelegt. Das Kabel ist ca. 70 cm lang, so dass wir uns genügend Distanz von unserem Turm haben können, so daßs wir ihn beim Arbeiten nicht stören. Genügend Anschlüsse sind damit vorhanden, allerdings ist eine gewisse Reserve nicht schlecht, da wir eventuell auch an unserem Turm noch einen Infrarotsensor benötigen um unsere Gegenstände zu orten.

Testsoft 0.3

Unsere Testsoftware schränkte uns insofern ein, als das wir immer nur einen Motor und einen Sensor an und ausschalten konnten, d.h., dass wir, wenn sich der Turm dreht, den Rotationssensor aber nicht die Werte des Infrarotsensors auf dem Display ausgeben können. Außerdem könnte man einen Gegenstand an den Turm hängen, den Ausleger vor und zurück fahren und ebenfalls die Werte des Infrarotsensors statt der Auslegersensorwert haben wollen.

Notschalter

Unser Ausleger wird über einen Motor ausgelenkt und ein Rotationssensor, dokumentiert die Auslenkung. Auf diesen Sensor allein wollen wir jedoch nicht vertrauen. Daher haben wir einen Schalter an der Rückseite des Turmkopfes angebracht, so dass der Auslenkmotor sofort stoppt, sobald der Schalter betätigt wird. Ein entsprechenden Schalter haben wir auch an der Vorderseite des Turmkopfes. Die Schalter sind aus einer alten Tastatur und von der Legokompatiblität gleich, allerdings mussten wir unterschiedliche Mechanismen verwenden um die Schalter zu betätigen. Bisher sind die Schalter auch nur angebracht und noch nicht funktionsfähig.

Fußkonstruktion 0.8

Durch das Flachbandkabel haben wir unseren Fuß modifizieren müssen. Das hat uns dazu bewogen den Fuß noch einmal zu zerlegen und die Kabeldurchführung und die übersetzung möglichst effektiv zu gestalten. Wir haben dadurch den Fuß noch ein wenig kompakter gestalten können. Außerdem ist die übersetzung noch feiner geworden. Ob sich unser Kran jedoch leiser dreht wissen wir leider noch nicht. Aber das wird sich ja im nächsten Kapitel herausstellen.

Was kommt als nächstes

\beginitemize \item Die Verkabelung unseres Turmes müssen wir nun anders gestalten. \item Einen Elektromagneten entwerfen und testen. \item Ein flexibles Gegengewicht, daß wir noch testen wollen \item Die Abstimmung Sensor >> Motor müssen wir noch machen. \item Die Schalter an dem Ausleger müssen wir noch in unsere Testsoftware einbinden. \enditemize \newpage

Die Konstruktion geht zu Ende

30. November 2000

Der Turm 1.0

Voil\`a, der Turm ist fertig.

Fußkonstruktion

Wir haben den Turm zur besseren Standfestigkeit auf eine ca. $20cm x 20cm$ große Legoplatte gestellt, damit wir ein Umkippen des Turmes ausschließen können. An der Fußkonstruktion haben wir keine weiteren Veränderungen vorgenommen. Allerdings mußsen sowohl der Sensor als auch der Motor noch angeschlossen werden.

Aufbau

Der Aufbau hat heute noch viele änderungen und Verbesserungen erhalten:
Der Ausleger, der bei großen Auslenkungen nach oben und unten viel Spiel hatte, wurde auf ein Laufrad gesetzt. Da der Turm für große Auslenkungen umzukippen drohte, haben wir ein flexibles Gegengewicht konstruiert. Diese Gewicht wird in den Turm eingezogen wenn der Ausleger geringe Elongationen hat und hängt als Gegengewicht hinter dem Turm hinunter, wenn der Ausleger ausgefahren ist. Die Bewegung des Gegengewichtes wird über den Antrieb des Auslegers erzeugt. Wir haben die Antriebsachse des Auslegers verlängert und einen kleinen Flaschenzug konstruiert, der das Gewicht zieht.

Seilwinde

Die Seilwinde haben wir heute mit einer Angelschnur versehen. Damit der Magnet sich weniger verdrehen kann, habne wir zwei separat geführte Fäden, die den Magneten rechts und links halten können. Zur Zeit hängt an der Seilwinde jedoch nur ein Legosteinbündel.

Elektrik

Die Motoren und Sensoren haben wir an das Flachbandkabel angeschlossen und auf einem Belegungsplan festgehalten. Für den Turmfuß haben wir ein zweites Flachbandkabel angefertig, so daß wir mit zwei Flachbandkabeln die gesammte Elektrik zwischen Handyboard und Turm abdecken können.
Bauliche Veränderungen sind nun nicht mehr notwendig. Es muss nur noch ein Magnet an der Seilwinde befestigt werden und an die freien Kontakte angeschlossen werden.

Programmierung

Die Programmierung des Turms bekommt allmählich ein stabiles Gerüst. Es sind alle Sensoren eingebunden, alle Motoren ansteuerbar und am Handyboard umschaltbar. Die Schwierigkeit wird hier nun darin bestehen das Hauptprogramm so zu strukturieren, dass der Turm selbständig arbeitet.

Ein Schritt vor zwei wieder zurück

7 Dezember 2000

Magnet

Hannes hat einen Magnet mitgebracht, den er am Wochenende gebastelt hat. Wir haben versucht den Magneten mit Hilfe eines regelbaren Netzteils so einzustellen, dass der Magnet anhaftende Gegenstände wieder losläst, wenn man ihn unter Strom setzt. Es hat leider nicht funktioniert, d.h. es muss ein anderer Magnet gebastelt, oder organisiert werden. Unsere Hoffnung, dass unser Kran irgendwann funktioniert, baut natürlich darauf, daß wir einen funktionsfähigen Aufheb- und Abwerfmechanismus haben. Alternativ zu dem Magneten haben wir versucht einen:

Greifer (zu)konstruieren

Dies scheint aber nicht weniger schwierig zu sein. Es ist schwierig eine kompakte Konstruktion zu entwickeln, die einen Gegenstand packen und heben könnte. Wir haben versucht einen elektrisch angetriebenen Greifer zu konstruieren, treten dabei allerdings auf der Stelle. Die Lösung dieses Problems steht also weiterhin aus.

Probleme mit dem HandyBoard

Unsere Testsoftware hat es uns immerhin ermöglicht zu testen ob die Notausschalter funktionieren. Sie funktionieren! Schwierigkeiten haben wir mit den Wheelencodern, die noch keine Werte liefern. Dei Ansteuerung unserer Motoren funktioniert wie bisher.
Die Testsoftware läuft im großen und ganzen so gut, dass wir die einzelnen Funktionen für unser Steuerprogramm benutzen können und \"nur\" noch die Querverbindungen zwischen den Funktionen erstellen müssen. Der Mechanismus mit der Start- und Stoptastensteuereung zum Durschschalten der Motoren und der Sensorwerte hat uns viele Nerven gekostet, da bei längere Betätigung der Schalter irgendwelche komischen Effekte auftreten, die wir uns bisher noch nicht genau erklären können.