bubbles

MATLAB powered NXT omniwheel robot

Kurz vor Weihnachten beendeten wir unser Erstsemsterprojekt “MATLAB meets LEGO Mindstorms” an der RWTH Aachen.

Während dieser Pflichtveranstaltung sollten wir die Lerninhalte der Vorlesung “Mathematische Methoden der Elektrotechnik” durch Steuerung von LEGO Mindstorms NXT Robotern unter MATLAB vertiefen. Das Projekt ist eine Pflichtveranstaltung im 1. Semester meines Studienganges (Elektrotechnik, Informationstechnik und Technische Informatik) und wird durch alle Lehrstühle unserer Fakultät als 10-tägige Blockveranstaltung vor Weihnachten durchgeführt.

Ich wurde dem Institut für vernetzte System (MOBNETS) zugeteilt. Etwas verwundert war ich dann am ersten Tag, als wir auf Englisch begrüßt wurden. Aber naja, später werden wir vermutlich sowieso dazu gezwungen werden.

Während der ersten Woche lernten wir die eigens für das Projekt entwickelte “RWTH Mindstorms NXT-Toolbox” kennen und haben an einigen vorgegebenen Versuchen gearbeitet.

In der zweiten Hälfte des Projektes durften wir dann in einem Wahlversuch selber kreativ werden und einen eigenen Roboter konstruieren.

Meine beiden Kollegen und ich haben uns für einen Roboter mit omnidirektionalem Antrieb entschieden. Das Prinzip dieses etwas außergewöhnlichen Antriebes wird das folgende Video deutlich.

Die Konstruktion der “Omniwheels” war komplizierter als Anfangs angenommen. Dafür sind wir glücklicherweise recht schnell auf den nötigen Zusammenhang zwischen Fahrtrichtung und den drei Motorgeschwindigkeiten gekommen.

Als Projektabschluss mussten alle Gruppen ihren Roboter präsentieren. Unsere Präsentationsfolien gibts hier.

Features

  • Omniwheel-Antrieb
    • Bewegungsfreiheit in 360°
    • Drehen auf der Stelle
  • intuitive Fernsteuerung über zweiten NXT-Brick
    • durch Neigung des Controllers (Beschleunigungssensoren)
    • Schalter zur Steuerung des Programmablaufs
  • Signal-Hupe
  • akustischer Abstandswarner

Bilder

fnordlicht vu meter

Last time, I showed you my new fnordlicht’s. Today, I’ve a little gift for you: I’ve written a small c program to control the lights according to the current peak level.

The software analyses the audio signal of my system (Ubuntu 10.10 with pulseaudio). So you can dance to everything that can play audio.. :D

Update: As preparation for a exam, I added a discrete fourier analysis (DFT). Unfortunatly the serial bus is to slow to visualize the audio spectrogram in real time :( The bars are colored with their complex phase->hue (HSV) aquivalent.

The software uses and is distributed together with my fnlib (fnordlicht library) available under: http://web.git.0l.de/libfn.git

Some technical details (in german):

Ich benutze PulseAudio um mich in die Soundkarte des Systems einzuklingen. Das Programm tarnt sich als Recording-Tool. Und kann dadurch den kompletten Audio-Output oder nur bestimmte Programme visualisieren. Sogar das Mikrofon kann ich benutzen :p

PulseAudio liefert mir einen einfachen PCM Stream (44,1kHz Samplingrate, Mono & 16-Bit signed Integers). Derzeit addiere ich immer nur x Werte dieses Bytestreams und mittele diese Summe dann über einen kurzen Zeitraum.

Geplant ist noch eine FFT-Analyse um  die Amplituden verschiedener Frequenzen gemäß der “Ohrkurve”, der Empfindlichkeit des menschlichen Gehörs, gewichten zu können. Der Schritt zur Spektraldarstellung (jedes meiner 10 fnordlichter als VU-Meter für ein bestimmtes Frequenzband) ist dann hoffentlich auch nicht mehr so weit.

Ohrkurve

Hints (for me)

elektro:camp(<<2010>>).

Dieses Wochenende fand in Kaiserslautern das erste elektro:camp(<<2010>>). statt.

Im Fraunhofer ITWM veranstaltete Mathias Dalheimer, Leiter des Projekts “mysmartgrid“, das erste deutsche BarCamp zu den Themen:

  • Smart Metering
  • Demand-Side Management
  • Home Automation
  • Home Displays

Von Freitag bis Samstag trafen sich ca. 25, teils internationale, Teilnehmer und diskutierten fleißig über das aktuelle Themenfeld. Neben vielen neuen Gesichtern und interessanten Vorträgen bekamen wir auch die Möglichkeit uns das Gebäude und den Rechen-Cluster des ITWM zu besichtigen. Ach, und hierbei möchte ich mich gleich bei Mathias für die Organisation und das Catering bedanken ;) War super!

Für alle, die es dieses Jahr leider nicht nach Kaiserslautern geschafft haben, sei gesagt, dass dies sicherlich nicht die letzte Veranstaltung dieser Art gewesen ist. Spätestens nächstes Jahr treffen wir uns sicherlich wieder. Ansonsten hat Justin das gesamte Event als Timelapse-Video in 2 Minuten zusammengefasst:

Die Ergebnisse dieses Wochenendes werden nun im Wiki und in der Google Gruppe gesammelt. Feel free to join us!