Автор Тема: GPS-автопилот - алгоритъм  (Прочетена 20273 пъти)

Неактивен juliang

  • Главен инквизитор
  • Много Напреднал
  • ***
  • Публикации: 3 144
Re: GPS-автопилот - алгоритъм
« Отговор #60 -: Февруари 16, 2020, 07:57:16 pm »
Ако ще се ползват географски координати от ГПС модул, май се оказва че ще ти трябва формулата на Хаверсин... щот един градус в посока север-юг е 60 мили ма 1 градус в посока изток-запад е по-малко (на нашите географски ширини)...
Не че не можеш да направиш една твърда корекция като предположиш че уреда ще се ползва само в нашите региони...

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #61 -: Февруари 16, 2020, 08:10:09 pm »
И кое точно му е непрактичното какво различно от този масив представлява една дигитална карта. особенно като се има в предвид, че става дума за лодка...
Езерото не е правоъгълник или квадрат.
Значи става въпрос за масив от масиви - усложнява се описанието съответно много и алгоритъма....

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #62 -: Февруари 16, 2020, 09:24:35 pm »
Всъщност, ако става въпрос за 1 единствено езеро, можем да приемем правоъгълна матрица със забранени зони - получаваме стандартен алгоритъм за обхождане на лабиринт.
Проблема идва от това, ако трябва динамически да го опреледеляме този "лабиринт".

Неактивен juliang

  • Главен инквизитор
  • Много Напреднал
  • ***
  • Публикации: 3 144
Re: GPS-автопилот - алгоритъм
« Отговор #63 -: Февруари 16, 2020, 09:57:25 pm »
Какъв лабиринт ви гони бе хора... имаш квадратчета и трябва да теглиш една или няколко линийки през тая мрежа.
Но реално не ви трябва мрежа, трябват ви само линийките.
Прблема за мен ще дойде от прекалено постния хардуер на Ардуиното. Дори и мега-та има 250 килобайта памет за програмата и само 8 килобайта памет за данни.

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #64 -: Февруари 16, 2020, 10:05:44 pm »
Но реално не ви трябва мрежа, трябват ви само линийките.
Само с линийки по моему ще е постно.

Прблема за мен ще дойде от прекалено постния хардуер на Ардуиното...
Тук да, постно е. Не по-малка задача за оптимизация, от основната.
Ако е решима.

Неактивен juliang

  • Главен инквизитор
  • Много Напреднал
  • ***
  • Публикации: 3 144
Re: GPS-автопилот - алгоритъм
« Отговор #65 -: Февруари 16, 2020, 10:22:02 pm »
Той ЕДМ-а иска да ползва стандартни библиотеки, дето имат освен нужните му функции още и един тон плява. Така че ще изпищи доста бързо... Ма нищо де, то човек така се учи :) А като види един синус колко ресурси гълта, съвсем ще се отчая.

Неактивен Радико

  • Много Напреднал
  • *****
  • Публикации: 5 663
  • Пол: Мъж
  • Преди сламката е гредата
    • http://martinov-radiko.blogspot.com/
  • Скайп: radiko1a
Re: GPS-автопилот - алгоритъм
« Отговор #66 -: Февруари 16, 2020, 11:08:51 pm »
Той ЕДМ-а иска да ползва стандартни библиотеки, дето имат освен нужните му функции още и един тон плява. Така че ще изпищи доста бързо... Ма нищо де, то човек така се учи :) А като види един синус колко ресурси гълта, съвсем ще се отчая.
Е за това разправях на Монтанар, че от компютърен програмист трудно става програмист на контролери. Ама той не вярваше.  Практиката обаче е показала, че е така. Просто тия хора са свикнали да се разпростират на много широко.

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #67 -: Февруари 16, 2020, 11:21:12 pm »
За протокола:
Програмирам на ниско ниво, програмирам и на високо.
Тригонометрична функция, ако я вземаш от масив с резултати, за да е точно - много памет!
Ако я смяташ - много процесорно време за Ардуино и немалко буфер.
А квадратен корен и пр. екстри?

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #68 -: Февруари 16, 2020, 11:26:34 pm »
Разбира се, ако гоним точност, а не някакво демо за уау!

