Перейти к содержимому

Фотография

Автопилот на Arduino, эхолоте, магнитометре, GPS


  • Закрытая тема Тема закрыта
Сообщений в теме: 61

#26 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 15:52

На галетнике 3 положения: автомат (по глубине с эхолотом), ручное управлением Ветерка, компас.Занимаюсь с GPS.

Переделал код парнишки из Канады

http://mozgochiny.ru...pilota-chast-2/

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


Сообщение отредактировал Bif: 04 апреля 2020 - 15:53

  • 0

#27 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 16:03

неудобно, я, лично,  смотреть не буду.

а где я уже про это читал....

Вы правы. Был я на одном форуме, где тусуются программисты. Не буду делать антирекламу, но форум не очень дружелюбный в отношениях к тем, кто новичок в программировании, а вопросы катеров и лодок, а заодно и рыбалки их вообще не интересуют.


  • 0

#28 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 16:23

Я много перелопатил форумов, всё искал автопилот, который можно бы сделать своими руками, но находил только некоторые обсуждения по механике и обрывки кодов. Поэтому я выложил то, что можно повторить или частично использовать. Коды рабочие

Надеялся, что здесь можно найти единомышленников в этих вопросах. Всё это сделано "на коленке" в гараже вечерами и в выходные за 2 месяца, кроме кода. С кодом я возился полгода. До весенней навигации 2019 гада основное было сделано. Много времени заняла доводка механики управления Ветерком, да и переделка его. Очень помог отладке скетч с третьим  переменным резистором. Он справа вверху пульта. Поворачивая его можно задавать параметры глубины вместо эхолота.


  • 1

#29 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 16:33

Работа не закончена и хотелось бы найти заинтересованных форумчан в самоделке записи GPS координат и хождению по ним на катере. Как я говорил, часть наработок по этому вопросу у меня есть.


P1000328.jpg


  • 0

#30 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 04 апреля 2020 - 16:47

В канале шириной 20 метров получится троллить по заданному маршруту?


  • 0

#31 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 17:12

В канале шириной 20 метров получится троллить по заданному маршруту?

Я рыбачу на Каме. Устанавливаю любой предел глубины, но это на троллинге в основном 6.0-7.5м. На пилоте устанавливаю 6.5  - 7.0, т.е. на пульте это будет 65 - 70. Есть один нюанс: трансъюдер надо устанавливать на носу, иначе рыскание будет довольно большим. И еще очень влияют люфты в оконечном каскаде. Я сначала редуктор сделал из механизма старой дрели и сильно пожалел - катер очень сильно рыскал. Короче, один раз съезнил на рыбалку, потом срочно переделывал на редуктор от новой дрели.


Сообщение отредактировал Bif: 04 апреля 2020 - 17:13

  • 0

#32 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 17:23

А в канале большие изменения глубины от берегов?  Если нет. то на автопилоте по компасу работает хорошо по заданному направлению


  • 0

#33 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 17:30

За основу  АП по компасу взял 

https://lihoy-lj.liv...al.com/831.html

переделав под себя и добавил стабилизацию по качке.


  • 0

#34 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 17:59

Можно, конечно, купить китайский АП на компасе за полтинник, но у меня вся эта конструкция в денежном выражении вылилась в покупку китайской одной Mtga 2560,  и одной Nano, 5883L магнитометра, акселерометра ADXL345, три китайских сервотестера, 

BTS7960  на 43А и серводвигатель не помню уж вроде 996м маленький  чтобы крутить редуктор через дворник от Нивы со старых времен, да ещё по мелочам светодиоды копеечные и,  еще, чуть не забыл - две китайские сервы заявленные, что крутят с усилием в 20 кг для газа и включения редуктора Ветерка. Ветерок можно не считать, т.к запасной к основному всё равно надо.

Свой труд не считаем - для души, ведь.


  • 1

#35 nvc

nvc

    Яхтенный капитан

  • Модератор форума
  • 7 550 сообщений
  • Из:Black Sea coast
  • Судно: Leisure17+Seal 36

Отправлено 04 апреля 2020 - 20:18

Вы коллега, сделали очень большую работу!
 

Надеялся, что здесь можно найти единомышленников в этих вопросах.

Ну... их есть у нас :)
даже есть тема специальная "Авторулевой своими руками"
Вот она:
https://forum.katera...-svoimi-rukami/

Просто поверьте, я вот тоже обычно не смотрю картинки на других ресурсах :\
Ну как... еси это просто фотка мало о чем говорящая, то тыкать кудысь то еще - тупо лень :)
А еще обычно на таких ресурсах туча рекламы вместе с картинкой.
Ну им за что то жить надо - тут я понимаю, но сам стараюсь не ходить.

