Roboter in den USA

Ich bin hier gut angekommen. Nachdem die Airline mein Gepäck auf dem Hinweg verloren hatte, hatte ich Angst um meinen Roboter. Jetzt ist der Koffer (und so auch der Bot) wieder da.

Um den Roboter in Betrieb nehmen zu können, brauche ich aber noch ein 12V Netzteil, was ich wegen des Gewichts nicht mitnahm.
Allerdings bin ich nach ein paar Tagen gleich ins Roboterwettkampfteam eingeladen worden, welche einen Roboter für Wettkämpfe bauen. Für dieses Team werde ich jetzt programmieren.

Wettkampfnews und -Ergebnisse werden natürlich auf diesem Blog veröffentlicht.

Roboter im Flugzeug

Ich habe jetzt eine Versandbox, in der ich den Roboter gefahrlos transportieren kann. Ich nehme also den Roboter mit in die USA. Ob oder wie viel ich dort zum weiterentwickeln komme, weis ich nicht nicht. Auf jeden Fall muss ich dort etwas für die schrifftliche Arbeit tun.

20140106-081016.jpg
Der Mast ist eingeklappt, die Räder abgeschraubt.

Eigenes Datenprotokoll

Mir erscheint es sinvoll, für die Verbindung vom Raspberry Pi zum µC ein eigenes Datenübertragungsprotokoll zu entwickeln. Zur Zeit sendet der Microcontroller permanent die Daten des IR Sensors an den Raspi. Wären die Lichtschranken für die Odometriescheiben aktiviert, würden die Daten auch ständig übertagen werden. Auch gibt manchmal der Raspi Motorsteuerbefehle an den µC, manchmal steuert der Controller selber.

Das möchte ich ändern. Ich denke, ich werde eine Master- Slaveverbindung implementieren, bei der der µC dem Raspi nur auf Signal die angeforderten Daten sendet.

So könnte ich dann z.B. auch dem Problem aus dem Weg gehen, dass der Raspi den µC mit Daten „vollgespamt“ hatt. Der µC konnte die vielen Daten nicht so schnell abarbeiten, wie sie gesendet wurden. So holte der µC nach ein paar Minuten nach Start Daten aus der Warteschalnge, die eine Situation von vor einer Sekunde wiederspiegelten.

Allerdings soll der µC sowiso keine Daten mehr bekommen, außer Steuerbefehle für die Motoren.

Robot on the road

Ich habe jetzt das cmps10 Modul auf einer Aluminiumstange 60 cm über dem Roboter montiert. Das ist wegen dem Magnetfeld der Motoren nötig, damit der Kommpas störungsfrei arbeiten kann. Ich kann es jetzt mit dem Raspberry Pi über I2C auslesen und der Kommpass erreicht in meinen Tests meißt eine Genauigkeit von +-1°. IMG_2921Mein Programm lässt den Roboter jetzt -egal wie er am Anfang steht- immer nach norden fahren. Das funktioniert sehr gut. Natürlich benutzt der Roboter dabei seinen (noch) starren IR Sensor, um Hindernissen auszuweichen.

So ist diesess Programm mein erstes für diesen Roboter mit zwei Aufgaben: Der Bot soll nach Norden fahren und die Motoren entsprechend regeln. Bemerkt er ein Hinderniss, soll er diesem ausweichen, danach aber wieder seinem langfristigem Ziel nachgehen.

Schrittmotor

Der schon zu Weihnachten bestellte Schrittmotor ist da. Er soll den Scanner (IR Sensor) meines PML (poor man LIDAR) schwenken. Um den Schrittmotor anzusteueren, muss der µC eine Sequenz von vier Bit ausgeben. Diese Sequenz muss in vier verscheidenen Variationen in der richtigen Reinfolge gesendet werden. Jede Sequentz lösst einen Schritt aus. Schnell wiederholt dreht sich der Motor.

Leider stimmt meine Sequenz noch nicht ganz, wesewegen der Motor bei manchen Schritten vibriert, da im inneren die Spulen gegeneinander arbeiten.