RoboCup Junior 2017 Nagoya – Bericht 2. Wettkampftag

28.07.2017, 2. Wettkampftag

Der 2. Wettkampftag startete mit dem Spiel gegen Japan um 10:10 Uhr. Die erste Hälfte gegen das Heimteam war sehr ausgeglichen und eines der schönsten Spiele, die Helveticrobot je gespielt hat. Wir führten zwischenzeitlich sogar mit 5 zu 4. In der zweiten Spielhälfte zeigte sich jedoch die Bau- und Programmierkunst der Japaner und sie siegten mit 10 zu 5. Obwohl wir das Spiel verloren hatten, waren wir aber dennoch glücklich so ein schönes Spiel gesehen zu haben. Frohen Mutes machten wir uns an die Arbeit, denn es waren trotz dem schönen Spiel einige noch verbesserungswürdige Sachen aufgefallen. So drehte zum Beispiel die Dribblerrolle durch, die Roboter fuhren noch immer aufs Tor und der Torhüter verbrachte seine Zeit lieber beim gegnerischen Tor als beim eigenen.

Unser Roboter kurz vor dem Anspiel

Unser Roboter kurz vor dem Anspiel

Stolz auf unser Spiel gegen Japan! von l. nach r.: Jan Puntschart, Curdin Steinauer, Gian Flurin Beart, Andrea Cavelti, unsere Gegner aus Japan

Stolz auf unser Spiel gegen Japan!
von l. nach r.: Jan Puntschart, Curdin Steinauer, Gian Flurin Beart, Andrea Cavelti, unsere Gegner aus Japan

Um 13:40 Uhr dann das grosse Desaster. Das Spiel gegen unsere SuperTeam Kameradeninnen von Singapur stand an. Wir waren uns ziemlich sicher, dass wir dieses Spiel gewinnen konnten und auch werden. Leider verhing sich aber ein Kabel in den Zahnrädern des Dribblers. So konnte unser Stürmer nicht mehr dribbeln. Beim Versuch die Zahnräder von den Kabeln zu befreien schoss Singapur 10 Tore und so verloren wir das Spiel automatisch mit 10 zu 0. Niedergeschlagen und enttäuscht gingen wir dann etwas essen um danach mit neuen Ideen weiterzuarbeiten.

Viel Zeit blieb leider nicht. Um 15:40 hatten wir bereits das zweite Superspiel (Spiel der SuperTeams). Leider haben wir auch dieses Spiel verloren. Dafür haben wir etwas Wichtiges erkannt: Unser Roboter sah die Linien sehr gut und fuhr fast nie aus dem Spielfeld. Leider bemerkten wir auch dass unsere Roboter den Ball immer schlechter sahen. Das war wohl das grösste Problem welches wir hatten und daran mussten wir arbeiten. Ausserdem war der Torhüter immer noch nicht perfekt, deshalb arbeiteten wir auch bei ihm weiter.

Am Ende des 2. Wettkampftages liegen wir auf dem 15. Zwischenrang. Da wir noch drei Spiele haben, ist jedoch noch einiges möglich.

Am Abend hatten wir dann noch ein sehr lustiges Abendessen mit vielen Fotos und Zeichensprache, da die Kellnerinnen fast kein Englisch konnten. Am Schluss erschienen wir auf der Facebookseite des Restaurants als Touristen aus Schweden, aber das kennen wir Schweizer ja.

Ein lustiger und schöner Abschluss des 2. Wettkampftages

Ein lustiger und schöner Abschluss des 2. Wettkampftages

RoboCup Junior 2017 Nagoya – Bericht Setupday + 1. Wettkampftag

26.07.2017, Setupday

Nach einer langen Reise (6 Stunden Flug von Zürich nach Dubai, danach 9 Stunden von Dubai nach Tokyo und zuletzt eine zweistündige Zugfahrt von Tokyo nach Nagoya) sind wir am Abend des 25. Juli in unserem Hotel angekommen. Nach ein bisschen Schlaf und einer weiteren Zugfahrt standen wir um 09:00 Uhr müde aber voller Vorfreude vor den Türen der Wettkampfhallen im Hafen von Nagoya. Voller Zuversicht, dieses Jahr besser abzuschneiden als letztes Jahr, holten wir unsere Wettkampfausweise ab und bezogen unseren Arbeitstisch, an welchem wir die nächsten 4-5 Tage verbringen werden. Nach einem kurzen Check der Roboter machten wir uns auch direkt an die Arbeit.

