Estoy buscando una ecuación para encontrar el tiempo que tomará una que suceda el desplazamiento de posición, dado $ V_ {max} $ conocido, una aceleración, desaceleración, sacudida y desplazamiento constantes (conocidos) … y una velocidad inicial de 0.
Estoy tratando de estimar / calcular el tiempo que tardará un eje de servomotor en recorrer una cierta distancia. Una vez que sepa el tiempo estimado de ese movimiento, puedo resolver el tirón del otro eje. De esa manera, elijo una velocidad óptima «lenta» para lo que sea El eje tiene una distancia de movimiento más corta para aprovechar al máximo mi tiempo.
FYI, este es un pórtico de robot XY para elegir y colocar.
Comentarios
- Suponiendo que $ \ Delta x = (a / 2) * t ^ 2 + (j / 6) * t ^ 3 $, encontrar t es lo mismo que resolver un ecuación cúbica
- Gracias, ' comenzaré con eso y veré qué se me ocurre th.
- Si está de acuerdo con la ecuación que le di arriba, y si tiene problemas, trataré de darle una respuesta completa.
- Genial. Gracias. Entonces … estoy haciendo un movimiento con parámetros:
- Vaya. Repost: Estoy haciendo un movimiento con parámetros: Vmax = 1000 mm / s, accel = 1000mm / s ^ 2, decel = 1000mm / s ^ 2, Jerk = 1000 mm / s ^ 3, y el Desplazamiento es 2000mm. He cronometrado este movimiento en alrededor de 4.0 segundos, así que esa debería ser la respuesta, pero necesito obtener la ecuación que da como resultado esto para diferentes variables de entrada. (tenga en cuenta que la aceleración y la desaceleración no son necesariamente lo mismo). Gracias por mirarlo, estoy un poco fuera de mi liga en matemáticas.
Responder
Yo darle el resultado de mi cálculo sin los detalles:
El resultado es:
$$ \ 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}) $$
donde:
$ \ Delta t $ es el tiempo total.
$ \ Delta x $ es el desplazamiento total.
$ a $ es la aceleración máxima.
$ d $ es la desaceleración máxima.
$ j $ es el tirón.
$ V_ {max} $ es la velocidad máxima.
Como prueba, con sus valores:
$ \ Delta x = 2 m, a = 1 m / s ^ 2, d = 1 m / s ^ 2, j = 1 m / s ^ 3, V_ {max} = 1 m / s $, encuentro:
$$ \ 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 $$
que es el resultado correcto.
Así que tengo bastante confianza en la fórmula.
[EDIT] La fórmula para obtener jerk es:
$$ 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]
El modelo utilizado es:
Fase 1: constante ( positivo) tirón $ j $
Fase 2: aceleración constante $ a $
Fase 3: tirón constante (negativo) ($ – j $)
Fase 4: velocidad constante $ V_ {Max} $
Fase 5: tirón constante (negativo) ($ – j $)
Fase 6: desaceleración constante ($ d $)
Fase 7: tirón constante (positivo) ($ j $)
En las fórmulas anteriores, hay restricciones, más precisamente la duración de las fases 2, 4, 6 debe Sea positivo:
$$ \ 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 $$
Si una de estas restricciones no se cumple, esto significa que las hipótesis tomadas para el modelo son incoherentes nt, entonces necesitamos otro modelo.
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)) ) );