Bahnsteuerung mit S-Kurve plötzlich bremsen

Gast #3823580
Lesenswert?
• ▲
▼
Hallo,
bin dabei einen Achscontroller zu schreiben. Der soll eine Fahrt mit 
S-Kurven-Profil machen. Wegen des Rechenaufwand teile ich eine Fahrt in 
max. 7 Abschnitte ein und berechne diese vor. Soweit funktioniert dies 
auch.
Jetzt muss ich aber unvorhersehbar auf Grund eines externen Signals 
bremsen ( z.B. Limitschalter oder Coverswitch ).
Wie kann ich ein Bremsen während der Jerk & Beschleunigungsphase 
hinbekommen, wenn ich die vorgegebene Verzögerungskurve einhalten soll ?

Danke, Pepe.
Gast #3824960
Lesenswert?
• ▲
▼
Nö. Hatte ich bis jetzt nicht gekannt. Danke für die Info.
Hilft mir aber (glaube ich) nicht weiter.

Ich brauche eine Lösung für das spontane Abbremsen der Achse, z.B. 
während der Beschleunigungsphase. Schalte ich sofort auf Verzögerung hab 
ich doch im nächsten Regelungstakt eine schlagartige Umkehrung von 
Beschleunigung auf Verzögerung. Also eigentlich 200% im Vergleich zu 
einer Trapezkurve. Aber genau dies möchte man ja durch die Verwendung 
des Jerks reduzieren.

Also wie kann man eine Jerk-ähnlich Bremsung am besten implementieren ?
#3825094
Lesenswert?
• ▲
▼
Detlef Kunz schrieb:
> Ich glaube da besteht ein kleines Verständnisproblem dessen, was Jerk
> ist.
> Jerk ist die Änderung der Beschleunigung über die Zeit, etwas, das man
> als Ruck (engl. jerk) verspürt.
>
> Du möchtest eine "Ruck-ähnliche Bremsung" ?

Ich denke, er moechte den Ruck begrenzen, ich kenn das von 
Industrierobotern. Schont die Substanz...
Anderes Thema: Wie kann ich mir Snap, Crackle und Pop vorstellen? 
Mathematisch ist klar was gemeint ist, aber gefuehlsmaessig? Wie nehme 
ich die Ableitung des Rucks war, und deren Ableitung usw?
#3825103
Lesenswert?
• ▲
▼
David ... schrieb:
> Wie nehme
> ich die Ableitung des Rucks war, und deren Ableitung usw?

Mensch nehmen das nicht wahr, sonst hätten sie für diese Wahrnehmungen 
andere Namen als Snap, Crackle und Pop. ;)

David ... schrieb:
> Ich denke, er moechte den Ruck begrenzen,

Das ist mir auch klar, aber dem TO soll es auch klar werden.
In dem von mir verlinkten pdf ist doch das Grundwissen für die Lösung 
drin.
#3825139
Lesenswert?
• ▲
▼
David ... schrieb:
> Hmpf, Punkt fuer dich, macht es aber nicht besser ;)

Mal sehen (eigentlich nur fühlen) :)

Position nimmt der Mensch (gefühlt !) nicht wahr.
Geschwindikeit nimmt der Mensch (gefühlt !) nicht wahr.
(konstante) Beschleunigung nimmt der Mensch als konstante Kraft wahr.
Jerk (Änderung der Beschleunigung, Ruck) nimmt der Mensch bei langsamer 
Änderung der Beschleunigung als sich ändernde Kraft, die auf ihn wirkt 
wahr.
Schnelle Änderungen als Ruck. Das liegt daran, das man versucht die 
Kraft auszugleichen, um die Position zu halten. Ändert sich die Kraft 
schnell, und man kann nicht so schnell "Nachregeln", dann kommt es zum 
Überschwingen der "Regelung" --> gefühlter Ruck.
#3825148
Lesenswert?
• ▲
▼
Detlef Kunz schrieb:

> Schnelle Änderungen als Ruck. Das liegt daran, das man versucht die
> Kraft auszugleichen, um die Position zu halten. Ändert sich die Kraft
> schnell, und man kann nicht so schnell "Nachregeln", dann kommt es zum
> Überschwingen der "Regelung" --> gefühlter Ruck.

Hm. Und weil die Aenderung der Beschleunigung fuer die Wahrnehmung als 
Ruck schnell sein muss, kann man die hoeheren Ableitungen erst Recht 
nicht wahrnehmen? Damit lass ich es erstmal gut sein ;)
#3825163
Lesenswert?
• ▲
▼
Detlef Kunz schrieb:
> Hmm, wenn die Kraftänderung nicht konstant ist, könnte einem vielleicht
> mächtig übel werden. Vielleicht sollte man Snap in Sick umbenennen ;)

Wenn du mutig bist, darfst du Industrieroboterreiten kommen und das 
erfuehlen :3

