Rolli der Kampfroboter | Josefine

Hallo :] mein Name ist Josefine und ich werde euch zeigen, was wir dieses Jahr im Robotik Kurs gemacht haben, naja also zumindest den Mechanischen Teil von Alex und meinem Projekt.

 

Einleitung:

Alex und meine ursprüngliche Idee war es, einen Roboter zu bauen, der die Figuren auf einem Schachbrett bewegt. Dazu hätten wir ein digitales Schachbrett erstellt, wo zwei Spieler spielen können, und der Roboter hätte ihre Bewegungen auf einem physischen Schachbrett nachgeahmt. In dem Projekt hat Alex sich um die Hardware, also dem physischen Teil gekümmert und ich mich um den Code. Wir haben aber irgendwann gemerkt, dass das nicht funktionieren würde. Also haben wir uns kurzerhand entschlossen, das Projekt über Bord zu werfen und etwas Neues anzufangen. Zu unserem Glück hat sich eine andere Gruppe zur selben Zeit aufgeteilt und dadurch kam unsere Idee, denn was ist besser als zwei Gruppen die Roboter gegeneinander kämpfen lassen?

Dieses Mal haben wir allerdings die Rollen getauscht und ich habe mich um unsere Hardware gekümmert. Diese werde ich euch nun Vorstellen :]

Da das benutzte Lego uns von der Schule zur Verfügung gestellt wurde hatten wir natürlich einige Beschränkungen, die vor allem bei der Wahl der Waffe bemerkbar waren. Wir haben uns entschieden eine Rampe zu Bauen, die unsere Gegner ein Stück vom Boden hebt und dann aus der Arena trägt.

 

Das Gehirn:

Alle Prozesse und Daten werden im sogenannten Ev3 Brick gespeichert und ausgeführt. Er ist der Grundbaustein für einen Roboter, hier werden Situationen erkannt, und demnach gehandelt. Das Ganze funktioniert natürlich nicht einfach so, sondern man füttert den Brick mit einem Haufen Code, der dann ausgeführt wird. Der Brick hat jeweils 4 Ports für Sensoren und Motoren. Standardmäßig programmiert man den Brick mit Java, wir haben uns aber entschlossen Micro Python auf den Brick zu laden, was einige Probleme mit sich gebracht hat, aber dazu später mehr.

 

Die Augen:

Zunächst brauchten wir eine Möglichkeit, festzustellen, wo unser Gegner ist. Die Ev3s besitzen ein Messgerät mit dem Namen Ultrasonic Sensor dieser kann eine Entfernung von 0 bis 255 cm messen. Es reicht jedoch nicht diesen Statisch zu platzieren, weil man so keine 360° Sicht hat und sich die Möglichkeit nimmt sich während des Fahrens umzuschauen. Glücklicherweise haben wir einen Drehkranz gefunden, der dieses Problem löst. Der Drehkranz besteht aus 2 Zahnrädern, die zwar verbunden, aber nicht voneinander abhängig sind. Der graue Teil wurde auf unseren Brick gebaut, der Sensor auf den schwarzen Teil. Mit einem Motor kann man den schwarzen Teil und somit den Sensor drehen, ohne dass der ganze Roboter sich dreht.

 

 

Die Beine:

Um unseren Roboter zu Bewegen haben wir 2 Gummiräder mit Motoren verwendet. Wir mussten uns leider auf 2 Räder beschränken, da man an einen Brick nur 4 Motoren anschließen kann und wir einen schon für die Augen brauchen. Als Stütze dient ein Teil der Rampe, da dies mehr Stabilität brachte als eine Rolle.

 

Die Rampe:

Um die Rampe anzuheben und zu senken, haben wir einen Kolben verwendet, der den letzten Motor Port einnimmt. Dran ist eine Querstrebe befestigt, die sich Waagerecht bewegen kann. Um diese die Bewegung Senkrecht zu machen, ist zwischen der Rampe und der Querstrebe auf beiden Seiten ein Legostück mit Gelenken angebracht. Die Rampe selbst ist ebenfalls mit einem Gelenk an unserem Roboter befestigt, was dafür sorgt, dass die Rampe beim Ausfahren des Kolbens nach oben gedrückt wird.

 

Die Probleme:

Micro Python:

Da die Roboter standartmäßig in Java programmiert werden, mussten wir Python erstmal mit unserem Roboter kompatibel machen. Aber warum überhaupt die ganze Arbeit? Wir wollten lieber Python nehmen, da es zwar viele Gemeinsamkeiten mit Java hat aber viel Benutzerfreundlicher ist. Glücklicherweise gibt es auch eine Möglichkeit das recht einfach zu machen, dachten wir zumindest. Wir haben eine Anleitung gefunden, und die Stritte befolgt, da wir eine SD-Karte neu formatieren mussten und den Code der vorherigen Gruppe nicht zerstören wollten, habe ich eine eigen 32 GB (maximal Größe laut Anleitung) SD-Karte mitgebracht. Es wirkte auch zunächst so als ob alles funktioniert hätte, bis wir uns von dem Verbindungskabel zwischen Computer und Roboter losreißen wollten, da es immer in den Weg gekommen ist. Das ist eigentlich kein Problem, weil man den Code auf der SD-Karte speichern und dann von dort aus laufen lassen kann. Auch das sollte kein Problem sein, weil die Ev3s Bluetooth haben und man darüber den code auf den Brick übertragen kann, aber es hat bei uns nicht funktioniert. Wir haben also einfach die Karte neu geflasht, nichts passiert… nach weiteren erfolglosen Versuchen haben wir es doch mit der anderen SD-Karte probiert. Es hat funktioniert! Aber warum? Meine SD-Karte war nicht kaputt, sie hat ja auch schon mit dem Kabel funktioniert. Die einzige Möglichkeit, die wir sehen ist der Speicherplatz, denn die Karte, die vorher drinsteckte, war nur 16 GB groß. Ob es tatsächlich daran lag, ist schwer vorstellbar, aber wir wüssten nicht, woran es sonst gelegen haben sollte.

Stabilität:

Die Vorherige Version unseres Roboters hatte einige Fehler, die die Stabilität sehr beeinträchtigt haben. Die Motoren kompakt anzubringen ist recht schwierig, da die Form sowie die Löcher zur Befestigung sehr limitierte Möglichkeiten bringen. Da wir die Augen auch noch anbringen mussten, hatten wir noch mehr Einschränkungen, wodurch wir die Motoren zuerst diagonal angebracht haben, aber dadurch Stützen bauen mussten, damit der Roboter parallel zum Boden guckt. Dadurch haben wir aber zu viel Stabilität verloren und uns somit entschieden die Motoren an der Erweiterung zu befestigen, was uns hierhin geführt hat:

Zwar ist der Roboter dadurch sehr viel stabiler geworden, die Rampe hatte nun aber das gleiche Problem. Als Lösung haben wir die Achse am Kolben durch eine selbst Gebaute Querstrebe ersetzt und diese dann als Auflage Fläche anstelle des Stützrads genutzt, was nicht nur der Rampe, sondern auch dem Roboter mehr Stabilität gab. Unser Endprodukt sieht jetzt so aus:

 

P.S.: Rolli hat seinen Namen von Jean bekommen, weil er festgestellt hat, dass der Roboter aussieht wie ein Rollstuhl. Kurzzeitig hatte Rolli „Arme“ an den Rädern, die sich bewegt haben wenn er gefahren ist, aber die haben leider seine Sicht blockiert, weshalb ich sie wieder entfernen musste :[