Делаю OSD, автопилот и инерциалку...

Aleksey710
Diman_Y:

Там чисто GE plugin. Т.е. это не совсем GE, но разница с GE незначительна.

  1. Немного не понятно с модулями сопряжения. Это должна быть отдельная плата на пульт. Сопряжение компа и пульта это стандартная плата. Сопряжение XBee и компа то-же стандартная плата. А вот пульта с XBee сопряжения я пока не видел.

модуль сопряжения - это общее название.
Сопряжение компа и пульта это стандартная плата - согласен
Сопряжение XBee и компа то-же стандартная плата - не сильно искал, но наверно такая тоже есть
А вот пульта с XBee сопряжения я пока не видел. - значит ее не хватает для полного счастья 😃 и ее нужно сделать. Опять же при необходимости. Я думаю что то типа Атмеги8 вполне справится с преобразованием PPM или PCM в уарт в передатчике и обратно - в приемнике.

Diman_Y:
  1. Все конфиги будут писаться/загружаться/сохраняться по полной программе со всеми калибравками. Это даже не обсуждается, как само собой разумеющееся. 😃

Отлично.

Diman_Y:
  1. Договорились. Будет и то, и то. По идее можно все совместить, только я пока не пойму как. 😃

а в чем проблема?

Diman_Y:

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

Я наверно чегото не понял, а как тогда можно что-то добавить если все интерфейсы закрыты?

Diman_Y
Aleksey710:

а в чем проблема?

Я не особо большой специалист с DirectShow, поэтому потратив несколько часов на то чтобы добиться результата, решил больше не эксперементировать. Но я точно знаю, что можно и писать и дополнительную картинку на экран выводить.

Aleksey710:

Я наверно чегото не понял, а как тогда можно что-то добавить если все интерфейсы закрыты?

Да, недопоняли, или я коряво написал. 😃
А что конкретно хотите добавить?

Aleksey710
Diman_Y:

Я не особо большой специалист с DirectShow, поэтому потратив несколько часов на то чтобы добиться результата, решил больше не эксперементировать. Но я точно знаю, что можно и писать и дополнительную картинку на экран выводить.

Скорее всего да. Но непосредственно на полет это не влияет.
По этому думаю, что решение этой задачи можно отложить на потом.

Diman_Y:

Да, недопоняли, или я коряво написал. 😃
А что конкретно хотите добавить?

Я еще не видел , что есть, как оно выглядит в живую.
Но апетит появлется во время еды 😉 + Остановка - смерти подобна. Я за развитие. 😉

1 month later
Sergey70

Дмитрий напишите в каком состоянии находится проект, а то давно новостей нет.

Diman_Y

Всем Привет!

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

Сейчас дела вот как обстоят.
Под ДСП я сделал все драйвера так, как их надо было сделать (I2C, SPI, SD card, UART).
Сейчас SADF работает на DSP и соединена через UART с SADF Studio.
Сейчас я без проблем читаю/пишу данные в 3D акселерометр-магнитометр, пишу читаю данные из гироскопа, датчика высоты, читаю пишу в OSD, flash, MicroSD карту. Без проблем читаю и пишу данные из GPS вместе с раскодированием (использую стандартную библиотеку).
Сегодня вот промудохался с xBee, думаю к концу недели доделаю нормальное соденение по xBee между платой и приложением на PC.
PC приложение обрабатывает джойстик (сделал конфиг джойстика, интерфейс и т.д.) и записывает по идее в xBee (который будет к концу недели). Отображает все в google Erath и выводит и записывает видео.
Надо доделать отображение gps координат в ggogle и запись их в файл (или DB-) вместе с конфигурацией.
Вот думаю вставлять ли Fat32 для карточки (fat уже сделан и работает с карточкой) чтобы можно было карточку читать без платы или сделать свой формат карточки.

