Tip:
Highlight text to annotate it
X
Hallo Leute, mein Name ist Massimo Banzi und ich bin einer der Mitbegründer von Arduino.
Herzlich willkommen zu dem zweiten Video unserer Videoreihe über den Arduino Roboter.
In diesem Video werden David Cuartielles und Xun Yang euch zeigen, wie das Logo-Beispiel des Roboters funktioniert,
wie die Räder für bestmöglichen Geradeauslauf zu kalibrieren sind,
und wie ihr den Roboter mit der Fernsteuerung steuern könnt.
Ich hoffe, es wird euch gefallen - und David, nimm das weg!
Hallo, das ist David. Und das ist Xun.
Heute haben wir das Vergnügen, die Videoreihe über den Arduino Roboter fortzuführen.
Wisst ihr noch? Der Arduino Roboter ist eine omnidirektionale Plattform,
er kann sich also in alle möglichen Richtungen bewegen; vorwärts, rückwärts, zur Seite,
indem er seine Räder jeweils in die entgegengesetzte Richtung dreht.
Wir werden uns heute zuerst ansehen, wie ihr den Roboter kalibrieren könnt, damit er perfekt geradeaus läuft.
Danach widmen wir uns der Erstellung eines Programms, das euch helfen wird, die Bewegungen des Roboters direkt
über seine Tastatur zu steuern. Zum Abschluss sehen wir uns an, wie wir den Roboter mit einer Infrarot-Fernsteuerung steuern können.
Xun?
Jawohl.
Beginnen wir mit der Kalibrierung des Roboters.
Denkt immer daran: Jeder Roboter ist ein echtes Unikat,
wenn ihr dem Roboter also befehlt, jeweils mit derselben Radgeschwindigkeit vorwärts zu fahren,
wird er sehr wahrscheinlich nicht in einer geraden Linie laufen.
Das ist der Punkt, an dem die Kalibrierung erforderlich ist. Zum Glück haben wir ein Feature auf der Firmware,
das euch die Kalibrierung des Roboters über dieses Potenziometer auf der Motorplatine erlaubt.
Ihr müsst einfach nur die Position des Potenziometers ändern.
Um zu überprüfen, ob die Räder jetzt richtig kalibriert sind,
haben wir ein spezielles Software-Beispiel für euch entwickelt: Beispiel Nummer Sechs, genannt „Wheel Calibration".
Mit diesem könnt ihr die Räder des Roboters von Hand kalibrieren, damit der Roboter mit Sicherheit geradeaus läuft.
Die Einstellung erfolgt sowohl über den Knopf hier - dabei unbedingt die Anweisungen auf dem Bildschirm beachten -,
als auch über einen Schraubenzieher an diesem Trimmer hier unten.
Zuallererst sollten wir jedoch die Software auf den Roboter laden, damit wir etwas mit ihm anfangen können.
Xun? Jawohl.
Ich öffne das Beispiel über Arduino's ID.
Es befindet sich im Ordner Robot Control, also hier, Robot Control, Explore, Beispiel Nummer Sechs: Wheel Calibration.
Dieses Beispiel ist sehr einfach.
Wie alle anderen Beispiele ruft auch dieses zunächst die Arduino Robot Library auf,
und öffnet daraufhin etwas namens „RobotTextManager";
Grund dafür ist, dass wir in dem Code sehr viele verschiedene Strings berücksichtigen müssen,
und um diese richtig anzuzeigen, haben wir sie einfach in einer Art Liste hier gespeichert.
Danach schalten wir den Roboter ein, hier im Setup, sowie den Bildschirm auch, und lesen dann die SD-Karte aus,
auf der wir all die verschiedenen Abbildungen für die Anweisungen an den Roboter abgespeichert haben.
Wie ihr seht, machen wir in dem Regelkreis lediglich zwei Dinge:
zuerst prüfen wir die Geschwindigkeit des Roboters, das geht direkt über den Knopf,
danach leiten wir diese Information an die Motoren weiter, um zu sehen, ob der Roboter geradeaus läuft oder nicht.
Jetzt nehmen wir den Kalibrierungswert aus der Trimmsteuerung der unteren Platine
und geben diesen Wert in den Bildschirm des Roboters ein.
So könnt ihr euch den Wert besser merken und ihn für Referenzzwecke verwenden,
wenn ihr euren Roboter mal wieder kalibrieren möchtet.
Ok, zuerst müssen wir einen kleinen Schraubenzieher finden - den brauchen wir für die Kalibrierung des Roboters -,
wie wir vorher schon sagten, sperrt das USB-Kabel letztendlich die Motoren,
sodass wir es zunächst herausziehen, da die Motoren sonst nicht laufen würden.
Ok, schalten wir den Roboter jetzt ein.
Wie ihr seht, läuft der Roboter jetzt sehr schnell.
Ihr könnt seine Geschwindigkeit über diesen Potenziometer einstellen.
Machen wir ihn lieber etwas langsamer.
Jetzt können wir den Roboter auf eine ebene Fläche legen, um zu prüfen, ob er geradeaus läuft.
Ihr seht schon, das ist nicht besonders gerade, hängt er doch stark nach rechts.
Der Bildschirm zeigt den Wert 15 an: Das ist der Wert für die Trimmung des Bodens,
mit dem wir den Roboter kalibrieren können.
Ändern wir ihn auf -5.
Und lasst ihn uns ein bisschen schneller machen.
Das sieht doch schon viel besser aus.
Er läuft immer noch nicht ganz gerade.
Dieses Mal drehen wir den Wert wieder ein bisschen zurück.
Auf, sagen wir, 2.
Ihr könnt die Kalibrierung mit einem Lineal noch genauer gestalten, damit er auch sicher geradeaus läuft.
Aber wir belassen es heute dabei.
Gehen wir über zum nächsten Beispiel, bei dem wir sehen, wie
wir den Roboter ganz einfach über seine Tastatur steuern können.
Hierfür nehmen wir ein Beispiel namens „Logo".
Vielleicht erinnert ihr euch an die Programmiersprache von
damals, manchen von euch wird das allerdings kein Begriff sein.
Die Idee für Logo basiert auf einer virtuellen Schildkröte, die auf eurem Bildschirm angezeigt wird;
dieser könnt ihr Befehle geben, wie „geradeaus gehen, rechts abbiegen, links abbiegen",
so setzt sich die Schildkröte in Bewegung und hinterlässt Spuren auf eurem Bildschirm.
Wir haben diese Schildkröte mit unserem Arduino Roboter sozusagen zum Leben erweckt,
und befehlen diesem jetzt, vorwärts zu gehen, indem wir den Knopf nach vorne drücken,
bzw. entsprechend nach links, rechts oder hinten zu laufen. Zum Schluss befehlen wir ihm noch, die Bewegungen
durchzuführen, indem wir den mittigen Knopf drücken: Und schon geht er den eingegebenen Bewegungsablauf durch.
Das ist als Beispiel in der ID gespeichert - also PC wieder einschalten und
Kabel holen. Weiter mit der Programmierung des Roboters: Wir
stecken das Kabel an und öffnen das Beispiel namens Logo über
Our Examples, Robot Control, Explore, Logo: Es ist das erste Beispiel der Arduino robot library.
Arduino robot library öffnen; hier seht ihr, dass wir für jedes
Beispiel ein Array namens Befehle verwenden, wo wir alle möglichen Befehle speichern.
Dort sind maximal 20 Befehle, und das sind ganz schön viele.
Also, Roboter, Bildschirm und SD-Karte starten. Sehen wir mal nach, was in dem Regelkreis ist.
Hier ist eine Funktion namens addCommands, zu der wir nachher
noch kommen, sie liest und speichert die Befehle aus der Tastatur.
Über den weißen Knopf ruft ihr einen nach dem anderen auf und spielt sie nacheinander ab.
Ich sehe nochmal nach, ob ich die richtige Platine, die richtige
Steuerung und den richtigen Anschluss habe.
Und lade den Code auf den Roboter. Sobald der Roboter
programmiert ist, rücke ich den Computer in den Hintergrund.
Xun erklärt jetzt, wie das Programm noch gleich funktioniert.
Also, schalten wir den Roboter wieder ein.
Das Programm bittet euch, die vier Bewegungstasten ein paar
Mal zu drücken, um die jeweiligen Bewegungen zu speichern.
Starten wir mit etwas Einfachem: Vor und dann nach rechts, mit
dem Mittelknopf wird er gestartet, heben wir erst auf den Tisch.
Start.
Schon sind wir fertig.
Ich lasse ihn jetzt zu Xun fahren.
Erst vorwärts, dann ein-, zwei-, drei-, viermal abbiegen und los.
Er wird noch aus der Reihe tanzen. So sieht's aus. Xun, mach dich bereit!
Gehen wir jetzt zur Infrarot-Fernsteuerung über.
Das ist eine universelle Fernbedienung, die wir hier verwenden.
Hierzu gibt es auch ein Beispiel.
Doch Vorsicht: Nicht alle Fernbedienungen sind gleich.
Gleich ist nur dieser Chip, den finden wir überall.
Hier der Infrarot-Receiver, wie er auch in Hifi-Geräten vorkommt.
Hier ist der Receiver mit einem Verstärker gekoppelt, das macht
die Integration von 5-V-Mikrochips zur Steuerung des Roboters sehr einfach.
Hier nehmen wir solch eine Fernbedienung.
Seht euch auch das Arduino Erweiterungskit an,
das solch einen Sensor und eine Fernbedienung enthält, die
beide kompatibel mit der Software des Roboters sind. Ihr könnt die Software natürlich erweitern,
damit es auch mit Fernbedienung läuft.
Also, zuerst anstecken: Xun hat bereits ein Kabel vorbereitet,
um den Infrarotsensor mit dem Roboter zu verbinden. Also Xun. Jawohl.
Steckt das Kabel zuerst in den Infrarot-Receiver ein.
Der ist genau wie jede andere Komponente,
diese Plattform kann also problemlos erweitert werden.
Schnell in den Stecker D2, wie es die Zeichnung wünscht.
Ein bisschen Tape fixiert das Ganze in einer guten Position,
damit es sich nicht viel bewegt.
Also, jetzt den Roboter programmieren. Wie immer, einfach mit dem PC verbinden, und
das passende Beispiel auf ID heraus suchen, In diesem Fall ist es das sogenannte Fernbedienungs-Beispiel
Nummer 8. Zunächst wird dieses Beispiel als „experimental" eingestuft:
Wir brauchen evtl. eine andere Fernbedienung.
Deshalb nehmen wir lieber eine universelle Fernbedienung, da
diese immer funktioniert und den Sensor erkennt.
Wenn ihr das Beispiel geöffnet habt, erscheint ein Hinweis zu
Ken Sirriff: Er hat uns bei Arduino sehr geholfen, denn er hat
uns das Infrarot-Fernbedienungsverzeichnis hinzugefügt. Xun sorgte dafür, dass es zu dem Roboter passt.
Danach fügten wir die Arduino Robot Library ein und definieren eine Reihe an Infrarot-Befehlen
so könnt ihr einen Befehl als Zahlenreihe lesen Ihr seht schon, jede Reihe ist ein bisschen anders als die
vorherige, denn sie stellen stets verschiedene Befehle der Fernbedienung dar.
Lesen wir jetzt nach oben, unten, links und rechts.
Ihr seht bestimmt schon, dass ihr den Code an manchen Stellen ändern könnt,
z.B. könnt ihr mit „Time out" sehen, wie oft ihr
die Taste drückt.
Dann startet ihr den TFT-Bildschirm und die SD-Speicherkarte,
und ihr seht hier ein sehr, sehr kleines Programm, mit dem wir eigentlich nur prüfen, ob
der Roboter das Signal der Infrarot-Fernbedienung empfängt. Wenn ja, durchlaufen wir verschiedene Befehle.
Die Funktion proccessResult() entscheidet jetzt, ob ihr den Motor
vorwärts, rückwärts, nach links oder nach rechts laufen lasst.
Das -1 und +1 hier sind einfach die Produkte mit dem jeweiligen Faktor,
damit der Roboter nicht zu flott unterwegs ist.
Die Einstellung mit 128 beschreibt die Geschwindigkeit des Roboters. Wenn er schneller sein soll,
könnt ihr z.B. 255 eingeben - dann ist er richtig, richtig flott.
Also, einfach den Code eingeben
und ausprobieren.
Der Roboter ist jetzt programmiert, Xun wird euch jetzt zeigen, wie er funktioniert.
Also, Roboter einschalten und auf eine ebene Fläche heben.
Jetzt können wir ihn mit der Fernbedienung steuern.
Abbiegen, dann rückwärts, wieder vorwärts, und wieder rückwärts.
Der Roboter bewegt sich, so lange wir die Taste der Fernbedienung gedrückt halten.
Das ist so unsere Idee. Die Zeit haben wir in Viertelsekunden unterteilt.
Jede Zeitvariable in dem Code steuert die Bewegung in Vielfachen einer Viertelsekunde.
Das war's für heute, doch bevor wir Massimo das Wort erteilen,
sollten wir das Video noch einmal zusammenfassen. Xun? Jawohl.
Wir haben heute die Räder des Roboters kalibriert, das Logo-Beispiel
abgespielt und die Steuerung via Fernbedienung besprochen.
Ok, das war's für heute aus Schweden. Adjö!!
Ok! Danke David, das war super.
Ich hoffe, es hat euch gefallen, und freue mich schon, euch beim nächsten Video wieder begrüßen zu dürfen!
Vielen Dank.