daApprentice
08.10.2008, 22:52
Hallo,
der Name dieses Projektes, 'AsuroParrot', setzt sich aus dem Namen 'Asuro' und dem Wort 'Parrot', also 'Papagei', zusammen. Papageien sollen ja in der Lage sein, ausgesprochene Wörter zu wiederholen. AsuroParrot ist ein auf Asuro basierender Roboter, der Pfade wiederholen kann.
Ziel des Projektes ist demnach auf Basis von Asuro einen Roboter mit folgenden Fähigkeiten zu schaffen:
Steuerung durch Tastenbedienung im Aufnahmemodus;
Dabei Speicherung des zurückgelegten Pfades;
Wiedergabe eines gespeicherten Pfades im Wiedergabemodus.
Dabei ist AsuroParrot ein ausgesprochenes Lernprojekt. Ich habe Wert darauf gelegt, jede neue Erkenntnis, die ich gewonnen habe, sauber zu dokumentieren. Hinzu kommt, dass im Design durch Kollaborationsdiagramme das Zusammenspiel der 'Komponenten' dargestellt wurde. Daher ist die Doku besonders ausgiebig ausgefallen, was Asuro-Neulinge wie ich einer bin eventuell helfen kann.
Technischer Schwerpunkt des Projektes ist die Nutzung des EEPROM-Speichers für die Ablage der Pfade. Daneben werden Timer Overflow Interrupts genutzt. Auch die Routinen zum Auslesen der Buttons werden vielseitig eingesetzt.
AsuroParrot ist ein Lernprojekt und hat deshalb keine Ambitionen auf praktische Einsetzbarkeit. Auch für die Verwendung als Party-Gag verbleiben jedoch folgende mir bekannte Schwächen:
1) Für die Steuerung wird kein Regelkreislauf verwendet; der Mechanismus speichert, wieviel speed die Motoren im Aufnahmemodus erhalten haben und gibt ihnen bei der Wiedergabe den gleichen speed; ob dies zur gleichen Geschwindigkeit führt, sei dahingestellt.
2) Die Bedienung im Aufnahmemodus ist extrem schwierig; die Buttons müssen während der Bewegung gedrückt werden und beim Drücken wird oft der Asuro verschoben, so dass die Wiedergabe nicht getreu ist;
3) Im Design habe ich keine Darstellung gefunden, um das zeitliche Zusammenspiel zwischen Timer Overflow Interrupt und der Abfrage der Buttons besser zu durchdringen. Da dieses Thema bei der Entwicklung viele Fehler verursacht hat, versuche ich immer noch dieses Problem zu lösen und experimentiere derzeit mit UML-Aktivitätsdiagrammen.
Viel Spaß mit meinem kleinen Projekt. Ich freue mich auf Anregungen, Fragen, Korrekturen und natürlich auch auf Kritik.
Grüße,
Alessandro
der Name dieses Projektes, 'AsuroParrot', setzt sich aus dem Namen 'Asuro' und dem Wort 'Parrot', also 'Papagei', zusammen. Papageien sollen ja in der Lage sein, ausgesprochene Wörter zu wiederholen. AsuroParrot ist ein auf Asuro basierender Roboter, der Pfade wiederholen kann.
Ziel des Projektes ist demnach auf Basis von Asuro einen Roboter mit folgenden Fähigkeiten zu schaffen:
Steuerung durch Tastenbedienung im Aufnahmemodus;
Dabei Speicherung des zurückgelegten Pfades;
Wiedergabe eines gespeicherten Pfades im Wiedergabemodus.
Dabei ist AsuroParrot ein ausgesprochenes Lernprojekt. Ich habe Wert darauf gelegt, jede neue Erkenntnis, die ich gewonnen habe, sauber zu dokumentieren. Hinzu kommt, dass im Design durch Kollaborationsdiagramme das Zusammenspiel der 'Komponenten' dargestellt wurde. Daher ist die Doku besonders ausgiebig ausgefallen, was Asuro-Neulinge wie ich einer bin eventuell helfen kann.
Technischer Schwerpunkt des Projektes ist die Nutzung des EEPROM-Speichers für die Ablage der Pfade. Daneben werden Timer Overflow Interrupts genutzt. Auch die Routinen zum Auslesen der Buttons werden vielseitig eingesetzt.
AsuroParrot ist ein Lernprojekt und hat deshalb keine Ambitionen auf praktische Einsetzbarkeit. Auch für die Verwendung als Party-Gag verbleiben jedoch folgende mir bekannte Schwächen:
1) Für die Steuerung wird kein Regelkreislauf verwendet; der Mechanismus speichert, wieviel speed die Motoren im Aufnahmemodus erhalten haben und gibt ihnen bei der Wiedergabe den gleichen speed; ob dies zur gleichen Geschwindigkeit führt, sei dahingestellt.
2) Die Bedienung im Aufnahmemodus ist extrem schwierig; die Buttons müssen während der Bewegung gedrückt werden und beim Drücken wird oft der Asuro verschoben, so dass die Wiedergabe nicht getreu ist;
3) Im Design habe ich keine Darstellung gefunden, um das zeitliche Zusammenspiel zwischen Timer Overflow Interrupt und der Abfrage der Buttons besser zu durchdringen. Da dieses Thema bei der Entwicklung viele Fehler verursacht hat, versuche ich immer noch dieses Problem zu lösen und experimentiere derzeit mit UML-Aktivitätsdiagrammen.
Viel Spaß mit meinem kleinen Projekt. Ich freue mich auf Anregungen, Fragen, Korrekturen und natürlich auch auf Kritik.
Grüße,
Alessandro