In den letzten Tagen haben wir mal wieder am Walking gearbeitet, eigentlich wollten wir nur ein paar Zugriffe auf Motordaten beschleunigen, fanden dann aber einige schwere Fehler, unter anderem Vorzeichenfehler beim Gyro. Nun läufts viel besser.
Beim Testen wollten wir dann mal mit Tamara den Spieleabend im anderen Haus besuchen und dachten, da könnten wir doch eben rüberlaufen. Das ging dann auch fast ohne Hinfallen, dafür war aber der Weg doch recht lang – wir haben fast 20 Minuten gebraucht und wir mussten kurz nach draußen über einen Übergang zwischen den Häusern:
Wir leben in modernen Zeiten, und so hat uns Gott Werkzeuge an die Hand gegeben mit dem wir in der Lage sind Python-Code auf seinen Stil hin zu überprüfen.
Mit PEP-008 existiert schon sehr lange ein Standard für lesbaren Python-Code, und mit pep8 sowie pyflakes existieren Programme die Quellcode auf gewisse stilistische Fehler hin überprüfen können. flake8 vereint diese beiden Programme.
Viele der Bit-Bot-Entwickler setzen eine IDE ein, welche den Code beim Schreiben automatisch überprüft.
Nun habe ich mal ein Script geschrieben dass ein bisschen weiter geht.
Eine Nacht lang hat mein Programm folgendes getan:
Ermitteln aller Commits im master
Für jeden Commit:
Auschecken des Commits
Ermitteln aller Codezeilen (mit cloc)
Ermitteln aller Python-Stilfehler (mit flake8)
Ermitteln des Autors
Ermitteln des Commitzeitpunkts
Berechnen der Fehlerprozentzahl auf Codezeilen + Leerzeilen
Berechnen der Differenz in der Fehlerprozentzahl zum Vorgängercommit
Der Prozess der Datenaufnahme dauerte eine ganze Nacht für die insgesamt 4148 Commits die wir zu diesem Zeitpunkt hatten.
Die so gewonnenen Daten (python-dictionary) habe ich zunächst als yaml-datei gespeichert, was sich als Fehler herausstellte. Beim erneuten Einlesen der 6,2 MB großen yaml-datei wurden nämlich gigantische Mengen meines Arbeitsspeichers in Anspruch genommen und der Prozess dauerte mehrere Minuten. Nachdem ich hingegen die Daten einfach mit cpickle gespeichert hatte, konnte ich sie binnen einer Sekunde einlesen, ohne dass mein Laptop ins Schwitzen kam.
Nun nachdem ich die Daten hatte konnte ich sie analysieren. Zunächst habe ich ermittelt welche Autoren den Code eher verschönern – und welche ihn weniger hübsch machen. Für jeden Autor habe ich einen Score berechnet, der die Summe der Änderungen des Fehleranteils durch den Autor repräsentiert.
Hat ein Autor den Fehleranteil oft reduziert, ergibt sich ein negativer Wert. Hat er den Fehleranteil häufig erhöht, so entsteht ein Postitiver Wert. Die dabei gewonnenen Ergebnisse reichten von +62.9 (schlechtestes) bis -82 (bestes)
In einem Zweiten Schritt habe ich dann den Verlauf unseres Softwarezustandes über die letzten 2,5 Jahre visualisiert. Neben den Fehlerprozentzahlen habe ich auch die Kommentarmenge des Codes mithilfe von pygal visualisiert.
Mit einem hinreichend modernen Webbrowser könnt ihr das Ergebnis hier betrachten, für ältere Browser wird eine schnöde .png angezeigt.
Falls ich die Zeit finde meinen Code in ein Benutzbares Programm zu verwandeln stelle ich es natürlich gern zur Verfügung. Wer mag kann mich dazu kontaktieren (wer mich nicht kennt kann das über unsere Info-Adresse tun).
In vielen Bereichen stecken Leute Privat Zeit in Dinge, von denen Sie überzeugt sind. Die Frage ist: Wie bemisst man diesen Aufwand? Wir bekommen kein Gehalt und niemand rechnet seine Stunden ab.
Eine interessante Idee: Wir schauen einfach, wie viel Essen im RoboCup-Labor bestellt wird. Seit einigen Monaten haben wir einen gemeinsamen Online-Account über den wir der Einfachheit halber bestellen, um nicht jedes mal unsere Daten eingeben zu müssen – und um von Bestellrabatten zu profitieren.
Das Ergebnis: Seit Beginn der Aufzeichnungen, im April 2013, haben wir insgesamt 583,58 € für Pizza, Croques, Burger etc. ausgegeben. Bei Bestellungen die nicht über unseren Account gingen (z.B. Bestellungen von Herrn NomNom) dürfte noch mal eine gewisse Dunkelziffer existieren.
Bestellen tun wir vor allem deshalb öfter mal, da unsere Mensa nur unter der Woche und auch nur bis 14:30 (Freitags 14:00) Essen ausgibt, wenn man bis zum Abend arbeitet hat man am Campus Stellingen also kaum eine Wahl.
Unsere Theorie: Mehr Nahrungsverbrauch => Mehr Personenarbeitsstunden für die RoboCup-AG, daher rechnen wir auch für 2014 mit einem Starken Anstieg unseres Pizzaverbrauchs.
Wir wünschen euch hiermit allen ein frohes und erfolgreiches neues Jahr.
Wir freuen uns sehr auf die anstehenden Turniere im Jahr 2014 und sind gespannt auf den Ausgang unserer derzeit laufenden „Experimente“ (neue Köpfe, neue Beine, neue Verhaltensarchitektur, etc.).
2014 Wird man uns mindestens bei den Deutschen Meisterschaften erleben.
Ob wir bei der Weltmeisterschaft in Brasilien dabei sein werden steht noch in den Sternen. Aufgrund der extrem hohen Reisekosten (besonders parallel zur Menschen-WM) müssen wir aber leider damit rechnen keine Finanzierungsmöglichkeit für die WM zu finden.
Trotz des Wermutstropfens: Wir sind dieses Jahr so gut aufgestellt wie noch nie in Sachen Personal, Material und Finanzen. Das Jahr 2014 kann auf jeden Fall kommen.
Dieses Wochenende (13. – 15.Dez.2013) veranstalten wir einen kleinen mini-RoBOW. Also ein Treffen mit anderen Robocup-Teams aus unserer Liga. Anstatt des offiziellen Events, welches meist mehrmals im Jahr in Berlin stattfindet (daher auch der Name) haben wir einfach ein paar Teams zu uns nach Hamburg eingeladen.
Gemeinsam wollen wir einige Testspiele veranstalten, basteln, und Ideen austauschen. Allzu voll wird es nicht, aber es werden uns unsere Freunde die Bold-Hearts aus Großbritannien (vertreten durch Drew) besuchen, sowie unsere altbekannten Kollegen aus Berlin, die FUmanoids
Aus diesem Anlass werden wir ein großes Spielfeld in Raum D-125 aufbauen und die meiste Zeit dort, bzw. in unserem Labor in F-015 zugange sein. Vorführungen sind keine geplant – und wir werden auch viel herum basteln und fachsimpeln, aber wer Zeit und Interesse hat darf gerne mal vorbei schauen. Anbieten würden sich dafür voraussichtlich Freitag 16-20 Uhr, Samstag 10-20 Uhr, sowie Sonntag 10-16 Uhr. Am geschicktesten wäre eigentlich der Samstag da wir dann sicher nicht mit Auf oder Abbau beschäftigt sind.
Für ein großes (und Liga-übergreifendes) RoBow fehlte uns leider der Platz und die Zeit zur Organisation, daher an dieser Stelle Entschuldigung an alle Teams die wir nicht eingeladen haben. Wenn ihr Lust habt euch mal mit uns zu Treffen, zu spielen und zu Fachsimpeln, dann schreibt uns einfach eine Email und wir schauen dass es ein anderes mal klappt.
Wir haben endlich etwas Zeit gefunden weiter an unseren Robotern zu basteln und gleich mal eine kleine OP am Bein durchgeführt. Natürlich mit dem Dremel….
Dremeln am Bein
Bild 1 von 4
Nils dremelt ein Stück aus dem Bein für den neuen Beinaufbau
Anlass war, dass bei unserem umgebauten Bein der Motor und das Schienbein kollidierten, jetzt geht es schon besser.
Wir wollten herausfinden an welcher Stelle genau unsere Motoren heiß werden. Dafür hat sich Nils eine Wärmebildkamera ausgeliehen und ein paar aufschlussreiche Bilder gemacht. Diese ergaben, dass auf der Platine unter bestimmten Umständen ein bestimmter Widerstand über 100°C warm wird. Aber auch andere Bauteile haben mit 65°C eine überdurchschnittliche Temperatur.
Was die Ursachen dafür sind, ist uns noch nicht ganz klar und muss deshalb genau untersucht werden.
Um nun auch für unsere Fans zu berichten, die am Samstag, 2.11.2013 leider keine Zeit hatten uns im ESA West zu besuchen folgen ein paar Ausschnitte aus dem gestrigem Abend.
Nach dem ausrollen des Teppichs und dem Kleben der Feldlinien, machten wir unsere Roboter so gut es ging spielbereit. Auch die FUmanoids, die inzwischen angekommen waren packten aus und ein Roboter nach dem anderem wuselte auf dem Feld herum.
Obwohl der offizielle Beginn der Veranstaltung für 17 Uhr angekündigt war, versammelten sich schon bis zu 20 Minuten vorher die Zuschauer um unser Feld herum.
Wir spielten um 17 Uhr, 19:30 Uhr und ein extra Spiel um 22 Uhr jeweils ein komplettes Match, bei dem jedoch die FUmanoids jeweils die Oberhand hatten. Wir konnten zwar auch die eine oder andere gute Situation nutzen doch zum finalen Abschluss hat es nicht gereicht.
Allerdings waren die Spiele nicht das einzige worüber es zu Berichten lohnt. Gerade zwischen den Spielen konnten wir interessierten Zuschauern viele Fragen zu unseren Robotern, der Liga oder dem RoboCup im allgemeinen, beantworten.Bei den Kindern (und einigen Älteren) kam es besonders gut an, dass man die Roboter auch fernsteuern durfte. Dazu hatten wir 2 Dancepads und die FUmanoids XBox Controler, mit denen man die Robotern zum Laufen und Schießen bringen konnte. Dabei sind auch viele Tore geschossen worden.
Als sich die Zeiger der Uhr langsam auf Mitternacht zu bewegten flaute auch der Besucherstrom ab und es gab nur noch vereinzelnde intensive Gespräche.
Letztlich können wir sagen, das die Nacht des Wissens ein voller Erfolg gewesen ist, da auch die Veranstalter überwältigt waren, wie viele Besucher sich im ESA West eingefunden hatten. In den vergangenen Nächten war der Westflügel nie so gut besucht wie dieses Mal, es waren über 3000 Besucher dort.