November 2016, WM-Team: Baufortschritte und Lösungsansätze für alte Probleme

Mechanik

Im Monat November habe ich damit begonnen, die Teile für den ersten Roboter auszuschneiden. Das ging eigentlich ziemlich schnell. Ich habe mir dieses Mal auch als Ziel gesetzt, die Teile einzig und allein mit dem Dremel auszuschneiden, da das Carbon Sandwich dann nicht so ausfranzt. Das Karbon, gerade die dünne Platte, reichte jedoch nur für den ersten Roboter, somit musste ich weiteres Carbon nachbestellen. Leider konnte ich dies nicht nur bei einem, sondern musste bei zwei unterschiedlichen Händlern bestellen. Da ich Wert darauf gelegt habe, dass die dünne Platte 3mm und die dicke 5 mm dick sind. Jetzt ist die breitere Platte 5.4mm dick, doch damit habe ich mich zufriedengestellt.

Nachdem ich die Teile ausgeschnitten hatte, habe ich alle Löcher gebohrt und die Löcher, welche seitlich in die Platte gebohrt wurden, mit dem Zwei-Komponenten-Kleber gefüllt. Der Kleber ist nun getrocknet und ich kann jetzt damit beginnen Gewinde reinzuschneiden. Es gab ein kleines Problem mit dem Kleber, weshalb ich manche Löcher zweimal stopfen musste. Ich habe zuvor zu grosse Löcher gebohrt und dann zu wenig Kleber benutzt. Somit waren die endgültigen Löcher zu gross, um Gewinde machen zu können.

Elektronik

Das Motorboard und das Powerboard sind angekommen. Ich habe angefangen diese zu bestücken. Bei dem Powerboard fehlen noch einig Stecker, welche ich montieren werde. Beim Motorboard habe ich die H-Brücken, den Prozessor und die Kondensatoren schon angelötet. Bei den Liniensensorboards werde ich die gleichen wie letztes Jahr benutzen, da sich die Funktionstüchtigkeit dieser gut bestätigt wurde. Die Ballsensorboards hingegen werde ich verbessern und Neue bestellen. Die Photodioden und das Programm der Ballsensorboards werden jedoch gleich bleiben.

Software

Als Ultraschallsensoren-Wert wollen wir immer die senkrechte Distanz zur Wand bekommen. Wenn der Roboter schräg zur Wand steht, wird die Distanz umgerechnet, sodass wir auch immer die eigentliche Distanz zur Wand haben. Wir haben nun überprüft, ob dies auch richtig funktioniert und ob eventuell Anpassungen vorgenommen werden müssen. Wir haben jedoch festgestellt, dass dies bereits sehr gut funktioniert und keine weiteren Anpassungen nötig sind.

Beim SPI hatten wir in der Vergangenheit festgestellt, dass das Signal oft abbricht und dabei manchmal auch das ganze Board kaputt geht. Wir hatten nun dieses Problem unter die Lupe genommen, jedoch im Code oder auf dem Board keine Fehler gefunden. Allerdings haben wir ein Kabel gefunden, dass verdreht war und so möglicherweise den Pin kaputt machte.

In unserem neuen Mainboard haben wir nun eine Sicherung eingebaut, die verhindern soll, dass etwas kaputt geht. Wir werden sehen, ob sich dieses bewährt.

Zusätzlich wollten wir den I2C Fehler bei den Ballsensorboards beheben. Wir konnten dabei aber noch nicht viel Fortschritt erzielen.

Oktober 2016, WM-Team: Erfolgreicher Start

Ein Schuljahr ging zu Ende und dadurch auch ein Jahr von Helveticrobot. Das Jahr konnten wir mit der Weltmeisterschaft in Leipzig, Deutschland beenden. Wir konnten viele Erfahrungen sammeln und aus den entstandenen Fehlern lernen. Wir haben also nach den erholsamen Sommerferien erfolgreich in ein neues Helveticrobot Jahr gestartet. Wir konnten mit der Unterstützung der Älteren einen lehrreichen Rückblick machen und uns so ein neues Konzept erarbeiten.

IMG_20160917_113204

Überblick des letzten Jahres

Mechanik

Im Monat Oktober hat die Mechanik ihre Arbeit aufgenommen. Ich habe das CAD des letzten Jahres überarbeitet und verbessert. Dabei habe ich darauf geachtet, vor allem die Schwachpunkte zu eliminieren. Das Design wurde dabei nicht gross geändert. Die grössten Änderungen fanden an den Ultraschallhalterungen, den Dribblerhalterungen und den Verbindungen der mittleren zur oberen Ebene statt.