> Ich glaube, das könnte für die Seekrankheit verantwortlich sein.
> (Nur mal vom Gefühl her.).

Ist Seekrankheit nicht die Diskrepanz zwischen verschiedenen Sinnen? Ich 
war zB neulich im Technikmuseum Sinsheim in der Concorde. Die steht 
ziemlich schraeg, aber wenn man in ihr steht, gibts kein optisches 
Merkmal fuer die Steigung. Das macht auch ziemlich schummrig - eben wie 
in (zwischenzeitlich) gekippten Schiff, was man innen nicht sehen kann.
Gast #3826431
Lesenswert?
• ▲
▼
Detlef Kunz schrieb:
> Ich glaube da besteht ein kleines Verständnisproblem dessen, was Jerk
> ist.

Mir ist klar, was der Jerk bedeutet. Hatte eigentlich - wie David 
schreibt - eine Begrenzung des Rucks im Kopf.
Eigentlich hatte ich auf eine Lösung gehofft, die etwas 
Programmierer-freundlicher wäre.

Die Berechnungen wie im Kapitel III des Links hab ich ja schon so weit. 
Nur mein Mathe reicht gerade nicht aus, ein Polynom 3. Grades zu 
berechnen, wenn ich noch eine Anfangsgeschwindigkeit V<>0 ( weil ich ja 
schon fahre ) habe. Kann anscheinend auch nicht ganz trivial sein, weil 
viele Hersteller von (einfachen) Achscontrollern bei S-Kurvenfahrten 
eine Änderung der Zielposition On-The-Fly nicht erlauben.
#3826484
Lesenswert?
• ▲
▼
Du gehst die Sache falsch an.
Die Anfangsgeschwindigkeit ist nicht wirklich dein Problem, eher die 
Physik.
Geschwindigkeit ist relativ. ;)
Wenn sich dein Objekt mit 1m/s Anfangsgeschwindigkeit bewegt, und Du es 
auf 0m/s abbremsen willst, dann definier dein Bezugssystem um.
Sag einfach, dein Objekt bewegt sich mit 0m/s Anfangsgeschwindigkeit und 
du willst es auf -1m/s beschleunigen. ;)

Deine Sorge sollte der Anfangsbeschleunigung gelten, weil Du sie jetzt 
nicht einfach auf 0 setzen kannst. :P
Gast #3826739
Lesenswert?
• ▲
▼
Du hast recht. Physikalisch betrachtet sprechen wir von der aktuellen 
Beschleunigung, die mir das Leben schwer macht.

Hab das Ganze zu stark aus Sicht der Bahnsteuerung ( sprich Sourcecode ) 
aus betrachtet.

Muss jetzt erst mal in mich gehen... und vielleicht kann ich mich auch 
noch erinnern wo mein Orear oder Papula sind.
Gast #3918660
Lesenswert?
• ▲
▼
Hallo Pepe.

Sehr interessant was du da machst.
Ich will auch gerade umstellen auf S Kurve.
D.h. Beschleunigung mit Ruckbegrenzung.
Wärst du so nett und würdest dein Source Code hier (oder mir direkt) zur 
Verfügung stellen.
Ich bin da noch nicht ganz so weit wie du und suche noch Formeln für die 
Berechnung.

noeppkes ...
Gast #3958463
Lesenswert?
• ▲
▼
Hallo.
Hab mich die letzten Wochen mit allem Anderen beschäftigt, nur nicht mit 
der Implementierung der S-Kurve.

Habe meine bisherige Implementierung verworfen, da ich das Bremsen nicht 
sauber
implementieren könnte. Außerdem möchte ich noch eine Möglichkeit 
einbauen, damit ich die Endposition On-The-Fly ändern kann (wenigstens 
in gewissen Grenzen). Werde wohl auf einen Ansatz mit einem "Motion 
Planer" umsteigen, der mir kontinuierlich die nächsten paar Wegpunkte 
berechnet. Da fange ich heute aber erst an :-)

Im Link findest du die Herleitung für die Formeln. Hat mir zum 
Verständnis viel gebracht.
http://www.inmechasol.com/fullpanel/uploads/files/motionplanning-01.pdf

Falls der Links nicht mehr funktioniert, hier der Titel "CONSTANT JERK 
EQUATIONS FOR A TRAJECTORY GENERATOR"

Hat sonst jemand noch weiterführende Infos?

Pepe.
#4200784
Lesenswert?
• ▲
▼
Hallo Pepe.

Bin gerade wieder hier her gekommen und hatte gesehen, dass du vor 
längerer Zeit geschrieben hattest.
Bist du bei der S-Kurve weitergekommen?
Würde mich sehr interessieren.
Das pdf Dokument ist auch sehr interessant. Das Java-Script läuft bei 
mir übrigens auch nicht.

noeppkes ...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.