Make Magazin 3/2016
S. 50
Grundlagen
Aufmacherbild

Analog geht’s auch:

Mit zwei Transistoren einen mobilen Roboter steuern

Wenige Elektronikbauteile reichen aus, um einen kleinen Schildkröten-Bot zu bauen, der seine Umgebung erkundet, indem er Licht oder einer Linie auf dem Boden folgt und damit schon fast so etwas wie menschliche Emotionen nachbildet.

Ein analoger Roboter verwendet einfache, nicht-digitale Schaltkreise, um Ziele zu erreichen, die keine Planung erfordern. Die ersten analogen Roboter wurden 1948 von William Grey Walter gebaut. Sie waren bereits imstande, Lichtquellen zu folgen und selbstständig eine Ladestation anzufahren, wenn die Batterie leer wurde.

Analoge Roboter

In den 90er Jahren entwickelte allen voran der Physiker Mark Tilden viele analoge Roboter, die oftmals lediglich mit diskreten elektronischen Bauteilen aufgebaut waren. Nichtsdestotrotz waren sie imstande, komplexe Bewegungen zu generieren. Weil die verwendeten Schaltkreise dabei biologische Neuronen nachahmten, hat sich für diese Konstruktionsweise der Begriff BEAM-Roboter etabliert: BEAM steht dabei für Biologie, Elektronik, Aesthetisch und Mechanisch. Solche analogen Steuerungen sind zwar nicht so flexibel wie jene mit Mikroprozessoren, jedoch erfüllen sie die Aufgaben, für die sie vorgesehen sind, meist sehr zuverlässig und effizient. Roboter die sowohl analoge Elektronik als auch Prozessoren enthalten, werden als „Mutanten“ bezeichnet.

Braitenberg-Vehikel

Noch bevor die BEAM-Roboter populär wurden und viele Maker auf der ganzen Welt unterschiedlichste dieser kleinen Roboterwesen kreierten, veröffentlichte 1984 der Südtiroler Hirnforscher und Kybernetiker Valentin Braitenberg seine Gedankenexperimente zu den nach ihm benannten Braitenberg-Vehikeln. Diese einfachen, mit Sensoren ausgestatteten Roboterfahrzeuge reagieren autark auf Umweltreize. Durch eine direkte Kopplung der Aktoren (in Form der Antriebsmotoren) an die Sensoren (gewissermaßen die Augen) werden die Antriebsräder gesteuert. Wenn auch die meisten realen Umsetzungen der Braitenberg-Vehikel fahrbar mit zwei Antriebsrädern ausgestattet sind, so könnten sie sich im Allgemeinen auch krabbelnd, schwimmend oder fliegend fortbewegen. Es ist eine Vielzahl an unterschiedlichen Sensoren einsetzbar, die zum Beispiel Helligkeit, Temperatur, Druck, Feuchtigkeit, Schall, Magnetismus und so weiter detektieren. Ein Sensor kann dabei auf mehrere Aktoren wirken und die Art der Beeinflussung kann über beliebig komplexe mathematische Funktionen umgesetzt werden. Bereits bei sehr einfachen Arten dieser Kopplung entstehen mehr oder weniger zielgerichtete Bewegungsvarianten.

Wir sehen relativ

Bei diesem Bild unterliegt der Betrachter einer optischen Täuschung. Bild: Edward H. Adelson

Die betrachteten Braitenberg-Vehikel verfügen über eine starre Korrelation von Helligkeit und Geschwindigkeit. Dadurch bedingt, stellt sich das gewünschte Verhalten nur bei einer bestimmten Entfernung und Intensität der Lichtquelle ein. Es findet also keine Anpassung an die Umgebungsbedingungen statt. In diesem Zusammenhang ist es interessant zu betrachten, wie eigentlich das menschliche visuelle System Helligkeitsinformationen verarbeitet. Hierzu im Bild oben ein kleines Experiment: Welches der Quadrate ist heller, A oder B?

Hier wird es deutlich: Beide Felder weisen die gleiche Helligkeit auf. Bild: Edward H. Adelson

