Справочници, схемотехника, теория > Програмиране на микроконтролери, програматори, цифрови проекти
GPS-автопилот - алгоритъм
juliang:
Той ЕДМ-а иска да ползва стандартни библиотеки, дето имат освен нужните му функции още и един тон плява. Така че ще изпищи доста бързо... Ма нищо де, то човек така се учи :) А като види един синус колко ресурси гълта, съвсем ще се отчая.
Радико:
--- Цитат на: juliang в Февруари 16, 2020, 10:22:02 pm ---Той ЕДМ-а иска да ползва стандартни библиотеки, дето имат освен нужните му функции още и един тон плява. Така че ще изпищи доста бързо... Ма нищо де, то човек така се учи :) А като види един синус колко ресурси гълта, съвсем ще се отчая.
--- Край на цитат ---
Е за това разправях на Монтанар, че от компютърен програмист трудно става програмист на контролери. Ама той не вярваше. Практиката обаче е показала, че е така. Просто тия хора са свикнали да се разпростират на много широко.
VITAN:
За протокола:
Програмирам на ниско ниво, програмирам и на високо.
Тригонометрична функция, ако я вземаш от масив с резултати, за да е точно - много памет!
Ако я смяташ - много процесорно време за Ардуино и немалко буфер.
А квадратен корен и пр. екстри?
VITAN:
Разбира се, ако гоним точност, а не някакво демо за уау!
EDM electronics:
Много песимистично, колеги, много песимистично?
Като ви слуша човек, направо да се откаже от кахър, колко ресурс дърпал един синус от Ардуино и една такава библиотека.
Не съм имал поставена задача в живота си, да не е била изпълнена, а тази е поставена много отдавна, просто си чакаше реда! Гема си ям, нерешена не я оставям! - ммммм...ммммъъъ ;)
На кой му пука, колко щяло да се натовари това Ардуино и какъв ресур щяло да глътне, за какво ми е ресурс в ресто, нека му използвам целия ресурс - да го ева...
Все още не съм правил опити с GPS-а, защото довършвам вчерашната работа, която не оставям за утре! - всичко по реда си.
Има стотици любителски разработки на автопилоти с Ардуино, видно не им е свършил ресурса. А ако се появи такъв проблем, първо има STM32, второ може да се добави още едно Ардуино или да се ползва дуе. Дуото е пре-пре-пре достатъчно не за един, а за няколко такива проекта в паралел.
Гледах в някакъв клип, че библиотеката TinyGPS++ заема около 70 % от паметта на Ардуино. Има обаче и други библиотеки с по-малко плавя, както казва juliang и да речем там процента ще е 35 %. От цялата тая плява на мен ще ми трябват само един параметър - азимут на отсечка. Другите параметри: разстояние, скорост, мога да добавя, като глезотия-гъзария в проекта, да изписва от време на време на монитора. ;)
Имам да управлявам само един серво-рул за маршрутизатора. Той няма да ми отнеме повече от 10%, дори 5%. За котвата нещата ще са малко по-сложни и там ще ми трябва малко повече памет, но да речем примерно не повече от 30% от капацитета на Ардуино.
Нещата се правят последователно и накрая се сглобяват. Ще се види, ако не стига, ще пробвам на STM32, макар и да не съм работил с тоя контролер, защото първо е 3,3V логика, мисля само 4-5 пина имаше на 5V, после съм чувал, не работят с него всички ардуински библиотеки.
До 10-тина дни ще ви покажа нагледно, колко ресурс дърпа TinyGPS++ .
Иначе, ако някой иска да помогне, в предния ми пост съм дал линк с макроси на алгоритъма - формулата на Хаверсин, ако някой ги разбира, няма работа, чуди се какво да прави, човърка му се мозъка, може да преобразува формулата на ардуински език. В него няма функции аркосинус, аркокосинус, аркотангенс и аркокотангенс, то и аз не ги знаех тия понятия до оня ден, но мисля ,че е реципрочната стойност на функциите и могат лесно да се представят с деление на 1-ца.
Примерно:
tg= a/b става arqtg=1/tg
Навигация
[0] Списък на темите
Премини на пълна версия