Ну а единомышленники тут есть - это однозначно.
Но не все - это тоже однозначно :)
  • 0

#36 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 04 апреля 2020 - 20:46

Спасибо! По фоткам я тоже понял. А как сделать чтобы они не такие большие вклеивались, т.е. маленькие иконки при нажатии разворачивались. Извините, я еще не освоился на сайте.

P1010762.jpg


Сообщение отредактировал Bif: 04 апреля 2020 - 20:50

  • 1

#37 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 04 апреля 2020 - 22:41

А в канале большие изменения глубины от берегов?  Если нет. то на автопилоте по компасу работает хорошо по заданному направлению

Вопрос был про точность. Понять это можно только ориентируясь на береговые ориентиры (или подводные, или частично осушаемые валуны). Самый жесткий вариант - идти по фарватеру 20 метрового извилистого канала, условно одинакового профиля дна, т.е. 10 метров влево-вправо всегда есть. Если в таком режиме удается пройти несколько десятков километров полностью в автоматическом режиме по GPS, при сильном боковом ветре, то точность ведения соответствует точности дешёвого (не геодезического класса) модуля GPS, а остальные системы автопилота настроены практически идеально.


  • 0

#38 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 11:26

 

 

Если в таком режиме удается пройти несколько десятков километров полностью в автоматическом режиме по GPS, при сильном боковом ветре

 

 

Добрый день.

Навигацию по GPS я еще не реализовал. У АП на эхолоте другая задача –троллинг, ходить змейкой в заданном интервале глубин. А вот по компасу – более реально по заданному курсу. Я уже говорил выше, что за основу взял код с сайта ЖЖ. Автор был и на этом сайте. Я задал ему вопрос, но он не ответил. Если бы он выложил свой код, то это было бы очень здорово. У него реализовано с такими фишками, как корректировка курса по 1 и 10 градусов, а так же возврат на прежний курс:

 

https://forum.katera...t/#entry2357948


  • 0

#39 FStager

FStager

    Яхтенный капитан

  • Капитан
  • 1 777 сообщений
  • Из:Москва

Отправлено 05 апреля 2020 - 14:58

но он не ответил


Я Вам скажу честно и недружелюбно: Вы и большинство здесь присутствовавших с подобными проектами очень недооцениваете задачу и очень переоцениваете свои силы.

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


  • 1

#40 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 05 апреля 2020 - 15:31

Главное , чтобы автору нравилось, а иначе смысла в поделках никакого. Код можно доработать, если понимать какая математика лежит в его основе.


  • 2

#41 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 05 апреля 2020 - 15:48

.ходить змейкой в заданном интервале глубин. 

а вот это интересно. По какому принципу работает АП?

При уменьшении глубины идет команда на поворот руля. Чем меньше глубина тем на больший угол поворот?

Если лодка окажется на яме, то она не будет ходить по ней как биллиардный шар? Или она будет следовать по изобате?


  • 0

#42 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 19:16

Ну, я же писал, что при пересечении русла впадающей речушки, АП может "потеряться", в таком случае перехожу на АП по компасу. Он работает хорошо.

Сообщение 22

 

Но не надо думать, что это действительно автопилот, это скорее помощник рыбака в удержании глубины и курса.

Что касается 

 

Ваш код весьма наивен, в реальности он адекватно работать не будет

тем не менее, как ни странно - он работает! О чём я писал - это всё реализовано. И ещё, господа, чего Вы нападаете!

К использовании того что я здесь выложил ни кто ни кого не принуждает! И наконец: извините за грубость, дайте ссылочку на то что вы изобрели со всеми кодами и чтобы это могли повторить не только Гуру. Здесь присутствую недавно и не знаю о Ваших разработка и реализованных проектах.


  • 1

#43 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 05 апреля 2020 - 19:32

Тут каждый не своей волне.  :)

 

И всё таки своими словами можете пояснить принцип работы АП, использующего в качестве датчика эхолот. 

Может быть я тоже поставлю себе (я изначально делал автопилот тоже для троллинга, задача была идти по GPS-треку, огибая скрытые острова из водорослей на мелководье южного берега Ладоги).


Сообщение отредактировал Aleksk: 05 апреля 2020 - 19:33

  • 0

#44 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 19:34

 не похоже, что Вы понимаете суть проблем. .

 

А у меня проблем нет, я реализовал то, что мне было нужно. Может Вы имели ввиду ТАУ?


  • 1

#45 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 20:08

 

 

Тут каждый не своей волне.

