Как регулировать скорость космической платформы Factorio
Итак все кто играл в Факторио сталкивался с вопросом как регулировать скорость космической платформы платформы. Есть несколько распространенных способов :
1) Сделать ШИМ подключить к помпе. После этого эмпирически задать такой сигнал ШИМ чтобы добиться нужной скорости.
2) Подаем 2 сигнала на помпу подающую (топливо или окислитель) это текущая скорость платформы и скорость которую мы хотим достигнуть. В помпе выставляем так что помпа работает пока текущая скорость меньше желаемой. Также нам нужна откачивающая помпа она включается кода скорость платформы выше чем желаемая.
3) Третий способ это ПИД регулирование (далее данные из википедии) -ПИД-регулятор (пропорционально-интегрально-дифференциальный регулятор) — термин, который означает устройство в управляющем контуре с обратной связью, используемое в системах автоматического управления для формирования управляющего сигнала с целью получения необходимых точности и качества переходного процесса. Недостаток данной версии в том ПИД регулирует скоростью через ШИМ. Так как опрос шима происходит за сто тиков у системы управления появляется инерция.
Итак во всех трех способах регулирования я был разочарован так как я хотел точного регулирования скорости, но все способы имели погрешность. Тут читатель может заметить что это не так важно даже если скорость плюс минус 10 км/с. На что я соглашусь и потратив на решение вопроса регулирования скорости космической платформы более 100 часов я нашел способ достаточно точно регулировать скорость космической платформы. Моим решение данного вопроса стало регулирование скорости ПИД регулятором который управляет дельта сигма модулятором («алгоритм Брезенхэма»). Я смог добиться точности регулирования скорости в +-1 км/с, но как всегда есть два нюанса:
1) Бросок скорости на старте (его несложно решить если вам это нужно )
2) Это влияние граывитации планет на скорость платформы (для корректировки нужно время)
Почему регулирование скорости не более точное ответ в самой игре. При расчете скорости игра отбрасывает числа после запятой передавая на регулятор скорость если изменение скорости больше единицы.
За сим откланиваюсь.



