Страница 1 из 3
Движение по азимуту (Кораблик рыбака)
Добавлено: 30 авг 2022, 16:40
cfitymrf
Здравствуйте. ребята помогите , может кто то что то подобное делал или подскажет как сделать. суть в том что нужно удержание направления движения сервой по компасу (пытаюсь сделать прикормочный кораблик). подруливание на блоках сравнения собрать не проблема , проблема в том как сделать поворот кораблика по короткому пути , к примеру курс 45град то при рыскание +- 20град подруливание будет проходить нормально , а вот к примеру компас ( компас с компенсацией наклона) показывает 5град а мне нужно направление 355град то при простой схеме на блоках сравнения кораблик будет делать почти целый круг по часовой стрелке от 5 до 355град , как сделать что бы он поворачивал в обратную сторону ведь так гораздо ближе до заданного курса . интернет гуглил не чего не нашел а может и не понял.
забыл написать , добавлю что любая работа требует вознаграждения.
движение по азимуту
Добавлено: 30 авг 2022, 17:28
Phazz
Где-то на форуме уже обсуждали такое
движение по азимуту
Добавлено: 30 авг 2022, 18:20
Dryundel
движение по азимуту
Добавлено: 31 авг 2022, 12:14
cfitymrf
спасибо за ответы. что то не получается у меня с вашей схемой , может чего то не хватает в схеме или у меня в голове , всяко моделировал .
и вот блок модуля числа мне не понятен , что от 5 до 355 менять курс что от 355 до 5 значение блока одинаковое и как ему понять куда мне надо.
движение по азимуту
Добавлено: 31 авг 2022, 12:24
Dryundel
cfitymrf писал(а): 31 авг 2022, 12:14
что то не получается у меня с вашей схемой , может чего то не хватает в схеме или у меня в голове , всяко моделировал .
А может не хватает чего то в проекте?
Да и самого проекта как то не хватает для того, что бы понять в каком конкретно из этих мест не хватает.
Отправлено спустя 6 минут 1 секунду:
cfitymrf писал(а): 31 авг 2022, 12:14
и вот блок модуля числа мне не понятен , что от 5 до 355 менять курс что от 355 до 5 значение блока одинаковое и как ему понять куда мне надо.
Предположим текущий 355, а новый 5. Куда будет рулить? Влево. Так? А надо бы вправо, значит надо инвертировать.
Предположим текущий 5, а новый 355. Куда будет рулить? Теперь вправо. А надо бы влево, значит опять надо инвертировать.
Для того и модуль числа. Здесь вообще не важно что из чего вычитаем. Можно и из текущего вычитать новый. Главное значение по модулю. Теперь понятно?
движение по азимуту
Добавлено: 31 авг 2022, 12:30
cfitymrf
согласен . по вашей схеме нормально работает когда значение больше 180 , а вот когда азимут меньше 180 то не как .
Отправлено спустя 2 минуты 42 секунды:
Dryundel писал(а): 31 авг 2022, 12:24
Для того и модуль числа. Здесь вообще не важно что из чего вычитаем
за пол дня тыкания до меня это дошло , если не секрет что и как надо инвертировать
движение по азимуту
Добавлено: 31 авг 2022, 12:48
Dryundel
cfitymrf писал(а): 31 авг 2022, 12:30
согласен . по вашей схеме нормально работает когда значение больше 180 , а вот когда азимут меньше 180 то не как .
Пример в студию!
Отправлено спустя 3 минуты 18 секунд:
cfitymrf писал(а): 31 авг 2022, 12:30
если не секрет что и как надо инвертировать
Управление. Лево на право. В случае с серво перекидывать (менять местами) значения положений. Блин! Не знаю как еще объяснить.
Отправлено спустя 13 минут 38 секунд:
Если по простому и серво на 3 положения (Влево, вправо, прямо) то примерно так.
При отсутствии сигнала на входах Влево Вправо - на выходе шифратора будет "0" тогда серво установится в среднее положение 90 градусов.
Инверсия серво.jpg
движение по азимуту
Добавлено: 31 авг 2022, 13:21
cfitymrf
спасибо за пинок под зад , разобрался , к вашей первой схеме добавил еще один блок сравнения , отрабатывает повороты в лево или право по кратчайшему пути , менял в блоках сравнения местами знаки больше на меньше , инвертировать получилось . дальше буду кумекать как в нужный момент отключать и включать эту схему для перехода в нужное "полушарие" по короткому пути , а дальше подрулька на блоках сравнения.
движение по азимуту
Добавлено: 31 авг 2022, 13:57
Dryundel
cfitymrf писал(а): 31 авг 2022, 13:21
к вашей первой схеме добавил еще один блок сравнения
cfitymrf писал(а): 31 авг 2022, 13:21
дальше буду кумекать как в нужный момент отключать и включать эту схему для перехода в нужное "полушарие" по короткому пути
Ничего не понял. Что добавил? Зачем? И что там кумекать? Какое полушарие? Почти все готово же, осталось только сравнить новый и текущий курсы что бы подать на входы Влево или Вправо, ну и допуск на рысканье.
Ладно кумекайте. И к стати, новый блок
Конвертер Boolean -> String Вам в помощь для отладки.
Отправлено спустя 6 минут 26 секунд:
cfitymrf писал(а): 31 авг 2022, 13:21
к вашей первой схеме добавил еще один блок сравнения , отрабатывает повороты в лево или право по кратчайшему пути
А... Понял. А нафига??? Ведь если не больше - значит уже меньше. Зачем еще раз сравнивать? Все же это учтено в первой схеме. Инвертируй выход и будет тебе результат второго сравнения.
А уж если без второго сравнения не понятно, то хотя бы поставь в одном из блоков
"больше или равно". В противном случае каков будет результат в случае равенства 180 ? Не подумал?
движение по азимуту
Добавлено: 31 авг 2022, 14:33
cfitymrf
Dryundel писал(а): 31 авг 2022, 13:57
результат в случае равенства 180 ? Не подумал?
да равенство 180 проверял результат 0,но не страшно все равно болтанка на воде да и GPS будет постоянно выдавать разный азимут(если я правильно понял о чем вы) . Вот накидал тестовый проект на коленках все работает как хотел , может и так нормально, посмотрите в сторону оптимизации а то я трудноват в этом.
движение по азимуту
Добавлено: 31 авг 2022, 15:25
Dryundel
cfitymrf писал(а): 31 авг 2022, 14:33
Вот накидал тестовый проект на коленках...
Не надо ничего делать на коленках. А где движение прямо? Всегда едем или влево или вправо?
Слишком наворочал и перемудрил. Жизнь - она гораздо проще, чем кажется.
1.jpg
движение по азимуту
Добавлено: 31 авг 2022, 15:28
Dryundel
Кароч.
Этак мы будем неделю эту жвачку жевать. Вот готовый проект. Если не накосячил чего в торопях, то должен работать. Не проверял.
Кораблик.flp
[spoiler=Скрин проекта]
Кораблик.jpg
[/spoiler]
движение по азимуту
Добавлено: 31 авг 2022, 16:23
cfitymrf
спасибо вам огромное , это было одной из задач по движению по курсу . в планах далее делать угол поворота сервы в зависимости от угла поворота кораблика, при небольшом отклонение от курса угол поворота сервы не большой(что бы уменьшить рыскание) попробую через масштабирование . спасибо за схемы обязательно поработаю с ними . будут вопросы конечно буду обращаться к знатокам. а так еще впереди
и NRF24L01 и NEXTION и ESP32 ( собирал схемки , баловался , форум и ютюб в помощь , вроде получается). Самое интересное то что у меня есть кораблик с GPS навигацией, но хочется свое под себя сделать , если что то получится то выложить в интернете в свободном доступе а то фиг нормальных схем найдешь за все проекты надо платить и не мало.
движение по азимуту
Добавлено: 31 авг 2022, 16:32
Dryundel
cfitymrf писал(а): 31 авг 2022, 16:23
спасибо вам огромное , это было одной из задач по движению по курсу . в планах....
....
фиг нормальных схем найдешь за все проекты надо платить и не мало
Пожалуйста.
Если же все-таки возникнет желание, то всегда можно это сделать.