Bei dem Schachbrettversuch von Edward H. Adelson sieht es so aus, als sei Quadrat A dunkler als Quadrat B. Dieser Eindruck bleibt selbst dann bestehen, wenn wir uns der optischen Täuschung bereits bewusst geworden sind. Die tatsächliche Helligkeit von Feld A und B ist jedoch gleich, wie durch die hinzugefügten grauen Streifen im zweiten Bild deutlich wird. Dieses Beispiel demonstriert uns eindrucksvoll, dass wir eine relative Helligkeitswahrnehmung besitzen. Unsere Wahrnehmung eines Objektes bezieht sich immer auf die Helligkeit der Umgebung, die in diesem Beispiel durch den Schattenwurf des grünen Zylinders beeinflusst ist. Müssen wir dann die absolute Helligkeit vergleichen (wie bei diesem Experiment), so sind wir dazu kaum in der Lage.

An dieses Phänomen geknüpft ist die konstante Helligkeitswahrnehmung: Unabhängig davon, ob in der Dämmerung oder bei Sonnenschein betrachtet, erscheint uns ein weißes Auto immer als weiß, weil unser visuelles System die Helligkeit automatisch mit jener der Umgebung vergleicht. Eine derartige Wahrnehmung macht also durchaus Sinn, um sich in der Welt zurechtzufinden. Unser Auge kann zwar nur eine Helligkeitsdifferenz von mehr als 10 Prozent wahrnehmen, das jedoch auf einer unglaublich großen Skala im Bereich von 1:10 Milliarden.

Relative Sensorsignale

Wie könnten wir nun eine solche Anpassungsfähigkeit auf unsere analogen Vehikel übertragen? Die einfachste Methode, eine relative Helligkeitsdetektion zu erreichen, ist eine direkte physikalische Umsetzung. Dazu kombinieren wir zwei oder mehrere Sensoren mit unterschiedlichen Erfassungsbereichen in Gruppen. Anstatt absolute und unabhängige Helligkeitswerte, erhalten wir damit relative Helligkeitsinformationen über die Umgebung. Mehrere solcher Sensorgruppen in Kombination könnten ähnlich wie bei den Facettenaugen von Insekten angeordnet sein. Bei diesen wird das Signal der Sehzellen übrigens von den nachgeschalteten Neuronen nicht einfach weitergeleitet, sondern direkt ausgewertet und nur die Veränderung weitergemeldet. Durch diese Datenreduktion kann das Signal schneller und effektiver bearbeitet werden.

Das im Bild unten gezeigte Vehikel mit relativer Signalauswertung verfügt über zwei kombinierte Helligkeitssensoren bzw. eine Sensorgruppe. Dabei wird das Verhältnis der beiden Helligkeiten gebildet. Der relative Sensorwert wirkt dabei auf die Geschwindigkeit des einen Motors verstärkend und auf die des anderen hemmend. Bei gleichmäßiger Beleuchtung drehen die Motoren gleich schnell. Im Unterschied zu den klassischen Braitenberg-Vehikeln wird ein solches Fahrzeug weder langsamer noch schneller, wenn es sich einer Lichtquelle nähert. Unabhängig davon, ob man Fotowiderstände, Fotodioden oder Fototransistoren verwenden möchte, kann eine solche Kombination der Lichtsensoren am einfachsten durch deren Reihenschaltung als Spannungsteiler realisiert werden. Im Allgemeinen erhält man somit aus n Sensoren bis zu n–1 relative Helligkeitswerte. Detailliertere Informationen über Ausführungsformen derartiger Sensorgruppen sind im Patent DE 102013104578 B3 mit dem Titel „Verbesserte Steuerung für sich autonom fortbewegende Roboter“ nachzulesen. Eine kommerzielle Nutzung ist aufgrund des Schutzrechtes nicht ohne Weiteres möglich und bedarf einer Vereinbarung.

Hindernissen ausweichen

