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

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

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

#21

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

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

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

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

#22

Сообщение Dryundel » 01.09.2022{, 20:32}

cfitymrf писал(а):
31.08.2022{, 16:23}
в планах далее делать угол поворота сервы в зависимости от угла поворота кораблика, при небольшом отклонение от курса угол поворота сервы не большой(что бы уменьшить рыскание)
Я тут покумекал, такое сделать еще проще, чем на три положения. :) Описание и плата для тестирования в проекте.
Кораблик5_тест.flp
(378.06 КБ) 42 скачивания
Скрин проектаПоказать
КорабликNEW.jpg
КорабликNEW.jpg (45.35 КБ) 952 просмотра
Надо поставить 360 на блоках математики + и - (забыл поправить), хотя и так работает :)

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

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

#23

Сообщение cfitymrf » 01.09.2022{, 21:00}

обязательно по тестирую , вчера вроде что то проклюнулось но сегодня весь день переделывал, проблема вылезла когда подруливание происходит к примеру в диапазоне 355 -1 гр то есть чуть повернул компас в одну или другую сторону разница всего 6гр между двумя полушариями , серва сходит с ума . нормально подруливат в диапазоне от 1 до 179гр и от 181 до 159гр .

Отправлено спустя 1 час 36 минут 8 секунд:
протестировал ваш последний проект , подключил компас и серву , отлично работает !!!!!

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

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

#24

Сообщение Dryundel » 02.09.2022{, 11:31}

cfitymrf писал(а):
01.09.2022{, 22:36}
протестировал ваш последний проект , подключил компас и серву , отлично работает !!!!!
Осталось только добавить компенсаторный алгоритм при недоруливание.
Предположим отклонение от заданного курса небольшое. Соответственно и подруливание отклоняет серву на маленький угол. Но присутствует ветерок или сброшен только один контейнер и есть крен, которые не позволяют справиться с отклонением этим малым подруливанием. В результате идём не правильным курсом, а на приличном расстоянии это выливается в серьёзное непопадание.
Есть идеи как с этим справиться?
Даю подсказку. Надо внести дифференциальную составляющую в алгоритм. Как в ПИД регуляторе.
Думай. :)

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

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

#25

Сообщение cfitymrf » 02.09.2022{, 19:17}

мне кажется пока можно остановиться на подруливание , от сервы к рулю идет тяга при недоруливание можно будет изменить рычаг , все это надо будет проверять на воде , а это только в следуещем году . за зиму постараюсь собрать по частям весь проект . Один вопросик
последняя схема будет работать на ESP32 ? , как я понимаю нужно устанавливать другой блок сервы, пока тестирую на UNO, в дальнейшем что бы корректировать прошивку не вскрывая кораблик проект будет на ESP32.

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

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

#26

Сообщение Dryundel » 02.09.2022{, 19:37}

cfitymrf писал(а):
02.09.2022{, 19:17}
последняя схема будет работать на ESP32 ?
Будет. Должна. В штатном блоке вроде учтено.

Отправлено спустя 1 минуту 58 секунд:
Проверил. Да, будет.

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

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

#27

Сообщение cfitymrf » 03.09.2022{, 11:41}

ребята проверьте правильно или нет сделал блок , делал первый раз в жизни , вроде работает , нужны только градусы от компаса .
Вложения
22.txt
(1.81 КБ) 21 скачивание
CMPS12_(Code_-_Basic).ubi
(34.98 КБ) 39 скачиваний

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

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

#28

Сообщение Dryundel » 03.09.2022{, 12:01}

cfitymrf писал(а):
03.09.2022{, 11:41}
проверьте правильно или нет сделал блок
Технически почти правильно, по вычислениям не знаю.
Что исправить.
- Удалить строчку с delay(100) из секции loop()
- Задекларировать переменные unsigned char high_byte, low_byte, angle8; по отдельности.
При декларации в одну строку, FLProg глючит при сборке скетча.

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

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

#29

Сообщение cfitymrf » 04.09.2022{, 17:07}

подключил к ESP32 GPS , компас , в место сервы подключил дисплейчик который показывал мне куда поворачивать влево , центр , вправо . погулял со всем этим добром по улице , на сохраненную точку " рулит " отлично , погрешность прибытия на точку в среднем 1м что вполне очень хорошо . вылезли две небольшие проблемки я думаю в полне решаемые , первая это то что заказывал компас CMPS11 а прислали CMPS12 , у CMPS11 нету автокалибровки а CMPS12 как то при включение не правильно показывает курс , крутнеш влево вправо и показывает правильно, надо поискать где то читал что можно отключить калибровку. Вторая проблемка когда в ESP32 втыкаю питание хоть от ноута или от батареи то дисплей не работает пока не нажму сброс , в чем может быть проблема ?

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

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

#30

Сообщение Dryundel » 04.09.2022{, 17:24}

