|
[ Home
] [ Seitenende ] [ Montage 1 ] [ Coding 1 ] |
|
|
KOSMOS – der programmierbare Proxi-Roboter Produktinformationen
zum programmierbaren „micro:bit“- Roboter „Proxi“ Ein Roboter ist immer nur so gut wie seine Sensoren (= Fühler) und Aktoren (= Antriebe). Und
diese sind nur so gut wie das Programm mit dem die
Sensoren und Aktoren kommunizieren, d.h. ihre Daten austauschen. Und das (Steuer-)
Programm für den Mikrocontroller
ist stets nur so gut und gebrauchstüchtig, wie die Programmierer
erfahren und intelligent sind, um Elektrotechnik, Elektronik, Physik,
Mechanik und Kinematik im weitesten Sinne zu programmieren. Was aber nützt ein Roboter, der sich dem
Anwender nicht mitteilt, der einfach nur still vor sich hin werkelt, sodass
der Anwender nicht weiß, was sich der Roboter so im Stellen „denkt“ und was
er als Nächstes zu tun vorhat? Läuft der Roboter als Nächstes nach vorn? Und
falls ja, weshalb tut er das? Was hat er vor, wenn er nach vorn läuft? Will
er mit seinen Sensoren die Umgebung erkunden? Kann er das überhaupt? Und
falls ja, welche Sensoren benutzt er dazu? Fragen über Fragen. Neben der Ausstattung des Proxi-Roboters und
seinem jeweiligen Programm ist die Kommunikation zwischen
dem Roboter und dem Anwender das A & O. Je weniger Missverständnisse es
gibt, umso besser! Wie also kommuniziert unser Proxi-Roboter?
Einerseits über das Display mit der 5 x 5 LED-Matrix und der alphanumerischen
Anzeige von Text und Zahlen sowie Symbolen ähnlich einer Laufschrift und
andererseits mit Tönen, Tonfolgen und Melodien des Sound-Moduls. (Zum Vergrößern bitte
auf das Bild klicken!) Auf der Webseite „Proxi
- Dein micro:bit Programmier-Roboter“ findet sich im Abschnitt
„Produktinformationen ‚Proxi’“ die nachfolgende Aufstellung über die
Ausstattung des Proxi-Roboters nebst seines Mikrocontrollers „micro:bit“: >> Die
micro:bit-Platine beinhaltet folgende Ausstattung:
Einleitung
Wie bringt man einem kleinen Roboter das
Laufen bei, der anstelle von zwei Beinen sechs davon hat? Braucht der Roboter
dazu einen Gleichgewichtssinn, ein Gleichgewichtsorgan
so wie der Mensch im Innenohr? Und falls ja, wie programmiert man den? Wir wissen
ja vom Smartphone (=
quasi intelligentes, verbessertes Handy mit Display und Mobilfunk-Internet),
dass sich bei diesem die Bildschirmansicht des Displays automatisch mit
dreht, wenn man das Gerät von der vertikalen Ansicht in die horizontale
Ansicht schwenkt. Schließlich nimmt man das Smartphone zum
Telefonieren senkrecht in die Hand, weil sich der Hörer/Lautsprecher am
oberen Rand und das Mikrofon am unteren Rand befinden und zum Fotografieren
bzw. Anschauen von Videos nimmt man es waagrecht in die Hand, damit das Bild
horizontal im Format 16:9
(früher 4:3) wie beim Fernsehen großformatig z.B. in „HD“- oder „Full HD“-Auflösung
darstellen lässt. Damit das Smartphone erkennen kann, ob man es
senkrecht oder waagrecht in der Hand hält, benötigt es einen sogenannten Lagesensor, der wiederum
nichts mit einem Kompass oder einer GPS-Satelliten-Navigation zu tun hat. Wenn man auf dem Smartphone eine Fitness-App
installiert hat und wissen möchte, ob man sich beim Joggen genügend bewegt
und entsprechend viele Kalorien verbraucht hat, dann benötigt man in seinem
Gerät noch zusätzlich einen Beschleunigungssensor
mit dem sich feststellen lässt, ob sich der Besitzer beim Laufen tatsächlich
bewegt, indem er sein anfängliches Schritttempo bis hin zum Lauftempo
steigert, d.h. beschleunigt. Und mit dem Lagesensor lässt sich feststellen,
ob sich der Mensch nach vorn oder rückwärts bewegt, weil er dazu bei jedem
Schritt das Gleichgewicht kurz nach vorn oder hinten verlagert. Was aber hat das alles mit dem Proxi-Roboter
zu tun? Ganz einfach, weil dieser auch über einen Lagesensor und einen Beschleunigungssensor
verfügt! Ob aber der Roboter zum Laufen auch den Lage- und
Beschleunigungssensor benötigt und diese fortwährend abfragt, wissen wir noch
nicht, da die zur Verfügung stehenden Statements,
d.h. „KOSMOS – Proxi“-Befehle, leider keine Aussage darüber liefern: (Zum Vergrößern bitte
auf das Bild klicken!) Bei den zur Verfügung stehenden „KOSMOS –
Proxi“-Statements handelt es sich also um keine einzelnen, detaillierten
Befehle, sondern um mehrere Befehlsfolgen
von Einzelbefehlen, Funktionen,
Methoden,
Prozeduren
usw., die man in der Programmierung auch „Makros“ nennt. Moderne Programmiersprachen wie z.B. JavaScript oder Python,
beides sind Programmiersprachen mit denen sich unser Proxi-Roboter u.a.
programmieren lässt, sind Objekt orientiert („OOP“).
Dabei werden sich wiederholende, wiederkehrende oder spezielle Sachverhalte
als Objekt, d.h. im weitesten
Sinne als Gegenstand bzw. etwas Gegenständliches bezeichnet. Ein Objekt ist etwas Konkretes und
Spezielles und kann deshalb etwas bewerkstelligen. Ein Objekt besitzt bestimmte Eigenschaften,
d.h. Attribute
und Fähigkeiten, d.h. Methoden.
Mit einem Objekt lässt sich also
etwas anstellen, bewerkstelligen, ein Problem, eine Aufgabe lösen oder ein
Sachverhalt darstellen und in die Praxis umsetzen. Wenn wir also wissen wollen, was sich hinter
dem Statement <Proxi läuft vorwärts> verbirgt, dann müssen wir
z.B. die beiden Sensoren, d.h. den Lage- und Bewegungssensor, während
der Vorwärtsbewegung abfragen, da sich mit diesen u.a. eine Bewegung
durchführen lässt. Natürlich braucht es dazu auch noch entsprechende Aktoren,
d.h. Antriebsmotoren für den Antrieb der Beine. Das Interessante dabei ist,
dass der Proxi-Roboter mit seinen sechs Beinen ähnlich eine Krabbe wider Erwarten keine
sechs Antriebsmotoren benötigt, sondern nur einen einzigen! Ein Küchentisch hat bekanntlich vier Beine.
Aber warum vier Beine und nicht drei oder sechs? Ein Tisch mit drei Beinen
kann leichter zu einer der drei Seiten umkippen, wenn man sich auf ihn
stellt. Deshalb müssen Büro-Drehstühle aus Gründen der Kippsicherheit stets
fünf Beine haben! Da sich humanoide Roboter, d.h. Roboter mit Menschen
ähnlichen Eigenschaften (= Attribute) und Fähigkeiten (= Methoden), auf zwei,
vier oder sechs Beinen im Falle eines Sturzes von alleine wieder aufrichten
können, brauchen diese wie beim Büro-Drehstuhl keine fünf Beine. >> Vielfältig waren auch die auf
der Tagung präsentierten Roboter, bei deren Konstruktion die Erkenntnisse aus der Biologie
noch eine unterschiedlich große Rolle spielten: Neben einzelnen Beinen oder
einem mit pneumatischen Muskeln versehenen humanoiden Oberkörper haben die
Forscher sich Schlangen, Salamander, Skorpione, Heuschrecken, aber auch Hunde
und Menschen zum Vorbild genommen. Einige
der sehr unterschiedlich aufgebauten Maschinen haben keinerlei zentrale
Steuerung, da mit ihnen zunächst die grundsätzlichen Bewegungsmechanismen
untersucht werden sollen -- wenn man dies weiß, fällt die Bewertung auch
der früh aus dem Rennen geschiedenen Roboter erheblich positiver aus. Wie
weit man nach langjähriger Forschung trotz aller Schwierigkeiten tatsächlich
kommen kann, wenn man biologische und technische Kenntnisse sinnvoll
kombiniert, zeigte Martin Bühler von Boston Dynamics mit mehreren Videos am letzten Tag der Tagung:
Spektakulärstes Beispiel war BigDog, ein etwa doggengroßer
Vierbeiner, noch ohne Kopf. Er läuft nicht nur recht flüssig und trägt
Lasten auch über eine unebene Wiese halbwegs sicher, sondern er fängt sich
auch wieder, wenn er, während er geht, einen kräftigen Tritt in die Seite
bekommt -- ohne dass ein Zentralgehirn
die Störung analysiert und ein Ausweichmanöver daraus abgeleitet hätte.
<< (Quelle: heise
online) Ähnlich verhält es sich auch bei unserem
sechsbeinigen Proxi-Roboter, der ebenfalls keine zentrale Steuerung,
die den Bewegungsablauf koordiniert und steuert, verfügt! Denn in Wirklichkeit
hat der Proxi-Roboter nur drei Beine bzw. zweimal drei Beine! Drei
Beine damit er nicht umkippt bzw. nach vorne oder hinten fällt. Und den
Antriebssatz von drei Beinen in doppelter Ausführung für die
Vorwärts- oder Rückwärtsbewegung. Während unser Proxi-Roboter auf drei Beinen
steht, kann er nämlich die anderen drei (Reserve-) Beine bereits dazu
benutzen, um diese für den nächsten Schritt nach vorne zu positionieren.
Demzufolge haben also immer nur drei Beine gleichzeitig Kontakt mit
der Erde, während die anderen drei Beine schon den nächsten Schritt nach
vorne vorbereiten. Langer Rede, kurzer Sinn, wenden wir uns
gleich der Praxis zu und befassen uns mit der [ Montage 1 ] des ersten Antriebsmotors. |
|
|
[ Home ] [ Seitenanfang ] [ Montage 1 ] [ Coding 1 ] |
|