Телеметрия (часть 1)

smalltim

Спасибо за помощь!

lio:

скорость - показания по жпс раза в 2 занижены относительно Ози (рядом кпк работал с жпс своим)
удаление от базы - непонятным образов прыгает - немогу систематизировать но точно правду не говорит

относительное смещение (то которое в верхней строчке ) похоче на правду

высота похожа на правду

с ув
Ростислав

Скорость - а в каких единицах Ози показывает? GPRMC выдает узлы, мне приходится умножать почти на 2, чтобы получить кмч. Больше никакой математики со скоростью не делаю.
Апдейт: я дебил, скорость в узлах на 1.852 умножил, в память сохранил, а вывожу - по-прежнему скорость в узлах 😃

высота похожа на правду - это хорошо 😃

Странно, что удаление от базы прыгает, в то время как перемещения по Х и по У похожи на правду. Для удаления от базы там считается только корень из суммы квадратов, и всё. Проверю.

Строка типа D00012 - это азимут текущей скорости в градусах. Вектор текущей скорости правильно показывает? Направление на базу правильно показывает?

ТО, что вектор на базу прыгает, когда база недалеко, это понятно, поскольку данные с ГПС приходят с шумом. Но 50 метров шума с определением - не ожидал. У Вас какой режим навигации (2D/3D) показывала телеметрия и сколько спутников было?
Хм, может, еще и HDOP/VDOP на экран выводить для полноты картины?

Сегодня попытаюсь убедить детеныша со мной в машине покататься, проведу “полетные испытания”.

lio

Ози показует в км/ч
с D0000 разабралсо - тож самое показует ози (Hdg)
данные 3D спутиков - 7-9
HDOP/VDOP можно дето так чтоб не сильно мешало
мож под индикатором захвата базы и режимом приема ?

вектор по карте показует боль мень правду (с учетом минимального порога (около 20-50 метров))
а вот с шумами … идея такая
покрайней мере так хочу сделать у ся в автопилоте
передавать при холодном старте (или по кнопке) строку иницилизации на модуль жпс
вырубать лишние строки и уменьшить промежуток передачи данных

с ув
Ростислав

smalltim

>а вот с шумами … идея такая
>покрайней мере так хочу сделать у ся в автопилоте
>передавать при холодном старте (или по кнопке) строку иницилизации на модуль жпс
>вырубать лишние строки и уменьшить промежуток передачи данных

Ну, от шумов, мне кажется, это не спасет. А вот передавать данные чаще - пожалуйста. Я думаю на старте телеметрии устроить перебор скоростей USART - 4800,9600, 19200 - и останавливаться на нужной, когда приходят корректные данные. Так можно будет больше всяких разных приемников подключать. С приемниками, передающими данные не 1 раз в секунду, а 4-5, проблем быть не должно, у меня на частоту приема NMEA строк ничего не завязано. Приходит новая строка - обрабатываем и обновляем карту.

У EM406А, похоже, еще один прикольный штрих обнаружился. Он, похоже, внутри как-то фильтрует данные. Когда я утаскивал приемник подальше от балкона, шумы позиции увеличивались, но позиция не скакала вокруг базы, а этак плавно ползала, и при возвращении приемника на балкон, плавно, за 3-4 секунды, приползала к базе.

smalltim

Обновил прошивку с поддержкой GPS:

  • пофикшено отбражение скорости, раньше показывалась скорость в узлах, теперь км/ч.
  • пофикшен парсинг широты, раньше смещение по оси север-юг считалось криво, именно из-за этого расстояние от базы было показано сильно больше чем есть на самом деле
  • скорость по GPS и удаление от базы по GPS поменяны местами на экране
  • полностью переписан парсинг NMEA

Думаю, что можно рекомендовать EM406A TTL (именно А в конце, он 5-вольтовый!) к покупке. Хороший приемничек, замечательно работает с моим вариантом телеметрии.
“Балконное” видео : vimeo.com/1215809

lio

походный тест
(маршрут порядка 100-150 метров)

скорость - похожа на правду
высота - тоже

удаление от базы - 3-5 метров дальше нету (застыло)
карта - правда

буду ехать на работу - проведу “полевые” испытания

с ув
Ростислав

lio

полевые провел
результат
спутников 7-5
режим 3D

скорость - отлично
высота - непонятно у меня был перепад со 101 до 89 - непоказало всевремя 0
карта - непрально все гуляет
дальность тож неправда уехал от старта(по прямой) на 400 метров - показует 44
уехал на 800 - 44

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

с ув
Ростислав

smalltim

Огромное спасибо за помощь!

>и по координатам последним (если отрубился борт) или текущим

Да, надо выводить, надо только найти хорошее место. Проблема в том, что при переключении в крупный шрифт места на экране остается не так уж много. Буду подумать 😃

>высота - непонятно у меня был перепад со 101 до 89 - непоказало всевремя 0

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

>карта - непрально все гуляет
>дальность тож неправда уехал от старта(по прямой) на 400 метров - показует 44
>уехал на 800 - 44

Ну, из-за каких-то косяков в расчете дальности кривится и позиция базы и дальность. Бум лечить, пациент всё живее и живее.
Скажите, пожалуйста, какой у Вас GPS модуль? Есть небольшая вероятность того, что он нетрадиционное число знаков после точки выдает в широте и долготе, отсюда и глюки.

lio
smalltim:

Огромное спасибо за помощь!

да мне то за что 😃

на экране остается не так уж много. Буду подумать 😃
вот тут предложение выводить тока при мелком шрифте

>высота - непонятно у меня был перепад со 101 до 89 - непоказало всевремя 0

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

тут тож вариант такой
а если летаем на горе , старт с горы и уходим в подножье - таки приятно наверно будет видеть высоту хоть и в - 😃)

модуль у меня em-411 + Max232 для связки с мегой (в результате тоже что и Ваш 406 😃) )

smalltim

>да мне то за что 😃

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

>таки приятно наверно будет видеть высоту хоть и в - 😃)

Да нивапрос, лишних 5 строчек кода, сделаем 😃

>вот тут предложение выводить тока при мелком шрифте

Да, так будет проще всего. Наверху есть место между указателем качества приема и таймером. Пойдет?

lio

>Да мне реально стыдно - что это за горе-разработчик, который не может найти возможность самостоятельно проверить >свою разработку 😦

не стоит нагавариветь ! не у каждого есть усидчивость копаццо в коде !
респектище !

> Наверху есть место между указателем качества приема и таймером. Пойдет?
очень гуд !

кстати если сильно мусорю в топик - могу перейти в личку с результатами и предложениями 😃

ReGet

Полетал с мелким шрифтом - кажется его более чем достаточно, не вижу смысла включать большой.
А после добавления GPS данных на экране остается все меньше места для самого изображения, посему предлагаю свое рационализаторское предложение 😃 Не представляю насколько его реализация трудоемка, оцените сами:
Сделать несколько вариантов отображения различной информации на экране, а при прошивке пользователь сам решит какие варианты ему нужны и в определенные участки eeprom поставит единичку. Затем выбранные экраны будут доступны при циклической прокрутке с помощью ppm-сигнала с применика (как это происходит сейчас)

Dikoy
lio:

спутников 7-5

А это в городе? В смысле, на улице между домами или небо хорошо видно?

Сколько каналов у GPS приёмника?

Нашёл - 20 каналов.
Тогда это очень мало… У меня блоха с торпедо меньше 10 не видит. В городе…
Попробуйте под приёмником постелить лист фольги не менее 55 мм.кв., соединённый с общим проводом. Что получится?

Хотя… От антенны растояние большое… 😦

lio