Während der Verbesserung des CADs gab es keine grossen Schwierigkeiten. Das einzige Problem, an dem ich länger gehangen habe, war eine gute Lösung für die Verbindung der mittleren zur oberen Ebene zu finden. Letztes Jahr hatten wir zwei solcher Verbindungen, die eine war die Halterung für das Powerboard und die andere die für den hinteren Ultraschallsensor. Das Problem dabei war, dass die Halterung des Powerboards ziemlich instabil und auch nicht wirklich als Verbindung zwischen mittlerer und oberer Ebene diente. Dieses kleine, jedoch störende Problem haben wir jedoch mit einer einfachen Lösung behoben. Im derzeitigen CAD gibt es nur noch eine breitere Verbindung der mittleren und oberen Ebene, welche gleichzeitig als Halterung für das Powerboard und dem hinteren Ultraschallsensor dient.

Vor allem die Verbindungen von Halterungen zu den Ebenen wurden verbessert. So wurde den Dribblerhalterungen Steckverbindungen hinzugefügt. So werden die beiden Halterungen mit Schrauben und per Stecksystem an die obere Ebene und nur per Stecksystem an die mittlere Ebene angeschlossen.

Auf jeden Fall haben wir das CAD dieses Jahr früher abgeschlossen und können so bereits im November mit dem Ausschneiden der Teile und dem Zusammenbau des Roboters beginnen.

Elektronik

Die Elektronik hat ein Neues Mitglied bekommen. Ich habe mit zwei früheren Mitgliedern von Helveticrobot das Mainboard, Motorboard und das Powerboard angeschaut. In der darauf folgenden Zeit, habe ich die Fehler korrigiert. Auf dem Powerboard habe ich die Akkustatus-Leds weggelassen, weil man den Akkuzustand mit einem Akkuprüfer besser überwachen kann. Dann habe ich noch ein viertes Loch ins Board eingefügt, damit es besser hält. Beim Motorboard habe ich die H-Brücken besser mit dem Prozessor verbunden und das Layout verbessert. Beim Mainboard habe ich Single Bus Buffers eingefügt, damit die SPI Clock verstärkt ist und bei einem SPI Fehler der Prozessor nicht beschädigt wird.

Software

Im Oktober hat sich das Software-Team vor allem um Verbesserungen der letztjährigen Programme gekümmert. Wir überarbeiten das Fahren und versuchten das „schöne“ Fahren ins Visier zu nehmen. Wir testeten, wie genau und wie «schön» der Roboter fahren kann. Dazu liessen wir ihn einen vorprogrammierten Kurs abfahren. Dies funktionierte zunächst nicht zufriedenstellend, doch nach einigen Anpassungen im Programm absolvierte der Roboter die Strecke sehr gut. Auch das Drehen um die eigene Achse und das gleichzeitige Vorwärtsfahren funktionierte gut. Ebenfalls testeten wir, wie gut der Roboter sich um einen Festgelegten Punkt drehen kann. Sofern der Punkt nahem am Roboter selber war, funktionierte es sehr gut. Wenn der Punkt aber weiter weg war, drehte sich der Roboter nicht mehr so schön. Da wir uns im Spiel aber nur um den Ball drehen (dessen Mittelpunkt nahe am Roboter ist), sollte das kein Problem darstellen.

RCJ 2016; Leipzig; Wettbewerbsbericht

Vier anstrengende Tage und drei kurze Nächte sind nun vorbei. Der Wettbewerb war sehr spannend. Während leider die Elektronik sich immer wieder gegen uns stellte, konnten wir angestrengt immer wieder etwas aus den Boards herausholen. Die Kommunikation per SPI und I2C zu den Boards und Sensoren haben durch eine Störung bezüglich eines Pins, welcher die Signalintegrität zunehmend verschlechterte, das Mainboard immer wieder überhitzen lassen. Dadurch mussten wir immer wieder neue Mainboards bestücken. Wir versuchten herauszufinden, weshalb sich die ganze Kommunikation durch diesen Pin aufhing, konnten aber keinen Zusammenhang finden. Für eine kurze Zeitspanne konnten wir jedoch diese Boards nutzen, da das Mainboard dies stand hielt. Leider haben wir dies nicht sofort gemerkt und haben dann diese Zeitspanne für das Ausprobieren genutzt. Somit hatten wir grosse Schwierigkeiten an den ersten Einzelkämpfen, wie auch bei den Team-Spielen. Wir versuchten aus diesem Problem schlau zu werden, fanden jedoch nur heraus, dass an diesem Pin keine Komponenten daran hingen. Welches uns dann noch viel mehr verwirrte.