Am ersten Tag, dem Setupday, finden zwar keine Wettkämpfe statt, jedoch ist es eine prima Gelegenheit die Roboter auf den richtigen Spielfeldern zu testen und allfällige Fehler zu korrigieren. Ausserdem fand an diesem Tag auch das Teamwork-Interview statt, an welchem, wie der Name bereit sagt, die Zusammenarbeit im Team bewertet wird. Dieses Interview fand für uns um 12:00 Uhr statt. Zu allererst bekamen wir die Aufgabe, mit vier A4 Blättern, fünf Stücken Klebestreifen drei Murmeln so lange wie möglich in Bewegung zu halten. Dafür hatten wir fünf Minuten Zeit. Danach hatten wir 10 Minuten Zeit unsere Roboter in irgendeiner Weise zu präsentieren. Zum Schluss haben sie uns noch drei spezifische Fragen gestellt, welche nur einer des Teams beantworten durfte. Unserer Meinung nach lief das Interview gut und deshalb gingen wir danach auch erstmal etwas essen. Da wir die Karte nicht lesen konnten, haben wir einfach irgendwas bestellt und danach mit Stäbchen aufgegessen. Essen mit Stäbchen müssen wir alle auf jeden Fall noch üben.

Nach dem Essen ging die Fehler- und Lösungssuche dann weiter. Wir haben Zahnräder ausgetauscht, Linien- und Infrarotsensoren getestet und noch vieles mehr. Kurz nach 20:00 Uhr sind wir dann aus den Hallen geschickt worden. Nachdem wir die Sachen ins Hotel getan haben, waren wir noch etwas essen um dann gestärkt ins Bett zu gehen.

DSC_0012DSC_0019

27.07.2017, 1. Wettkampftag

Nach einem stärkenden Frühstück um 7:00 Uhr sind wir heute ein bisschen früher bei der Weltmeisterschaft angekommen, denn vor dem ersten Spiel um 10:10 Uhr mussten noch einige Dinge getan werden. So wurden zum Beispiel die Sponsoren endgültig an den Hüllen befestigt, Dribblerrollen ausgetauscht und noch einiges mehr. Das erste Spiel gegen Brasilien haben wir 5:0 gewonnen. Leider war nach dem ersten Spiel aber klar, dass wir noch viel zu tun haben. Vor allem bei der Linienerkennung gab es noch viel Luft nach oben. Weil man jedes Mal wenn der Roboter die Grenzlinien übertritt, ihn für eine Minute aus dem Spiel nehmen muss, war das auch unser grösstes Problem. Man kann schliesslich keine Tore schiessen, wenn man keine Roboter auf dem Spielfeld hat.

Das zweite Spiel fand um 13:40 statt und wir mussten gegen Kroatien antreten. Dieses Spiel hatte gar nicht gut angefangen. Der Gegner hatte zwar auch nicht voll funktionierende Roboter, trotzdem führten sie mit 6:1 zur Pause. In der zweiten Hälfte kehrte das Glück jedoch zu uns zurück. Die Kroaten mussten ihre Roboter immer wieder wegen Beschädigungen aus dem Spiel nehmen und so konnten wir Tore erzielen. Am Ende haben wir doch noch ein Unentschieden herausgeholt, das Spiel endete mit 6:6.

Nach einer Stärkung ging es dann mit dem ersten Superteam-Spiel weiter. In diesem Jahr spielen wir mit Italien, Slowenien, Singapur und Russland auf einem grossen Spielfeld gegen andere zusammengewürfelte Superteams. Bei diesen Spielen darf jedes Teammitglied (jedes Land) einen Roboter ins Spielfeld setzen. Dabei ist es egal, ob man mit fünf Stürmern oder mit fünf Torhütern spielt. Dieses erste Spiel lief allerdings nicht so toll. Unser Roboter hat zwar die Linien erkannt, den Ball jedoch nicht. Die Ballsensoren funktionierten um einiges schlechter als noch in Chur. Der Roboter sah deshalb zufällig Bälle, welche gar nicht existierten und kreiselte so während des ganzen Spiels übers Spielfeld. Unser Superteam hat 7:1 verloren.

Wir hatten also 2 Roboter. Der eine konnte Linien erkennen und der andere sah den Ball, doch keiner konnte beides. Dies galt es zu ändern und so arbeiteten wir weiter. Gegen Abend hatten wir dann einen gut und einen teilweise funktionierenden Roboter. Mit wiederkehrender Hoffnung verliessen wir dann die Hallen und gingen zurück ins Hotel.

