micro / minimOSD для NAZA

andry=

Подскажите плиз: Хоум Альтитуд стоя на земле показывает -9м, как с этим бороться?

saigo

С “этим” не надо бороться, а только прикидывать в уме (GPS плохой помощник по вертикали).

тимохфей

Так показывает, когда долго спутники ловит. Когда нашел все спутники (8-9) еще раз переподключись. Должно точнее показать.

andry=
тимохфей:

Так показывает, когда долго спутники ловит. Когда нашел все спутники (8-9) еще раз переподключись. Должно точнее показать.

Как вариант: нажать ресет на плате ОСД?

alezz
тимохфей:

ОСД спутники не ловит. Перегружать назу надо

перегружать надо ОСД. Проблема в том что ОСД фиксирует высоту в момент когда найдено еще мало спутников (а точнее 5 штук или больше). Если перегрузить ОСД в тот момент когда GPS блок назы видит 8-9 спутников то по идее измерение высоты будет точнее. Хотя, как правильно заметили, по вертикали у GPS погрешность большая (метры) поэтому ориентироваться на него в любом случае сложно

тимохфей

Если у ОСД своя GPS антенна, то да. А если назовская (а лучше в любом случае) то перегружать надо и ОСД и назу. Так как не очень хорошо если в мозгах назы будет -9м (а в какой-то момент и +9м), а ОСД будет показывать 0м. Так и разбить не долго, особенно в go home

alezz

у minnazaosd своей антенны нет, поэтому нужно перегружать только ОСД и в тот момент когда назовская “антенна” видит как можно больше спутников 8 и более. Если перегрузить и назу, то она естественно начнет ловить спутники с нуля и снова ОСД зафиксирует домашнюю высоту в момент как только будет зафиксировано 5 спутников (так в коде minnazaosd прописано) естественно с погрешностью

Vlad-1357

Ну вроде не совсем с нуля. В ЖПС приёмнике есть своя батарейка и данные запоминаются, а при повторном включении обновляются. При передёргивании назы получается горячий старт и спутники находятся в течении минуты, а при холодном старте у меня как-то пять минут искал.

andry=

А если назовская (а лучше в любом случае) то перегружать надо и ОСД и назу. Так как не очень хорошо если в мозгах назы будет -9м (а в какой-то момент и +9м), а ОСД будет показывать 0м. Так и разбить не долго, особенно в go home

Проверил на практике.
Достаточно ресетнуть ОСД, он после перезагрузки подхватывает свежую привязку от ГПС.
“Грибок” сам координат не помнит, он просто гонит по кабелю данные.
Назу перегружать не надо. Я всегда перед взлетом 3 раза щелкаю “хоу млок”, наблюдаю зеленое моргание на БЕКе. координаты заново запоминаются. (кстати, хорошая практика от “улета в Китай”)

Ну вроде не совсем с нуля. В ЖПС приёмнике есть своя батарейка и данные запоминаются, а при повторном включении обновляются. При передёргивании назы получается горячий старт и спутники находятся в течении минуты, а при холодном старте у меня как-то пять минут искал.

Лишний раз дергать силовые провода не очень хорошо.
Бросок тока на заряд кондеров, инициализация подвеса (у кого есть), контроллера, Мебиус у меня 30 сек засыпает после отключения…

andry=

Здесь мелькнуло сообщение о тестировании прошивки с использованием GPS+компас для правильного отображения стрелки направления на “базу”.
Нет новостей?

sanyok_amd
andry=:

Здесь мелькнуло сообщение о тестировании прошивки с использованием GPS+компас для правильного отображения стрелки направления на “базу”.
Нет новостей?

Разве направление домой раньше неправильно отображалось? У меня не было проблем с этим.

alezz

речь идет о том чтобы не по GPS определять направление, а по магнитному компасу. GPS не может определить направление если например завистнуть в точке и покрутится, попробуй, а магнитный компас может. Но если по существу, никаких подвижек в этом направление вроде не было 😦

andry=

Разве направление домой раньше неправильно отображалось? У меня не было проблем с этим.

Только в движении.
И лететь только вперед (как самолет). Попробуйте боком или задом, стрелка поворачивает. 😦

wcorp
alezz:

перегружать надо ОСД. Проблема в том что ОСД фиксирует высоту в момент когда найдено еще мало спутников (а точнее 5 штук или больше). Если перегрузить ОСД в тот момент когда GPS блок назы видит 8-9 спутников то по идее измерение высоты будет точнее.

ОСД - никогда ничего сам не ловит и не фиксирует. Это система отображения информации , полученной от внешних источников в данном случае - от контролера, от GPS, датчиков тока и напряжения. Как в любом из датчиков что либо меняется- ОСД Вам это покажет. Высота “врет” и на АПМ в частности.
барометр- хреновый (извините), но ОСД- ни при чём

andry=

ОСД - никогда ничего сам не ловит и не фиксирует.

Неправда Ваша. Как раз минимумОСД фиксирует начальные координаты, расчитывает дальности, скорости, вектора домой сам.
С GPS берет непрерывный поток. Наза вообще не участвует в его координатах, можно подать 5В, зацепить минимумОСД к Грибку и работает без назы.

