Я использую поведение прибытия из поведения рулевого управления бумагой у веб-роботов на симуляторе робота,
target_offset = target - position
distance = length (target_offset)
ramped_speed = max_speed * (distance / slowing_distance)
clipped_speed = minimum (ramped_speed, max_speed)
desired_velocity = (clipped_speed / distance) * target_offset
steering = desired_velocity - velocity
Проблема, с которой я сталкиваюсь, заключается в том, что, если я даю ему большое замедляющее расстояние, оно работает, и роботы достигают цели с ошибкой в пару мм, однако, поскольку замедляющее расстояние настолько велико, что для достижения цели требуется много времени. Когда он достигает последней пары смс, он движется так медленно, что для его установки требуется пара секунд. Если я даю ему меньшее замедляющее расстояние, он начинает выходить за пределы цели и начинает действовать как поиск. Я думаю, это связано с тем, что формула не учитывает массу робота? selected_velocity равен 0, но никогда не применяет силу разрушения.