Dennoch konnten wir sehr viel aus dieser misslichen Situation mitnehmen. Wir konnten viel lernen und haben eine menge an Erfahrung gewonnen. Vor allem auch wie es ist, wenn man gegen die Zeit rennt, da wir immer wieder unter Zeitdruck standen. Ebenfalls hatten wir die Möglichkeit uns mit anderen Teams auszutauschen um neue Ideen, vor allem bezüglich der Mechanik, zu bekommen. Da nächstes Jahr mehr Wert auf einen passiven Ball gelegt wird, müssen wir uns Gedanken machen, wie wir eine Kamera einbauen können, damit wir diesen dann auch sehen können. Wir freuen uns auf das kommende Jahr.

 

robocup (2) robocup (4) robocup (7)

RCJ 2016; Leipzig; Tag 3

Ein Auf und Ab. Der heutige Tag war sehr intensiv. Das Problem mit der Kommunikation zwischen den verschiedenen Robotern konnte immer noch nicht gelöst werden. Sehr intensiv haben sich unsere Elektronik-Profis damit auseinander gesetzt. Doch irgendwie kommt man nicht auf eine plausible Erklärung, warum das SPI und I2C sich weigern um die Boards zusammen zu verbinden. Das erste Spiel war leider nicht sehr positiv für uns ausgefallen, während das zweite wiederum der volle Erfolg war. Wir konnten mit einem Verlust und einem Gewinn in den Abend tauchen und uns auf die morgigen Spiele vorbereiten. Wir sind gespannt wie sich diese entwickeln werden.

 

sdr

 

Ein Blick auf die Veranstaltung

RCJ 2016; Leipzig; Tag 2

Heute war ein spannender Tag. Nach einer kurzen Nacht, konnten wir an unser erstes Spiel antreten. Durch elektronische Schwierigkeiten, konnten wir nur mit einem Roboter antreten. Durch den massiven Kräfteunterschied, konnten wir leider nur verhindern, dass die Gegner uns nicht zu viele Tore schiessen, damit die Differenz der Tore nicht all zu Hoch fällt. Den ganze Tag versuchten wir das Problem mit dem SPI hinzubekommen. Nach einem Grossen Erfolg funktionierte dies wieder, doch leider stellte dann das I2C sich quer und die Kommunikation zwischen den Ballsensoren-Boards wurde unterbrochen. Ebenfalls haben wir heute unsere Mitstreiter im Superteam kennengelernt. Zusammen mit Slowenien und Israel bestreiten wir die Superteam-Liga. Wir versuchten uns zu einigen, welche Strategie im Superteam die sinnvollste zu scheinen mag. Die Israelitinnen und die Slowenen haben je zwei Roboter rein gestellt, wobei die den Goali-Platz und die Verteidigung übernahmen. Unser Roboter durfte an die Spitze und sich unter die Stürmer mischen. Es war ein spannendes Spiel. Wir konnten immer wieder nach vorne Stürmen und haben auch das eine oder andere Goal verhindert. Leider hatte es nicht gereicht und das generische Superteam lag schlussendlich leicht vorn. Nach diesem anstrengendem Tag, gaben wir trotzdem nicht auf. Wir haben uns nochmal dahinter gesetzt und versuchen nun noch die vorhandenen Probleme zu beheben.

RCJ 2016; Leipzig; Tag 1

Die Weltmeisterschaft hat begonnen. 

Wir sind gestern mit dem Zug von Chur nach Leipzig gereist. Nach dieser langen fahrt konnten wir uns im Hotel etwas erholen, um am nächsten Tag uns den Optimierungen des Roboter widmen zu können.

Nach unserem Interview, bei welchem wir uns und unsere Arbeit vorstellen mussten, konnten wir intern an dem Roboter weiter arbeiten und uns auch schon auf das Spielfeld einlassen. Leider tauchten Probleme mit der Elektronik auf, welche wir versuchten so gut wie möglich zu reparieren. Da die Halle ziemlich früh zumachte, haben wir unseren Arbeitsplatz ins Hotelzimmer verlegt. Wir sind gespannt, was der morgige Tag uns bringt.

 

Mai; WM-Team; Das SPI bringt uns an unsere Grenzen