Der Schaltplan auf der nächsten Seite zeigt, wie einfach und effektiv eine Robotersteuerung mit zwei kombinierten Sensoren sowie zwei Transistoren aufgebaut werden kann. An der Vorderseite des Roboters befinden sich zwei als Spannungsteiler geschaltete Fototransistoren (auf der rechten Seite S1 und auf der linken Seite S2). Wir können uns den Fototransistor vereinfacht als einen veränderlichen Widerstand vorstellen, dessen Widerstandswert bei zunehmender Helligkeit kleiner wird. Bei der Auswahl ist darauf zu achten, dass die Sensoren keinen Tageslichtfilter verwenden. Diese haben meist ein dunkles Gehäuse und sind für Infrarotlicht optimiert, weshalb sie auf das eher kalte Licht von Energiesparlampen oder LED-Lampen kaum reagieren. Große Unterschiede gibt es auch bei deren Erfassungsbereich. Soll der Roboter auch Linien folgen können, so ist anzuraten, Sensoren mit kleinem Halbwinkel zu wählen. Dieser gibt an, in welchem Bereich ausgehend von der optischen Achse des Bauelementes die Empfindlichkeit größer als 50 Prozent der maximalen Empfindlichkeit ist. Der Fototransistor SFH 309 verfügt zum Beispiel über einen recht kleinen Halbwinkel von ±12 Grad, beim alternativ benutzten Vishay S361P liegt er bei 25 Grad.

Die von den Sensoren generierte Steuerspannung US steuert über jeweils einen Transistor den rechten (M1) bzw. linken (M2) Motor an. Damit bei steigender Spannung der Motor M1 langsamer wird und bei fallender Spannung der Motor M2, verwenden wir ein komplementäres Transistorpaar: Einen PNP-Transistor für T1 und einen NPN-Transistor für T2. Zudem soll unser kleiner Roboter mit möglichst wenig Licht, sprich mit kleinen Steuerströmen auskommen. Geeignete Transistoren sind Darlingtontransistoren wie etwa die Typen BC516 (PNP) und BC517 (NPN). Sie verfügen über eine Stromverstärkung von mindestens 30 000. Weil ein Darlingtontransistor aus zwei Transistorstufen besteht, benötigt er nicht 0,7 V, sondern eine Basis-Emitter-Spannung von etwa UBE = 1,4 V um durchzuschalten. Liegt US zwischen 1,4 V und 7,6 V (9 V  1,4 V = 7,6 V) werden also beide Motoren mehr oder weniger stark angesteuert. Der Geschwindigkeitsverlauf hängt dabei von der Wahl der vorgeschalteten Widerstände R1 und R2 ab. Je höher die Widerstandswerte gewählt werden, desto langsamer steigt die Geschwindigkeit der Motoren bei US > 1,4 V (M2) bzw. US < 7,6 V (M1) an.

Bei exakt gleich starker Beleuchtung der beiden Sensoren S1 und S2 ergibt sich die halbe Batteriespannung als Steuerspannung US = 4,5 V. Beide Transistoren steuern gleichermaßen durch und die Motoren drehen gleich schnell. Wird nun exemplarisch S2 etwas heller beleuchtet, so verringert sich sein Widerstand gegenüber S1 und die Spannung US fällt ab. Demzufolge verringern sich der Spannungsabfall an R2 und damit der Basisstrom von T2. Der Transistor steuert weniger stark durch und M2 wird langsamer. Das Gefährt wendet sich also zur Helligkeit hin. Somit haben wir einen wirklich simplen „Lichtfolger“ kreiert. Der Roboter kann sich aber nicht nur auf eine definierte Lichtquelle zubewegen, wie wir es bereits von den Braitenberg Vehikeln kennen. Aufgrund der relativen Helligkeitswahrnehmung, wandelt er jeglichen Kontrast eines Hindernisses bezogen auf den Hintergrund in eine entsprechend starke Ausweichbewegung um.

Aus der Sicht des Roboters erscheinen Hindernisse bei einer Beleuchtung von oben in der Regel dunkler als der Untergrund. Jedes Element besitzt nämlich Eigenschattenverläufe und wirft Schlagschatten. Bei entsprechender Konstruktion „sieht“ der Roboter auch seinen eigenen Schatten auf einem Objekt, wenn er sich diesem nähert. Der dem Objekt zugewandte Sensor erkennt dies als dunkler und bewirkt eine entsprechende Drehung des Vehikels weg vom Hindernis.

Variationen