DSC_0165

Ein Unentschieden gegen Kroation. Beide Teams können mit dem 6:6 leben.

Ein Unentschieden gegen Kroation. Beide Teams können mit dem 6:6 leben.

Mai 2017, WM-Team: Die Teilnahme am Wettbewerb in Japan ist nun sicher!

Software

Letzten Monat haben wir die Ballerkennung weiter verbessert. Der Roboter kann jetzt den Ball auf dem ganzen Spielfeld finden und ihn schnell und auch relativ genau anfahren. Allerdings übersteuert der Roboter noch ein wenig.

Auch an der Linienerkennung haben wir weiter gearbeitet. Sie funktioniert nun meistens sehr zuverlässig. Es kommt aber auch vor, dass sich der Roboter beim Ausweichen dreht und anschliessend über die Linie fährt.

Auch die Ballfolge funktioniert nun sehr gut, sodass wir schnell herumfahren können, ohne die Kontrolle über den Ball zu verlieren.

Elektronik

Die Ballsensorenboars funktionieren schon besser. Das Rauschen ist nicht mehr so schlimm, es stört also nicht mehr. Die Ballsensorboards funktionieren jetzt sowohl mit den alten OpAmps als auch mit den neuen 250MHz OpAmps. Ich habe die Ballsoensorboards mithilfe des Programms DV, welches Andrea geschrieben hat, getestet. Bei einigen Boards funktionierten nicht alle Sensoren, das lag jedoch daran, dass einige Lötstellen keinen guten Kontakt hatten. Das konnte ich schnell beheben und so funktioniert jetzt auch die Ballfolge. Dann habe ich noch bei dem Kicker dafür gesorgt, dass er funktioniert. Dafür habe ich einen Mosfet angelötet. Ausserdem habe ich noch einige Kabel gemacht und für Reservenboards gesorgt.

Mechanik 

Im Mai war der bisher stressigste Monat, denn bis am 20. mussten noch einige Dinge getan werden. Ich habe den ersten Roboter komplett fertiggestellt und den zweiten mechanisch fertiggemacht. Da die Kunststoffschrauben Anfang des Monats Mai angekommen sind, konnte ich diese auch direkt benutzen und ich stelle eine enorme Verbesserung zu den vorherigen Schrauben fest, und zwar nicht im Gewicht, welches sich nur leicht verbessert hat, sondern vor allem in der Stabilität. Die grössere Länge der Schrauben lohnt sich auf jeden Fall.

Ausserdem habe ich noch die Hüllen fertiggestellt. Diese werden per Klettsystem an den beiden unteren Ebenen der Roboter festgemacht.

Nach dem 20. Mai steht es jetzt fest: Wir reisen tatsächlich an die Weltmeisterschaft nach Nagoya/Japan. Doch das bedeutet auch weitere Arbeit für uns. Im nächsten Monat gibt es deshalb noch einige Verbesserungen vorzunehmen und die eine oder andere Sache von unserer Liste zu streichen, bevor wir endgültig für unseren diesjährigen ersten Wettbewerb bereit sind.

April 2017, WM-Team: Kaputte Sensoren und trotzdem Fortschritte!

Software

Letzten Monat hatten wir die Probleme für die schlechte Ballerkennung erkannt. Deshalb mussten wir das Ziel mehr ADC Messungen in weniger Zeit bewerkstelligen. Dies konnten wir erreichen, indem wir die Einstellungen des ADC angepasst hatten. Bisher mass das ADC einmal und wartete bis wir die nächste Auslesung starten, nun ist es im Freerunning-Mode, welches bedeutet, dass das ADC laufend neue Werte ohne Unterbrechungen misst. Somit konnten wir die anfänglichen 15 Messungen auf 600 erhöhen. Dadurch sind wir nun in der Lage jeder einzelne Puls des Balles zu erkennen. Zusätzlich ist das Rauschen der Sensoren so minimal, dass wird den Ball bis etwa 10 Meter Entfernung erkennen können. Leider mussten wir auch feststellen, dass einige einzelne Sensoren kaputt sind und deshalb können wir Momentan noch nicht einen allzu genauen Winkel messen.

Das Programm der Liniensensoren haben wir umgeschrieben, damit alle rohen Messwerte auch von dem Mainboard auslesen können. Dadurch erhoffen wir uns, dass das Testen während des Wettbewerbs viel einfacher wird und wir auch nicht den Roboter öffnen müssen, wenn wir irgendwelche Softwareeinstellungen der Liniensensoren anpassen müssen.

