START 

   stairBOT

 

FILME   /  DOKU

 

 

 

 

KONTAKT

 

 

 

 

         Beschreibung     

Sie finden diese Seite im PDF-Format auf der FILME/DOKU-Seite       

 
 stairBOT kann ....                       weil er folgende Konstruktionsmerkmale hat .... 
   - vor und zurück fahren :),   - einen Differential-Antrieb,
   - auf der Stelle drehen und im Bogen fahren,   - große Räder (255mm),
   - kleine Hindernisse bis 4 cm Höhe überfahren,   - Allseitenräder als Stützräder,
   - normale Treppen*)  hinauf  und hinab fahren.     - Bremsen an den Allseitenrädern,
    - eine veränderbare Länge,
  *) auch mit Unterschneidung und ohne Setzstufe bis zu einer   Steigung von 37° bei einer Mindestauftrittlänge von 25cm.     und eine Stütze.

 

  Kurzbeschreibung Hauptdaten

stairBOT ist ein kleiner Roboter für Innenräume. Auf ebenem Untergrund fährt er wie andere kleine Roboter mit einem Differentialantrieb. Zusätzlich lässt sich seine Länge über eine Linearführung mit Spindeltrieb verändern. Durch diesen Mechanismus ist er   -  im Zusammenwirken mit den gebremsten Allseitenrädern und einer Stütze -  in der Lage, normale Treppen sicher hinauf und hinab zu fahren. Die Konstruktion ist darauf ausgelegt, dieses Ziel mit möglichst wenig Aktoren und Sensoren zu erreichen.

 

Wer mehr wissen möchte, ist eingeladen,  hier drunter  

                                                                              weiterzulesen ....

Länge min/max 63cm / 30cm
Höhe min/max 27cm / 60cm
Breite 37cm
Masse 6 kg
Aktoren 5

 

Das stairBOT - Konzept
  Ziele:

Ein Roboter, der

 1.      -  jeden frei zugänglichen Ort in einem Gebäude erreichen kann;

 2.      -  nicht länger als ca. 50 cm ist;

 3.      -  möglichst wenig Aktoren und Sensoren benötigt;

 4.      -  mit einfachen Steuerungsmechanismen bewegt werden kann.

 

Das Treppenproblem

Ein Roboter, der sich frei in einem Gebäude bewegt, muss an eine für Menschen gemachte Umgebung angepasst sein. Auf seinem Weg können ihm u.a. niedrige Hindernisse ( bis ca. 4cm Höhe,  z.B. Türschwellen, Absätze u.ä.) begegnen und - wenn er ein ganzes Haus befährt - auch Treppen. Die Treppen können mit oder ohne Unterschneidung ausgeführt sein, eventuell als offene Treppe ohne Setzstufe gebaut sein und Neigungen zwischen 25 und 42 Grad haben. Zwar kommen im Wohnbereich noch steilere Treppen vor, aber sie gelten auch für Menschen nicht mehr als sicher. In öffentlichen Gebäuden findet man dagegen häufig Treppen mit einer Steigung s von 17cm und einem Auftritt a von 29cm (Neigung ca. 30 Grad). Zur Begriffsklärung zwei Bilder ( nach DIN 18065):

                              

    a = Auftritt  s = Steigung   u = Unterschneidung                          a = für Menschen gerade noch sicher begehbar

                                                                                                   b = maximale Steigung für stairBOT

                                                                                                   c = "ideale" Teppe in öffentlichen Gebäuden

Der nach dem hier vorgestellten Konzept gebaute Roboter stairBOT kann mit seinen derzeitigen Abmessungen Treppen mit einem Auftritt a von mindestens 25cm Länge und einer Steigung s von maximal 20 cm befahren. Unterschneidungen und offene Treppen ohne Setzstufe sind dank der verwendeten großen Raddurchmesser kein Problem.

Bekannte Treppen steigende Roboter

