Walking, mal wieder

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:

Unser Code soll schöner werden

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).

Schätzer für Ehrenamtliches Engagement

Sehr viele CroquesIn 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.

Grafik über Steigenden Pizzakonsum
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.

Frohes neues Jahr!

Bit-Bot mit Feuerwerk

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.

Mini Robow

Hallo Leute!

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.