TU Wien:Programming Principles of Mobile Robotics

Aus VoWi
Wechseln zu: Navigation, Suche


Daten[Bearbeiten]

  • LVA-LeiterIn: Projektass. Dipl.-Ing.(FH) Dr.techn. Dietmar Schreiner
  • Mitwirkende: Sonst keine
  • ECTS: 3.0 SWS: 2.0
  • HP der LVA: http://www.complang.tuwien.ac.at/schreiner/LVAs/185.A51/ (Nur mit Passwort zur Verfügung, allerdings sind da eh nur die Slides & Übungsbeispiele drauf.)
  • Institut: E185 - Institute of Computer Languages
  • Wird im SS angeboten


Inhalt[Bearbeiten]

"Mobile Robotics" ist ein riesiges Gebiet, das in 3 ECTS nicht mal annähernd ausgeleuchtet werden kann. Deshalb werden 3 einzelne Aspekte herausgepickt, an deren Oberfläche dann gekratzt wird:

  • Motorregler für Bürsten-Elektromotor implementieren (Thema allgemein: Regler)
  • Bildverarbeitung (mit OpenCV) (Linien- und Kreiserkennung)
  • Parrot-AR-Drone dazu bringen, dass sie am Punkt A abhebt, eine 360°-Drehung über dem Punkte vollbringt, einer weißen Linie folgt und auf Punkt B landet. (Thema: autonome Drohnen)

Zu jedem Themenblock gibt es 1-2 VOs, tw. recht lange dauern können, aber i.A. interessant sind. Man lernt viel (siehe Regler, Drohne autonom steuern), das man sonst in SE&IC nie lernen oder machen würde. Bonus: Coolnesseffekt. Eignet sich perfekt für Grillfeste auf der Donauinsel, Bewerbungsgespräche etc. :)

Ablauf[Bearbeiten]

Zu jedem der drei vorgestellten Themenblöcke gibt es, soweit ich mich erinnern kann, 2 etwas längere VOs, die ganz interessant sind und in der Bibliothek des Complang stattfinden. Ich schätze, auf diese VOs kann man auch verzichten, zumal es dort extrem voll und im SS auch sehr heiß werden kann. Die Folien werden auf die HP gestellt. Dennoch ist der Vortrag interessant und durchaus zu empfehlen.

Zu jedem der drei Blöcke gibt es außerdem LUs, die man je nach Ausstattung und Thema in den bereitgestellten LU-Stunden oder zuhause machen darf.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Unbedingt gute Kenntnisse in C und C++, sonst wird die Übung ein Alptraum.

Vortrag[Bearbeiten]

Ist interessant und OK, wenn auch nicht unbedingt herausragend. Besuch empfehlenswert, aber nicht obligatorisch. Im SS kann es wie schon erwähnt in der Bibliothek des Complang heiß werden, was Müdigkeit auslösen kann. Anekdote: Eines besonders heißen Tages musste ich mich wirklich zwingen, wach zu bleiben, und habe meinen Kopf 1-2x nur 10cm vor der Tischplatte auffangen können. Wenn nur 15 Zuhörer da sind, bewirkt ein Knaller auf die Tischplatte besondere Verlegenheit.

Übungen[Bearbeiten]

Es gibt zu jedem der Blöcke LUs. Dazu ist folgendes zu sagen:

  • Jedes der Bsps darf man zuhause machen, wenn man die benötigte Hardware zuhause hat.
  • Für den Motorregler braucht man Hardware (Arduino) und ein Steckbrett. Die benötigte Hardware, samt Unterstützung von kompetenten Elektrotechniker-Assistenten und detaillierter Anleitung gibt es in den LU-Stunden. Allerdings wird die Stückliste wird bekanntgegeben, sodass man die Übungen bei entsprechendem Wissen und Budget auch zuhause absolvieren kann. Das Ergebnis muss man erst bei der Prüfung herzeigen.
    • Diese LU-Stunden sind sehr UNTERlaufen! Ich war tw. mit einem Kollegen zu zweit dort. Allerdings habe ich von fast allen, die es allein zu hause machen wollten, von nix als Problemen gehört (Motor passt nicht 100%ig, Probleme mit Teilen x und y etc.) MMn lohnt es sich durchaus, 4-6 Stunden in der Bibliothek des Complang für dieses Bsp. zu investieren - schneller geht's zuhause auch nicht.
  • Bildverarbeitung mit OpenCV: Man kriegt Bilder, die man mit Hough-Transform etc. zerfleischen muss. Reine Softwareangelegenheit, Anwesenheit in Übungsstunden nicht nötig.
  • Parrot-Drone: Kenne keinen, der es zuhause versucht hätte. Erstens kostet die Drohne 300€ und zweitens ist man in 3er-Gruppen unterwegs. Für die dritte Übung ist großer Zeitaufwand einzuplanen, siehe Zeitaufwand, Tipps und Kritik unten.

