Last update: 15.05.2008 | © 2008 Julian von Mendel
Hallo du! Ich freue mich über Kritik, Fragen und Verbesserungsvorschläge.
Ein ARM7TDMI und ein ATMEGA128 und eine Kamera und ein TFT und…
Video vom Roboter auf der Cebit, wie er sich ausnahmsweise mal klug verhält, mit drehbaren Entfernungssensoren zum Bälle-Finden: 2.4 MiB DivX | Youtube
Erste Versuche mit dem weiterentwickelten Roboter mit Kamera und Bildverarbeitung on Board: 3.6 MiB DivX | Youtube
Für Roboking 2008 habe ich eine Atmel-Platine erstellt, auf der drei ATMEGA168 sitzen und untereinander per SPI kommunizieren können, das ebenfalls veröffentlichte Programm und die zugehörige Einleitung zeigen auf, wie man das nicht nur zu einer Porterweiterung, sondern auch zur Aufgabenverteilung und -koordination nutzen kann. Ab jetzt ist es möglich, den Schaltplan und das wirre Layout herunterzuladen:
Zitat von der Projektseite:
[Die Elektronik] ist für die Verarbeitung von drei Radencodern, neun Entfernungssensoren, zwei Tastern, der aktuellen Akkuspannung und sechs Fototransistoren ausgelegt, kann sechs Gleichstrommotoren, sieben Servos und vier LEDs ansteuern. Über zwei serielle Schnittstellen kann mit einem PDA, einem PC, einem TFT oder einer CMUCam3 kommuniziert werden.
Alle Komponenten lassen sich leicht umverkabeln oder zweckentfremden.
Die image-Klasse cached Pixelfarben jetzt, was die Geschwindigkeit deutlich erhöht. (imagecolorsforindex(imagecolorat($handle, $x, $y)) ist extrem langsam. Das mehrmals für's gleiche Pixel zu machen ist Zeitverschwendung. Die Sobel-Klasse bietet jetzt auch die Möglichkeit an, die Kantenstärke nicht in die Helligkeit der Pixel einzubeziehen.
Ich habe die image-Klasse aktualisiert, sie kann jetzt Farbkanäle herausfiltern, in Graustufen konvertieren, Bilder invertieren, Bilder drehen und leichter Farbinformationen ermitteln. Zur Kantendetektion in Bildern habe ich den Sobeloperator und das Laplace-Filter implementiert.
Update 2008-03-31: Die Klasse hat sich seit gestern mehrmals verändert. Ich habe jetzt eine Versionsangabe eingeführt, die am Anfang der Datei steht, aus der man den letzten Veröffentlichungszeitpunkt ablesen kann, da ich plane, die Klasse in den nächsten Tagen mehrmals zu erweitern und weiter mit Bildverarbeitung zu experimentieren. Eine News werde ich dafür nur bei relevanten Funktionserweiterungen schreiben. Wer Fragen, Kritik an der Vorgehensweise oder Probleme mit Bugs hat soll mir schreiben. Ich werde keine Inkompatibilitäten einführen; wer eine alte Version der Klasse auf die Aktuellste updated sollte nichts an seinem Programm ändern müssen. (Lediglich das erst gestern veröffentlichte imagealgorithm-Interface habe ich um einen Parameter verändert, aber das hat wohl sowieso noch niemand verwendet.) In den nächsten Stunden wird es ein weiteres Update geben, das die Geschwindigkeit der Kantendetektionsverfahren und dem Unschärfefilter erhöhen sollte.
Ich habe die Roboking-Seite auf den aktuellen Stand gebracht. Weitere Aktualisierungen sind nicht zu erwarten.
Alex hat mich auf einen Fehler in der image-Klasse hingewiesen, der dazu geführt hat, dass die cut()-Methode zwar einen modifizierten Handler zurückgegeben hat, nicht jedoch das Bild selbst modifiziert hat. Der Fehler ist jetzt korrigiert. Dankeschön!
Michele Collodo und ich werden mit dem vierten lucidDROP-Prototypen Ende Februar bei JugendForscht teilnehmen.
Unser Roboking-Projekt hat jetzt seine eigene Seite. Bis März wird sie mit Informationen über die technischen Aspekte und die Software gefüllt sein.
Wir haben den 26. Platz gemacht. Die Mechanik lief gut, die Software nicht. (Ich kann in echt gar nicht programmieren.)
Update 2007-12-07: Ich hab' ein paar mehr Fotos hinzugefügt. Im März werden wir die Projektdokumentation veröffentlichen und am Finale teilnehmen.
Fotos von unserem Roboking-Projekt.
Undokumentierter und nutzloser Parameter in der output()-Methode der image-Klasse entfernt.
Ich habe einen einfachen Bootloader für einen ATMEGA168 geschrieben, er sollte nach Anpassung von zwei Zeilen aber für praktisch jeden ATMEGA verwendbar sein. Er besteht aus reinem C, umfasst nur 140 Zeilen und passt in eine 1kB-Bootloader-Section. Zum Uploaden liegt ein einfaches Shell-Skript bei (erfordert die Z-Shell, ist aber leicht anpassbar). Kurze Dokumentation liegt bei, bei Unklarheiten einfach schreiben. Man kann den Bootloader per USART oder SPI ansteuern. Download
Ist Freiheit oder Sicherheit wichtiger?
Ist Bildung oder das Militär wichtiger?
Neue Referenz: Content-Management-System mit WYSIWYG und Integration eines Routenplaners unter energieherz.de.
Kai Lauterbach hat mich auf zwei Fehler in der Atmel-Bibliothek im Zusammenhang mit Servos hingewiesen:
Neue Referenz: Content-Management-System mit WYSIWYG und Integration eines Routenplaners unter feeronica.com.
Die Mikrocontroller-Seite hab' ich um einige Notizen bzgl. der Nutzung von Pulsbreitenmodulation ergänzt, ich bekam in letzter Zeit recht viele Mails in denen dannach gefragt wurde. Der Inhalt ist noch nicht perfekt aufbereitet… Die Bibliothek hätte auch mal eine Aktualisierung verdient.
Ich habe die Mikrocontroller-Seite aktualisiert, die Reichelt-Links funktionieren jetzt wieder.
«Petition: Grundgesetz: Wahlberechtigte bei Änderung des Artikels 79 Absatz 2 beteiligen» — bitte unterzeichnen.
Matthias Bär, Michele Collodo und ich werden an Roboking 2008 teilnehmen.
Da sich das Interesse in Grenzen hält werde ich in Zukunft keinen PHP-Code mehr veröffentlichen. Die Mikrocontroller-Seite ist gut besucht und wird in ein paar Monaten wieder aktualisiert. Wer Fragen diesbzgl. hat, z. B. wegen den immer noch nicht dokumentierten PWM-Sachen, kann mir ja mailen.
Neue Referenz: Content-Management-System mit WYSIWYG unter mvmdesign.de.
Ich habe das Menü etwas übersichtlicher gestaltet und eine neue Projekt-Seite hinzugefügt.
Meinen eigenen NoPaste-Service mit LaTeX-Support gibt's jetzt bei den Tools.
Die XML-Klasse kann mit diversen neuen Erweiterungen mittlerweile auch Kontaktformulare mit Spamschutz und Prüfung auf korrekte Eingaben erzeugen, außerdem Gästebücher mit Admin-Interface (z. B. auf der Internetseite von lucidDROP) oder News-Seiten mit WYSIWYG.
Mein neuestes Projekt lucidDROP hat den 1. Platz bei einem Wettbewerb des Fraunhofer Instituts für Integrierte Schaltungen gewonnen. lucidDROP ist die Weiterentwicklung der in 2007-01-11 erwaehnten Nachbaut der «time fountain».
Für den Techniktag an meiner Schule habe ich letzte Woche meine eigene In-Die-Luft-Schreibe-Uhr gebaut, nur noch ohne Uhrzeit...
Neue Referenz: Content-Management-System mit WYSIWYG unter gesundheit-schuetzen.de.
Neue Referenz: Die XHTML-Umsetzung der Internetseite Franz Raab Kabelwerk GmbH ist von mir. Die Über mich-Seite habe ich um eine Referenzliste erweitert.
Mitte November habe ich die «time fountain» nachgebaut — ein ATMEGA8 misst, wann mit einem Fluoreszenzmittel versehene Wassertropfen aus einer Höhe von ein paar Zentimetern runterfallen und beleuchtet diese kurz dannach mit UV-LEDs. Im Dunklen sind die Tropfen dann nur sichtbar, wenn die LEDs leuchten. Da die Tropfen immer an der gleichen Position beleuchtet werden, sieht es so aus, als würde ein Tropfen in der Luft an der Stelle stehen oder sich rückwärts bewegen (siehe auch Stroboskop). Bild vom Prototyp. In zwei bis drei Monaten gibt's eine coolere Version.

Der Tropfen fällt niemals runter ;)
Neue Referenz: Heute ist Vyana, ein unheimlich cooler Webshop online gegangen, programmiert vom Julian höchstpersönlich.
Meine Internetseite sieht jetzt ein wenig anders aus, ist meiner Meinung nach übersichtlicher strukturiert, die Projektseiten wurden aufgetrennt, die Mikrocontroller-Seite komplett überarbeitet und aktualisiert sowie mit weiteren Informationen ergänzt und der PHP-Teil wurde um meine neue XML-Klasse ergänzt (sehr cool). Ich habe die light traffic-Dokumentation integriert, die image-Klasse überarbeitet (deutlich schöner zu verwenden und besser aufgebauter Code in der Klasse) und arbeite an der Überarbeitung der cache- und filelist-Klassen.
© 2008 Julian von Mendel (http://derjulian.net) | Datum: 16.05.2008