Движение по азимуту (Кораблик рыбака)

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

Движение по азимуту (Кораблик рыбака)

#1

Сообщение cfitymrf » 30.08.2022{, 16:40}

Здравствуйте. ребята помогите , может кто то что то подобное делал или подскажет как сделать. суть в том что нужно удержание направления движения сервой по компасу (пытаюсь сделать прикормочный кораблик). подруливание на блоках сравнения собрать не проблема , проблема в том как сделать поворот кораблика по короткому пути , к примеру курс 45град то при рыскание +- 20град подруливание будет проходить нормально , а вот к примеру компас ( компас с компенсацией наклона) показывает 5град а мне нужно направление 355град то при простой схеме на блоках сравнения кораблик будет делать почти целый круг по часовой стрелке от 5 до 355град , как сделать что бы он поворачивал в обратную сторону ведь так гораздо ближе до заданного курса . интернет гуглил не чего не нашел а может и не понял.
забыл написать , добавлю что любая работа требует вознаграждения.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

движение по азимуту

#2

Сообщение Phazz » 30.08.2022{, 17:28}

Где-то на форуме уже обсуждали такое

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#3

Сообщение Dryundel » 30.08.2022{, 18:20}

2022-08-30_181906.jpg

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#4

Сообщение cfitymrf » 31.08.2022{, 12:14}

спасибо за ответы. что то не получается у меня с вашей схемой , может чего то не хватает в схеме или у меня в голове , всяко моделировал .
и вот блок модуля числа мне не понятен , что от 5 до 355 менять курс что от 355 до 5 значение блока одинаковое и как ему понять куда мне надо.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#5

Сообщение Dryundel » 31.08.2022{, 12:18}

cfitymrf писал(а):
31.08.2022{, 12:14}
что то не получается у меня с вашей схемой , может чего то не хватает в схеме или у меня в голове , всяко моделировал .
А может не хватает чего то в проекте? :)
Да и самого проекта как то не хватает для того, что бы понять в каком конкретно из этих мест не хватает.

Отправлено спустя 6 минут 1 секунду:
cfitymrf писал(а):
31.08.2022{, 12:14}
и вот блок модуля числа мне не понятен , что от 5 до 355 менять курс что от 355 до 5 значение блока одинаковое и как ему понять куда мне надо.
Предположим текущий 355, а новый 5. Куда будет рулить? Влево. Так? А надо бы вправо, значит надо инвертировать.
Предположим текущий 5, а новый 355. Куда будет рулить? Теперь вправо. А надо бы влево, значит опять надо инвертировать.

Для того и модуль числа. Здесь вообще не важно что из чего вычитаем. Можно и из текущего вычитать новый. Главное значение по модулю. Теперь понятно?

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#6

Сообщение cfitymrf » 31.08.2022{, 12:28}

согласен . по вашей схеме нормально работает когда значение больше 180 , а вот когда азимут меньше 180 то не как .

Отправлено спустя 2 минуты 42 секунды:
Dryundel писал(а):
31.08.2022{, 12:24}
Для того и модуль числа. Здесь вообще не важно что из чего вычитаем
за пол дня тыкания до меня это дошло , если не секрет что и как надо инвертировать

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#7

Сообщение Dryundel » 31.08.2022{, 12:32}

cfitymrf писал(а):
31.08.2022{, 12:30}
согласен . по вашей схеме нормально работает когда значение больше 180 , а вот когда азимут меньше 180 то не как .
Пример в студию!

Отправлено спустя 3 минуты 18 секунд:
cfitymrf писал(а):
31.08.2022{, 12:30}
если не секрет что и как надо инвертировать
Управление. Лево на право. В случае с серво перекидывать (менять местами) значения положений. Блин! Не знаю как еще объяснить.

Отправлено спустя 13 минут 38 секунд:
Если по простому и серво на 3 положения (Влево, вправо, прямо) то примерно так.
При отсутствии сигнала на входах Влево Вправо - на выходе шифратора будет "0" тогда серво установится в среднее положение 90 градусов.
Инверсия серво.jpg

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#8

Сообщение cfitymrf » 31.08.2022{, 13:21}