5-7 ето кода как
обычно еду 7-9 вижу
как на кпк (асус 636) так и на модуле ЕМ-411
(все стоит в авто под лобовым стеклом)
на природе поидее должно быть больше

ReGet
lio:

5-7 ето кода как
обычно еду 7-9 вижу
как на кпк (асус 636) так и на модуле ЕМ-411
(все стоит в авто под лобовым стеклом)

аналогично. Навигатор видит 9 в лучшем случае. В городе между домами 3-5 и все прекрасно работает. Зачем нужно видеть 10 и больше - ума не приложу

smalltim

Прокатился с платой телеметрии в машинке. Скорость, высоту и курс показывает отлично, направление на базу и расстояние до базы - пока косячит.
vimeo.com/1228052
Камера, оказывается, неплохо ночью работает 😃
В середине ролика, перед и после поворота налево за дом, приемник теряет все спутники, и информация на секунду-две на экране не обновляется - приемник в соответствующих этому времени строках говорит, что инфа неактуальна, и поэтому я просто отбрасываю эти данные.
А вот показатель “3D/2D/na” не успевает перейти в “na”.
Приемник при потере спутников сразу говорит, что отсылаемая инфа неактуальна, но еще секунду или две тормозит перед тем, как сказать, что фикс не 3Д и не 2Д, а вообще недоступен.
Судя по картинке, информация о курсе и скорости тоже запаздывает на секунду-две. Это стандартная фича приемника, я же при получении строки с валидными данными сразу пересчитываю всё что надо.

Artie
smalltim:

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

Я у себя на время недоступности/невалидности информации просто гашу значки пеленгов на картинке “компаса” и забиваю крестиками (у меня такой паттерн на символ с кодом 0) все вычисляющиеся оттуда значения. - Изначально это было багом, а потом “… и увидел он, что это хорошо” 😉

Судя по картинке, информация о курсе и скорости тоже запаздывает на секунду-две. Это стандартная фича приемника, я же при получении строки с валидными данными сразу пересчитываю всё что надо.

Разумеется, запаздывает. Он же считает и курс и скорость из перемещения, так что секунда для одногерцового приемник - совершенно штатная задержка. Потому, собственно, и ставят приемники с частотой обновления в 4-5Гц.

PS: У меня задержка еще больше, поскольку добавляется время на передачу из одного кристалла в другой, плюс принципиальная асинхронность процессов поступления данных и обновления картинки. Но я пока склонен считать это больше косметическим недостатком, нежели функциональным, поскольку всерьез это запаздывание заметно только на резких поворотах… - Некрасиво, но летать не мешает.

smalltim

Новый код с вылеченным расчетом позиции базы, с поддержкой отрицательной высоты и выводом широты-долготы наверх экрана (lio, по Вашему запросу! 😃 ) готов, но дебаговая информация с экрана еще не убрана.
Наши продули испанцам - руки опустились. Завтра вычищу код от ненужных вещей и выложу прошивку на о(б)суждение.

lio

о! супер !
ждемс 😃
а мне тут попалась причудненькая железка с 128 мегой , занимаюсь пока реинженерингом 😁

Dikoy
ReGet:

аналогично. Навигатор видит 9 в лучшем случае. В городе между домами 3-5 и все прекрасно работает. Зачем нужно видеть 10 и больше - ума не приложу

Точность выше раз. Вероятность потери предельного количества спутников меньше два. Определение стабильней три.

В общем, чем больше спутников приёмник видит, тем более до фонаря ему окружающая обстановка 😃

Dikoy

Всем.
Нашёл интересный дальномер: www.prowave.com.tw/english/products/…/srm400.htm
В доке есть схема, а модуль (или микросхемку) можно купить через фарнел export.farnell.com/jsp/home/exportHome.jsp?_reques…
Так вот он измеряет расстояния от 10 до 0,5 метра или 25 – 150 cm. Для посадки может быть полезно.
Попробую купить и поиграться 😃