Durchsucht man das Internet, findet man eine ganze Anzahl von Robotern, die Treppen ersteigen. Das Spektrum reicht von den bekannten zweibeinigen Robotern ( z.B. Asimo, HRP2 ) über sechsbeinige ( z.B. RHex )  bis zu Robotern mit Ketten- antrieb, wie sie im militärischen und polizeilichen Bereich (z.B. Urbie, packBot) eingesetzt werden. Bei radgetriebenen Robotern schränkt sich die Auswahl schon ein. Der Bekannteste ist sicherlich shrimp von der EPFL Lausanne. Aber auch Helios V fährt auf Rädern Treppen hinauf und hinab. Außerdem findet man noch hybride Formen, die eine Mischung aus Rad und 1-DOF-Bein als Antrieb nutzen. Neben whegs, whegsII und mini-whegs IV müsste hier auch eigentlich auch RHex einsortiert werden. In  mini-whegs IV  kommt noch ein weiteres Konzept zum Einsatz: Er springt von Stufe zu Stufe.

So beeindruckend diese Roboter sind, so haben sie bezogen auf die oben formulierten Ziele auch einige Nachteile. Entweder sind sie sehr komplex und damit sehr teuer, haben einen für Innenräume wenig geigneten Kettenantrieb oder sie haben Probleme mit unterschnittenen Stufen oder offenen Treppen (shrimp). Selbst der "König" der Treppensteiger RHex ( über 200 Stufen der Montmartre-Treppen in Paris treppauf oder Feuertreppen mit Steigungen bis 42°) kann seine überragenden Leistungen nur erbringen, wenn er die erste Stufe richtig trifft. Zumindest beim Abstieg muss er z.Zt. noch in die richtige Anfangsposition gesetzt werden. Und starke Unterschneidungen und offene Treppen mag er beim Abstieg auch nicht. Überhaupt sieht man wenige Roboter in Richtung treppab. Auch im Amateurbereich gibt es erfolgreiche Treppensteiger. Als Beispiel sei hier der Lego-Roboter P'titgneugneu genannt. Er steigt Treppen in beide Richtungen sehr zügig, ist aber für die Ebene kaum geeignet, da er speziell für das Befahren von Treppen entwickelt wurde.

 

1.1  Fahren in der Ebene

1.1.1 Der Differentialantrieb

Am häufigsten wird sich ein Innenraum-Roboter auf ebenem Grund bewegen. Eine einfache Antriebsmethode für Fahrroboter ist dazu der Differentialantrieb mit zwei unabhängig angetriebenen Haupträdern und einem Stützrad. Dieser Antrieb wurde auch für stairBOT gewählt. Das Stützrad wurde im Hinblick auf die Treppensteigefunktion durch zwei Allseitenräder ersetzt.

 

1.2  Fahren auf der Treppe
1.2.1 Der Rad-Durchmesser

Entscheidet man sich für einen Rad-Roboter, dann sollte der Raddurchmesser D so gewählt werden, dass unterschnittene Stufen und offene Treppen das Rad nicht blockieren können. Mit einem Raddurchmesser von 25cm können Treppen bis zu einer Steigung s = 20 cm sicher befahren werden. Bei größerer Steigung  und sehr kleiner Stoßfläche ( Maß t in der Abbildung) steigt die Gefahr einer Blockierung.

 

 D = 255mm =  Raddurchmesser stairBOT

(das gestrichelt gezeichnete Rad hat den Raddurchmesser  des EPFL

  shrimp -Roboters)

1.2.2  Das Rad nach oben schieben

Wie wird dieses vergleichsweise große Rad nun auf die erste Stufe bewegt?  .... Man schiebt es hoch!

Nimmt man vereinfachend an, dass sich der Masse-Schwerpunkt in der Radmitte befindet, ergibt sich folgendes Bild:

Das Rad wird durch eine Kraft, die sich seitlich vom Masseschwerpunkt abstützt, nach oben geschoben. Es entsteht hierbei auch eine Normalkraft auf die Stoßfläche, so dass das Rad durch eine eigene angetriebene Drehbewegung den Schubvorgang unterstützen kann, es fährt nach oben. Diese Drehbewegung und die Normalkraftkomponente wird das Rad auf die Stufe bewegen. Funktionieren kann dieser Vorgang aber nur, wenn der seitliche Abstützpunkt trotz der waagerechten Reaktionskraft seine Lage beibehält. 

Daraus folgen Probleme 

      -          der Haftreibung,

      -          der Gewichtsverteilung,

      -          der Abstimmung der Geschwindigkeiten der linearen

                 Schubbewegung mit der Drehbewegung des Rades.