Elektronik

Wir haben gemerkt, dass die Signale, die die Ballsensorboards empfangen, rauschen. Das könnte unter anderem daran liegen, dass die Op Amps nur für 1MHz ausgerichtet sind und das zu langsam ist. Wir haben ausserdem auch verschiedene Wiederstände bei den Photodioden ausprobiert. Zuerst waren 2MOhm Widerstände angelötet. Dann haben wir es mit 3MOhm und mit 5MOhm Widerstände versucht. Das hat nicht viel gebracht, deshalb nehmen wir weiterhin 2MOhm Widerstände. Das Problem ist, dass wir eine Referenzspannung an einem Pin benötigen, an dem ein Sensor ist. Deshalb muss ich jetzt diesen Sensor mithilfe eines Drahtes mit dem Prozessor verbinden und die Referenzspannung 3.3 V mit der Leiterbahn des Sensors. Ich habe OpAmps mit 250MHz Frequenz bestellt und sie angelötet. Wir wissen jedoch noch nicht genau, ob sie besser als die Alten funktionieren.

Mechanik

Am 8. April haben wir mit einigen ehemaligen Mitgliedern das zweite Review veranstaltet. Das WM-Team und Juniorteam sollte dadurch die Gelegenheit haben, den Älteren ihre Fortschritte, aber auch ihre Probleme zu zeigen und vielleicht dadurch Lösungen für diese Probleme herauszufinden. Da es beim WM-Team nicht ganz so gut aussah, haben wir uns entschieden, nicht am Austrian Open in Weiz/Österreich teilzunehmen. Ich als Mechaniker habe da einige Aufgaben bekommen. So sollte ich zum Beispiel die Gewinde der einzelnen Halterungen nochmals neu machen, den ersten Roboter nochmal komplett von Neuem beginnen und auch endlich die Kunststoffschrauben bestellen. Ausserdem sollte ich auch noch eine thermoplastische Platte für die Hülle bestellen. Der Roboter sollte auch stabiler werden, und zwar auf eine ganz bestimmte Person bezogen, nämlich Stefan.

Die beiden Bestellungen konnte ich in Auftrag geben und die thermoplastische Platte ist da auch schon bald angekommen. Leider hatte ich aber noch keine Zeit die Hüllen fertigzustellen. Die Kunststoffschrauben brauchten länger, denn Ende April waren sie noch immer nicht bei mir zu Hause angekommen. Da ich nebenbei noch mit meiner Maturaarbeit beschäftigt bin, kam ich nicht dazu noch andere Sachen für Helveticrobot zu erledigen.

Auf jeden Fall sollten die Roboter bis am 20. Mai fertig sein, denn da wird entschieden, ob wir nach Japan fliegen oder nicht.

 

Wettbewerb: Austrian Open 2017; Challenge-Team

Unser Nachwuchsteam konnte sich vom 21 bis 22 April mit internationaler Konkurrenz messen. Sie haben sich in weniger als einem halben Jahr darauf vorbereitet und konnten nun ihr erlerntes Wissen anwenden und ihr Können zum Vorschein bringen. So haben sie den ganzen Wettbewerb empfunden:

Das Team (v.l.n.r.): Claudio Nold, Alex Marugg, Gian-Reto Hemmi

Nach einem stärkendem Frühstück sind wir auch schon am Austrian Open  angekommen und konnten uns gleich an unserem Platz einrichten. Wir haben für alle Fälle fast die komplette Werkstatt mitgenommen. Dort eingerichtet ging es auch schon los. Wir konnten unseren Roboter in der Test-Arena testen und haben dabei kleinere Fehler bemerkt, welche uns vorher nie aufgefallen sind. Es sind kleinere Probleme in der Software aufgetreten, welche wir versuchten zu lösen. Bei der Problembehebung merkten wir, dass einzelne Lötstellen weniger gut gelötet wurden. Diese mussten wir erneuern. Wir haben unser Bestes gegeben, um diese Probleme zu lösen. Durch einen Bug gelang es uns nicht die Farbsensoren richtig einstellen zu können, da wir unter Zeitdruck lagen und der erste Wertungslauf auch schon vor der Tür stand. Dieser Wertungslauf ging absolut in die Hose. Danach hatten wir noch ein bisschen mehr als eine Stunde Zeit bis zum zweiten Wertungslauf. Wir gaben aber mit der Hoffnung nicht auf, da sowieso nur di zwei besten Läufe gezählt werden. Der zweite Wertungslauf war schon besser, verlief aber leider auch nicht wunschgemäss.