В принципе все устройства работают без проблем, но проблемы пока остаются, куда-же без них.
Основная проблема и пока единственная (кроме некоторых мелких косяков на плате) то, что мне так и не удалось запустить DSP в режиме загрузки без эмулятора. Даже не знаю в чем дело. В принципе все должно загружаться и работать, а вот не работает.
Если бы не эта проблема, то я уже как неделю бы собирал параметры полета моего иглвинга с гироскопа, акселерометров, GPS и всего остального на SD карту для последующего анализа и разработки непосредственно алгоритмов управления.

В кратце пока вот так.

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

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

Вот как-то так. 😃

Diman_Y

Вот, написал про проблему и тут-же ее решил. 😃
Теперь все нормально стартует и грузится без эмулятора. 😃

Diman_Y

Сегодня окончательно разобрался с XBee. Все работает на ура!
Duty Cycle оказался не проблемой. Лучший способ это ресетить XBee плату. Ресет занимает порядка 100 мс + 250 мс на открытие/закрытие портов. Ресетить скорее всего придется каждые пол часа, а может и реже. 😃

1 month later
Sergey70

Дмитрий расскажите что нового в вашем проекте.

Diman_Y

Всем привет!

Новости просто хорошие. Если в кратце, то я доволен тем как все идет.

Сейчас я заканчиваю подключение всех девайсов к SADF и тогда можно уже будет говорить о непосредственно автопилоте.

Сейчас работают:

  1. ОСД. Пик который отвечает за ОСД полностью запрограммирован. Принимает команды и выводит информацию на дисплей. Частота обновления до 10 раз в секунду (максимум пока 50 герц). По моему получилось симпатично. Единственное, был неприятно удивлен что Макс7456 выдает картинку шире чем стандартный пал дисплей, но это удалось быстро забороть. В принципе видео как выглядет ОСД могу даже вечером выложить.
  2. Управление сервами. Пик, который должен управлять сервами, сейчас принимает команды от DSP и этими сервами управляет (5 каналов). Пока не сделана обработка входа для анализа команд приемника. Мне это не особо сейчас нужно, так как я планирую использовать xBee.
  3. GPS полностью готов. Т.е. встроен в SADF и выдает данные с частотой до 10 Гц (можно и больше можно и меньше, как запрограммировать). Интересно, что минимальная ошибка как раз получается при частоте 10 Гц, хотя должно быть наоборот.
  4. Вчера игрался с акселерометром и компасом. Мне понравилось. Оба встроены в SADF. Осталось сделать их на прерываниях по пинам.
  5. Сегодня додедлаю гироскоп и барометр. Завтра доделаю датчик скорости, но это надо делать на пике.
  6. Сделан, но еще не адоптирован под SADF, прием данных от джойстика. Т.е. писишное приложение передает через xBee команды джоя, а DSP их декодирует и преобразует в коды команд сервам.

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

Сейчас первый этап будет таким:

  1. ОСД работает и что-то выводит (координаты, скорость с GPS, высоту с GPS ). Можно даже сделать вывод авиагоризонта, но не точно.
  2. Работают все сенсоры, но информация с них записыватеся во флешку. Это надо чтобы проанализировать данные и потом сделать обраотку.
  3. Работает xBee и управление сервами. В принципе самолет можно будет уже запускать. 😃

Я планирую эти три пункта доделать в следующие пару недель. Но это как получится. 😃
Самое сложное будет это заставить работать плату без JTAGa. 😃

Diman_Y

Вот к стате графики с осей акселерометра (правда не синхронизированные). Скачек - это я повернул его. По идее все должно быть синхронно:

А вот проект который тестирует сам акселерометр и компас:

Sergey70

Очень хотелось бы увидеть ролик всего этого, для представления габаритов и рамеров и вооще. Хоть для меня большая часть проекта экзотически выглядит, но нечего подобного на русских ресурсах я не видел.

Diman_Y
Sergey70:

Очень хотелось бы увидеть ролик всего этого…

Ролик просто ОСД я могу выложить, но хочется все-же доделать авиагаризонт и тогда выолжить. 😃

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

AndyBig
Diman_Y:

Был удивлен, что оказывается мемс гироскопы это вовсе не гироскопы, а измерители угловой скорости.

Ничего другого и не могло быть 😃 Не моторчик же с маховиком внутри чипа 😃

