Anti-Schlupf-Regelung (ASR)
Realisiert mit LEGO-Mindstorms

Grundlegendes
    Was ist ASR?
    Wie funktioniert eine ASR?
    Gibt es Dabei Proble>me?
ASR und LEGO-Mindstorms
    Wie läßt sichh eine ASR mit LEGO-Mindstorms realisieren?
Unser Projekt
    Grundsätzliches
    Wie erfolgt die Hardwarerealisierung
    Differential? Wie funktioniert das?
    Wie sieht die Softwarelösung aus?
    Schlussbetrachtung, Ausblick
Die Bauanleitung

Grundlegendes

Was ist ASR?

ASR ist die Abkürzung für Anti-Schlupf-Regelung.
Ziel einer ASR ist es, Durchdrehen der Antriebsräder eines Fahrzeuges und somit den Übergang von Haftreibung zu Gleitreibung zu vermeiden, um das Fahrzeug lenkbar zu halten, Verschleiß zu minimieren und optimales Anfahren bzw. Traktion zu gewährleisten.
nach oben

Wie funktioniert eine ASR?

Wenn ein Rad durchdreht, hat es eine höhere Drehzahl als eines, welches nicht durchdreht.
Man muss also die Drehzahlen der Räder bestimmen und diese dann auswerten.
Hier erweist es sich als sinnvoll, die nicht angetriebenen Räder als Referenz zu benutzen, da diese sich schwer durchdrehen können (Blockieren werden diese auch nicht, da eine ASR aufgrund ihrer Funktionalität auch immer ein ABS "mitliefert").
Die Regelung hat nun folgende Funktionsweise.
Die Drehzahlen der angetriebenen und nicht angetriebenen Räder wird verglichen. Ist keine Differenz feststellbar, gibt es keinen Schlupf und es muss Nichts geregelt werden.
Drehen sich dahingegen die Antriebsräder schneller, Schlupf ist vorhanden, dann werden aufgrund dieser Drehzahl-Differenz die angetriebenen Räder gebremst, um die überschüssige Antriebsenergie, welche den Schlupf verursacht, durch Reibung in Wärme umzuwandeln.
Die Bremsung steigert sich und erfolgt solange, bis keine Drehzahldifferenz mehr auftritt.
nach oben

Gibt es dabei Probleme?

Ein Problem ist die Kurvenfahrt.
Hier drehen sich inneres und äußeres Rad unterschiedlich schnell, auch die Hinter- und Vorderräder einer Fahrzeugseite drehen sich unterschiedlich. Hier muss eine Messwertkorrektur aufgrund des Lenkwinkels erfolgen.
nach oben

ASR und LEGO-Mindstorms

Wie lässt sich eine ASR mit LEGO-Mindstorms realisieren?

Aus den obigen Erläuterungen stellt man fest, dass man einen Antrieb (Motor) benötigt, Antriebsräder und nicht Angetriebene, Drehzahlsensoren, Bremsen, und eine Verarbeitungseinheit.
Hiermit steht man vor dem Problem alle diese Dinge mit LEGO realisieren zu müssen.
Der Motor und die Räder sind kein Problem. Als Verarbeitungseinheit kann man den RCX von LEGO-Mindstorms benutzen. Drehzahlsensoren gibt es nicht direkt. Man kann aber die Rotationssensoren zum RCX benutzen. Und Bremsen? Na ja, keine direkte Lösung mit LEGO möglich.
nach oben

Unser Projekt

Grundsätzliches

Bei unserem Projekt soll keine perfekte ASR realisiert werden. Dies geben die Lösungsmöglichkeiten im LEGO-Rahmen nicht her. Der Schlupf muss künstlich erzeugt werden, da Masse des Fahrzeuges, Kraft des Antriebs und Reibung der Räder nicht das reale Verhältnis besitzen. Das Hauptaugenmerk wurde auf die ASR gelegt. Eine Lenkung des Fahrzeuges wird per Fernbedienung durchgeführt.
nach oben

Wie erfolgte die Hardware-Realisierung? (siehe auch oben)

Zu Motor und (Antriebs-) Rädern brauche ich nicht sehr viel schreiben. Der Motor befindet sich direkt über den Antriebsrädern und dreht diese über eine Zahnradkombination an. Die nichtangetriebenen Räder sind an einem Drehgestell gelagert und stellen daher die Lenkung dar. Unser Fahrzeug hat also einen Heckantrieb.
Der RCX wird bei uns oben auf dem Fahrzeug montiert und entsprechend verkabelt.
Wie erfolgt die Bremsung? Hier lässt sich mit der Möglichkeit des RCX spielen, die Motoren mit unterschiedlicher Spannung bzw. Leistung anzusteuern. Statt also zu bremsen, wird einfach die Antriebsleistung runtergeregelt.
Nun zu den Rotationssensoren. Das Problem hierbei besteht darin, dass nur ein solcher Sensor zur Verfügung steht. Damit ergibt sich ein großer mechanischer Aufwand, um die Drehzahlunterschiede doch messbar zu machen. Wir benutzen viele Zahnräder und ein Differential um die Drehzahldifferenz dem Sensor zuzuführen.(siehe Bilder)
Die Lenkung erfolgt über einen zweiten Motor und Zahnradkombination und wird über die Fernbedienung des RCX gesteuert, weil die Realisierung der ASR im Vordergrund stand.
Die Mechanik hat folgende Funktionsweise: Die Rotation der Vorderräder wird über ein Differential (lenkbare Achse) und mehrere Zahnräder an das "Mess-" Differential übertragen. Die andere Seite dieses Differentials ist direkt an die Hinterräder und somit den Motor gekoppelt. Die Rotationen an beiden Seiten sind gegensinnig orientiert, damit der Differential-Rahmen bei gleichen Drehzahlen stehen bleibt (siehe unten). Sobald sich hier ein Missverhältnis einstellt, fängt der Rahmen an sich zu drehen. Diese Rotation wird dem Sensor über mehrere Zahnräder zugeführt und somit gemessen.
nach oben