Prüfung, Benotung[Bearbeiten]

Mündliche Prüfung am Ende der LVA. Soll fürs SS12 Anfang Oktober stattfinden, siehe Kritik.

Prüfung ist eigentlich ein Abgabegespräch. Es werden die ersten beiden Beispiele durchgenommen und einige Fragen zu Funktionsweise von Reglern und Bildbearbeitung samt Demonstration durch den Studenten gezeigt. Achtung: Es wird auch verlangt, dass der Student die Hardware für das erste Beispiel zusammensteckt. Atmosphäre insgesamt locker und angenehm.

Dauer der Zeugnisausstellung[Bearbeiten]

noch offen

Zeitaufwand[Bearbeiten]

  • Relativ hoch.
  • Für die erste Übung (die LU allein, ohne Vorbereitung) muss man je nach Vorkenntnissen max. 10 Stunden einplanen. (Außer man ist Regelungstechniker oder sonst wie Elektrotechnik-affin; solche Leute würden uns wahrscheinlich auslachen und das Ding in 15 Minuten durchziehen.)
  • Zweite Übung (OpenCV): Typisches Softwaregeschreibsel. Mit C++-Kenntnissen in wenigen Stunden schaffbar. OpenCV-Libraries und tw. Source muss man sich halt anschauen.
  • Dritte Übung (Drohne): Massiv! Ich war mindenstens 25 Stunden daran - es dauert einfach ewig, bis man die Sache samt WLAN-Kommunikation zur Drohne, ARDrone-SDK, OpenCV etc. überhaupt halbwegs zum Laufen gebracht hat. Danach geht die Sache erst so richtig los. Es dauert wirklich lange und ist unheimlich mühsam, bis man auch nur halbwegs akzeptable Ergebnisse sehen kann. Der Zeitaufwand für dieses Beispiel wurde vom Vortragenden (der es zugegebenermaßen zum ersten Mal gemacht hat) massiv unterschätzt.
    • Erschwerend kommt hier hinzu, dass in der dritten LU ein akuter Platzmangel herrscht - 8 Drohnen können einfach nicht im Vorzimmer des Complang fliegen.
    • Des weiteren ist besagtes Vorzimmer so klein, dass man aufgrund des Ground Effektes etc. gewaltige Schwierigkeiten mit der Flugstabilität hat - ganz zu schweigen von überall stehenden Hindernissen, in die man fast unweigerlich hineinkracht. Eine Drohne dazu zu bringen, dass sie sich autonom stabil fliegt, ist wirklich schwierig. Wer ein Android/IPhone hat, kann ja versuchen, die Drohne manuell stabil zu steuern - schon das ist ja in dem Vorzimmer alles andere als einfach.

Unterlagen[Bearbeiten]

noch offen