Diman_Y:

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

Я бы на это не надеялся.

Diman_Y
AndyBig:

Я бы на это не надеялся.

Нет, блин. Сейчас все брошу…

AndyBig
Diman_Y:

Сейчас все брошу…

Не надо бросать, просто надо добавить датчики для горизонта 😃 Те же пиро.

Diman_Y
AndyBig:

просто надо добавить датчики для горизонта Те же пиро.

В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то? 😃

Я вот сейчас доделываю блок фильтров. После этого можно уже будет нормально фильтровать данные и интегрировать. Сделав это я спокойно смогу интегрировать данные гироскопа и акселерометров.
Короче, вечером если будет время, я попробую поиграться с фильтрацией и интеграцией. Графики шумов гироскопа (правда там считывание еще не синхронизированно) постараюсь выложить. 😃

AndyBig
Diman_Y:

В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то?

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

Diman_Y
AndyBig:

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

GPS? 😃

AndyBig
Diman_Y:

GPS?

Ну, GPS у вас как раз уже имеется. Но он для координатного позиционирования, а для авиагоризонта - пиродатчики 😃
Конечно, и они могут врать - туман, горы поблизости… Но врать более стабильно, с возможностью коррекции 😃

Diman_Y

Всем привет!
Короче, промудохавшись пару дней с гироскопом было принято следующее решение. 😃

В общем я сейчас все сенсоры выведу на писишку в симулятор и дополнительно сделаю запись голых данных от сенсоров на SD карту (это чтобы можно было собирать данные с ероплана и потом моделировать с реальными данными). Получив это дело можно уже спокойно заняться разработкой алгоритмов.
По идее уже сейчас можно делать алгоритмы, но проблема в отсутсвии реального времени и возможности 3D визуализации в реальном времени, а это очень важно.
А если я сделаю вывод данных в реальном времени на писишку, то тогда все будет гараздо проще. Можно будет и значения с графиками в реальном времени смотреть и даже 3D анимацию прикрутить (а это необходимо).
Сейчас отладка выглядет так: запускается алгоритм, потом нажимается кнопка для получения данных и данные через пару секунд выводятся на графике. Хочется другого. Хочется чтобы было видно данные сразу и без задержки. 😃

Вот так пока. 😃

AndyBig:

Но он для координатного позиционирования, а для авиагоризонта - пиродатчики

Авиагоризонт в принципе вторичен. Он только помогает самолету лететь из точки А в точку Б.
Вот просто можно задаться вопросом: а как многие ФПВшники летают без авиагоризонта? Он у них есть, просто точность его +/- 30 градусов. 😃
Все остальное делается с помощью наблюдения за компасом, высотой и скоростью.

А в моем случае у меня все эти данные есть даже в инерциальном варианте без GPS. А если еще и GPS есть, то вообще проблем нету. 😃

Вот простой пример коррекции гироскопа при наличии скорости, высоты и направленя.
Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет? 😃
Очивидно что врет гироскоп. Мы берем и его корректируем. Т.е. выравниваем горизонт влево:)

Или: компас стабилен, высота растет, а скорость падает. Горизонт опять показывает ноль. Очивидно что мы набираем высоту. 😃
И т.д.

Основная задача фактически это сделать данный алгоритм как АСУ реального времени а не как набор if/else. 😃

Все данные, как скорость, направление, высота, координаты есть в абсолютных значениях. Этог одостаточно чтобы корректировать мгновенные значения датчиков. 😃

PS. Ссылки на книжки по теории полетов (где какие силы, перегрузки и т.д.) приветствуются! 😃

AndyBig
Diman_Y:

как многие ФПВшники летают без авиагоризонта?

По видео 😃 FPV - это ведь не автопилот.

Diman_Y:

Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет?

Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет 😃 Так же и во втором примере истиный горизонт действительно может находиться в нуле. С другой стороны: компас показывает медленное изменение направления, скорость и высота постоянные, горизонт показывает ноль. Горизонт врет или РН нуждается в коррекции?
В том и проблема, что без четкого знания ориентации самолета однозначности нет 😃