Принцип прост:  задана глубина от берега R1 -6м, R2  справа -7м. При пересечении установленной R1 (ближе к берегу 6м) глубины выдаётся команда на поворот вправо, при возвращении и пересечении 6м рубежа короткий поворот руля налево для выравнивания по курсу, затем руль прямо. С уходом на глубину справа - те же действия, только в обратную сторону. Надо выполнить таймерную задержку после возврата на курс в этой части "короткий поворот руля налево".

В коде есть в комментариях. Ещё надо реализовать такой момент - движение вперед в секторе, ширину  которого тоже можно было бы регулировать, например отклонение от курса не более 30 гр.(ПИД). Раздел для компаса в коде тоже предусмотрен. В общем есть над чем работать. Диванные критики правы в одном- знания и опыта программирования у меня мало - один год, и то, занимался от случая к случаю.


  • 0

#46 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 20:16

 

 

я изначально делал автопилот тоже для троллинга, задача была идти по GPS-треку

Если есть какие-то наработки по коду, может поделитесь?


  • 0

#47 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 05 апреля 2020 - 20:35

Принцип прост:  задана глубина от берега R1 -6м, R2  справа -7м. При пересечении установленной R1 (ближе к берегу 6м) глубины выдаётся команда на поворот вправо, при возвращении и пересечении 6м рубежа короткий поворот руля налево для выравнивания по курсу, затем руль прямо. С уходом на глубину справа - те же действия, только в обратную сторону. Надо выполнить таймерную задержку после возврата на курс в этой части "короткий поворот руля налево".

 

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


  • 0

#48 Aleksk

Aleksk

    Яхтенный капитан

  • Капитан
  • 13 759 сообщений
  • Из:Ленинград
  • Судно:
  • Название: Неспешный

Отправлено 05 апреля 2020 - 20:53

Если есть какие-то наработки по коду, может поделитесь?

Вряд ли вам это поможет, т.к. автопилот не на Ардуине и код не на Си. Здесь исходники без описания (которого пока нет)  https://github.com/A...opilot_MMBasic/

В общих чертах:

1. Самое главное в любом коде - это алгоритм работы, формулы.

2. Посмотрите как работает ПИД-регулятор, ну или хотя бы простой пропорциональный регулятор (на нем уже можно ездить). Игра идёт на максимально-возможное уменьшение ошибки.(ошибки тоже могут быть разные, например ошибка отклонения от курса (градусы) и ошибка отклонения от геодезической дуги заданного трека (метры) )

3. Мой автопилот возвращается обратно на трек двигаясь перпендикулярно (в первом приближении) к  нему.

4. Точное перемещение по треку невозможно. Всегда будут отклонения или медленные колебания, но их можно уменьшить до нескольких метров (или меньше когда волны и ветра нет), настроив коэффициенты ПИД-регулятора (но и этого на самом деле мало, например при развороте на очередной точке на 150...180 градусов, желательно в нужный момент отключить а потом включить интегратор, предварительно его обнулив, иначе будет большая по диаметру петля разворота и потом затухающие колебания при выходе на трек).

5. Не знаю как делается правильно в промышленных автопилотах, но у меня при следовании по треку алгоритм ослика и морковки. Морковка от ослика всегда на расстоянии 60 метров. Т.е. в главном цикле каждый 1 раз в секунду вычисляется по формулам Боуринга точка трека на расстоянии 60 метров впереди лодки и азимут на неё. Одновременно для компенсации сноса от бокового ветра (течения) вычисляется кросс трак еррор XTE  расстояние отклонения от трека в  метрах (со знаком). XTE умножается на коэффициент 0.005 (подобран под мои условия) и входит в интегральную составляющую регулятора.


  • 1

#49 Bif

Bif

    Матрос

  • Основной экипаж
  • PipPip
  • 38 сообщений
  • Из:Пермь
  • Судно: Восток водомет

Отправлено 05 апреля 2020 - 21:05

На реке есть несколько любимых мест, где постоянно рыбачу и очень хорошо изучил дно. Кроме того, имею лоцию большого участка реки. Поэтому применение этой самоделки очень помогает, особенно когда в лодке один или даже вдвоём и одновременная поклёвка на спиннинги.


  • 0

#50 greey

greey

    Рулевой 2-го класса

  • Основной экипаж
  • PipPipPipPipPip
  • 278 сообщений
  • Из:Чебоксары
  • Судно: Водоизм-й глиссер :)
  • Название: Краб

Отправлено 06 апреля 2020 - 00:02

Мощности серв на поворот двигателя не хватит??

Почему не акутуатор??

На парусной яхте пользовался простейшим румпельным автопилотом с кнопками +1 +10  -1  -10 градусов.

После посторойки своей лодки, есть планы сделать на первое время простой курсоудержатель на ардуино. Ветерок уже куплен и переделан на электротягу. 


  • 0




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей