Arduino для BAIT BOAT...

Probelzaelo
appolinari:

Из за ошибок, при работе с “float”, вы получаете координату, которая отстоит от реальной точки на довольно значительное расстояние.

Может Datum следует сменить? как вариант при различных датумах обещана погрешность вычисления точки от 0 до 165 метров. Но это еще не все, не очень понимаю смысла забивать и без того скудную память контроллера библиотекой которая не устраивает. Получайте данные от GPS модуля напрямую, координаты определенные модулем приходят открытым текстом, все остальное если оно вам не нужно можете игнорировать, а можете использовать, по усмотрению.

V_Alex
Панкратов_Сергей:

Сколько же в вас желчи.

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

Панкратов_Сергей
V_Alex:

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

Ключевое слово- “решение”. Решал или знаешь решение.

V_Alex

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

Probelzaelo
V_Alex:

Похоже, что как в случае с обработкой сервоимпульса, так и с обработкой GPS-координат, ребята предлагают процесс вместо результата

Иногда результат не интереснее процесса.

V_Alex:

Нужно просто принять за правило:

“Сайт RC Design создан для общения людей, увлеченных моделизмом.” (С)Общая информация
Во всяком случае, уверен, так считает большинство присутствующих здесь.

V_Alex:

советовать только по тем вопросам, с решением которых сталкивался лично.

Господа, вам не кажется что если обсуждать только решения и вопросы с которыми уже кто то сталкивался. То все вопросы можно свести к энциклопедии.
А все с которыми еще не сталкивались это уже вообще не тема для обсуждения, пока РАН не его опубликует?
Давайте, уже огласим весь список знаний и отдельный список Табу, назначим главного по каждому вопросу и будем задавать вопросы напрямую, вернее писать заявку на получение ответа, раздадим квоты на выдачу рекомендаций, общаться будем через МФЦ, короче вообще прекратим тут появляться. Останутся два гордых кладовщика-сенсея.
В таком режиме рискуем превратиться в клуб любителей “Моделист конструктор” за какие то достаточно прошлые годы.
Может в конце концов принять за правило другое - делиться имеющимся решением, а не сыпать мусор на параллельные пути?

Стыдно, господа! Стыдно, делать столь умные фигуры пальцами, но при этом держать руки в карманах, чтоб ни дай бог кто то не увидел.

appolinari
Probelzaelo:

Получайте данные от GPS модуля напрямую

Получить данные не проблема. Проблема в том, что при обработке их в среде ардуино, я получаю точку на карте, которая постоянно перемещается. Мало того, что сам gps модуль выдаёт координаты с погрешностью, так к ним к тому же прибавляются ошибки от ардуино… Попробуйте забить в гугль, или в яндекс картах координату с точностью в пять знаков после запятой. Если достаточно завозить снасти в сектор радиусом в несколько метров, то ардуино вполне подходит. Тестил это на 4рех разных модулях.
Если кто то имеет решение данной проблемы, опишите;)

Панкратов_Сергей
appolinari:

Проблема в том, что при обработке их в среде ардуино,

Наверно уже в сотый раз:
Ардуина тут не причем. Это проблема человека, взявшего какую то стороннюю библиотеку - и пишущего теперь о том что в среде ардуино не решить задачу.
“Ардуино” не равно “сторонняя библиотека”. Ардуино прекрасно обходится без сторонней библиотеки.
Сложного то тут ничего нет-
Принимаете строку с GPS, парсите ее представляя координаты целым числом, работаете далее с этими числами.
Дискретность представления при оперировании 4-х байтным числом будет менее 1 см.
40 000 км/ (256*256*256*256) = 0.009 метра
Пропарсили, получили координаты в пупугаях. Можно вычислить разницу в пупугаях меж широтами и долготой настоящего положения и положения заданной точки. То есть с большими цифрами работаем как с целыми .
Коэффициенты соответствия разниц этих попугаев истинному расстоянию нам известны. Тут уже можно считать с запятыми, на точность уже влияния не окажет.
Легко находим курсы, расстояния.
Все это сделать- ардуина не мешает.

V_Alex
Probelzaelo:

Давайте, уже огласим весь список знаний и отдельный список Табу, назначим главного по каждому вопросу и будем задавать вопросы напрямую, вернее писать заявку на получение ответа, раздадим квоты на выдачу рекомендаций…

Э-э-э, я какбэ не пытаюсь как-то ограничить Вас в общении. Просто в рамках того-же общения я изложил свою точку зрения на формирование срачей на пустом месте в технической теме 😃
Кто-то разбирается в одних вопросах и не разбирается в других. Обсуждая с Вами обработку сервоимпульса, я исхожу из того, что владею данной темой в достаточном объеме безотносительно к библиотекам Ардуино.
При обсуждении вопросов по GPS я спокойно отхожу в сторонку и читаю то, что пишут другие. Тут моих знаний недостаточно даже для того, чтобы оценить компетентность собеседника. Если я чего-то не знаю, я совершенно спокойно об этом пишу или говорю. Если вижу, что кто-то разбирается в вопросе лучше меня - спрашиваю. Чего и другим желаю 😃

Панкратов_Сергей:

40 000 км/ (256*256*256*256) = 0.009 метра

Я правильно понимаю, что нужно дробные километры перевести в целые сантиметры или миллиметры, перевести в двоичный вид, получить целочисленное четырехбайтное значение, а потом с ним можно делать, что угодно?

Probelzaelo
appolinari:

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

Не думаю что открою тайну, но точка на карте перемещается не только при обработке Ардуиной. Я вообще ни одного устройства не знаю на котором бы эта самая точка не “прыгала”, таковы особенности любого измерения. Всякого рода программы и навигаторы если показывают положение в виде стабильной точки, то они сами усредняют место положения своей математикой.

