PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einparken eines Gelenkbusses



Lilith
20.10.2012, 20:21
Hallo,

ich habe (mein erstes) Projekt vor.
Es ist interessant zu sehen, wie Gelenkbusse durch enge Straßen gelenkt werden können.
Ich möchte ein Modell bauen, was genau dieses kann.
Es sollen Hindernisse umfahren werden. Der Gelenkbus soll über Distanz- und Ultraschallsensoren diese Hindernisse erkennen
und ein Manöver planen. Er soll nicht einer weissen Linie folgen.
In dem Bild sieht man, wie ich es meine. Ich glaube, es ist nicht so einfach. Die Bewegungen sollen auch flüssig sein. Dazu müssen die Positionen der Hindernisse und des Gelenkbusses erkannt und berechnet werden.

Haltet Ihr das für möglich?

Saludos de
Lilith


23519

Geistesblitz
21.10.2012, 00:17
Ist bestimmt möglich und auch ein recht spannendes Projekt eigentlich. Ich würde dann erstmal mit einem einzelnen Bus anfangen und wenn der fährt, dann kannst du immernoch den Anhänger anbauen. In deiner Skizze fehlt noch das Gelenk, das Wagen und Anhänger verbindet. Übrigens hab ich noch nie einen (Gelenk-)Bus rükwärts einparken gesehen, aber wenn du das gerne probieren willst, nur zu ;)

Lilith
21.10.2012, 08:38
Einparken habe ich nur geschrieben, da ich "Parcour" nicht schreiben kann.;)
Vorwärts durch Straßen ist schwierig genug. Theoretisch weiss ich, wie es funktionieren könnte. Man könnte "Leitstellen" aufbauen, die die Straße markieren und über Distanzsensoren gesehen werden.(Entfernung und Winkel). Die Position des Busses kann man über Signale von der Motorsteuerung errechnen.
Die Mechanik des Busses ist natürlich ein weiteres Thema, aber das muss nicht perfekt sein. Modellbau ist wieder etwas anderes.
Ich werde jetzt erstmal Tests machen.
Aber es könnte klappen?
Brauch man hierfür wohl besonders leistungsfähige Sensoren oder könnte man für die Triangulation auch z.B. den Sharp GP2D120 verwenden?

Saludos de
Lilith

wkrug
21.10.2012, 10:27
Im Prinzip ist so ein Gelenkbus ein Einachsanhänger.

Wie wendig das Teil wird hängt im Wesentlichen vom Abstand des Gelenkes von der Hinterachse des Zugfahrzeuges und vom Abstand vom Gelenk zur Achse des Hängers ab.

Je wendiger aber das Teil ist um so schneller "verlenkt" sich auch der Hänger.
Beim Rückwärtsfahren wird deine Steuerung also nur für eine Abstandsvariante gut funktionieren.

Lilith
21.10.2012, 15:06
Ihr habt Recht, Rückwärtsfahren ist wohl zu schwierig.

Aber auch Vorwärtsfahren ist interessant. Wenn der z.B. scharf abbiegen soll, muss er erst "ausholen" und kann dann erst abbiegen.
Der Fahrer sieht die Kurve und fährt dann die Kurve so ab, wie er es gelernt hat.
Dem Bus muss ich es erst "beibringen". Er muss das Hindernis erkennen, genau positionieren und dann das Abbiegemanöver berechnen.
Hierzu muss er auch genau seine eigene Position (im Bezug auf das Hindernis) ermitteln.

Gerade dies möchte ich. Der Bus "sieht" von weitem, daß eine Kreuzung kommt und er nach links abbiegen muss.
Dann lenkt er leicht nach rechts um dann nach links wenden zu können. Dieses Manöver soll flüssig und realistisch sein.
Ohne Häuser oder dergleichen umzufahren.
Ein Gelenkbus ist nur noch ein Schwierigkeitsgrad höher. Ich versuche es ersteinmal mit einem Zweiachser.

oberallgeier
21.10.2012, 17:00
Ihr habt Recht, Rückwärtsfahren ist wohl zu schwierig ...Wenn ich mitunter sehe, wie locker manche (recht wenige !!) Sattelschlepper- oder Lastzug-Fahrer dieses Rückwärts-in-ein-Fabriktor-Einfahren erledigen staune ich immer wieder - Gliederbus-Rückwärtsfahrten kenne ich leider nicht. Rückwärts mit nem "Zug" ist im Prinzip schwierig. Oder auch nicht (kommt gleich wieso).

