Как заставить автомобиль двигаться в точку и останавливаться без перерегулирования или колебания?

Итак, рассмотрим, что у нас есть транспортное средство, подобное тому, которое я описал в своем ответе на этот вопрос , с двумерным положением, скоростью, угловой скоростью и трением /трением. Он может ускоряться и ломаться на переменную величину, но не мгновенно останавливаться или мгновенно достигать максимальной скорости. Как я могу заставить его перемещаться в определенную точку и останавливаться - в самое быстрое время - без перерегулирования или колебания?

Я думал что-то вроде:

  • поверните в направлении целевого положения.
  • ускоряться
  • Посмотрите 1 галочку вперед, спросив: «Если бы я применил разрывы следующего тика, я бы превысил цель?»
  • Если это будет превышать, примените разрывы сейчас на некоторую сумму.

Я уверен, что это решаемая проблема, и, вероятно, лучший метод, чем тот, который я описал.

9 голосов | спросил Iain 20 PM00000020000005031 2010, 14:39:50

4 ответа


4
ответил BRaffle 20 PM00000060000001831 2010, 18:04:18
3

Используя исчисление, если вы знаете скорость и максимальную скорость торможения, вы можете узнать свой минимальный тормозной путь. Имея это в виду, вы можете точно знать, когда вам нужно применить тормоза (ошибки округления /квантования в сторону), чтобы остановиться в определенной точке.

Теперь, надеюсь, кто-то лучше по математике, чем мне, опубликует фактическую формулу ...

ответил Kylotan 20 PM00000020000003631 2010, 14:43:36
3

Это проблема управления. Вам нужно варьировать свои входы пропорционально какой-либо мерой «ошибки», например, расстояние до цели. См. Также ответы на этот вопрос.

Целевое отслеживание: когда ускорять и ускорять замедлить вращающуюся башню?

ответил drxzcl 20 PM00000030000004131 2010, 15:09:41
1

Иногда, в разработке игр, вам нужно использовать ярлыки. Ярлык здесь называется импульсом, который, физически говоря, является очень большой силой, применяемой за очень короткое время. Вместо того, чтобы интегрировать его с течением времени, вы просто применяете его к параметру в качестве прямого изменения: установите скорость на 0.

Вопрос: хотите ли вы использовать ярлык или нет?

ответил ADB 20 PM00000050000002731 2010, 17:40:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132