спасибо за пинок под зад , разобрался , к вашей первой схеме добавил еще один блок сравнения , отрабатывает повороты в лево или право по кратчайшему пути , менял в блоках сравнения местами знаки больше на меньше , инвертировать получилось . дальше буду кумекать как в нужный момент отключать и включать эту схему для перехода в нужное "полушарие" по короткому пути , а дальше подрулька на блоках сравнения.
Вложения
2.flp
(199.33 КБ) 32 скачивания

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#9

Сообщение Dryundel » 31.08.2022{, 13:51}

cfitymrf писал(а):
31.08.2022{, 13:21}
к вашей первой схеме добавил еще один блок сравнения
cfitymrf писал(а):
31.08.2022{, 13:21}
дальше буду кумекать как в нужный момент отключать и включать эту схему для перехода в нужное "полушарие" по короткому пути
Ничего не понял. Что добавил? Зачем? И что там кумекать? Какое полушарие? Почти все готово же, осталось только сравнить новый и текущий курсы что бы подать на входы Влево или Вправо, ну и допуск на рысканье.

Ладно кумекайте. И к стати, новый блок Конвертер Boolean -> String Вам в помощь для отладки.

Отправлено спустя 6 минут 26 секунд:
cfitymrf писал(а):
31.08.2022{, 13:21}
к вашей первой схеме добавил еще один блок сравнения , отрабатывает повороты в лево или право по кратчайшему пути
А... Понял. А нафига??? Ведь если не больше - значит уже меньше. Зачем еще раз сравнивать? Все же это учтено в первой схеме. Инвертируй выход и будет тебе результат второго сравнения.

А уж если без второго сравнения не понятно, то хотя бы поставь в одном из блоков "больше или равно". В противном случае каков будет результат в случае равенства 180 ? Не подумал?

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#10

Сообщение cfitymrf » 31.08.2022{, 14:33}

Dryundel писал(а):
31.08.2022{, 13:57}
результат в случае равенства 180 ? Не подумал?
да равенство 180 проверял результат 0,но не страшно все равно болтанка на воде да и GPS будет постоянно выдавать разный азимут(если я правильно понял о чем вы) . Вот накидал тестовый проект на коленках все работает как хотел , может и так нормально, посмотрите в сторону оптимизации а то я трудноват в этом.
Вложения
1.flp
(315.32 КБ) 28 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#11

Сообщение Dryundel » 31.08.2022{, 15:25}

cfitymrf писал(а):
31.08.2022{, 14:33}
Вот накидал тестовый проект на коленках...
Не надо ничего делать на коленках. А где движение прямо? Всегда едем или влево или вправо? :)
Слишком наворочал и перемудрил. Жизнь - она гораздо проще, чем кажется.
1.jpg

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#12

Сообщение Dryundel » 31.08.2022{, 15:28}

Кароч.
Этак мы будем неделю эту жвачку жевать. Вот готовый проект. Если не накосячил чего в торопях, то должен работать. Не проверял.
Кораблик.flp
(318.72 КБ) 44 скачивания
Скрин проектаПоказать
Кораблик.jpg

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#13

Сообщение cfitymrf » 31.08.2022{, 16:23}

спасибо вам огромное , это было одной из задач по движению по курсу . в планах далее делать угол поворота сервы в зависимости от угла поворота кораблика, при небольшом отклонение от курса угол поворота сервы не большой(что бы уменьшить рыскание) попробую через масштабирование . спасибо за схемы обязательно поработаю с ними . будут вопросы конечно буду обращаться к знатокам. а так еще впереди
и NRF24L01 и NEXTION и ESP32 ( собирал схемки , баловался , форум и ютюб в помощь , вроде получается). Самое интересное то что у меня есть кораблик с GPS навигацией, но хочется свое под себя сделать , если что то получится то выложить в интернете в свободном доступе а то фиг нормальных схем найдешь за все проекты надо платить и не мало.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#14

Сообщение Dryundel » 31.08.2022{, 16:32}

cfitymrf писал(а):
31.08.2022{, 16:23}
спасибо вам огромное , это было одной из задач по движению по курсу . в планах....
....
фиг нормальных схем найдешь за все проекты надо платить и не мало
Пожалуйста.
Если же все-таки возникнет желание, то всегда можно это сделать. :)
Изображение

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 677
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

движение по азимуту