Неактивен EDM electronics

  • Global Moderator
  • Много Напреднал
  • *****
  • Публикации: 2 469
Re: GPS-автопилот - алгоритъм
« Отговор #69 -: Февруари 17, 2020, 09:40:28 am »
Много песимистично, колеги, много песимистично?
Като ви слуша човек, направо да се откаже от кахър, колко ресурс дърпал един синус от Ардуино и една такава библиотека.
Не съм имал поставена задача в живота си, да не е била изпълнена, а тази е поставена много отдавна, просто си чакаше реда! Гема си ям, нерешена не я оставям! - ммммм...ммммъъъ ;)
На кой му пука, колко щяло да се натовари това Ардуино и какъв ресур щяло да глътне, за какво ми е ресурс в ресто, нека му използвам целия ресурс - да го ева...

Все още не съм правил опити с GPS-а, защото довършвам вчерашната работа, която не оставям за утре! - всичко по реда си.
Има стотици любителски разработки на автопилоти с Ардуино, видно не им е свършил ресурса. А ако се появи такъв проблем, първо има STM32, второ може да се добави още едно Ардуино или да се ползва дуе. Дуото е пре-пре-пре достатъчно не за един, а за няколко такива проекта в паралел.

Гледах в някакъв клип, че библиотеката TinyGPS++ заема около 70 % от паметта на Ардуино. Има обаче и други библиотеки с по-малко плавя, както казва juliang и да речем там процента ще е 35 %. От цялата тая плява на мен ще ми трябват само един параметър - азимут на отсечка. Другите параметри: разстояние, скорост, мога да добавя, като глезотия-гъзария в проекта, да изписва от време на време на монитора.   ;)
Имам да управлявам само един серво-рул за маршрутизатора. Той няма да ми отнеме повече от 10%, дори 5%. За котвата нещата ще са малко по-сложни и там ще ми трябва малко повече памет, но да речем примерно не повече от 30% от капацитета на Ардуино.
Нещата се правят последователно и накрая се сглобяват. Ще се види, ако не стига, ще пробвам на STM32, макар и да не съм работил с тоя контролер, защото първо е 3,3V логика, мисля само 4-5 пина имаше на 5V, после съм чувал, не работят с него всички ардуински библиотеки.

До 10-тина дни ще ви покажа нагледно, колко ресурс дърпа TinyGPS++ .

Иначе, ако някой иска да помогне, в предния ми пост съм дал линк с макроси на алгоритъма - формулата на Хаверсин, ако някой ги разбира, няма работа, чуди се какво да прави, човърка му се мозъка, може да преобразува формулата на ардуински език. В него няма функции аркосинус, аркокосинус, аркотангенс и аркокотангенс, то и аз не ги знаех тия понятия до оня ден, но мисля ,че е реципрочната стойност на функциите и могат лесно да се представят с деление на 1-ца.
Примерно:
tg= a/b става arqtg=1/tg

« Последна редакция: Февруари 17, 2020, 12:04:58 pm от EDM electronics »

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #70 -: Февруари 17, 2020, 10:07:18 am »
 8) Няма лошо, само практиката ще каже това да, това - не.
Аз обаче бих изпървом потърсил нещо миниатюрно неардуинско.
Имаше едни мини РС-та на една платка, май даже орязан ОС можеше да поеме.
Например това: https://itsfoss.com/linux-based-mini-pc/ ( 11 Mini PCs That Come With Linux Pre-installed )

И не мислиш за ограничения.... Програмираш и на високо ниво, вероятността за грешки в кода нямалява.  8)

Неактивен EDM electronics

  • Global Moderator
  • Много Напреднал
  • *****
  • Публикации: 2 469
Re: GPS-автопилот - алгоритъм
« Отговор #71 -: Февруари 17, 2020, 11:12:16 am »
VITAN, караш ме да ходя за врабчета не с прашка, а с балистична ракета "Сармат" с 16 бойни глави.
Не съм виждал някой, да ползва микрокомпютър вместо микроконтролер.
Това да вкараш цял декстоп компютър за толкова елементарно решение.....не е сериозно, не е оправдано от всички гледни точки.

Моля Ви, давайте смислени и адекватни постове, не просто да има чесане не езика.