1.2.3  Die Allseiten-Räder mit Bremse

Der Differentialantriebs-Roboter stützt sich beim Fahren auf seine Allseitenräder. In der Ebene ersetzen sie das sonst übliche Stützrad und beim Steigen bilden sie das Auflager, auf dem sich der Schubmechanismus beim Hochschieben des Rades abstützt.  Die waagerechte Reaktionskraft muss dabei von ihnen gehalten werden. Dazu werden die Räder mit einer Bremse  ausgestattet, die ein Drehen verhindert. Die gebremsten Räder benötigen nun eine ausreichende Bodenhaftung, damit sie nicht verschoben werden. 

 

1.2.4  Die Stütze

Hat das Rad seine Position auf der oberen Stufe erreicht, können die Stützräder nachgezogen werden. Besonders am Anfang dieser Bewegung ist der Hebelarm der hinteren Massen der Linearführung sehr lang und es besteht die Gefahr, dass der Roboter nach hinten kippt oder einfach nach hinten gezogen wird. Um diesem Effekt entgegenzuwirken, wurde der Roboter mit einer zusätzlichen Stütze ausgestattet. Durch den haftenden Belag der Stütze werden nach hinten gerichtete Bewegungen gebremst. 

Eleganter wäre es natürlich, wenn man auf die Stütze verzichtet und sich der Roboter beim Hochziehen der Stützräder mit der Linearführung auf die Treppenkante stützt. Der geregelte Hauptantrieb müsste dann eine nach hinten gerichtete Bewegung abfangen. Obwohl die Abbildung eine solche Lösung nahelegt, ist sie in der Praxis nur schwer zu realisieren, da sie eine optimale Haftung der Räder und eine fein abstimmbare Regelung voraussetzen. Gerade die Haftung ist aber kaum zu erreichen, da die nach links um die Treppenkante drehenden Massen der Linearführung die für eine gute Traktion erforderliche Normalkraft auf den Haupträdern kaum zulassen. Die ganze Konstruktion wird zudem noch sensibler auf die richtige Gewichtsverteilung reagieren.

 

1.2.5  Abstimmung der Geschwindigkeiten von Rad und Linearführung

Die Abstimmung der Geschwindigkeiten von Rad und Linearführung hat sich als besonders kritisch erwiesen. Drehen sich die Räder zu schnell, rutschen sie durch, die gebremsten Stützräder können die waagerechte Kraftkomponente der sich weiterbewegenden Linearführung nicht mehr halten und der Roboter fällt auf den Boden zurück. Eine zu langsame Radbewegung führt zum gleichen Resultat. Für den gebauten Roboter wurde durch Versuch eine geeignete Drehzahl-Kombination gesucht (und gefunden). 

 

1.2.6  Senkrechte Ausrichtung zur Treppenkante

Beim sicheren Befahren von Treppen ist die Ausrichtung des Fahrzeugs/Roboters zur Treppenkante ein weiteres wichtiges Problem. Ideal ist eine Fahrtrichtung senkrecht zur Treppe. Um diese Ausrichtung zu erkennen, sollte der Roboter mit geeigneten Sensoren in symmetrischer Anordnung ausgestattet sein. Ist die Auftritt-Länge hinreichend, können so auch gebogene Treppen befahren werden.

 

1.3  Vorgehensweise beim Treppen befahren
1.3.2  Eine Stufe aufwärts  

Der Roboter nähert sich der Treppe an, nimmt die kurze Position ein, fährt vor bis die Rad-Bumper an der Treppenkante anschlagen, bremst die Allseitenräder, die Linearführung bewegt sich in die lange Position, gleichzeitig werden die Haupträder angetrieben. Ist die lange Position erreicht, d.h. die Rad-Einheit ist auf die Stufe angehoben, wird die Bremse gelöst, der Roboter fährt vor bis er mit den Rad-Bumpern an der nächsten Stufe oder mit den Führungs-Bumpern an die Trittkante anschlägt. Der Hauptantrieb wird gestoppt, die Linearführung zieht die Stützräder nach oben. Der Roboter ruht dabei auf den Haupträdern und der Stütze. Hat die Linearführung die kurze Position erreicht, klappt die Stütze ein und der Roboter ruht wieder auf den Haupträdern und den Allseiten-Stützrädern.

