Давно не трогал математику, а тут понадобилось сделать расчёт скорости и я чёт вообще не понимаю что делать с уравнением

Хотел сделать простой автопилот, но застрял на моменте расчёта времени работы двигателей для разгона и торможения.

Давно не трогал математику, а тут понадобилось сделать расчёт скорости и я чёт вообще не понимаю что делать с уравнением

Ещё момент. Максимальная скорость ограничена и её не превысить никак, что должно несколько упрощать расчёт времени разгона.

Давно не трогал математику, а тут понадобилось сделать расчёт скорости и я чёт вообще не понимаю что делать с уравнением
77
48 комментариев

Для начала рассчитайте ускорение корабля при разгоне и торможении (F двигателей / m корабля).
Так вы сможете вычислить время, необходимое для набора максимальной скорости (V макс / a корабля) и торможения до нуля.
Плюс на небольших расстояниях нужно на середине пути начинать тормозить, не дожидаясь разгона до макс. скорости. Я пока не сообразил как это сделать.
А как до поворотов дойдёте, придётся ещё и векторную математику изучать.
https://intmag24.ru/dlya-shkolnikov/ravnouskorennoe-dvizhenie-opredelenie-i-formuly/
https://ru.wikipedia.org/wiki/Равноускоренное_движение

8
Ответить

Дано:
макс. скорость: 100 м/с
масса корабля: 1000 кг
сила тяговых движков: 1000 Н
сила тормозных движков: 500 Н
Считаем:
тяговое ускорение: 1000 Н / 1000 кг = 1 м/с^2
тормозное ускорение: 500 Н / 1000 кг = 0.5 м/с^2
время на разгон с нуля до макс: (100 м/с ) / (1 м/с^2) = 100 c.
время на торможение с макс до нуля (100 м/с ) / (0,5 м/с^2) = 200 c.
расстояние, нужное для набора макс скорости: 100 с * (100 м/с) / 2 = 5000 м.
расстояние, нужное для торможения до нуля с макс.: 200 с * (100 м/с)/2 = 10000 м.
минимальное расстояние до цели, чтоб можно было ускориться до максимума и потом затормозить: 5000 м + 10000 м = 15000 м.
Если дистанция до цели больше того расстояния, то мы просто высчитываем время полёта на макс скорости.
Например, если расстояние до цели 100 000 м, расстояние на макс скорости:
100000 м - 15000 м = 85 000 м
время на макс скорости: 85 000 м / (100 м/с) = 850 с.

Если дистанция до цели меньше этого расстояния, то мы должны пропорционально уменьшить время разгона и торможения
Например, если расстояние до цели - 10000 м, коэффициент будет равен:
10000 м / 15000 м = 0,6(6) или 2/3.
время разгона будет: 100 * 2/3 = 66.(6)
время торможения: 200 * 2/3 = 133.(3)

P.S.: сорри за форматирование, надеюсь разберётесь

8
Ответить

Я на ДТФ деградировать пришел вообще-то 🤨

6
Ответить

А Макконахи в Интерстелларе в уме считал

3
Ответить

У него Тарс был.
ТАААААРС! Посчитай мне время работы двигателей для разгона и торможения и сделай 3 бутика с сыром и докторской колбасой

7
Ответить

Что-то точно придется дифференцировать.
Дальше, что из указанных параметров является переменным? Все? Тогда минимум, очевидно, при нулях. Что явно не то, что нужно.
Упрости функцию за несколько итераций. Если начальная скорость равна нулю, то v = dv.

4
Ответить
Автор

Масса, ускорения, максимальная и скорость известны и ещё в начале и конце скорость должна быть нулевая. Там проблема в том что при определённом расстоянии придётся тормозить до момента набора максимальной скорости и с этим могут быть проблемы которые я пока не знаю как решать. Мне пока посоветовали с лимитами делать, так что посмотрим.

Ответить