Колегата dimitar с два съвсем кратки поста допринесе най-много за темата. Даде и алгоритъма на автопилота, и формулата на GPS-азимута. Кратко, точно, ясно.

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #72 -: Февруари 17, 2020, 12:23:18 pm »
Това е сериозен проект, който или го почвам като помощ или не.
И иска много време. Не случайно програмисти са отказали.
(Нямам толкова ресурс като едно време - тогава имаше с дни да се чудя какво да го правя, но тия ми години минаха....)

GPS в телефоните се появи, когато те станаха достатъчно мощни.
Едно ардуино е като https://en.wikipedia.org/wiki/Nokia_3310 Nokia 3310.
Вярно ще излезе по-слъпо, но със сигурност до вярното решение ще се стигне по-бързо! Нещата ще са доста по "plug and play".

А, ако тръгне всички и има свободен изчислителен ресурс, тогава се мисли за поевтиняване - съответно за някаква малка серия.
Не го намирам за чесане на клавиатура. Това е, другото е конкретика, за което нямам време, не че не ми е интересно. Само опресняването на математиката
{да не стигаме до Линейна Алгебра и Аналитична геометрия (сааакън!) ще ми отнеме седмица}.

Друго нямам, успех  8)

Неактивен VITAN

  • Сериозен
  • ****
  • Публикации: 1 132
  • Monkey see, monkey do...
    • Monkey see, monkey do...
Re: GPS-автопилот - алгоритъм
« Отговор #73 -: Февруари 17, 2020, 12:46:17 pm »
Извинявай, последно.
А защо не вземеш да програмираш тая пущина със смартфон?
Имаш OS, GPS, USB.... ресурс.
Смартфон на старо, нова батерия, писане на апликация за Андроид.
Вярно не е каквото искаш, но погледни и от този ъгъл.

With MIT App Inventor,
anyone can build apps with global impact

https://appinventor.mit.edu/

Неактивен EDM electronics

  • Global Moderator
  • Много Напреднал
  • *****
  • Публикации: 2 469
Re: GPS-автопилот - алгоритъм
« Отговор #74 -: Февруари 17, 2020, 01:46:15 pm »
Извинявай, последно.
А защо не вземеш да програмираш тая пущина със смартфон?
Имаш OS, GPS, USB.... ресурс.
Смартфон на старо, нова батерия, писане на апликация за Андроид.
Вярно не е каквото искаш, но погледни и от този ъгъл.

Ами основната причина за такова решение, което дори на СЪН не би ми дошло наум е, че смартфона няма множество входове и изходи, необходими за свързването на всички датчици и управление на  изходите. И защо да правя тези абсурдизми, като едно Ардуино би ми свършило работа?

Отделно ценността на Ардуино е, че има голям набор от библиотеки и скечове почти по всякаква любителска тема. Спестява се куп време. Това му е ценното на Ардуино. Без тези библиотеки задачата се усложнява значително много. Да го кажа на по-прост език:
Примерно ми трябва някаква програма за компютъра, има я в Интернет готова и безплатна, но аз да съм толкова твърдоглав, да искам да вървя по трънливия път, като патологичен мъченик, да не търся на хляба мекото и работата лекото, да седна сега да уча декстоп рограмиране, за да си направя моя програма, дето никак няма да работи по-добре от тая утвърдената - безплатната, щото ще е пълна с недостатъци, които ще искат отстраняване с времето - ето това ме караш да правя.

Друг пример:
Представи си, купиш си телевизор от Технополис и от него стърчат, като тестикули няколко стари GSM-а външно или с допълнителна издатина на кутията, като багажник на мотоциклет, че "по-практично" тях да ползват корейците и японците, вместо контролери. Представяш ли си какъв ташак ще е? Подобно нещо никъде не съм виждал, дори чувал!

Или представи си вместо контролер, както ти предлагаш, да се ползва компютър, който е с размер 100 пъти по-голяма от проектираното устройство и 1300 пъти от микроконтролера, но пък има нужда от 40 входа и 10 изхода. От де ще ги извадиш тия пинове от компютъра и кой ще го носи това желязо и с какво ще го захранва? Не ми се мисли и колко километра кабели ще стърчат!

Дано вече е станало ясно!

« Последна редакция: Февруари 17, 2020, 02:17:57 pm от EDM electronics »