Tipps[Bearbeiten]

  • Wichtiger Hinweis: Wie mir beim Durchlesen auffällt, sind in diesem Artikel (der zZ nur von mir editiert wurde), Informationen enthalten, die vielleicht abschreckend wirken. Dazu ist zu sagen, dass ich trotz all der (auf höchst konkreten Tatsachen beruhenden) Kritik die LVA letztlich empfehlen würde und es nicht bereut habe, sie zu machen. Viele der Kritikpunkte stammen möglicherweise daher, dass die LVA im SS12 zum ersten Mal abgehalten wurde, und der Vortragende erst unterm Semester selbst auf diverses Verbesserungswürdiges draufgekommen ist. Es besteht die Hoffnung, dass einige der Punkte in den nächsten Semestern verbessert werden. Jabb 15:48, 2. Sep. 2012 (CEST)
  • Die LVA war im SS12 auf 15 Plätze beschränkt. Wenn man ganz lieb bittet, dürfen die nächsten 5 auch noch dabeisein, müssen sich bei Hardware etc. dann hinten anstellen und tw. auch selbst besorgen.
  • Diese 15 Plätze waren bei der Anmeldung im SS12 um ca. 06:00 in der Früh weg.
  • Dass es nur 15 Plätze gibt, ist keine Gemeinheit des LVA-Leiters, sondern liegt am mangelnden Budget des Instituts, sowohl was die HW betrifft (vor allem die Parrot-Drohne geht durchaus ins Geld), als auch, was Räumlichkeiten betrifft. Wir waren für die letzte Übung vor allem im Vorzimmer des Complang unterwegs, was daran liegt
    • dass einerseits praktisch keine Räume in der TU vorhanden sind, die eine freie Bodenfläche haben
    • sogar wenn es welche gäbe, müsste man für jede Laborübung zig Parrot-Drohnen dorthin karren.
  • Obwohl 15 Plätze wie eine verschwindend geringe Anzahl erscheint, ist es bei den LUs verdammt voll und laut geworden (4 Rotoren pro Drohne erzeugen nämlich Krach. Mein Dank ans Complang, das den Krach stundenlang ohne einen einzigen bösen Blick ertragen hat.)
  • Um die dritte Übung halbwegs zu schaffen, sollte man sich schon zuhause praktisch alles fertigschreiben und alle Möglichkeiten soweit wie es geht zuhause ausprogrammieren - sonst ist es komplett unmöglich, sie zu schaffen.
  • Es ist anzumerken dass in dem Vorzimmer bei mehr als einer fliegenden Drohne besondere Luftverwirbelungen und damit schlechtes Flugverhalten auftritt.
  • Des weiteren degeneriert die WLAN-Qualität bei mehr als 2 gleichzeitig angedrehten Drohnen im Vorzimmer. Der Lag bei der Videoübertragung kann dann tw. gegen 10 Sekunden gehen, was sich ungünstig auf die Regelschleife auswirkt. Es ist zu empfehlen, eine Gruppendisziplin festzulegen, sodass die Leute, die nicht fliegen, ihre Drohne tatsächlich auch abstecken.
  • Die Batterielaufzeit ist mit maximal 10 Minuten weit kürzer, als man denkt. Noch ein Grund, die Batterie diszipliniert abzustecken (ja, auch Nicht-Fliegen kostet ganz schön viel Strom, z.B. wegen des WLANs). Trial-And-Error-Programmierung kann man sich aufgrund der kurzen Testzeiten kaum leisten.
  • Keine Person sollte näher als 1m bei einer fliegenden Drohne stehen, da sonst Seitenverwirbelungen entstehen.
  • Wer während eines Fluges eine Tür aufmacht oder auch nur immer Zimmer herumgeht, braucht sich über das Flugverhalten nicht wundern. Selbst kaum spürbare Luftzüge lösen ein Schwanken aus, das mit dem gegebenen Parrot SDK und den mickrigen Sensoren zuzüglich Lag und WLAN nicht auszugleichen ist.

Verbesserungsvorschläge / Kritik[Bearbeiten]

  • Während man bei den ersten beiden Übungen (vor allem bei der ersten) äußerst fachgerechte Beratung kriegt, ist das bei der dritten nicht der Fall gewesen - die Hinweise waren tw. mehr schädlich als nützlich. Wir haben bei der dritten praktisch alles selbst herausgefunden.
  • MASSIVE KRITIK: Es gab VIEL zuwenig Zeit für die 3. LU! Die veranschlagte Zeit für das Bsp war ungefähr ein Viertel-Achtel dessen, was nötig gewesen wäre. Trotz Sonderterminen im Semester ist keine einzige Gruppe bis Ende Juni fertig geworden! Es mussten im August noch 2 Nachmittage eingeschoben werden, und selbst dann ist (glaub ich) keiner damit durchgekommen, was eigentlich verlangt gewesen wäre.
  • Das 3. Übungsbeispiel war daher von Schwierigkeit und Zeitaufwand ziemlich überzogen. Da keine einzige Gruppe zu Semesterende fertig war, findet der erste Prüfungstermin zu Beginn des WS12 statt.