IMG_1512

Das Team bei der Arbeit

Die Niederlage schmetterten wir aber gleich wieder weg und durch aufmunternde Worte unserer Coachs hatten wir neue Energie und Willensstärke getankt. Wir verbrachten den restlichen Nachmittag und den ganzen Abend damit die Roboter zu reparieren und sie wieder auf Vordermann zu bringen. Wir konzentrierten uns vor allem auf die Linienfolge, da diese immer wieder andere Schwierigkeiten aufweist, wie zum Beispiel das Umfahren von Gegenständen oder durch Unterbrechungen gezeichnete Linie. Durch die harte Arbeit und unser Zusammenhalt konnten wir den letzten Lauf meistern. Es war ein Erfolgserlebnis für uns und wir waren sehr glücklich, dass es doch geklappt hat. Wir platzierten uns zwar nur im dritten Viertel der Rangliste, konnten aber viel Erfahrung mitnehmen, wie es unter realistischen Bedingungen ablaufen kann. Eine uns wichtige Erkenntnis war es, sich besser über den genauen Aufbau der Spielfelder zu informieren. Wir freuen uns auf die nächste Challenge.

 

IMG_1546

 

Eine intensive Besprechung um den Roboter

März 2017, WM-Team: Probleme bei der Distanzerkennung

Software

Nachdem wir im Februar den I2C-Fehler beheben konnten, stellten wir fest, dass die Positionserkennung des Balls nicht richtig funktionierte. Nach langwierigem Debugging konnten wir einen Fehler finden. Die Referenzspannung für den ADC war zu niedrig, sodass der ADC nur extrem hohe, oder extrem tiefe Werte ausgab und die Distanzumrechnung so verfälscht wurde. Nachdem wir die Referenzspannung angepasst hatten, funktionierte die Distanzerkennung immer noch nicht. Zwar konnte man die ungefähre Distanz des Balles erkennen, doch waren die Werte extrem ungenau, was dazu führte, dass der Roboter die Position des Balles überhaupt nicht einordnen konnte. Dies liegt daran, dass der ADC nicht immer alle Signale eines Pulses erkennt und sich die Infrarotlichteinstrahlung stark mit der Orientierung des Balls ändert, auch wenn dieser an derselben Stelle ist. Wir haben dann die Anzahl Samples erhöht. Jetzt konnten wir den Ball endlich einigermassen gut erkennen, auch wenn die Messung immer noch etwas ungenau war. Doch dabei stellte sich aber auch schon das nächste Problem. Aufgrund der hohen Anzahl Samples wurde das ganze Programm sehr langsam. Wir werden jetzt aber neue op-amps kaufen, die wesentlich schneller sind. Wir hoffen, dass wir so die Anzahl Samples verringern können, ohne Einbusse bei der Genauigkeit zu erfahren.

Elektronik

Ich habe das Mainboard zusammengelötet und je ein Ballsensorboard die Slaves rechts und links, wie auch ein Master-Ballsensorboard. Die Ballsensorboards funktionieren ohne Probleme. Bei dem Mainboard hat es einige Probleme gegeben. Man konnte es zwar programmieren, doch es hat das Programm nicht ausgeführt. Ausserdem war der Flash Erase immer auf 1V. Wir haben es mit anderen Pulldown Widerständen versucht, doch schlussendlich hat sich herausgestellt, dass das Board Lötfehler hatte. Als diese behoben wurden funktionierte es.

unnamed

Mechanik

Im Monat März habe ich den zweiten Roboter zusammengebaut. Das ist zugleich das Einzige, was ich mechanisch an den Robotern gemacht habe, denn in diesem Monat standen vor allem administrative Dinge auf dem Plan. So habe ich überprüft, ob wir noch Zahnräder haben und die Richtigen rausgesucht. Ich muss jetzt nur noch schauen, ob wir allenfalls noch vor dem Austrian Open welche ausdrucken wollen, denn der Lasercutter wird bis nach den Frühlingsferien repariert. Wir werden aber wahrscheinlich einfach ein paar Alte benutzen.

Ausserdem habe ich mich weiter über Kunststoffschrauben informiert und viele weitere gefunden, welche mich aber noch immer nicht zufrieden stellen. Da ich aber keine Zeit zum Suchen mehr habe, werde ich wahrscheinlich einfach diese bestellen.