In diesem Monat ging es drunter und drüber. Wir haben unsere neuen Räder bekommen und konnten diese mit den selbst hergestellten Subwheels bestücken. Das Erfolgserlebnis schlechthin war die Hülle. Wir massen die Hälfte des Gewichts, wie letztes Jahr. Und die Stabilität hat sich fast nicht verändert. Wir liegen nun gut im Gewicht drin. Leider macht uns aber die Elektronik immer wieder eine Strich durch die Rechnung. Das SPI, mit welchem die Boards verbunden sind, bekommt zu viel Strom und bratet regelrecht unser Mainboard. Wir haben leider noch nicht erkannt wieso, dies so entstehen kann, sind aber dran um diese Problem zu beheben. Dennoch bleibt uns im Moment nichts anderes übrig, als neue Mainboard zu bestücken und diese versuchen so lange es geht am Leben zu behalten. Die Programmierung versucht sich ebenfalls am SPI, da aufgrund dieses Problems die Ballsensoren nichts sehen und somit keine Strategie sinnvoll getestet werden kann. Die Strategien können aber schon geschrieben werden und somit können wir danach diese gut testen.

April; WM-Team; Neue Energie

Nach den Austrian Opens haben wir neue Energie getankt. Wir konnten zusammen sitzen und uns überlegen, wie wir nun vorgehen können und Verbesserungen anbringen können. Wir haben einen neuen Zeitplan erstellt, welchen wir nun befolgen können, da wir nun neue beziehungsweise andere Komponente haben um an denen zu arbeiten. Wir konnten verschiedene Elektronische Aspekte fertig stellen, welche essentiell für den Roboter sind und uns nun an den Feinschliff wagen. Programmiertechnisch versuchten wir das die Sensoren bessere Werte herausgeben, damit wir den Ball und die Ausrichtung schneller laufen lassen konnten. Ebenfalls haben wir uns an eine Strategie gewagt, die ist jedoch noch nicht vollkommen gelungen. Die Hülle des Roboters wurde dabei auch besprochen. Wir brauchen eine sehr leichte, dennoch stabile Hülle. Diese vom letzten Jahr, war sehr stabil, dafür auch ziemlich schwer. Und da die Kapazität des möglichen Gewichtes sich langsam ausschöpft, können wir nicht mit einer solch schweren Hülle rechnen. Wir haben uns entschieden, die Hülle mit einem anderen Kleber zu kleben und weniger von diesem zu benutzen. Die ersten Test damit können bald verübt werden.

März 2016, WM-Team: Lowlevel fast fertig, Platinen bestellt, neue Dribblerrollen

Programmierung

Da die neuen Boards nun angekommen sind, konnten wir uns voll der Programmierung des Lowlevel widmen. Das heisst, dass wir die Boards so programmiert haben, dass sie Werte an das Mainboard geben, mit denen das Mainprogramm eine Strategie ausführen kann. Zudem konnten wir auch die Kommunikation zwischen den Boards zum Funktionieren bringen. Auch die Kommunikation zwischen den Bots konnten wir verbessern, sodass diese nun stabiler funktioniert. Auch bei den neuen Boards schalteten wir den WDT ein, da auch diese nicht immer ganz zuverlässig funktionieren. Im Grossen und Ganzen hatten wir grosse Fortschritte diesen Monat gemacht.

Zudem investierten wir relativ viel Zeit den anderen Teams zu helfen, da diese noch Probleme hatten.

Elektronik

Ende Februar bzw. Anfang März waren die Leiterplatten für die überarbeiteten Sensoren zur Erkennung des Balles bzw. der Begrenzungslinien angekommen. Diese hatten grosse Priorität, da noch ein wenig Lowlevel Code sowie Filter geschrieben werden mussten.

Die Lichtsensoren hatten im letzten Jahr grosse Probleme bereitet, da immer wieder manche Exemplare kaputt gegangen sind, jedoch niemand von uns einen Makel am Schaltplan ausfindig machen konnte. Wie sich erfreulicherweise herausgestellt hat, ist dies mit anderen OpAmps nicht mehr aufgetreten. Wir vermuten, die zuerst verwendeten Verstärker waren all zu anfällig auf ESD, oder sogar schlicht fehlerhaft, haben aber keinen Sinn darin gesehen dem noch näher nachzugehen.

Die Ballerkennung wurde völlig überarbeitet: Vorher hatten wir (wahrscheinlich für Fernbedienungen u.Ä. konzipierte) integrierte Schaltkreise verwendet, wodurch zwar das Interface zum Prozessor einfach, sowie die Erkennung der Richtung des Balles gut war, die Entfernung jedoch nur höchst ungenau abgeschätzt werden konnte. Weiterhin war die Form der Leitplatten eher mühselig.

Wir verwenden nun unverstärkte Photodioden und verstärken sie „selber“ mittels eines Fet-Operationsverstärkers (pragmatischerweise der selbe wie bei den Liniensensoren). Dieses Signal wird mittels des internen Analog/Digital-Konverters eines AtXmega5e gelesen.

Dies hat sich, bis jetzt, als eine gute Lösung für unsere Ansprüche herausgestellt.