Schau Dir doch mal die Hundekurve an (klick mal) (https://www.google.de/search?q=hundekurve&hl=de&client=firefox-a&hs=obJ&rls=org.mozilla:de:official&prmd=imvns&tbm=isch&tbo=u&source=univ&sa=X&ei=lReEUNj5AcjGswaw6oH4Bg&ved=0CC0QsAQ&biw=1045&bih=844) - die auch Traktrix genannt wird (klick wieder), (http://de.wikipedia.org/wiki/Hundekurve) dann wirst Du vermutlich Einiges zu Deiner Problematik sehen.


... Aber auch Vorwärtsfahren ist interessant ... scharf abbiegen ... erst "ausholen" ... dann erst abbiegen ...
... Er muss das Hindernis erkennen, genau positionieren und dann das Abbiegemanöver berechnen ...Genau.

Jetzt kommt die tricky Geschichte. Wenn ich mich richtig erinnere (war mal ein Forschungs-/ Entwicklungsvorhaben von dem ich erfuhr), ist die Grundlage der Lösung die Tatsache, dass man "hintenraus" - also bei der Rückwärtsfahrt von mehrgliedrigen Fahrzeugen genau die Strecke abfährt, die man vorwärts auch abfahren muss/müsste. Nun kommt Dein "... dann das Abbiegemanöver berechnen ..." ins Spiel. Du rechnest also ein entsprechendes Abbiege- oder Ausparkmanöver bei Vorwärtsfahrt aus - und danach fährst Du genauso, nur eben alles rückwärts - also die Lenkausschläge GENAU passend zu der jeweiligs aktuellen Gesamtgeometrie - in die Parklücke. Für unsere "normales" Empfinden fühlen sich da manchmal die Lenkausschläge falsch, zu groß oder zu klein etc. an. Deshalb klappt dann nicht immer.

Problematisch bei dieser Vorwärts-rechnen und rückwärts-fahren - Überlegung ist leider die Tatsache, dass sich manche Eigenstabilität beim Vorwärtsfahren (siehe wieder Hundekurve) beim Rückwärtsfahren als schlimme Unstabiltiät rausstellt. Daher sind schon kleine Abweichungen vom Soll der Tod dieser Rückwärts-Vorberechnung.

Vielleicht helfen Dir aber die Ansätze trotzdem ?

Geistesblitz
21.10.2012, 19:44
Im Prinzip müsste man ein Regelungssystem aufbauen, wenn man damit rückwärts fahren will. Auf jeden Fall brauchst du einen Winkelsensor (Potentiometer oder so) im Gelenk zwischen den Fahrzeugteilen. Je nach Lenkausschlag müsste dann auch ein Sollwinkel berechnet werden, der dann eingehalten werden muss. Bei Abweichungen von diesem Sollwinkel wird dann halt die eigentliche Lenkachse in Abhängigkeit der Geschwindigkeit korrigiert. Schwierig wird dabei nur, dass das System nichtlinear ist und der Reglerentwurf nicht besonders einfach wird. Wenn kleine Lenkausschläge aber gleich korrigiert werden, dass sie nicht allzu groß werden, könnte das trotzdem funktionieren. Wenn man die Herausforderung sucht, kann man versuchen einen Bus mit einem weiteren Glied zu steuern, aber dafür sollte man schon ein paar Vorlesungen in Regelungstechnik gehört haben. Unteraktuierte Systeme sind zumindest bei uns häufig auch mal Diplomthemen, Systeme wie die verschiedenen inversen Pendel (http://www.youtube.com/watch?v=ew-yP6uZbrU&feature=related) sind da gute Beispiele.

Lilith
21.10.2012, 19:57
Oje, das klingt ja sehr kompliziert,
aber auch spannend!!!
Ich habe mir die Seiten angesehen. Das Rückwärtsfahren möchte ich verwirklichen. Du hast wahrscheinlich Recht, daß ein großes Problem die Stabilität ist.
Schon bei geringen Abweichungen wg. Schlupf o.ä. kann die Berechnung hinfällig werden.
Vorteil beim Gelenkbus gegenüber einem Anhänger ist, daß der Gelenkbus stabiler gebaut werden kann.

Lilith
21.10.2012, 20:23
@Geistesblitz,
ein 2. Glied führt hier wohl zu weit. Ich kenne mich in Regelungstechnik nicht so gut aus, aber ich glaube mit einem Glied kann ich mich schon einarbeiten.
Dies müßte gehen. Ohne jetzt schon viel darüber gelesen zu haben, problematisch ist wahrscheinlich, daß in dem Moment, wenn der Gab zum Sollwinkel
ausgeglichen werden soll, der Sollwinkel schon wieder ein anderer ist.

Geistesblitz
21.10.2012, 23:27
Dafür sollte die Regelung ja auch schnell genug arbeiten. Das läuft dann so, dass die Abweichung von Soll- und Istwinkel berechnet wird (Fehler=Soll-Ist), diese mit einem Faktor multipliziert wird und dann auf die Lenkstellung addiert wird. Das wäre ein einfacher P-Regler, am besten wären da wirklich Simulationsprogramme, um die Reglerstabilität überprüfen zu können. Interessant ist bei deinem Konzept auch, dass ja eigentlich nicht nur der Gliedwinkel, sondern ja auch das Verbleiben auf der Fahrstrecke gleichzeitig geregelt werden muss.

wkrug
22.10.2012, 07:40
Zudem sollten die Achs- und Drehpunktabstände so gewählt werden, das das Heck des Busses beim Abbiegen nicht zu stark ausschwenkt und damit die Gegenfahrbahn leerräumt.

Lilith
22.10.2012, 19:35
@wkrug,
bei den Abmessungen des Fahrwerks möchte ich mich an reale Gelenkbusse orientieren.
@Geistesblitz,
man könnte die Motorsteuerung auslesen, um zu prüfen, ob man noch auf der Fahrstrecke ist.
Was meinst Du mit Simulationsprogrammen?

Geistesblitz
23.10.2012, 18:49
Mit Simulationsprogrammen mein ich sowas wie Matlab/Simulink, wobei man da aber nicht so leicht rankommt. Wenn man den Aufwand nicht scheut kann man aber auch in anderen Programmiersprachen simulieren.
Wie willst du denn die Motorsteuerung auslesen, um Rückschlüsse auf die Fahrstrecke zu bekommen? Die Motorsteuerung ist doch nur dafür da, die Motoren anzutreiben, Input bekommst du doch nur von Sensoren zB. Abstandssensoren oder Drehencoder auf den Achsen. Wenn du mit Schrittmotoren fährst, dann muss der Controller eben "mitzählen", aber solange du nichts Teureres verwendest wirst du deine Motorsteuerung wohl kaum auslesen können.

Lilith
23.10.2012, 20:57
Entschuldige mein Halbwissen,
aber ich habe es so verstanden, daß man über eine Motorsteuerung wie die MD23 Impulse von Motoren, die interne Drehgeber haben,
erhalten und über den I2C-Bus auslesen kann. Mit diesen Werten kann man die Wegstrecke und den Winkel berechnen.
Allerdings ist die MD25 mit 60 Euro schon ziemlich teuer und ein Motor mit integriertem Drehgeber ist bestimmt auch nicht billig.
Bevor ich mir sowas kaufe möchte ich schon wissen, ob es funktioniert.

Ansonsten könnte man auf den Motor eine "Taktscheibe" aufkleben, oder auf die Motorwelle einen Permanentmagneten anbringen.
(Idee geklaut bei Ulli Sommer)

Vielleicht werde ich mir ein Tool in C schreiben, um die Manöver zu simulieren.

Geistesblitz
23.10.2012, 21:24
Wie gesagt, mit teureren Sachen geht sowas bestimmt auch, aber davor war ich von einer einfachen Motoransteuerung ausgegangen, zB. eine H-Brücke. Motoren mit Drehgeber sind wirklich sehr teuer, man kann sowas aber auch gut selber machen. Am einfachsten ist es, sich ein paar alte Kugelmäuse zu holen (gibts bei ebay im Dutzend billiger) und die Encoderscheiben, Fototranistoren und Infrarot-LEDs auszubauen und das irgendwie mit an den Motor zu bekommen. Das kann man dann mit dem Controller auswerten, such einfach mal nach Quadraturencoder, dann findest auch etwas, wie man sowas programmiert.

Lilith
24.10.2012, 20:45
Danke für die Tipps, gerne möchte ich es auf solch eine Weise machen, auch wenn es für mich bestimmt nicht "einfach" ist.
Toll, schaun wir mal, wie weit ich so komme.