1.3.2  Eine Stufe abwärts

Der oben beschriebene Vorgang läuft rückwärts ab. Dazu muss sich der Roboter bei Erkennen einer abwärts gerichteten Treppe drehen, so dass er sich mit den Allseitenrädern voran der Treppe annähert. Der Abstieg wird nur von den beiden hinteren IR-Sensoren gesteuert

 
 
   

 

2.0 Die konstruktive Ausführung
2.1  Abmessungen und Verteilung der Massen

 

Zum Treppensteigen muss der Roboter 

- klein genug sein, um auf eine Treppenstufe zu passen, also etwa die Fußlänge eines Erwachsenen haben,

- lang genug sein, um den Abstand zwischen zwei Trittflächen überspannen zu können. 

Um diese sich widersprechenden Anforderungen erfüllen zu können, wurde stairBOT als Differentialantriebs-Roboter mit variabler Länge ausgeführt. Er ist dazu aus zwei gegeneinander verstellbaren Hauptelementen aufgebaut: 

- der  Rad-Einheit mit den Antriebsrädern und der Stütze,

- der Linearführungs-Einheit mit dem Verstellmechanismus, den Stützrädern und dem neigbaren Sensorkopf.

 

Rad-Einheit

( mit Schwerpunkt ) 

 

Linearführungs-Einheit (mit Schwerpunkt )

 

 

Lage der Sensoren:

[1]  IR-Sensor vorn

     (neigbarer Sensorkopf)

[2]  Rad-Stoßstange

[3]  Führungs-Stoßstange

[4]  IR-Sensor hinten

Die Gesamtmasse ist je zur Hälfte auf beide Einheiten verteilt. Die ungefähre Lage der Einzelschwerpunkte kann aus der Zeichnung entnommen werden. Die gebaute Version von stairBOT hat mit Batterien eine Gesamtmasse von ca. 6 kg. An der Gesamtmasse haben die Batterien einen Anteil von 20%. Die Verteilung der Batterien stellt die einfachste Möglichkeit des Ausbalancierens des Roboters dar.

 

Die folgenden Abbildungen zeigen den mechanischen Aufbau des gebauten Roboters:

                                                                                        (hier noch mit breitem Sensorkopf mit 2 SRF08)

Anmerkung zum Baumaterial:

 

Dieser Prototyp des stairBOT  wurde aus Fischertechnik-Teilen  ( haupt- sächlich Linearführung, Spindel, Mikroschalter ), Aluminium- und Kunststoffprofilen und Sperrholz gebaut. 

Die grünen Räder sind eigentlich fahrbare Blumenuntersetzer, deren Rollen demontiert wurden. Um die Haftung der Räder zu erhöhen, sind sie mit Fensterdichtungs-Profil (tesa-moll Hohlprofil-Gummi 5mm) beklebt.

 

2.2  Die Rad-Einheit

Mit einem Durchmesser von 255mm sind die Antriebsräder deutlich größer als es bei Robotern vergleichbarer Abmessung üblich ist. Als Antrieb dienen zwei 6 Watt DC Motoren mit 84:1 Planetengetriebe und Encodern. Durch ein weiteres Zahnrad-Paar wird eine Gesamtuntersetzung von 224:1 erreicht. Die Ansteuerung erfolgt durch PID-Controller über 3A H-Brücken. So ausgestattet kann stairBOT geradeaus fahren, auf der Stelle drehen oder einem Bogen folgen.

Zusätzlich ist die Radeinheit mit einer beweglichen Stütze ausgestattet, auf der sich der Roboter beim Hoch- und Runterfahren der Linearführung abstützt. Die Stütze wird über ein Modellbau-Servo entsprechend der aktuellen Spindelposition verstellt. 

2.3  Die Linearführungs-Einheit