#15

Сообщение ViktorPetrov » 31.08.2022{, 16:35}

cfitymrf, Давненько было для GPS навигацией ,разрабатывали специально блочек : Расчет дистанции и курса по двум координатам.
Заготовка не проект ,для наглядности немного подправил :
Кораблик GPS.flp
(2.61 МБ) 47 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#16

Сообщение Dryundel » 31.08.2022{, 16:48}

ViktorPetrov писал(а):
31.08.2022{, 16:35}
Расчет дистанции и курса по двум координатам.
Такой подход гораздо правильней чем по компасу. На волне мало какой компенсатор наклона поможет. Слишком большая амплитуда и частота колебаний для мелких корабликов. Да и как по компасу привязаться к навигации? Должны быть какие то ориентиры.
cfitymrf писал(а):
31.08.2022{, 16:23}
в планах далее делать угол поворота сервы в зависимости от угла поворота кораблика, при небольшом отклонение от курса угол поворота сервы не большой
А вот это скорей всего лишнее. Заморочки не оправдают результат. Это же не самолет.

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#17

Сообщение cfitymrf » 31.08.2022{, 18:22}

ViktorPetrov писал(а):
31.08.2022{, 16:35}
Давненько было для GPS навигацией ,разрабатывали специально блочек
спасибо , на форуме порылся видел эти блоки

Отправлено спустя 18 минут 48 секунд:
Dryundel писал(а):
31.08.2022{, 16:48}
Такой подход гораздо правильней чем по компасу
видел я как ходят по GPS ,сначала половину озера проплывут только потом вычисляют курс . мне надо что бы в камышах не застрял при автоматическом возврате .
Dryundel писал(а):
31.08.2022{, 16:48}
Да и как по компасу привязаться к навигации
записываются в память точки сброса и домашняя точка по GPS , затем по координатам рассчитывается азимут , компас сразу показывает куда двигаться а не наматывает дуги пока по GPS рассчитает курс . чем удобен кораблик так это то что нажал одну кнопку и все он уплыл сбросил вернулся назад пока ты чем то занимаешься .

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#18

Сообщение Dryundel » 31.08.2022{, 19:10}

cfitymrf писал(а):
31.08.2022{, 18:41}
компас сразу показывает куда двигаться а не наматывает дуги пока по GPS рассчитает курс
А если течение или ветерок? Куда он вернется только по азимуту? В камыши?
cfitymrf писал(а):
31.08.2022{, 18:41}
видел я как ходят по GPS ,сначала половину озера проплывут только потом вычисляют курс
Возможно такое, т.к. для определения азимута текущего движения только по GPS нужны две точки с некоторым расстоянием друг от друга. По идее для определения начального азимута неплохо было бы воспользоваться компасом, а так же при остановке в точке сброса. А вот дальше без GPS, при воздействии внешних факторов (ветер), в начальную точку вернуться не получится. Нужно комплексное решение. К примеру перехват управления (между компасом и GPS) при определенной скорости или по готовности GPS.

cfitymrf
Рядовой
Сообщения: 67
Зарегистрирован: 06.09.2021{, 07:45}
Репутация: 3
Имя: иван

движение по азимуту

#19

Сообщение cfitymrf » 31.08.2022{, 19:15}

Dryundel писал(а):
31.08.2022{, 19:10}
А если течение или ветерок
каждую секунду ( можно попробовать и меньше если не на грузит процессор ) пересчитывается место положения и курс на точку.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

движение по азимуту

#20

Сообщение Dryundel » 31.08.2022{, 19:38}

cfitymrf писал(а):
31.08.2022{, 19:15}
каждую секунду ( можно попробовать и меньше если не на грузит процессор ) пересчитывается место положения и курс на точку.
И это все только по компасу? Теоретически это возможно. Там где я учился нам преподавали навигацию. Поправки на ветер, течение, учет скорости и вперед. Для каждой акватории существуют карты течений, обязателен анемометр. И все равно сбиться с курса - это как два байта переслать. Но это другие масштабы. Как Вы учтете направление ветра? Измерите на берегу и передадите по радиоканалу? А с течением что? Оно есть даже в озерах и иногда не слабое.

Ответить

Вернуться в «Помогите, а то я "нимагу"»