Jeg leder efter en ligning for at finde den tid det tager for en position forskydning skal ske, givet kendt $ V_ {max} $, en (kendt) konstant acceleration, deceleration, ryk og forskydning … og en indledende hastighed på 0.
Jeg prøver at estimere / beregne den tid, det tager for en servomotorakse at køre en bestemt afstand. Når jeg kender den anslåede tid for dette træk, kan jeg løse for ryk for den anden akse. På den måde vælger jeg en optimalt “langsom” hastighed, uanset hvilken aksen har en kortere bevægelsesafstand for at maksimere udnyttelsen af min tid.
FYI, dette er et valg og sted XY robotportal.
Kommentarer
- Under forudsætning af $ \ Delta x = (a / 2) * t ^ 2 + (j / 6) * t ^ 3 $, er det at finde t det samme som at løse en kubisk ligning
- Tak, jeg ' Jeg starter med det og ser hvad jeg kommer op med th.
- Hvis du er enig i ligningen, jeg giver ovenfor, og hvis du har problemer, vil jeg forsøge at give dig et komplet svar.
- Cool. Tak. Så … jeg laver et træk med parametre:
- Ups. Repost: Jeg laver et træk med parametre: Vmax = 1000 mm / s, accel = 1000 mm / s ^ 2, decel = 1000 mm / s ^ 2, Jerk = 1000 mm / s ^ 3, og forskydningen er 2000 mm. Jeg har tidsindstillet dette træk på omkring 4,0 sekunder, så det skal være svaret, men jeg har brug for at få den ligning, der resulterer i dette for forskellige inputvariabler. (bemærk accel og decel er ikke nødvendigvis det samme). Tak for at se på det, jeg er lidt ude af min liga inden for matematik.
Svar
I give dig resultatet af min beregning uden detaljerne:
Resultatet er:
$$ \ Delta t = \ frac {\ Delta x} {V_ {Max}} + \ frac {1} {2} (\ frac {V_ {Max}} {a} + \ frac {a} {j}) + + \ frac {1} {2} (\ frac {V_ {Max}} {d } + \ frac {d} {j}) $$
hvor:
$ \ Delta t $ er den samlede tid.
$ \ Delta x $ er den samlede forskydning.
$ a $ er den maksimale acceleration.
$ d $ er den maksimale deceleration.
$ j $ er rykket.
$ V_ {max} $ er den maksimale hastighed.
Som en test med dine værdier:
$ \ Delta x = 2 m, a = 1m / s ^ 2, d = 1m / s ^ 2, j = 1 m / s ^ 3, V_ {max} = 1m / s $, finder jeg:
$$ \ Delta t = \ frac {2} {1} + \ frac {1} {2} (\ frac {1} {1} + \ frac {1} {1}) + + \ frac {1} {2} (\ frac {1 } {1} + \ frac {1} {1}) = 2 + 1 + 1 = 4 $$
hvilket er det rigtige resultat.
Så jeg er ret sikker på formlen.
[EDIT] Formlen for at få ryk er:
$$ j = \ frac {a + d} {2 (\ Delta t – \ large \ frac {\ Delta x} {\ large V_ {max}}) – V_ {max} (\ large \ frac {1} {a} + \ large \ frac {1} {d})} $$
[EDIT 2]
Den anvendte model er:
Fase 1: konstant ( positiv) ryk $ j $
Fase 2: konstant acceleration $ a $
Fase 3: konstant (negativ) ryk ($ – j $)
Fase 4: konstant hastighed $ V_ {Maks} $
Fase 5: konstant (negativ) ryk ($ – j $)
Fase 6: konstant decceleration ($ d $)
Fase 7: konstant (positiv) ryk ($ j $)
I ovenstående formler er der begrænsninger, mere præcist skal varigheden af faserne 2, 4, 6 vær positiv:
$$ \ Delta t_2 = \ frac {V_ {Max}} {a} – \ frac {a} {j} \ ge 0 $$
$$ \ Delta t_4 = \ frac {\ Delta x} {V_ {Max}} – \ frac {1} {2} (\ frac {V_ {Max}} {a} + \ frac {a} {j}) – \ frac {1} {2} (\ frac {V_ {Max}} {d} + \ frac {d} {j}) \ ge 0 $$
$$ \ Delta t_6 = \ frac {V_ {Max}} {d} – \ frac {d} {j} \ ge 0 $$
Hvis en af disse begrænsninger ikke er opfyldt, betyder det, at hypotesen, der er taget for modellen, ikke er inde nt, så vi har brug for en anden model.
fMoveTime_s := (fDeltaPos_M / fVMax_M) + (0.5)*( (fVMax_M / fAccel_M) + (fAccel_M / fJerk_M) )+ (0.5)*( (fVMax_M / fDecel_M) + (fDecel_M / fJerk_M) );
fJerkCalc := (fAccel_M + fDecel_M) / ( ( 2 * (fMoveTime_S - (fDeltaPos_M / fVMax_M))) - (fVMax_M * ((1/fAccel_M)+(1/fDecel_M)) ) );