Der Vorschub der Radeinheit wird durch eine Linearführung mit Spindelantrieb (Steigung 5mm) bewirkt. Die Linearführung hat einen Hub von ca. 290 mm. Der Antriebsmotor für die Spindel ist ein DC-Motor (11Watt, 4,8:1 Planetengetriebe, Encoder). Die Ansteuerung erfolgt durch PID-Controller über 3A H-Brücken. Zur Terminierung und Kalibrierung des Spindelantriebs werden zusätzlich zwei Endschalter verwendet. Durch die Spindelverstellung läßt sich die Länge des Roboters zwischen ca. 60cm und 30cm stufenlos einstellen. Die Linearführung dient gleichzeitig zur Abstützung beim Heraufziehen der Stützräder.   Als Stützräder dienen zwei 60 mm Allseitenräder. 

Durch Rückmeldung der je aktuellen Spindelposition durch die Auswertung des Encoders, können der neigbare Sensorkopf und die Stütze an die jeweilige Neigung des Roboters angepasst werden.

 

2.4  Zum Treppen steigen erforderliche Sensoren

Um die Treppenstufen, die Stellung zur Treppenkante und die Position auf der Treppe zu erkennen ist der Roboter mit folgenden Sensoren ausgestattet: 

  Anbringung rechts links Typ Steigrichtung Aufgabe
1

vorn

x x 80cm IR Ranger Sharp GP2D12 auf-/abwärts Beginn der Treppe
2 vorn x x Rad-Bumper aufwärts Rad an Treppenkante
3 mittig unten x x Führungs-Bumper aufwärts Führung berührt Treppenkante
4 hinten x x 30cm IR Ranger Sharp GP2D120 abwärts Treppenkante erkennen

Zum eigentlichen Befahren der Treppe werden nur die Sensoren 2, 3 und 4 benötigt. Um die senkrechte Ausrichtung des Roboters zur Treppenkante zu gewährleisten, sind die Sensoren jeweils an der rechten und linken Seite angebracht. Erreicht z.B. das linke Rad die Kante, wird der zugeordnete linke Fahrmotor ausgeschaltet, während der rechte Motor weiterläuft bis auch das rechte Rad die Treppenkante erreicht hat. Der Roboter ist so in der Lage auch Wendeltreppen zu befahren, wenn die Auftrittlänge ausreicht.  

Die Sensoren 1 sind auf dem neigbaren Sensorkopf montiert. Der Sensorkopf hält über eine Rückmeldung der aktuellen Spindelposition eine vorgegebene „Blickrichtung“ bei. Zusätzlich zu den zwei GP2D12 sind hier noch eine CMUcam2 und ein SRF08 Ultraschallsensor angebracht, die aber für das Befahren der Treppe nicht benötigt werden.  

 

2.5  Konstruktionsdetails

                                                                                                                     für eine größere Abbildung in das Bild klicken

Die beiden Allseitenräder sind mit einfachen Scheibenbremsen ausgestattet. Die Bremse besteht aus einem flexiblen Kunststoffteil, das als Bremsbelag mit einem kreisförmigen ausgeschnittenen Tischtennisschlägerbelag  (schwarz/rot) belegt wurde. Bei einer Verstellung des Servos drückt die Steuerkurve über die beiden Bremsstangen die Bremsscheiben gegen die Allseitenräder. Die Entlastung der Bremse erfolgt über Rückholfedern. Die Polyurethan-Rollen dieser Räder (  60mm TRAPO-Rollen) ergeben eine hinreichende Haftung auch auf glattem Untergrund. 

 Ansicht von unten

mechanische Konstruktion: Seitenansicht
mechanische Konstruktion: Vorderansicht

(noch mit breitem Sensorträger mit zwei SRF08)

Annäherung an die erste Stufe

Der Aufstieg würde erst beginnen, wenn sich der Roboter senkrecht zur Treppenkante ausgerichtet hat.

Auf der ersten Stufe

Leider sieht man neben der ganzen Teststrecke auch noch den etwas wirren Kabelsalat.

Die weißen Streben dienen nur als Überrollbügel für den Fall des Falles.  

Auf der Treppe, 1 Rad demontiert

Man sieht die Funktion der Stütze und die Positionierung der 6V-Batterien. Die roten gebogenen Teile sind die Rad-Bumper. Die beweglichen weißen Endstücke der Rad-Bumper werden beim Treppab-Fahren von der Treppenkante nach oben geschoben, damit die Bumper nicht den Abstieg blockieren.  

