Справочници, схемотехника, теория > Програмиране на микроконтролери, програматори, цифрови проекти
GPS-автопилот - алгоритъм
EDM electronics:
Формулите как се изчислява дължината на земната дъга между две точки и ъгъла, който тя образува с меридиана - т.е. север или това е географския азимут, са налични по-напред в темата. Това е формулата на Хаверсин.
Ето тук е обяснена подробно формулата, има и скриптове на различни програмни езици, не и на С++, има и на Ексел с пример:
https://wiki.gis-lab.info/w/%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B7%D0%B8%D0%BC%D1%83%D1%82%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%B4%D0%B2%D1%83%D0%BC%D1%8F_%D1%82%D0%BE%D1%87%D0%BA%D0%B0%D0%BC%D0%B8_%D0%BD%D0%B0_%D1%81%D1%84%D0%B5%D1%80%D0%B5
И тук:
https://en.wikipedia.org/wiki/Haversine_formula
Така или иначе скриптовете могат да се преобразуват в ардуински език. Но има и библиотеки, които съдържат тая формула и генерират с отделни функции азимута и разстоянието между две точки и отпада труда, да се прави отделен алгоритъм.
VITAN:
Има ли тригонометрични формули, простото Ардуино ще се бави.
Трябва от тия, с яките процесори и още
проба-грешка, дали има смисъл на практика да се изчислява земна дъга или да се кара с прави линии - за къси разстояния.
Радико:
Нещата са много прости бащата на ардуиното дето са го слагали в компютрите правец със лекота може да намери пътя от произволно поле "А" до произволно поле"В" във, да речем една шахматна дъска. Алгоритъма е един и същ. Освен това има и друго. Изчисленията със 360 градусов кръг са възможно най неудобните. Геодезите използват в изчисленията си 400 гради. Те са по удобни защото са кратни на 100. Обаче за целите на настоящия проект би бил напълно задоволителен и резултата от използването на старинния моряшки стандарт основаващ се на 12 румба.
VITAN:
--- Цитат на: Радико в Февруари 16, 2020, 12:58:01 pm ---Нещата са много прости бащата на ардуиното дето са го слагали в компютрите правец със лекота може да намери пътя от произволно поле "А" до произволно поле"В" във, да речем една шахматна дъска.
--- Край на цитат ---
Това е обхождане на масив, не особено сложен алгоритъм, но едва ли е практичен в случая.
--- Цитат на: Радико в Февруари 16, 2020, 12:58:01 pm ---Геодезите използват в изчисленията си 400 гради. Те са по удобни защото са кратни на 100. Обаче за целите на настоящия проект би бил напълно задоволителен и резултата от използването на старинния моряшки стандарт основаващ се на 12 румба.
--- Край на цитат ---
Все тая му е на процесора, дали са 360 или 400. 12 вече мисля му е малко.
Това са метри язовир, не ъмнаасе морски мили от остров до остров.
Радико:
--- Цитат на: VITAN в Февруари 16, 2020, 02:57:45 pm ---Това е обхождане на масив, не особено сложен алгоритъм, но едва ли е практичен в случая.
--- Край на цитат ---
И кое точно му е непрактичното какво различно от този масив представлява една дигитална карта. особенно като се има в предвид, че става дума за лодка демек всичко е 2D а не 3D
--- Цитат на: VITAN в Февруари 16, 2020, 02:57:45 pm ---.Все тая му е на процесора, дали са 360 или 400. 12 вече мисля му е малко.
Това са метри язовир, не ъмнаасе морски мили от остров до остров.
--- Край на цитат ---
Малко ли са 12, браво досетлив си. Ако се беше досетил, че въобще не е проблем да се трансформират както в 12 така и в 36 така и в 67 или 113 единици каквото ти е удобно. Та ако се беше досетил и за това можеше да се каже че си гениален, е и досетлив не е зле.
Навигация
[0] Списък на темите
Премини на пълна версия