Mit der Hüllensuche habe ich auch begonnen und diese auch fast abgeschlossen. Ich muss nur noch die letzten Dinge, wie zum Beispiel die Dicke der thermoplastischen Platte, klären, werde aber diese auch ziemlich schnell mit den Kunststoffschrauben zusammen bestellen.

Leider bin ich nicht dazu gekommen Ersatzteile auszuschneiden. Das werde ich im April nachholen.

März 2017, Challenge-Team: Zusammenspiel zwischen Elektronik und Mechanik funktioniert einwandfrei

Software

Diesen Monat habe ich noch ein, zwei kleine Verbesserungen am Programm für die Linienfolge vorgenommen, danach gab es ein Problem, an dessen Lösung ich einen grossen Teil dieses Monates gearbeitet habe. Dies trat auf als ich versuchte habe die Geschwindigkeit des Roboters zu steuern, weil die Encoder wohl das Arduino Board überfordern. Dies versuchte ich zuerst mit der DigitalWriteFast Bibliothek zu lösen, leider aber war diese veraltet, weshalb sie für mich Nutzlos wurde. Auch die anderen Programmteile, die ich in diesem Monat geschrieben habe, also dasjenige um Hindernisse zu umfahren und das um am Ende die Bälle einzusammeln, funktionierten aus demselben Grund nicht. Schlussendlich musste ich dann die Richtungserkennung herausnehmen, so funktioniert nun alles einigermassen gut. Des Weiteren habe ich noch begonnen mich mit den Servos zu beschäftigen, was dank einer Bibliothek dazu, von Arduino, relativ einfach funktioniert.

Elektronik

Ich habe im Monat April das kaputte Motorboard neu gelötet und repariert, nachdem es leider kaputt gegangen war, wurde damit aber nicht ganz fertig.

Ich habe auch neue Atmega328 Prozessoren bestellt, da wir einige kaputt gemacht hatten. Ich habe in den fast fertigen Roboter die provisorisch eingebaute Elektronik endgültig eingebaut, nachdem ich sie nochmal gründlich überprüft hatte.

Ich war sehr froh, dass alle Bauteile in dem dafür vorgesehenen Teil des Roboters gut Platz hatten. Schwierigkeiten bereitet mir allerdings noch das Verlegen der Kabel, da sie nirgends im Weg sein sollten.Vielleicht muss ich unseren Mechaniker noch um einige Kabelschächte bitten. Ich bin aber sehr zuversichtlich, dass wir alles im Zeitrahmen erledigen können

Mechanik

In diesem Monat stellte ich noch die restlichen Teile aus der PVC Platte fertig, sammelte wichtige Materialien und baute sie in dem Bot ein. Eine besondere Herausforderung stellte dabei das Bauteil dar, das die Bälle auf das Deck schaufelt. Ein Servo dreht nun eine Röhre mit Hilfe von zwei gleichgrossen Zahnrädern. In der Mitte der Röhre befindet sich ein Halter. An diesem Halter kann ein beliebig ausgeschnittenes, laminiertes Papier befestigt werden. Das Papier hat viele Vorteile:

  1. Es ist genug stabil um Bälle einzuschaufeln
  2. Die Dicke und die Anzahl der Schichten kann beliebig gewählt werden
  3. Kann es ohne bleibende Verformung gebogen werden.

Februar 2017, Wm-Team: I2C problem solved

Software

Den I2C Fehler konnten wir erfolgreich beheben. Der Prozessor der Linienerkennungsboards und der Ballsensorenboards ist der Selbe und durch kleine Anpassungen funktionierte der Code der Linienerkennung auch auf den Ballsensorenboards. Überraschenderweise funktionierte nun die Kommunikation ausgezeichnet, obwohl der lowlevel Code zwischen den beiden Projekten identisch ist und bei den Tests kein highlevel Code am „laufen“ war. Somit vermuteten wir, dass es wahrscheinlich einen sehr merkwürdigen Bug hat, für welchen wir vielleicht sogar nichts können, da Bugs bei Atmelstudio keine Seltenheit sind. Deshalb beschlossen wir das ganze Projekt nochmals neu zu erstellen, dabei übernahmen wir aber die meisten alten Codestücke. Nachdem wir das Projekt fertig erstellt hatten, funktionierte es Problemlos. Leider funktioniert die Ballerkennung immer noch nicht, jedoch können wir nun viel einfacher herausfinden wo das Problem liegt.