Der Umstieg auf diesen anderen, aber recht ähnlichen Prozessor hatten wir als eher trivial eingeschätzt, wir begegneten aber einem schwierig zu findenden Bug: Wenn man den Timer auf Port C benutz, funktioniert dort fast nichts mehr. Wir sind natürlich erst nach erheblichem Aufwand bez. Fehlersuchen auf die Idee gekommen, einen Fehler im Microcontroller selbst zu vermuten.

Sobald wir uns von der Funktionalität der neuen Designs überzeugt hatten, wurden einige kleine Fehler im Layout der Platinen korrigiert und auch die „Slaves“ bestellt.

Des weiteren haben wir unsere Stromversorgung überarbeitet: Wir verwenden nun andere Gleichstromwandler und haben einige /quality of life improvements/ wie Sicherungen, Verpolungsschutz und dreistufigen LED-Indikator für den Akkuladestand.

Mechanik

Das CAD wurde komplett fertiggestellt. Die verschiedenen Teile wurden ausgesägt. Wir testen noch mit verschiedenen Malerrollen, um unseren neuen Dribbler herzustellen. Die ursprünglichen, welche wir bisher immer genutzt haben sind leider nicht mehr Verfügbar. Dennoch haben wir neue gefunden, welche sich sogar der neuen Grösse super anpassen kann. Nun bleibt noch die Frage, wie wir die Festigkeit dieser unterstützen können, damit der Motor nicht nur die Stange selbst sondern die ganze Rolle drehen kann. Wir haben gemerkt, dass wir durch die zusätzliche Platte sehr viel an Stabilität gewinnen können, dennoch bleibt es offen, wie wir in der Gewichtslimite bleiben können. Da wir eine ganze Platte hinzugefügt haben. Dennoch, wir bleiben optimistisch und versuchen so viel wie möglich aus der neuen Platte auszuschöpfen.

März 2016, Challenge-Team Rescue B: Endspurt

Das Rescue Team B steht in der Endphase. In Kürze kommt das Asutrian Open, bei dem sie ihre harte Arbeit veranschaulichen können.

Programmierung

Dieser Monat hat für uns sehr viel verändert. Durch Schwierigkeiten mit der Elektronik haben wir uns entschieden mit einem XMega-Prozessor eine Alternative zu finden. Dies hat sich als sehr gut erwiesen, welche wir dann auch beibehalten haben. Wir haben nun anstatt eines Boards, mehrere, miteinander vernetzte Boards benutzt. Durch diese Veränderung mussten wir uns mit SPI vertraut machen. Dies gelang uns auf Anhieb und wir konnten gut damit arbeiten. Dadurch haben wir mehrere Erfolgserlebnisse erlebt. Wir konnten plötzlich ohne gröbere Probleme die Sensoren auslesen, zudem konnten wir nun schön gerade fahren und unsere wir konnten an unserer Strategie weiterarbeiten. Im Grossen und Ganzen war dieser Monat für uns sehr fortschrittlich.

Elektronik

Die Boards sind ziemlich spät angekommen. Ich habe versucht einige zusammen zu löten, dabei ist mir aufgefallen, dass diese nicht wirklich funktionieren. Die LEDs flackerten, obwohl sie leuchten sollten. Da wir ziemlich unter Zeitmangel standen, mussten wir eine bessere, effizientere und schnellere Lösung finden. Wir haben uns mit den älteren abgesprochen, was die sinnvollste Lösung zu scheinen mag. Dabei haben wir intensiv uns mit der Situation auseinander gesetzt. Wir haben uns dann entschieden einige Boards des WM-Teams zu benutzen, welche sich auch gut für uns einigten. Durch das konnte die Programmierung an der Software arbeiten und ich konnte mich auf das nicht funktionale Board stürzen und die mich auf die Fehlersuche begehen, damit wir nächstes Jahr eine bessere Grundlage haben.

Mechanik

Ich habe die Drehscheibe nun mit Schrauben versehen. Den Touchsensor habe ich an der Drehscheibe mit einem Zweikomponenten Kleber noch besser befestigt, da dieser einem sehr hohen Druck ausgesetzt ist und somit sehr viel Stabilität benötigt. Ebenfalls konnte ich dadurch alle Boards an dem Roboter anmachen, damit diese nicht mehr herumschwirren. Eine unserer Aufgaben ist gewisse Rescue-Kits an den Stellen mit dem Wärmepolen abzulegen. Und habe ich noch 6 solche Rescue-Kits erstellt, damit wir diese auch auswerfen können. Ich konnte einen spannenden Einblick in die Elektronik dadurch erhalten.