Was ist der Plan?
Wie im vorherigen Beitrag angeschnitten sollte es nun endlich losgehen.
Die Woche nachdem wir uns mit Herr Eschweiler auf einen Teppich den Cozmo Ordnungsgemäß zu befahren hatte einigen konnten,befand dieser sich auch schon bei uns im Informatik-Raum und wartete nurnoch dadrauf als riesiges Projekt für einen Roboter geschrieben zu werden.
Unsere Idee war es (auch wenn diese durchaus sehr aufwendig war, was wir leicht unterschätzten)die Straßen so mit custom_Objects abzustecken,das Cozmo sobald man ihm ein Ziel gab selbständig und fehlerfrei über die Straße fährt,ohne von dieser abzuweichen.
Aber hier gleich auch noch ein paar Bilder zum Verlauf…
Umsetzung
Um das Ziel zu erreichen mussten wir Schritt für Schritt vorgehen.Mit dem Erstellen eines fixed_objects konnten wir lediglich gerade Linien erzeugen,d.h. entlang der Straße immer wieder Geraden setzen,welche den Roboter verhindern abseits der Straße zu fahren.Kritisch zu betrachten waren von vorne rein die Kurven da wir so praktisch mehrere Tangenten setzen mussten(welche sich an die Kurve schmiegen),welches uns verbunden auch im späteren Verlauf als eines der Probleme begnetete.
Aber wie?
Materialien die wir neben dem Grunsätzlichen Equipment von Roboter,Ladestation,2 PC´s, einem Verbindungshandy und dem Teppich selbst brauchten waren:
Geodreieck Explizit zur Winkelmessung der Kurven der Fahrbahn des Teppichs
Beliebiges (aber großes) Lineal Auch wie das Lineal zur Messung der X,Y Koordinaten des Teppichs ,da dieser nicht allzu klein war .
Genug Kraft zum Nachdenken und Nachmessen natürlich auch.
Ablauf?
Hier ein Beispiel Bild eines Methodenblocks des Kreisels und der anliegenden Verbindungen.
Mit c.world.create_custom_fixed_object und den Parametern (x,y)(Winkel) erstellten wir besagte Geraden,wir unterteilten einzelne Abschnitte des Teppichs in einzelne Methoden(zugunsten der Übersichtlichkeit und das wir jederzeit in der Lage waren zu testen falls etwas nicht funktionierte = sparte uns echt einen Haufen Zeit),und obwohl unsere Messungen unseres erachtens nach sehr präzise ware , war es ein
ständiges hin und her.Also immer wieder genauer und genauer Messen, hier neu denken ,da neu denken.
Schlussendlich fassten wir die einzelnen Methoden der Abschnitte natürlich noch in der letzendlich übergeordneten ausführenden Methode auf,welche dann alle Methoden mitsamt aller Geraden aufrief,und dem Cozmo somit einen Plan der Fahrtwege die er so einwandfrei bewältigen konnte übertrieg.
Probleme
Unser erstes Problem welches uns entgegentrat war bedingt durch die Tatsache das wir so unglaublich viele Geraden Erstellen mussten (vorallem mit den ganzen Tangenten der Kurven) das schon nach kurzer Zeit ein riesiger Haufen voller Fixed_objects sich in unseren Projektdateien befand,wo man schnell den Überblick hätte verlieren können.Gut für uns und echt Zeit sparend war das wir von Beginn an ein System zur sinnvollen Ordnung der Geraden aufstellten ,entlang welchem wir uns doch nicht ganz im Methodensalat verloren,bzw. wenigstens eine Orientierung in diesem hatten.
Bedingt jedoch auch durch das Problem vieler Geraden (Gerade in den Kurven und im extrem aufwendigen Kreisverkehr) durften die von uns erstellten Geraden jedoch auch fast keinen Millimeter zu lang sein,sofern sich ihr Richtungsvektor mit der Fahrbahn kreuzen könnte,da sonst Cozmo denkt :,,hmh das Objekt ist auf meiner sonstigen Fahrstrecke, ich mache jetzt garnichts“ und dann heißts neu messen.An sich kein Problem schneidet sich jedoch eine spätere Gerade doch irgendwo anders noch mit einer vorherhigen oder man erstellt mehrere Geraden ohne jede einzelt zu testen und es geht etwas aufeinmal nicht sitzt man dann da und probiert mit all seiner Kraft den Fehler zu finden.
Auch fehlte uns leider ein Plug-in , welches uns sonst eben diese Arbeit deutlich vereinfacht hätte,da man mit diesem die erstellten Objecte Cozmos hätte einsehen können , also an welchem Punkt und mit welcher Länge sie sich befinden,aber wir schafften das auch so!
Bewertung des Projekts/Bedeutung?
Klar könnte die uninteressierte Person XY dieses ganze Projekt und den damit verbundenen Aufwand für übertrieben und unrelevant halten, ich persönlich fand aber das dies eine gute Auswahl des Projekt war, da selbst ein so kleiner Robotor aufzeigt das autonomes fahren letzendlich durch gegebenen Code ,Sensoren etc. durchaus realisierbar ist.Klar handelte es sich hierbei auch um ein riesen Projekt welches zweifelsfrei mit viel Bemühung/Aufwand verbunden war, und es ist zum jetzigen Zeitpunkt auch nicht zu 100% fertig , der Cozmo kann jedoch schon einen großen Teil selber fahren und wir sind motiviert dies zu vervollständigen.
Fragen?Gerne <a href=“mailto:l.milhan@hotmail.com“>Hier klicken</a> und mich jederzeit kontaktieren!
Zurück zur Übersicht <a href=“http://www.lessing-gymnasium.eu/robotik/blog-8/“>Drück mich!</a>