micro / minimOSD для NAZA

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 модулем спутников.

alezz
wcorp:

ИИИИ? Тихо хихикает- что де одна она знает где?

что курил? Такой вопрос, как по твоему ОСД рассчитывает расстояние от текущей точки в пространства до точки дом? Найди ответ а потом только читай ниже.

Теперь мой ответ в двух словах: и у ОСД и у назы есть свой процессор, есть своя память (и пзу и озу), есть свой программный код, но данные они действительно получают по одной шине из одного источника - так называемого грибка. Это поток сырых данных с данными GPS и направлением магнитного компаса, все, больше ничего. Показаний барометра в этом потоке нет, барометр внутри назы поэтому эти данные минназаОСД получить не может (в отличии от родного iosd который впрочем работает совсем по другой шине). Но это не важно, важно то что все расчеты наза и minnazaosd - фиксация точки дом, скорость, направление, расстояние и т.д. ведут абсолютно независимо друг от друга, по совершенно разным алгоритмам, хотя и на основе одних данных. Как уже сказали выше, к минназаосд можно просто подключить модуль GPS (грибок) подать на него 5В и бегать по полю без назы, без регуляторов и моторов, при этом ОСДшка будет работать как ни в чем ни бывало, вполне корректно отображая скорость твоего бега и расстояние до “дома”
Хочешь верь, хочешь не верь, объяснять что-то дальше не вижу смысла

wcorp
alezz:

как по твоему ОСД рассчитывает расстояние от текущей точки в пространства до точки дом? Найди ответ

Как калькулятор. 456-455=1
456- из Назы
455- из GPS
1- показывает тебе
Ну и стрелку ,для наглядности. Почитай соседние ветки (minimOSD) , я тебя прошу. И умнее будешь выглядеть , и вопросов будет меньше
Так проще?

Shuricus

Любое ОСД с штатным ЖПС имеет точку дома и расстояние до нее, без всяких полетных контроллеров. Начиная с самого дешевого G-OSD c хобита.
При этом все ОСД построены совершенно одинаковы, и это не устройство отображения информации, а это процессор + устройство отображения информации, и все операции оно в состоянии выполнять самостоятельно.
И потом вам уже и код показали, и сказали, что ОСД будет работать без Назы и показывать точку Дом. Никак не доходит?
Так что несете полную чухню.

brusse
wcorp:

Как калькулятор. 456-455=1
456- из Назы
455- из GPS
1- показывает тебе
Ну и стрелку ,для наглядности. Почитай соседние ветки (minimOSD) , я тебя прошу. И умнее будешь выглядеть , и вопросов будет меньше
Так проще?

Это же по какому проводу ОСД может принять от Назы “456”, если в ОСД приходит только ТХ от GPS ?