Bei der Positionserkennung stimmten die gemessenen und die gefahrenen Distanzen nicht überein. Durch eine Anpassung mit ein wenig ausprobieren stimmen sie schon viel besser überein. Zudem gab es auch noch einen kleinen Fehler, bei dem die gefahrenen Distanzen nicht richtig in das Koordinatensystem eingerechnet wurden. Dieser trat aber nur dann auf wenn sich der Roboter nicht in Richtung gegnerisches Goal schaute. Da wir bei den meisten bisherigen Tests den Roboter immer nach dem gegnerischen Goal ausgerichtet haben, ist dies uns bisher nicht aufgefallen.

Elektronik

Bei den Ballsensor Slaves habe ich die Grössen angepasst, dass sie in die neue Anordnung der Platinen passen ohne dass es einen toten Winkel gibt. Ich habe sie um etwa 1 cm länger gemacht und die letzte Photodiode verschoben. So kann der Ball auch erkannt werden wenn er hinter dem Roboter ist. Die Ballsensor- und Mainboards habe ich bestellt, sie kommen am Dienstag an. Die Bauteile habe ich auch bestellt und bereits erhalten. Ausserdem habe ich begonnen weitere Liniensensor- und Motorboards zu bestücken, um Ersatzboards zu haben.

Mechanik

Im Monat Februar stand vor allem der 24h-Wettbewerb im Mittelpunkt. Die letzten Vorbereitungen wurden getroffen und der Wettbewerb schlussendlich dann auch durchgeführt. An einigen Spielfeldern mussten wir zwar im letzten Moment noch eine Lösung für ein spielbezügliches Element finden, im Grossen und Ganzen war der Wettbewerb an sich aber wieder eine tolle Erfahrung, auch wenn wir dieses Jahr deutlich weniger teilnehmende Teams  hatten.

Ein anderer Punkt auf der Liste der Mechanik war die Fertigstellung des zweiten Roboters. Dieses Ziel habe ich beinahe erreicht. Die Teile habe ich zwar alle ausgeschnitten und die Löcher sind auch alle vorgebohrt worden, jedoch musste ich noch an einigen den Kleber für bessere Gewinde anbringen und trocknen lassen. Ich konnte den  zweiten Roboter so noch  nicht zusammenbauen. Ausserdem habe ich mit der Suche nach Kunststoffschrauben begonnen, habe auch schon welche gefunden, mit denen ich aber noch nicht hundertprozentig zufrieden bin. Deshalb werde ich meine Suche fortsetzen und hoffentlich bald fündig werden. Vielleicht finde ich ja welche im Bossard-Katalog.

Ich bin auf jeden Fall zufrieden mit dem, was ich im Monat Februar alles geleistet habe, und werde im März den zweiten Roboter fertigstellen, beginnen Ersatzteile auszuschneiden und langsam auch mal an den Dribblern arbeiten.

Februar 2017, Challenge-Team: Heisse Sache

Software

Im Februar habe ich ein erstes Programm für die Linienfolge fertig geschrieben und getestet. Da die Grundidee davon nicht so richtig funktionieren wollte, habe ich mir eine neue Idee überlegt und mit Hilfe dieser Idee konnte unser Bot dann schon gut der Linie folgen. Anfangs hatte ich noch einige Schwierigkeiten, da das der Roboter sobald ich ihn gestartet hatte einfach nur geradeaus  gefahren ist. Dies ging so lang weiter bis ich dann bemerkt habe, dass man ihm nicht nur sagen muss was er tun, sondern auch was er nicht tun soll. Danach reagierte er zumindest mal auf die Werte der Sensoren. Um auch noch über die Abstände in der Linie zu kommen, habe ich dann letztendlich ein Programm geschrieben  bei dem der Roboter so lange fährt, bis er auf der einen Seite auf die Linie kommt und sich dann dreht, bis er wieder geradeaus weiter fahren kann.  Das Ganze funktioniert gut, nur leider fährt der Bot noch nicht mit einer konstanten Geschwindigkeit, weshalb er teilweise stecken bleibt oder schon über die Linie gefahren ist, bevor er sie überhaupt richtig erkennt. Dieses Problem werde ich demnächst mit Hilfe der Encoder zu lösen versuchen.

Elektronik

