ROS auf dem Raspberry Pi – Teil 1

Nun ist es also soweit: Nach viel Zeit mit dem Lesen von Büchern – ja, echten Büchern aus Papier – und dem Stöbern in sehr vielen Online-Tutorials und sonstigen Webseiten, habe ich endlich das Robot Operating System (ROS) auf einem Raspberry Pi 3 zum Laufen bekommen. Hier werde ich nun erklären, bzw. eine Art Anleitung schreiben, wie das funktioniert. Außerdem zeige ich meine ROS-Programme , die meinen selbstgebauten Roboter minibot steuern oder einfach nur eine LED ansteuern („ROS LED Blinky“).

ROS auf dem Raspberry Pi – Teil 1 weiterlesen

[137 Aufrufe]

Spannungsmessung mit AD-Wandler am Raspberry Pi

Damit das für den minibot angeschaffte OLED-Display auch einen vernünftigen Nutzen hat, soll es unter anderem für die Überwachung der Akku-Spannung genutzt werden. Dazu sind drei Schritte notwendig: Spannungsmessung mit AD-Wandler am Raspberry Pi weiterlesen

[76 Aufrufe]

Ansteuerung eines OLED-Displays via I2C

Ich finde ja, ein Roboter der etwas auf sich hält, benötigt ein Display. :) Nicht nur, dass es „was hermacht“, es ist auch hervorragend zum Anzeigen wichtiger Informationen oder zum Debuggen hilfreich.

Der Einfachheit halber entschied ich mich beim minibot für ein kleines und günstiges OLED-Display, welches via I2C angesteuert wird. Damit kann es sehr einfach für einen Raspberry Pi, als auch für einen Arduino genutzt werden. Die Auflösung des LCD beträgt 128×64 Pixel und es ist ganze 0,96″ groß – für meine Zwecke aber völlig ausreichend.

Es ist übrigens ein grafisches Display. Das bedeutet, man kann nicht nur Text, sondern auch Bilder anzeigen oder selbst Linien, Kreise etc. zeichnen. Für diesen Zweck gibt es zwei fertige Bibliotheken, für die Adafruit mal wieder ganze Arbeit geleistet hat!

Besser wäre es gewesen, ein Original Adafruit-Display zu kaufen, denn diese stellen mal wieder eine super Anleitung zur Ansteuerung zur Verfügung.

Und das Ganze hat dann auch mal auf Anhieb funktioniert – sogar mit eigenem Font:

minibot - hello world
minibot – hello world

 

[26 Aufrufe]

Debugging minibot

Manchmal sieht etwas so einfach aus: Schaltplan skizzieren, alles aufbauen und los geht’s. Das dachte ich auch bei meinem neuen Roboter dem minibot. Aber leider bewegten sich die Motoren meines kleinen Bots kein Stück.

Lange suchte ich den Fehler in der neu erstellten Test-Software, die ich (erstmals) in Python programmierte. Insbesondere, da das Monster Moto Shield zur Geschwindigkeitsregelung der Motoren PWM (Pulsweitenmodulation) benötigt. Diese wird mit dem verwendeten Python-Modul GPIO per Software erzeugt. Zum Mitmachen und Suchen des Fehlers hier einmal der verwendete Sourcecode:

Debugging minibot weiterlesen

[60 Aufrufe]

Abschluss der Verkabelung des minibot

Wie gestern auf Twitter angekündigt, ging es weiter mit der Verkabelung meines neuen minibot. Und das konnte endlich abgeschlossen werden! Der aktuelle Stand soll natürlich wie immer hier dokumentiert werden. Und warum mich ein Nicht-Rastermaß sehr genervt hat, sieht man auch später. Aber der Reihe nach.

Zwei Schaltregler - leider unterschiedlich groß
Zwei Schaltregler – leider unterschiedlich groß

Abschluss der Verkabelung des minibot weiterlesen

[81 Aufrufe]

Neues Jahr, neuer Bot – minibot

Ja, wie das so mit Nachwuchs ist. Man findet erst mal weniger Zeit, für sich und seine Hobbys. Darunter leidet leider auch diese Seite etwas, weil die Prioritäten (hobbymäßig) auf meinen Podcasts Robotiklabor und Reich & Knapp liegen.

Nun war es mit dem letzten Bot irgendwie nicht so richtig weitergegangen und er war ja nun auch wieder etwas groß geraten. Außerdem wollte ich mich bereits seit langer Zeit an ROS (Robot Operating System) wagen.
Der Focus wandert also aktuell etwas weg vom Hardwaredesign, hin zu einer Arbeit bzw. Umsetzung mit bereits existierenden Software-Bibliotheken/-Komponenten. Und mit ROS muss man das Rad nicht komplett neu erfinden, so wie ich es aus Neugierde und Spaß mit der bisherigen direcs-Software bisher tat. Mit allen Vor- und Nachteilen, die letzteres so mit sich brachte.

Ich habe mich nun also in 2017 für ein sehr kleine, fertige Fahr-Plattform entschieden, den RP6 von Conrad – allerdings nur für das nackte Fahrgestell.

Oben drauf soll eine einfach Platine zur Verkabelung und Montage der Sensoren und Elektronik montiert werden. Zur Verwendung kommen voraussichtlich folgende Komponenten

  1. Ein Raspberry Pi („Raspi“) – das Hirn des Roboter.
  2. Ein Hokuyo URG-04LX-UG01 Laserscanner – der vorerst einzige Sensor des Roboters.
  3. Ein Sparkfun Monster MotoShield – zur Ansteuerung der beiden Motoren.
  4. Update: Ein Adafruit DC & Stepper Motor HAT for Raspberry Pi – Mini Kit – zur Ansteuerung der Motoren per I2C.
  5. Ein 0815-Schaltregler – zur Erzeugung der notwendigen 5V-Spannung für den Raspi.
  6. Ein Akku – die Stromversorgung für den Roboter.

Ach ja, heißen soll der Roboter – wie immer sehr kreativ ;) – „minibot„.

Wie das Ganze bisher aussieht? Hier wie immer die aktuellen Fotos. Ich bin gespannt über euer Feedback!

minibot mit Schrauben als Platinenhalter
minibot mit Schrauben als Platinenhalter

Neues Jahr, neuer Bot – minibot weiterlesen

[113 Aufrufe]