Der Sensorkopf 

Der Sensorkopfkopf kann so verstellt werden, dass er in jeder Spindelposition senkrecht nach unten  und  senkrecht nach oben gestellt werden kann. ( 2 GP2D12, 1 SRF08, 1 CMUcam2)

Unter dem Sensor sieht man 4 der 11 SubC-Zellen der Motor-Spannungsversorgung, die im oberen Teil der Linearführung zur besseren Gewichtsverteilung platziert sind.

 

   
3.0  Steuerelektronik

Die Steuerung der Motoren und die Erfassung der Sensordaten wird von vier mikroControllern vorgenommen. Die mC 2 und 4 sind Motorcontroller, die eine PID-Regelung ermöglichen. Die mC 1 und 3 stellen die benötigten analogen und digitalen Eingänge und die Servosteuerung zur Verfügung. Die Programmierung der mC erfolgt in einem Subset von ANSI-C. Der Datenaustausch zwischen den mC läuft über einen I2C-Bus. Einer der mC ist als Router konfiguriert. Dieser Router stellt eine serielle Verbindung zum Hostrechner her. Über den Router und I2C-Bus kann der Host auch direkt auf jeden mC zugreifen, z.B. Sensordaten abfragen oder Motorsteuerbefehle senden. Die in der Übersicht gestrichelt gezeichneten Bauelemente sind zwar wegen der realistischen Gewichtsverteilung schon montiert, aber noch nicht in Betrieb. Bisher wurde als Host ein PC verwendet, der über eine RS232 Verbindung mit dem Router-mC kommuniziert. Die für das Fahren in der Ebene und das Treppesteigen erforderliche Rechenkapazität stellen bei geschickter Programmierung schon die vier mC zur Verfügung. Die komfortable Programmierung auf dem PC mit VB5 ist für mich aber flexibler und entspannter. Die so entwickelten Programme lassen sich dann leicht (hoffentlich) in eVB für den PDA portieren.

Die Verteilung der mC auf zwei gegeneinander bewegliche Boards war nicht so problematisch wie zuerst befürchtet. Die Verbindung wird durch ein 8-poliges Flachbandkabel hergestellt. 2 für I2C (SDA, SCL) und die sechs Verbleibenden für die Spannungsversorgung Vlogik, Vservo und  Vmotor .

4.0  Technische Daten

Prozessoren             2  BrainStem GP 1.0  (acroname, USA)

                               2  Brainstem Moto 1.0 (acroname, USA)

                               1  iPaq

Sensoren                 1  CMUcam2

                               1  SRF08 US-Entfernungsmesser  

                               2  GP2D12   IR-Entfernungsmesser  (vorn)

                               2  GP2D120 IR-Entfernungsmesser (hinten)

                               2  Mikroschalter (Rad-Bumper)

                               2  Mikroschalter (Führungs-Bumper)

                               2  Mikroschalter (Endshalter des Spindelantriebs)

 Batterien               11 SubC NiMH 3000Ah (13.2V) Motor

                               5 SubC NiMH 3000Ah (6V) Servos

                               5 SubC NiMH 3000Ah (6V) Controller

                               1  iPAQ LiIon-Batterie

Antriebsart               2 Rad Differentialantrieb  (mit 2 bremsbaren Allseitenrädern als Stützrad)

                              1 Spindelantrieb

Aktoren                   2 DC-Motoren 6W, 84:1 Planetengetriebe, Encoder   (Differentialantrieb)

                              1 DC-Motor  11W, 4.8:1 Planetengetriebe, Encoder (Spindelantrieb)

                              1 Servo (Allseitenrad-Bremse)

                              1 Servo (Stütze)

                              1 Servo (Sensor-Neigekopf)

Baumaterial             Fischertechnik-Teile (Führung und Spindel), Aluminium- und Kunststoffprofile und Sperrholz

Abmessungen         Abhängig von der Spindelposition und Stellung des Sensorkopfes

                              L x B x H: (Maße über alles)

                              kurz:  30cm  x  37cm  x  60cm

                              lang:  63cm  x  37cm  x  27cm

Masse                    ca. 6 kg  mit Batterien

  

     G. Wendel,  Dezember 2004