алгоритм «Чистое преследование» — добавлена простая альтернатива ПИД алгоритму руления на автопилоте Юнибоат

Чистое преследование учит нас мудрости: иногда чтобы достичь цели, нужно смотреть не на нее, а на путь к ней.
Ранее такой алгоритм уже был реализован в автопилоте UNIBOAT но, к точке перед «носом» он стремился используя ПИД регулятор (закладка «Компасс-Всегда идти к линии курса впереди на» активируется если ввести значение в метрах более 0). Это давало отличный результат, но только если вы нормально настроили ПИД. Теперь, вы можете использовать аналогичный принцип не используя ПИД. Чтобы плыть на точку впереди себя в нескольких метрах ПИД не особо нужен. Тесты на воде показали особо хороший мгновенный и оптимальный поворот к цели на алгоритме «Чистое преследование» вообще без каких то настроек. Это отличие сразу бросилось в газа. Ход на точку сразу был не совсем стабилен, были немного заметны виляния в стороны, но подкорректировав единственный коэффициент с 0.8 на 0.5 курс выровнялся. Больше ничего настраивать не пришлось. Как следствие, быстрые и оптимальные развороты позволили отправлять на точки в трех метрах стоя кормой к точке назначения. Кораблик разворачивался на месте и почти сразу поднимал бункер. Никаких лишних движений и пере регулировок от ПИД. ПИД алгоритм обучается по ходу движения, поэтому ему всегда надо какое то время чтобы подстроиться под ситуацию. А тут уже нет никакого накопления и сложного анализа информации, руль ставится сразу туда куда нужно без какого либо обучения. ПИД обычно настроить не так просто и обычно при развороте расстояние поворота было больше раза в два-три. В целом параметры для «Чистого преследования» настраивать нет необходимости, а сами они достаточно просты для понимания. В целом, я считаю ПИД алгоритм управления более стабильным по манере движения кораблика особенно на дистанции, кораблик плавает более плавно и уверенно. однако он имеет значительный (хотя и относительный) минус — требует от пользователя кропотливой настройки. Используйте «Чистое преследование», алгоритм показал себя на отлично. Если есть желание можете попробовать другой алгоритм реализованный в автопилоте Юнибот — «Векторное поле» который так же является простой альтернативой «ПИД».
Подробное объяснение «на пальцах»
Основная аналогия: Вождение автомобиля
Представьте, что вы ведете машину по дороге:
- Вы НЕ смотрите прямо на точку назначения за 10 км
- Вы смотрите на точку на дороге в 50-100 метрах впереди
- И плавно ведете машину к этой точке
Чистое преследование работает ТОЧНО ТАК ЖЕ!

Параметры по умолчанию находятся справа чтобы не забыть, если хотите вернуть обратно.
Чувствительность руля (Коеф пропорц.упр.)
«Насколько резко катер следует за точкой-проводником»
- Высокая (0.8-1.0):
«Резкие движения» может начать вилять
Быстрая реакция, но возможны рывки и «виляние» - Низкая (0.3-0.5):
«Ленивое покачивание»
Плавно, но катер долго «думает» перед маневром - Идеал (0.5-0.7):
«Уверенные движения»
Естественные повороты без суеты
Мертвая зона
«Игнорирование мелких шажков»
- Маленькая (1-2°):
«Перфекционист»
Руль постоянно подрагивает, пытаясь исправить микроскопические отклонения - Большая (5-8°):
«Рассеянный профессор»
Катер заметно отклоняется от курса прежде чем начать корректировку - Идеал (2-4°):
«Внимательный, но не педантичный»
Игнорирует волновую качку, но держит общее направление
БАЗОВАЯ ДИСТАНЦИЯ (8-12м)
«Основной шаг»
На каком расстоянии катер обычно следует за точкой-проводником
- Маленький катер (2-3м): 6-8м
«Короткий шаг» — для точных маневров - Средний катер (4-6м): 8-12м
«Стандартный шаг» — универсальный вариант - Большой катер (7м+): 10-15м
«Широкий шаг» — для плавности
🚨 МИНИМАЛЬНАЯ ДИСТАНЦИЯ (3-5м)
«Личное пространство»
Ниже этого расстояния катер не приближается к точке
Зачем нужна:
- ❌ Не дает катеру «зациклиться» у цели
- ❌ Предотвращает бесконечные микроповороты
- ✅ Сохраняет достоинство в финале танца (Это значит, что катер не будет унизительно метаться вокруг конечной точки, как неумелый танцор, который не знает, как закончить танец.)
Как настроить: 30-50% от базовой дистанции
🚀 МАКСИМАЛЬНАЯ ДИСТАНЦИЯ (20-30м)
«Взгляд на горизонт»
Насколько далеко может убежать точка на высокой скорости
Зачем нужна:
- 🌊 На волнении — больше дистанция для плавности
- 💨 На скорости — точка убегает дальше
- 🏞️ На открытой воде — широкий обзор
Как настроить: 200-300% от базовой дистанции
Появится в меню если выбрать этот алгоритм

Алгоритм векторного поля разберем позднее