cfitymrf писал(а):
04.09.2022{, 17:07}
подключил дисплейчик который показывал мне куда поворачивать влево , центр , вправо . погулял со всем этим добром по улице , на сохраненную точку " рулит " отлично , погрешность прибытия на точку в среднем 1м что вполне очень хорошо
Это конечно хорошо. Но опять забываешь о внешних факторах - ветер, течение, крен.
В точку то прибыть не проблема, даже с учетом этих помех. Вот только движение в эту точку без компенсатора недоруливания будет по дуге, а не по прямой. Причем дуга эта будет не плавная а с уменьшающимся радиусом.
Как то такПоказать
2.jpg

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

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

#31

Сообщение cfitymrf » 04.09.2022{, 17:27}

подключил блок UART , думал может дисплей барахлит , данные не передаются пока не нажму сброс.

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

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

#32

Сообщение Dryundel » 04.09.2022{, 17:36}

cfitymrf писал(а):
04.09.2022{, 17:07}
CMPS12 как то при включение не правильно показывает курс , крутнеш влево вправо и показывает правильно, надо поискать где то читал что можно отключить калибровку.
Зачем? Не надо этого делать. Любой смартфон надо автокалибровать после выключения иначе компас тоже врет. Это же умная штука. Не зря же ее сделали на следующей модели. А что будет с CMPS11 еще вопрос. Может его надо вручную калибровать.

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

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

#33

Сообщение cfitymrf » 04.09.2022{, 17:48}

Dryundel писал(а):
04.09.2022{, 17:24}
Это конечно хорошо. Но опять забываешь о внешних факторах
как по мне так это мелочи , поставить по мощнее винтомоторную группу и половина дуги срежется но это уже для хорошего течения и ветра, я запускал кораблик в сильный ветер чуть не переворачивался но двигался в полне сносно, у него для ветра парусность маленькая но в ветер больше нет желания запускать. а высчитывать снос по GPS у которого погрешность +- 1м ну не знаю , дальность завоза 100м а то и меньше.

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

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

#34

Сообщение cfitymrf » 04.09.2022{, 17:53}

Dryundel писал(а):
04.09.2022{, 17:36}
Может его надо вручную калибровать
они оба калибруются , путем ка ких то записей в регистры , я хотел с вами об этом потом поговорить , хочу калибровку кнопкой с пульта.

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

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

#35

Сообщение Dryundel » 04.09.2022{, 17:59}

cfitymrf писал(а):
04.09.2022{, 17:48}
как по мне так это мелочи , поставить по мощнее винтомоторную группу и половина дуги срежется
:smile171: :smile171: :smile171:
Святая наивность. Все с точностью до наоборот. Чем мощней мотор и больше скорость, тем больше будет эта дуга.

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

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

#36

Сообщение cfitymrf » 04.09.2022{, 18:07}

Dryundel писал(а):
04.09.2022{, 17:59}
Чем мощней мотор и больше скорость, тем больше будет эта дуга.
может быть , по мне так больше скорость значит меньше сноса на метр пути.

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

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

#37

Сообщение Dryundel » 04.09.2022{, 18:08}

cfitymrf писал(а):
04.09.2022{, 17:48}
а высчитывать снос по GPS у которого погрешность +- 1м ну не знаю
А кто сказал что надо что то высчитывать вообще? :) Жизнь проще чем кажется.
Я же писал, что нужна дифференциальная поправка типа как в ПИД, она по времени.
Если грубо, то так:
Есть заданный курс. Машинка отработала в зависимости от отклонения от этого курса. Значит теоретически через 3 - 4 секунды желаемый и текущий курсы должны совпасть. А он не совпадает. Значит вносим поправку. К примеру +1 градус серво каждую секунду пока курсы не совпадут. Если совпали - сбрасываем поправку в 0.

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

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

#38

Сообщение cfitymrf » 04.09.2022{, 18:10}

и все же может кто ответит почему контроллер после подключения питания запускается после нажатия сброса.

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

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

#39

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

cfitymrf писал(а):
04.09.2022{, 18:07}
по мне так больше скорость значит меньше сноса на метр пути.
Суть не в сносе. Суть в невозможности из-за ветра лечь на требуемый курс. Нос катера всегда выше, его сносит ветром больше. Разворачивает. А если курс не правильный на какой мощности мы больше улетим в сторону?

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

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

#40

Сообщение cfitymrf » 04.09.2022{, 18:25}

Dryundel писал(а):
04.09.2022{, 18:08}
желаемый и текущий курсы должны совпасть
ну тогда наверное не курсы должны совпадать , как вы говорите если снесло в бок к примеру на 2м то будет плыть заданным курсом 2м в стороне.
а вот если от старта до точки проложить виртуальную прямую и через каждый метр на ней отложить контрольные точки .

Ответить

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