Problem Bahnplanung

OP #4007264
Hallo,

ich habe ein mathematischen Problem, bei dem ich nicht weiterkomme.

Ich habe eine parametrische Bahnkurve [x(t), y(t)] in diskreter Form als 
Punkte mit Delta t = konstant vorliegen. Diese möchte ich mit konstanter 
Geschwindigkeit durchfahren. Mein Problem ist nun das an steilen stellen 
die Punkte weiter auseinanderliegen als an flachen und somit der Betrag 
der Ableitung nicht konstant ist. Meine Frage ist, wie ich mir so eine 
Kurve erstellen kann. Wie läuft das z.B. bei CNC Maschienen ab? Die 
müssen ja auch mit konstanter Geschwindigkeit eine beliebige Bahn 
fahren.

Grüße, Alex
OP #4007357
Das ist in meinem Fall nicht ganz so leicht. Ich habe eine Simulation in 
Matlab und erzeuge mir Eingangswerte für mein Modell. Erst einen 
t-Verktor und dann abhängig davon x und y Vektoren. Nun möchte ich die 
x-y-Bahn durchfahren und brauche in meinem Modell die Geschwindigkeit 
als Bahnableitung und damit die im Betrag konstant ist, müssen die 
Bahnpunkte äquidistant sein. Mit anderen Worten: Da wo die Funtion steil 
ist, brauche ich mehr Zeitwerte und somit eine Bildungsvorschrift für 
die Zeitabstände abhängig von der Bahnfunktion. Und an dem Punkt komme 
ich nicht weiter. Wenn ich t als abhängige Variable nehme und in deine 
Formel für v einsetze läuft das auf eine nichtlineare DGL raus, die ich 
nicht lösen kann. Wie genau läuft denn eine Bahnplnung für die 
Fräsmaschine ab?

Grüße, Alex
Gast #4007375
> Wie genau läuft denn eine Bahnplanung für die
> Fräsmaschine ab?

Denkbar wäre, eine Tabelle mit (z.B.) x als unabhängiger Variable 
anzulegen:

In dieser könnten als Sollvorgaben vx und vy abgelegt sein.
Oder, unter zusätzlicher Berücksichtigung der ggf. nicht konstanten 
Trägheitsmomente, Stromvorgaben für die beiden Achsen.  ?
OP #4007972
Ich hab's für meine Fall gelöst und möchte abschließend kurz verraten, 
wie.
Ich nehme die Ableitung der Funktion und berechnen ausgehend vom 
Startpunkt den nächsten Punkt mit konstanter Enfernung a und 
entprechender Richtung.

x_neu = x_alt + a * cos(atan(f'(x_alt)))
y_neu = y_alt + a * sin(atan(f'(x_alt)))
x_alt = x_neu
y_alt = y_neu

Grüße und danke für die Tipps, Alex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.