V_Alex:

Э-э-э, я какбэ не пытаюсь как-то ограничить Вас в общении.

Не сомневаюсь, просто так уж прозвучало несколько постов подряд…
Реально нет желания не только участвовать но и присутствовать при подобных видах “обсуждений” см. посты #456 - #469.
Из 15 постов кроме какого то глумления есть что то по вопросу?
“Читайте по губам - нОУ”(С)

Панкратов_Сергей
V_Alex:

Я правильно понимаю, что нужно дробные километры перевести в целые сантиметры или миллиметры, перевести в двоичный вид, получить целочисленное четырехбайтное значение, а потом с ним можно делать, что угодно?

Не совсем.
Сначала в попугаи ( 4-х байтное целое число), затем их разница, в 4-х байтном целом представлении…
А уже затем исходя из “веса” попугаев долготы и широты - получаем расстояния и углы-направления, тут можно делать даже парой байт, с запятой
Отъехать нужно, если нужно- подробнее потом.

appolinari
Панкратов_Сергей:

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

Я писал о том что среда ардуино не верно работает с типом “float”. То как вы это поняли - ваше личное дело.
А про вычисления в поругаях - интересно. Буду ждать подробностей.

yus12
Панкратов_Сергей:

Наверно уже в сотый раз:

Принимаете строку с GPS, парсите ее представляя координаты целым числом, работаете далее с этими числами.
Дискретность представления при оперировании 4-х байтным числом будет менее 1 см.
Все это сделать- ардуина не мешает.

Для большинства чипов точность до 2 метров. Если брать ублоксы с префиксом P точность будет до 2 сантиметров.

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

Probelzaelo
yus12:

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

При этом каждый новый замер прибавляем к буферу(очереди), а самый старый ставший 11 отнимаем, и так по кругу, по принципу fifo , чтобы реально усреднить выборку и не привязываться к каждой отдельной десятке. Еще очень не лишним будет вообще выкидывать из учета самые крайние значения замеров экстремумы, самые минимумы и самые максимумы - выбросы, тк в них практически гарантировано лишь дополнительная погрешность.

yus12
Probelzaelo:

При этом каждый новый замер прибавляем к буферу(очереди), а самый старый ставший 11 отнимаем, и так по кругу, по принципу fifo , чтобы реально усреднить выборку и не привязываться к каждой отдельной десятке. Еще очень не лишним будет вообще выкидывать из учета самые крайние значения замеров экстремумы, самые минимумы и самые максимумы - выбросы, тк в них практически гарантировано лишь дополнительная погрешность.

я думаю просто записывать мочив получая индекс остатком от деления, крайние значения откидывает сам чип GPS. Интересует так же как долго человек делал замеры. По своему опыту скажу, что данные от чипа идут стабильные примерно через 10 минут после старта. Сначала он ловит какие-то непонятные спутники на окраинах, а примерно через десять минут ловит спутники над головой. Это хорошо видно, если подключить чип к компьютеру.

Еще обратил бы внимание на то, что большенство библиотек отрабатывает именно gps координаты. Ублоксы 8 поколения хорошо выдают gps+Глонасс, а он имеет другие префиксы в начале строки координат.

Для того, чтобы серийный порт не особо тормозил плату (в большинстве примеров в цикле ожидается значение от серийного порта). Если увеличить скорость с 9600 до 115200 думаю скорость обработки так же будет существенно выше. Я лично сейчас перешел на stm32, там отлично помогает DMA и настройка всевозможных прирываний.

Панкратов_Сергей
appolinari:

Я писал о том что среда ардуино не верно работает с типом “float”.

Разве?

appolinari:

Я пытался использовать ардуинку для подобного проекта, но ни чего хорошего из этого не вышло. Ардуино не сильно любит числа с плавающей точкой и, из за этого страдает точность позиционирования…

yus12:

Для большинства чипов точность до 2 метров. Если брать ублоксы с префиксом P точность будет до 2 сантиметров.

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

Мы ж не точность GPS рассматривали.

yus12:

Для того, чтобы серийный порт не особо тормозил плату (в большинстве примеров в цикле ожидается значение от серийного порта). Если увеличить скорость с 9600 до 115200 думаю скорость обработки так же будет существенно выше. Я лично сейчас перешел на stm32, там отлично помогает DMA и настройка всевозможных прирываний.

На лодке с избытком достаточно атмеги.
У людей Атмега успевает обрабатывать гироскоп, акселерометр, GPS и в реальном времени отрисовывать видео телеметрии.

yus12
Панкратов_Сергей:

Мы ж не точность GPS рассматривали.

Вы писали про 2 см, а я пишу о том, что и они не играют роли за исключением некоторых чипов.

Панкратов_Сергей
yus12:

Вы писали про 2 см,

Когда?
Вы когда на кого то ссылаетесь- постарайтесь понять о чем там речь идет…

alex195822

Сколько читаю, не могу въехать - стандартный Ардупилот с роверовской прошивкой чем не угодил? По точкам плавает, домой возвращается, всю мыслемую телеметрию передает.

appolinari

Вернитесь к истокам… Человек спросил про возможность получать данные с GPS на ардуино и передавать их на другую, подобную платку… Отсюда весь сыр - бор… Про ардупилот вопроса не было. Видимо есть какие либо причины того. Возможно это было бы лучше, чем пытаться освоить что то другое. Я, видимо по глупости ответил, что у меня (к стати не у меня одного) не сложилось с не целочисленными переменными… Потом появился высший разум и предложил считать попугаями. Обещал, что позже объяснит подробнее. Ждём.