Для эксперимента: включаем коптер,Наза находит точку зеленым помаргиванием, ОСД рисует 0м до дома.
Относим на 20м коптер, жмем ресет на ОСД, он перезагрузится и покажет 0м. У назы дом остался в 20м.

alezz
wcorp:

ОСД - никогда ничего сам не ловит и не фиксирует.

вот кусок кода minnazaosd (osd_func.h), где ОСДшка фиксирует точку дом:


    // criteria for a stable home position:
    //  - GPS fix
    //  - with at least 5 satellites
    //  - osd_alt stable for 50 * 100ms = 5s
    //  - osd_alt stable means the delta is lower 0.5m
    if (osd_fix_type > 1 && osd_satellites_visible >= 5 && osd_alt_cnt < 50) {

здесь можно попытаться увеличить точность, например так osd_satellites_visible >= 6 в этом случае дом ОСД будет фиксироваться почти одновременно с самой назой, которой для фиксации дома нужно 6 спутников или больше

wcorp
alezz:

вот кусок кода minnazaosd (osd_func.h), где ОСДшка фиксирует точку дом:

ИИИИ? Тихо хихикает- что де одна она знает где? А коптер пусть летит куда хочет?
Это она не фиксирует, это она выводит на экран. Данные с GPS, а для того чтобы не кинуть юзера, нужно понимать - 4 спутника минималка (фикс), 5 - с небольшим запасом . Это на земле. Я по опыту работы уже. 6 и выше- фикс в объеме, что нам и нужно. И именно об этом Вам и сообщается.
ОСД берет данные с GPS, думает за юзера, и выводит на экран.

andry=:

Для эксперимента: включаем коптер,Наза находит точку зеленым помаргиванием, ОСД рисует 0м до дома.
Относим на 20м коптер, жмем ресет на ОСД, он перезагрузится и покажет 0м. У назы дом остался в 20м.

Я очень уважаю Ваше мнение (хотя оно в корне не верное). Просьба- не вводите людей в заблуждение. Объяснять долго, но если в кратце:
1 . Шина данных ОДНА для всех подключенных устойств (ОСД, НАЗА, GPS) это некие ТХ и RX
2. Из шины кто то берет и отдает данные НАЗА например, ОСД- только берет.
3. в большинство полетных контроллеров запоминают точку “дома” - фиксят её по армингу например.
4. ОСД с той же шины данных банально качает координаты с GPS приемника и выдает их Вам.
Остальное- косяки софта.
Я просто на других проектах летаю с этой же платой. Там очень простой алгоритм. Считываем с контроллера (датчиков) координаты - показываем юзеру.
Ну и визуализация. Это про стрелочку. Это не более чем калькулятор. с выводом на экран.
Про шину данных (если еще не понятно) кто дает инфу, кто берет, кто делает то и другое

  1. Наза - дает , берет
  2. GPS - в основном дает, берет данные для синхры
  3. ОСД - ТОЛЬКО БЕРЕТ.

И да, если скрестить GPS + OSD - один будет выдавать, другой брать. Но ни один девайс не сможет помнить

ЗЫ Про стрелочку- отнимаем одно от другого = направление. От точки дом, текущие координаты.

andry=
  1. Из шины кто то берет и отдает данные НАЗА например, ОСД- только берет.

Да. И берет не с контроллера, а выдергивает координаты из потока (протокол описан).
На момент появления устойчивого сигнала со спутников запоминает его как “дом”, от него и танцует вся тригономеетрия.
То же самое делает Наза,независимо от ОСД.
Можно сбросить “дом” в ОСД или сбросить “дом” в Назе, получим разные. Не зависят друг от друга.

И да, если скрестить GPS + OSD - один будет выдавать, другой брать. Но ни один девайс не сможет помнить

Еще раз: минимумОСД + грибок Назы прекрасно работают не подключая контроллер Назу вообще. Расстояние до дома считает, скорость показывает, стрелку домой рисует.

wcorp
andry=:

Еще раз: минимумОСД + грибок Назы прекрасно работают не подключая контроллер Назу вообще. Расстояние до дома считает, скорость показывает, стрелку домой рисует.

Да причем здесь “грибок НАзы”??? Любой GPS -даёт, ОСД- берет и показывает. GPS данные- это скорость, высота, время, направление (если не в статике).

andry=:

На момент появления устойчивого сигнала со спутников запоминает его как “дом”, от него и танцует вся тригономеетрия. То же самое делает Наза,независимо от ОСД. Можно сбросить “дом” в ОСД или сбросить “дом” в Назе, получим разные. Не зависят друг от друга.

У ОСД нет понятия “дом”, есть понятие “fix” ( которое задается программно) >5 = fix, <5 = no fix где “5” - величина вариативная. Далее ОСД тянет из контроллера данные по “дом” -у, и считает разницу между полученными и текущими. И показывает их Вам. в т.ч. и стрелочкой.

В данном тексте “5” - это число видимых GPS модулем спутников.