Archiv verlassen und diese Seite im Standarddesign anzeigen : Inverses Pendel
Hallo an alle Profis
Ich zerbrech mir da grad den Kopf darüber,ob ich mir zutrauen soll so ein Projekt überhaupt anzufangen.
Was ein Inverses Pendel ist wisst ihr ja bestimmt.
Wenns jemand nicht weiß:
Ganz einfach ein auf den Kopf gestelltes Pendel,also ein Stab,der von unten
mittels eines Wagens o.ä. stabilisiert wird.
In etwa so,als wolle man einen Besen auf der Handfläche aufstellen, und senkrecht halten.
Ich möcht mich dabei aber auf eine Ebene beschränken,so wie mans auch oft im Netz findet.
Jetzt is es aber so,daß das ganze nicht so einfach ist in der Sollposition zu halten,bzw nach dem Anstossen des Pendels,dieses wieder auszupendeln.
Also, es gibt da schon einige sehr gute Projekte, und alle verwenden dabei die sogenannte Fuzzy Logik.
Was das ist,ist mir in etwa klar.
Weniger klar ist mir, wie setzt man diese logik in ein Programm um.
Ich hab da ein Beispiel mit Tabellen gesehen.
Da wird aber nicht erklärt wie man diese Tabellen dann miteinander verknüpft.
Und Tabelle is irgendwie so fixiert.
Lieber wärs mir wenn das zur laufzeit berechnet würde und somit universeller ist.
Dabei geht es darum, die eingelesenen Werte (Winkel und Wingelgeschwindigkeit des Pendels, Wagenposition und geschwindigkeit) zu Fuzzyfizieren und nach bearbeitung wieder zu Defuzzyfizieren.
Dabei sollten eigentlich 2 Ergebnisse rauskommen.
Nämlich eine neue Wagensollposition und eine geschindigkeit mit der diese angefahren werden muß.
Das ist denke ich mal das allergrößte Problem welches ich hab.
Jetzt kommt aber noch hinzu,daß ich auch andere werte berücksichtigen muß.
Z.B. wäre da ideale Länge,Masse und Schwerpunkt des Pendels.
Ist es ideal wenn der Schwerpunkt ganz am oberen Ende des Pendels liegt,oder sollte man ihn vielleicht etwas nach unten verlegen.
Wie genau muß der winkel des Pendels eingelesen werden können?
Ja klar,je genauer,desto besser,aber wie genau muß es unbedingt sein?
Wie genau muß die Wagenposition erfasst werden?
Welche toleranzen darf die ganze mechanik aufweisen?
Muß ich das Eigengewicht des Wagens bzw die reibung beachten?
Wie groß darf der Winkel des Pendels zur Sollposition sein?
Ich hab wo gelesen,10 grad wären maximum.
Warum?
Konstruktionsbedingt?
Irgendwie Physikalisch bedingt?
Und und und...
Wer kann mir helfen,zumindest mal einen ansatz zu finden,um mal ein wenig rechnen zu können.
Ausprobieren wird vermutlich nicht gerade sehr kosten günstig sein,aufgrund von materialverbrauch.
Wobei ich bei der nächsten Frage wäre:
Welches Material für das Pendel?
Etwas schweres und träges wie Stahl?
Eher leichter wie Aluminium,Holz oder Kunststoffe?
Das sind jetzt schon eine ganze menge ungelöster Aufgaben,daher weiß ich nicht,ob ich mir das zutrauen soll.
Ohne Physikstudium siehts wohl traurig aus.
Daher bitte ich um rege Teilnahme und eine Menge an Tips.
Gegoogelt und im Wiki gelesen hab ich ja schon ein wenig.
Bloß find ich da nirgends beispiele wie man sowas am besten ausführt.
Die Mechanik selbst nach Entwurf zu bauen wäre weniger das Problem da ich gelernter Maschinschlosser bin.
Bloß der Entwurf dafür...
Naja, erstmal genug, mal sehen was ihr dazu zu sagen habt.
MfG,
Mr.G.
Murdoc_mm
26.03.2008, 19:21
Hi,
hast du dieses Pendel schon gesehen? http://www.active-robots.com/products/inverted-pendulum/inverted-pendulum.shtml
Ist mit ca. 1900 Pfund (etwa 2500-2600 Eu) ohne Mehrwertsteuer (!!! also zusätzlich noch plus 19%) aber recht teuer.
Wenn dein Englisch nicht so schlecht ist solltest du dir unbedingt mal die Doku anschauen die unten zu finden ist. Und wenn dein Englisch eher mau ist solltest du trotzdem mal reinschauen (vlt kannste auch das Google-Sprach-tool mal etwas bemühen \:D/ ).
Da ist auch noch ein Video auf der Seite, vielleicht sieht man da ja was schönes (ich habs noch nicht angesehen).
Gruß
Hi,
vielleicht hilft dir das:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=31487&highlight=pendel
Gruß
Christopher
Hallo,
die vielen balancierenden Roboter die du im Internet mit
den Suchbegriffen "balancing robot" oder "Nxtway" finden
kannst, sind alle invertierte Pendel. Konstruktion und auch
Programmierung sind nicht so schwer. Es geht sogar mit Lego,
wie beim Nxtway. Ein Physikstudium brauchst du dafür nicht.
Die nötigen Infos findest du leicht im Netz.
Fuzzy-Logik ist nur eine Möglichkeit eine solche Regelung
aufzubauen. Es geht aber auch in Analog-Technik oder mit
digitalen Reglern. Die Mathematik ist trivial, wenn du es nicht
gerade mit der "Luxusversion" mit Kalman-Filter versuchst.
Das war für mich jedenfalls zu hoch.
Es reicht ein Gyroskop oder ein anderer Lagesensor und
ein in Software realisierter PD-Regler.
Damit balanciert mein Nxtway einwandfrei, wenn auch etwas wackelig.
Die Reglerparameter habe ich mit viel Geduld per Trial & Error ermittlelt.
http://www.youtube.com/watch?v=2B3mhzEUtus
Du hast dir eine hochinteressante Aufgabe vorgenommen.
Bleib dran, es macht eine Menge Spaß und lohnt sich.
Gruß Jan
Wie groß darf der Winkel des Pendels zur Sollposition sein?
Ich hab wo gelesen,10 grad wären maximum.
Das hängt davon ab, wie stark du beschleunigen kannst, um das Pendel
wieder aufzurichten. Im Prinzip kann das jeder Winkel <90Grad zur Senkrechten sein.
Ist es ideal wenn der Schwerpunkt ganz am oberen Ende des Pendels liegt,
oder sollte man ihn vielleicht etwas nach unten verlegen. Je kleiner der Abstand zwischen Drehpunkt und Schwerpunkt,
desto schneller muss die Regelung reagieren.
Ein langes Pendel pendelt langsamer, die Pendelfrequenz ist nur vom
Abstand Drehpunkt-Schwerpunkt abhänging, nicht vom Gewicht.
(Mit einem Besen gehts, aber mit einem Bleistift schaffst du es nicht.)
Hier noch ein Link zu Uffis balancierendem Roboter "Artist",
dort findest du auch noch interessante Infos zu dem Thema:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=31264&highlight=artist
.
Hi danke erstmal.
Werd mir das erstmal alles durchlesen.
Hab mir gedacht,ich könnte es ja auch mal versuchen erstmal die mechanik aufzubauen und dann zum versuchen ein ganz klein mini programm schreiben.
einfach nur die seite prüfen in die das pendel grad hängt und dann nachfahren,bloß glaub ich nicht,daß das ohne berechnete beschleunigung und endposition des schlittens was wird.
Das projekt ist bestimmt sehr interessant und lehrreich.
und hat einen gewissen WOW Effekt.
Ich überleg grad ob man für den schlitten einen alten tinten drucker schlachten kann.
könnte mir vorstellen,daß der weg zu kurz wird.
kommt aber vermutlich wieder auf die länge des pendels an.
ich dachte schon,daß ein langes pendel leichter zu stabilisieren sein wird.
Die Reibung zwischen pendel/Schlitten und Schlitten/Schiene,Getriebe und Motorverluste werd ich wohl für den anfang mal als ideal,also nicht vorhanden annehmen, und sehen wies läuft. kann das ja dann noch mit einbeziehen.
Wenn ichs geschafft habe daß das pendel tatsächlich steht,möcht ich noch, daß der Regler dann auch in der lage aus der hängenden Ruheposition das pendel alleine hochzuschaukeln.
Aber das wollt ich nur mal so andeuten,denn das liegt in weiter ferne...
Für weiter anregungen und tips bin ich selbstverständlich sehr dankbar.
Gesehen hab ich das ganze übrigens schon vor jahren mal in der HTL beim tag der o. tür.
Das war so ein abschlussprojekt.
Seitdem fasziniert mich diese Maschine.
Jetzt wo ich ein wenig erfahrung mit electronic hab,möcht ich sowas auch bauen. Viel electronic brauchts ja nicht. eher mehr gute mechanik und programmierung.
Thanks
MfG,
Mr.G.
Hi JanB
Welchen Sensor hast du verwendet um die Lage deines Roboters zu bestimmen?
So wackelig find ich das gar nicht.
Sehr gut gemacht!
Wenn mein Pendel mal so geregelt werden kann bin ich zufrieden.
Ich denke daran für meine Lagebestimmung eine gabellichtschranke zu benutzen. davon hab ich genug hermliegen.
sogar mit passender zählscheibe. hoffentlich genau genug.
wie sieht denn die formel aus mit der du rechnest?
Alle Projekte die ich bis jetzt gefunden habe, verwenden die Fuzzy Logik.
Wäre ja auch ideal denk ich.
Würde aber natürlich auch was einfacheres akzeptieren,wenns denn funktioniert.
MfG,
Mr.G.
Bin bei meinen nachforschungen über das hier gestoßen:
http://www.cer-online.de/Facharbeit/Facharbeit.pdf
lohnt sich mal reinzulesen.
MfG,
Mr.G.
Hallo,
Welchen Sensor hast du verwendet um die Lage deines Roboters zu bestimmen?
Ein Gyro-Sensor (Drehratensensor) liefert mir immer die
momentane Winkeländerung also die Kippgeschwindigkeit des Robots
in Grad pro sec.
Der Kippwinkel, also die Lage wird daraus durch Integration gewonnen.
Dieser Integrationsprozess ist naturgemäß sehr ungenau, weil alle
Messfehler usw. mit aufintegriert werden. Zudem hat der Sensor eine
relative große Nullpunktdrift.
wie sieht denn die formel aus mit der du rechnest?
Sehr einfach. Die Lageregelung übernimmt ein einfacher PD-Regler.
Entsprechend benutze ich auch die Standard-Formel für einen digitalen PD-Regler.
https://www.roboternetz.de/wissen/index.php/Regelungstechnik
Wie gesagt die Berechnungen sind einfach, schwierig ist es die richtigen
Reglerparameter herauszubekommen. Regelungstechniker können das
berechnen, ich hab es durch rumprobieren geschafft. Das brauchte viel
Geduld und das Ergebnis ist sicher nicht optimal, aber er balanciert.
Die Regelschleife wird etwa 100 mal pro Sekunde durchlaufen.
Wenn du das Pendel mit Fuzzy-Logik realisierst, würde es mich sehr
interessieren wie das geht. Bitte berichte darüber.
Gruß Jan
Hi,
Ja also ich hab mir das mit der fuzzy gestern nochmal angesehen.
Also erstmal der Link:
http://www.kde.cs.uni-kassel.de/lehre/ws2007-08/KI/folien/07_Unsicherheit_Vagheit.pdf
So wie dort beschrieben werd ichs wohl mal versuchen.
Das is eher weniger mathematik,als schätzungen.
und die schlittensollposition wird auch nicht berechnet.
Ich werde eine zeitspanne definieren die zwischen 2 messungen vergehen soll.
was weiß ich,sage mal hausnummer 0,2 sec.
über einen interrupt zähle ich die impulse der drehscheibe vom pendel.
das rechne ich auf den entsprechenden winkel um.
damit hab ich schonmal den ersten wert.
den winkel durch zeit,dann hab ich die winkelgeschwindigkeit.
dann werde ich eine tabelle wie auf seite 31 vom link oben hernehmen und damit die wagenrichtung und geschwindigkeit ermitteln.
Wenn die arbeit dann erste früchte trägt,möchte ich das ganze noch um die stufe mittel erweitern.
Daß es funktioniert sieht man in etlichen videos im net.
Anscheinend sogar recht gut.
Also warum das rad neu erfinden?
Leider kann ich keinen Gyro oder accelerometer verwenden,da
mein pendel frei drehbar sein soll. 360 grad.
darum wird wohl nichts an einer gabellichtschranke vorbeiführen.
Andere optische erfassungsmethoden fallen mir keine ein,ausser kamera.
und das versuch ich erst gar nicht.
wenn das pendel nach einer seite hin kippt und nicht mehr abfangbar ist,
(da muß ich grenzwerte ermitteln)
dann laß ichs optimiert runterfallen indem ich dem pendel noch durch den schlitten schwung mitgeb,damit es gleich auf der anderen seite wieder hochkommt. dann soll es gleich wieder stabilisiert werden.
dazu werden wohl einige versuche nötig sein.
Also am besten wird wohl sein,ich rechne gleich noch ein LCD mit,und schreib ein setup wo ich über variablen ins geschehen eingreifen kann.
das spart mir wohl häufige neuprogrammierung meines controllers.
Woraus mach ich jetzt das pendel?
ich hab kupferrohre,3-4 mm draht,rundstähle...
naja,auf jeden fall werd ich kugellager verwenden um die reibung zu minimieren,wenn ich sie schon als nicht vorhanden annehme.
Ich rechne mit einer entwicklungszeit für das projekt von bis zu 3 monaten.
je nachdem wie sehr ich mich darin verbeisse und wieviele wochenenden ich zur verfügung hab.
Wenn daran interesse besteht,kann ich ja ab und zu mal fotos dazu reinstellen.
frühestens aber nächstes WE.
MfG,
Mr.G.
Tach!
Tja,also, das is sie nun.
Wie gesagt versuche ichs erstmal mit Resten aus nem alten Drucker.
Hab jetzt erstmal alles störenende Blech und Stifte abgetrennt.
In dem großen freigebliebenen Raum könnt ich mir die electronic vorstellen.
Links ist platz für den Motor.
Noch schnell grundiert,damit ichs dann vielleicht mal schön lackieren kann.
Aber wenn das akzeptabel läuft,mach ich wohl ein Gehäuse drumrum.
Nur für alle fälle.
Ungeachtet dessen,daß der Weg vielleicht zu kurz wird,soll dies die Grundlage für den ersten Versuch werden.
Ich denke,dadurch komm ich vielleicht nicht unbedingt an das ran was ich mir vorgestellt hab,aber es führt mich schneller zum ziel,als alles selbst zu machen.
Jetzt muß ich mir überlegen wie ich das Pendel am besten auf dem Schlitten lagere. Vermutlich werd ich eine Grundplatte aus Blech anpassen und daran irgendwie die Kugellager befestigen.
Dann fehlen nur noch die zählscheiben für die position und die endschalter.
Dann fang ich auch schon mit der elektronik an.
MfG,
Mr.G.
hi,
hier gibt´s au no paar infos zu fuzzy: http://www.fuzzy-methoden.de/
mg jeffrey
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.