Differential? Wie funktioniert das?

Ein Differential wie es in LEGO vorhanden ist, besteht aus einem Rahmen und drei frei drehbaren Zahnrädern. Eines von diesen ist am Rahmen gelagert und die beiden anderen werden über von Außen aufgesteckte Achsen bewegt.
Normalerweise wird ein Differential zur Kraftübertragung genutzt, um die Unterschiede von kurveninnerem und -äußerem Rad auszugleichen. Dazu wird der Rahmen angetrieben und das an ihm gelagerte Zahnrad "nimmt" die beiden äußeren mit, an welchen die Räder befestigt sind.
In Kurven muss sich das Innere aber langsamer drehen. Durch eine (leichte) Rotation des mittleren Zahnrades wird das äußere Rad schneller während das Innere langsamer dreht.
Beide Räder werden über den Rahmen angetrieben, welcher die mittlere Geschwindigkeit vorgibt, äußeres und inneres Rad drehen sich aber, um den gleichen Betrag vom Mittel abweichend, schneller bzw. langsamer. (siehe Bild)
Unsere Lösung benutzt den Effekt, dass, wenn man den Rahmen festhält, die Räder sich gegensinnig drehen. Bei uns werden die äußeren Zahnräder von Außen gegensinnig gedreht. Das mittlere Zahnrad dreht sich mit der gleichen Geschwindigkeit wie die anderen Beiden und wird deswegen in der aktuellen Stelle gehalten. Der Rahmen "steht" also. (siehe Bild)
Wenn die äußeren Geschwindigkeiten nun aber voneinander abweichen, muss das mittlere Zahnrad seitlich ausweichen, was zur Rotation des Rahmens führt.
Die Rahmenrotation ist in dieser Konfiguration also eine Funktion der Drehzahlunterschiede der äußeren Zahnräder bzw. deren Achsen.
nach oben

Wie sieht die Software-Lösung aus?

Die Software ist nicht sehr umfangreich (LoC), denn schließlich ist bloß zu realisieren, dass die Motorleistung bei Schlupf runtergeregelt wird und dann wenn kein Schlupf mehr auftritt wieder steigt.
Dabei gibt es jetzt noch ein paar Details zu beachten. So sind zum Beispiel die Vorderräder etwas größer als die hinten, und somit ergibt sich auch ohne Schlupf eine Drehzahldifferenz. Deswegen musste eine Mindest-Drehzahldifferenz, eigentlich ein Mindest-Differenzwinkel, denn der Rotationssensor ist ein Winkelzähler, eingeführt werden, um geringe Drehzahlunterschiede "rauszufiltern" und hier die Regelung nicht eingreifen zu lassen.
Die Differenz wird dadurch bestimmt, dass bei jedem Zyklus der aktuelle Winkel eingelesen wird und mit dem letzten Winkelwert aus dem vorherigen Zyklus verglichen wird. Übersteigt nun die Differenz den empirisch ermittelten Wert von 6, ist Schlupf vorhanden und die Motorleistung wird verringert. Parallel wird die Zählvariable (später mehr) auf Null gesetzt.
Ist kein Schlupf vorhanden wird nach vier Zyklen die Motorleistung wieder um eine Stufe erhöht. Wir benutzen deswegen die Zählvariable, damit die Leistung nicht sofort wieder auf das Maximum steigt, sondern nur langsam. Dieser Zyklus wird immer wieder durchlaufen und ist praktisch der Hauptteil des Programms.
Nur wenn per Fernbedienung eine "Message 2" gesendet wird, wird eine Schleife durchlaufen, in der keine ASR implementiert ist. Man kann somit die ASR ausschalten. Durch betätigen der Taste "Message 1" wird die ASR wieder eingeschaltet.
Wenn man auf der Fernbedienung auf "Message 3" drückt, wird die ASR für zwei Sekunden ausgeschaltet und danach automatisch wieder an.
Im Quelltext ist dies durch die Kommentierung gut erkennbar.
Zusätzlich benutzen wir noch ein Licht, um den Betriebsmodus (Message 1, 2 oder 3) anzuzeigen.
nach oben

Schlussbetrachtung, Ausblick

Hier müssen wir nochmals deutlich machen, dass unser Projekt mit der Realität nicht sehr viel verbindet. Vielmehr stand im Mittelpunkt zu zeigen, dass man trotz den Restriktionen eine LEGO-Baukastens und auch seinem Potential durchaus einen schwierigen technischen Sachverhalt nachbauen bzw. nachahmen kann.
Zur Realisierung mussten wir mit viel Mechanik arbeiten, welche real gar nicht vorhanden ist. Aber dies bringen eben die Einschränkungen mit sich.

Im Rückblick auf die vergangenen Wochen, in welchen wir mit dem LEGO-Mindstorms-System arbeiteten, wurde uns klar, dass es sich hierbei um ein "Spielzeug" handelt, welches ein hohes Entwicklungspotential besitzt und durchaus nicht nur als "Spielzeug" betrachtet werden kann. Allerdings stößt man dann bei größeren, komplexeren Modellen an dessen Grenzen.
Zukünftige Entwicklungen sollten eine erweiterte I/O, hauptsächlich Sensorik , hervorbringen um mehr Möglichkeiten zu haben, Regelungen zu implementieren.

Autoren und Copyright: Bauer, Sebastian und Reichel, Remo im Juni 2002
nach oben