Ich habe im Monat Februar ein weiteres Motorboard gelötet nachdem eines leider kaputt gegangen ist. Auch habe ich versucht unserem Programmierer konstruktive Unterstützung zu leisten, indem ich mir mögliche Lösungen für die Linienfolge überlegte. Dem fast fertigen Roboter habe ich die nötige Elektronik eingebaut, nachdem ich sie aus dem Prototypen ausgebaut hatte. Wir, insbesondere ich, waren sehr froh dass die Elektronik von Anfang an ihre Pflicht tat und bislang einwandfrei funktioniert. Schwierigkeiten bereitet mir allerdings noch das endgültige Einbauen der Elektronik, da dem Roboter, laut unserem Mechaniker, noch einige Teile fehlen. Dadurch hatte ich zu wenig Platz um sämtliche elektronischen Bauteile fix auf den Roboter zu montieren. Ich denke aber, dass dies auf dem fertigen Roboter kein Problem darstellen sollte.

Mechanik

In diesem Monat stellte ich die Fahrmechanik des Bots fertig. Die Motoren, Sensoren, Räder und die Elektronik sind somit befestigt, damit wir das Programm des Programmierers testen können. Wichtige Teile für das Balleinfangsystem liegen zudem für die Weiterverarbeitung bereit. Dank dem CAD könnte ich die einzelnen Platten passgenau zuschneiden und zusammenschrauben. Die Auffangplatte benötigte spezielle Aufmerksamkeit. Diese Platte musste ich ausschneiden und in einem 6.5 cm Radius Rund biegen. Dafür erwärmte ich sie im Backofen mit 120° und bog sie, um eine Schüssel mit dem richtigen Durchmesser. Es war schwierig die Platte im richtigen Zustand zu halten, denn sie verformte sich immer wieder in den ursprünglichen Zustand zurück. Um dieses Problem zu lösen, spannte ich sie mit einem Spanngurt bis sie wieder auskühlte.

dav

Januar 2017, WM-Team: Das grösste Problem vom letzten Jahr, fängt an sich zu lösen

Mechanik

In diesem Monat habe ich vor allem an den Spielfeldern für den 24h Wettbewerb gebaut. Diese Bauphasen fanden jeweils an einem Samstag oder an einem Sonntag statt. Dieses Jahr sind wir dank einer guten Planung schon zwei Wochen vor dem Wettbewerb mit den Spielfeldern quasi fertig geworden.

Ich habe auch einiges am CAD des WM-Bots geändert. So habe ich zum Beispiel die Ballsensoren-Slaves und den Ballsensoren-Master komplett aktualisiert, den Stab für den Kompass und dessen Löcher entfernt und sonst noch so einiges verbessert. Dann habe ich die ganzen Teile in Originalgrösse ausgedruckt. Ich habe also aus meinen Fehlern gelernt. Danach habe ich noch fast alle Teile ausgeschnitten. Dabei habe ich leider den grossen Schneideaufsatz für den Dremel zerstört, so dass ich einen neuen bestellen muss.

Mitte des Monats habe ich neue dicke Platten bestellt, welche dann Ende des Monats angekommen sind.

Software

Im Januar haben wir weiter am I2C-Problem bei den Ballsensorboards gearbeitet. Wir haben das Problem aber immer noch nicht gefunden. Ein interessantes Phänomen ist aber, dass das I2C zu funktionieren scheint, aber nur, wenn nur ein Slave angeschlossen ist. Sobald der zweite auch eingesteckt wird, funktioniert es nicht mehr. Wir glauben deshalb, dass das Problem damit zu tun hat, dass der Master versucht mit beiden Slaves gleichzeitig zu kommunizieren und es dabei zu einem Fehler kommt. Es ist aber schwierig, den Fehler genau zu lokalisieren und zu beheben.

Zudem haben wir weiter an der Positionserkennung gearbeitet. Das neue Motorboard funktionierte allerdings nicht. Nachdem wir uns intensiv damit beschäftigt haben, konnten wir zusammen mit der Elektronik den Fehler finden und beheben, sodass es jetzt super funktioniert!

Elektronik

Ich habe Gerber Files für das Mainboard erstellt und werde es bald Bestellen. Bei den Ballsensorboards habe ich einiges verbessert. Ich habe komische, eckig geformte Flächen runder gemacht, damit es es besser aussieht. Dann habe ich V ref bei jedem O pamp lokal mit einem Spannungsteiler angelegt. So konnte ich die obere Fläche mit AGND verbinden und die Untere mit Vcc.

Das Motorboard konnte der Computer anfangs nicht erkennen. Wir haben einen Kondensator abgelötet. Wir haben erfahren, dass man, wenn C9 angelötet ist, das Board nicht programmieren kann. Das Board wurde jedoch immer noch nicht programmierbar. Es hat sich herausgestellt, dass an einem Pin des Prozessors zu wenig Lötzinn war. Nach dem Anlöten funktionierte das Motorboard einwandfrei.