движение по азимуту
Добавлено: 31 авг 2022, 16:35
ViktorPetrov
[ref]cfitymrf[/ref], Давненько было для GPS навигацией ,разрабатывали специально блочек : Расчет дистанции и курса по двум координатам.
Заготовка не проект ,для наглядности немного подправил :
Кораблик GPS.flp
движение по азимуту
Добавлено: 31 авг 2022, 16:48
Dryundel
ViktorPetrov писал(а): 31 авг 2022, 16:35
Расчет дистанции и курса по двум координатам.
Такой подход гораздо правильней чем по компасу. На волне мало какой компенсатор наклона поможет. Слишком большая амплитуда и частота колебаний для мелких корабликов. Да и как по компасу привязаться к навигации? Должны быть какие то ориентиры.
cfitymrf писал(а): 31 авг 2022, 16:23
в планах далее делать угол поворота сервы в зависимости от угла поворота кораблика, при небольшом отклонение от курса угол поворота сервы не большой
А вот это скорей всего лишнее. Заморочки не оправдают результат. Это же не самолет.
движение по азимуту
Добавлено: 31 авг 2022, 18:41
cfitymrf
ViktorPetrov писал(а): 31 авг 2022, 16:35
Давненько было для GPS навигацией ,разрабатывали специально блочек
спасибо , на форуме порылся видел эти блоки
Отправлено спустя 18 минут 48 секунд:
Dryundel писал(а): 31 авг 2022, 16:48
Такой подход гораздо правильней чем по компасу
видел я как ходят по GPS ,сначала половину озера проплывут только потом вычисляют курс . мне надо что бы в камышах не застрял при автоматическом возврате .
Dryundel писал(а): 31 авг 2022, 16:48
Да и как по компасу привязаться к навигации
записываются в память точки сброса и домашняя точка по GPS , затем по координатам рассчитывается азимут , компас сразу показывает куда двигаться а не наматывает дуги пока по GPS рассчитает курс . чем удобен кораблик так это то что нажал одну кнопку и все он уплыл сбросил вернулся назад пока ты чем то занимаешься .
движение по азимуту
Добавлено: 31 авг 2022, 19:10
Dryundel
cfitymrf писал(а): 31 авг 2022, 18:41
компас сразу показывает куда двигаться а не наматывает дуги пока по GPS рассчитает курс
А если течение или ветерок? Куда он вернется только по азимуту? В камыши?
cfitymrf писал(а): 31 авг 2022, 18:41
видел я как ходят по GPS ,сначала половину озера проплывут только потом вычисляют курс
Возможно такое, т.к. для определения азимута текущего движения только по GPS нужны две точки с некоторым расстоянием друг от друга. По идее для определения начального азимута неплохо было бы воспользоваться компасом, а так же при остановке в точке сброса. А вот дальше без GPS, при воздействии внешних факторов (ветер), в начальную точку вернуться не получится. Нужно комплексное решение. К примеру перехват управления (между компасом и GPS) при определенной скорости или по готовности GPS.
движение по азимуту
Добавлено: 31 авг 2022, 19:15
cfitymrf
Dryundel писал(а): 31 авг 2022, 19:10
А если течение или ветерок
каждую секунду ( можно попробовать и меньше если не на грузит процессор ) пересчитывается место положения и курс на точку.
движение по азимуту
Добавлено: 31 авг 2022, 19:38
Dryundel
cfitymrf писал(а): 31 авг 2022, 19:15
каждую секунду ( можно попробовать и меньше если не на грузит процессор ) пересчитывается место положения и курс на точку.
И это все только по компасу? Теоретически это возможно. Там где я учился нам преподавали навигацию. Поправки на ветер, течение, учет скорости и вперед. Для каждой акватории существуют карты течений, обязателен анемометр. И все равно сбиться с курса - это как два байта переслать. Но это другие масштабы. Как Вы учтете направление ветра? Измерите на берегу и передадите по радиоканалу? А с течением что? Оно есть даже в озерах и иногда не слабое.