Trotz des einfachen Aufbaus der Steuerschaltung haben wir einige Möglichkeiten, die Bewegungsmuster des Roboters zu beeinflussen: Sind die Sensoren wie in der Abbildung unten ausgerichtet, so folgt er, wie zuvor erläutert, Hellem und weicht Hindernissen aus. Wenn wir zusätzlich einen dritten Sensor zwischen S1 und S2 platzieren, hätten wir für jeden der Motoren ein eigenes Steuersignal (US) und unser Gefährt würde bei einem frontalen Hindernis stehen bleiben.

Vertauscht man die Position der beiden Sensoren S1 und S2 (oder die positive bzw. negative Beeinflussung der Motoren), so verhält er sich jedoch genau umgekehrt: Der Roboter kann dann kleinen Objekten folgen und diese vor sich herschieben. Richtet man die Sensoren dabei etwas schräg nach unten zum Boden hin, haben wir sogleich einen Linienfolger. Dabei ist es ratsam, die Sensoren möglichst parallel nach vorne auszurichten. Um direkte Einflüsse von unerwünschten Störungen durch die Beleuchtung zu unterbinden, ist es zudem sinnvoll, die Sensoren von oben abzuschirmen, sodass kein direktes Licht (zum Beispiel Raumbeleuchtung, Sonnenlicht) auf die Sensoren fallen kann. Durch die Orientierung nach vorne hin und durch die Relativwerterfassung kommt unserer Bot ohne Beleuchtung des Untergrundes aus. Konventionelle Linienfolger beleuchten den Boden mit Infrarot-LEDs und erfassen das reflektierte Licht mit vertikal ausgerichteten Sensoren.

Vehikel mit relativer Signalauswertung

Ein ganz besonderes Verhalten ergibt sich, wenn wir, wie im nebenstehenden Bild gezeigt, die Sensoren zueinanderweisend anbringen. Diese sind hier etwa 45° zur gegenüberliegenden Seite hin orientiert und ihre Empfangsbereiche sind gekreuzt. So wie beim Lichtfolger wird das Vehikel großen weiter entfernten Hindernissen frühzeitig ausweichen. Bei kleinen Gegenständen, die direkt vor ihm liegen, reagiert es jedoch genau umgekehrt. Entsprechend dem Linienfolger wendet es sich dann dem Gegenstand zu und schiebt diesen vor sich her. Diese Sensorausrichtung ermöglicht also gleich drei unterschiedliche Funktionen: einem Licht folgen, kleine Gegenstände verfolgen und (großen) Hindernissen ausweichen.

Die Beschaltung für unser einfaches Vehikel

Es gibt aber noch weitere Varianten: Wir können die Sensoren auch auf der Oberseite des Vehikels anbringen. Dann flitzt der Bot (je nach Ausrichtung der Sensoren) entweder im Bereich unterhalb einer Lampe umher oder folgt dem Schatten einer Hand. Befestigen wir hingegen die Sensoren auf der Unterseite, so reagiert er auf Kontraste des Untergrundes. Beim Folgen einer Linie am Boden ist dies jedoch nicht zwingend vorteilhaft, da er dabei eventuell leichter übersteuert und ins Schwingen gerät oder auf die Sensoren zu wenig Licht trifft. Am besten einfach mal ausprobieren! Wir können die „Bodensensoren“ aber auch dazu nutzen, das Fahrzeug innerhalb eines definierten Bereichs zu halten, dessen Grenzen wir mit einem schwarzen oder weißen Klebeband festlegen.

Rückwärts fahren

Ausweichen oder Erkunden

Wir haben nun eine recht beachtliche Anzahl an Varianten betrachtet, die sich einzig durch unterschiedliche Positionierung der beiden Lichtsensoren ergeben. Im nächsten Heft gehen wir einen Schritt weiter. Wir werden zwischen den Sensoren S1 und S2 noch einen dritten Sensor integrieren und anstatt Transistoren Operationsverstärker verwenden, um die Motoren anzusteuern. Damit befähigen wir den Roboter, auch frontale Hindernisse zu erkennen und rückwärts zu fahren, um zum Beispiel zu drehen oder vor bewegten Hindernissen zurückzuweichen.