Вычислить время для треугольного и / или трапециевидного профиля движения с начальной скоростью - PullRequest
0 голосов
/ 14 октября 2018

Я хочу рассчитать время, необходимое для достижения target-pos из initial-pos , принимая во внимание некоторые начальные скорости.

  • i: Исходное положение: 0,0 м
  • т: целевое положение: 10,0 м
  • a: счет: 0,3 м /с 2
  • д: дек .: 0,3 м / с 2
  • v: максимальная скорость: 0,5 м / с
  • u: начальные скорости: [ 0,0 м / с, -0,5 м / с, 5,0 м / сс]

Сначала я вычисляю расстояние, необходимое для перемещения до максимальной скорости.

v_dist = ((v² * (a + d)) / (a * d)) / 2.0 
v_dist = ((0.25 * 0.6) / 0.09) / 2.0 
v_dist = ((0.15) / (0.09)) / 2.0 
v_dist = 0.833333 

Если мы не достигнем максимальной скорости, другими словами, если мы не пройдем расстояние, которое нам нужно пройти, чтобы достичь максимальной скорости, это всегда будет Треугольный профиль движения

Для Треугольного профиля движения Я использую следующую формулу:

t = sqrt(2.0 * abs(t-i) * ((a+d)/(a*d))) 
Which results in: 
t = sqrt(2.0 * abs(10.0) * ((0.3+0.3)/(0.3*0.3))) 
t = sqrt(20 * (0.6/(0.09))) 
t = sqrt(20 * (6.6667)) 
t = sqrt(133.333) 
t = 11.547 

К сожалению, эта формула не учитывает начальную скорость, и я не могу понятькуда вставить это.Я также испытываю трудности с наматыванием головы вокруг детали ((a+d)/(a*d)).

Как настроить формулу так, чтобы она учитывала начальную скорость, даже если текущее направление движения противоположно тому, гдецелевая позиция?

Для Трапециевидного профиля Я использую следующую формулу:

t = (abs(t-i) - ((a * (v/a)²) /2) + ((d * (v/d)²) /2)) / v + (v/a) + (v/d)

Для этой формулы у меня та же проблема, что и для треугольной формулы.Я не понимаю, куда я положил u (начальная скорость), поэтому он обрабатывается правильно.

1 Ответ

0 голосов
/ 14 октября 2018

Посмотрите на рисунок, показывающий диаграмму V(t) - скорость в зависимости от времени для трапециевидного профиля (ACDE) и треугольного (BFG) (значения абсцисс здесь произвольны)

Ордината точки A - начальная скорость, ординатаC, D - максимальная скорость, ордината E - некоторая скорость, необходимая для достижения конца.

Абсцисса C и F - это момент, когда заканчивается ускорение, F и D - когда начинается замедление, E и G -моменты остановки.

Наклон AB и BC являются ускорениями.Наклоны DE и FG - это замедления.

Площадь под ломаной - это расстояние.

Таким образом, для профиля трапеции вы можете рассчитать время, необходимое для ускорения и замедления, а затем найти время в диапазоне CD, чтобы обеспечить необходимоерасстояние (сумма 0AC1, 1CD3, 3DE).

Для профиля треугольника найдите время отрезков BF и FG (они зависят) от необходимого расстояния (как сумма 0BF4 и 4FG)

enter image description here

...