Делаю OSD, автопилот и инерциалку...
Я не особо большой специалист с DirectShow, поэтому потратив несколько часов на то чтобы добиться результата, решил больше не эксперементировать. Но я точно знаю, что можно и писать и дополнительную картинку на экран выводить.
Скорее всего да. Но непосредственно на полет это не влияет.
По этому думаю, что решение этой задачи можно отложить на потом.
Да, недопоняли, или я коряво написал. 😃
А что конкретно хотите добавить?
Я еще не видел , что есть, как оно выглядит в живую.
Но апетит появлется во время еды 😉 + Остановка - смерти подобна. Я за развитие. 😉
Дмитрий напишите в каком состоянии находится проект, а то давно новостей нет.
Всем Привет!
Новости пока неоднозначные.
Если кратко, то вроде все почти работает, а показать нечего. Т.е. все пока в состоянии заготовок. 😃
В принципе я планировал уже на этих выходных сделать ролик о том, что уже работает, но тут напасть одна приключилась, поэтому пока ролик откладывется. 😃
Сейчас дела вот как обстоят.
Под ДСП я сделал все драйвера так, как их надо было сделать (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 работает с устройствами и дело тольоко за рисовинием алгоритма), по моим ощущениям остается совсем немного. Но в связи с количеством проблем которые на меня обрушились в последние пару месяцев релиз пока отодвигается на конец квартала, хотя если бы не проблемы, то все уже было-бы готово.
Вот как-то так. 😃
Вот, написал про проблему и тут-же ее решил. 😃
Теперь все нормально стартует и грузится без эмулятора. 😃
Сегодня окончательно разобрался с XBee. Все работает на ура!
Duty Cycle оказался не проблемой. Лучший способ это ресетить XBee плату. Ресет занимает порядка 100 мс + 250 мс на открытие/закрытие портов. Ресетить скорее всего придется каждые пол часа, а может и реже. 😃
Дмитрий расскажите что нового в вашем проекте.
Всем привет!
Новости просто хорошие. Если в кратце, то я доволен тем как все идет.
Сейчас я заканчиваю подключение всех девайсов к SADF и тогда можно уже будет говорить о непосредственно автопилоте.
Сейчас работают:
- ОСД. Пик который отвечает за ОСД полностью запрограммирован. Принимает команды и выводит информацию на дисплей. Частота обновления до 10 раз в секунду (максимум пока 50 герц). По моему получилось симпатично. Единственное, был неприятно удивлен что Макс7456 выдает картинку шире чем стандартный пал дисплей, но это удалось быстро забороть. В принципе видео как выглядет ОСД могу даже вечером выложить.
- Управление сервами. Пик, который должен управлять сервами, сейчас принимает команды от DSP и этими сервами управляет (5 каналов). Пока не сделана обработка входа для анализа команд приемника. Мне это не особо сейчас нужно, так как я планирую использовать xBee.
- GPS полностью готов. Т.е. встроен в SADF и выдает данные с частотой до 10 Гц (можно и больше можно и меньше, как запрограммировать). Интересно, что минимальная ошибка как раз получается при частоте 10 Гц, хотя должно быть наоборот.
- Вчера игрался с акселерометром и компасом. Мне понравилось. Оба встроены в SADF. Осталось сделать их на прерываниях по пинам.
- Сегодня додедлаю гироскоп и барометр. Завтра доделаю датчик скорости, но это надо делать на пике.
- Сделан, но еще не адоптирован под SADF, прием данных от джойстика. Т.е. писишное приложение передает через xBee команды джоя, а DSP их декодирует и преобразует в коды команд сервам.
Короче, как только все девайсы будут доделаны, я выложу видео как все работает. По идее должно получиться доделать до выходных, так что на выходных будем посмотреть первое приближение системы. Как минимум я выложу некоторые фотки графиков. 😃
Сейчас первый этап будет таким:
- ОСД работает и что-то выводит (координаты, скорость с GPS, высоту с GPS ). Можно даже сделать вывод авиагоризонта, но не точно.
- Работают все сенсоры, но информация с них записыватеся во флешку. Это надо чтобы проанализировать данные и потом сделать обраотку.
- Работает xBee и управление сервами. В принципе самолет можно будет уже запускать. 😃
Я планирую эти три пункта доделать в следующие пару недель. Но это как получится. 😃
Самое сложное будет это заставить работать плату без JTAGa. 😃
Очень хотелось бы увидеть ролик всего этого, для представления габаритов и рамеров и вооще. Хоть для меня большая часть проекта экзотически выглядит, но нечего подобного на русских ресурсах я не видел.
Очень хотелось бы увидеть ролик всего этого…
Ролик просто ОСД я могу выложить, но хочется все-же доделать авиагаризонт и тогда выолжить. 😃
Вчера разбирался с гироскопом. Был удивлен, что оказывается мемс гироскопы это вовсе не гироскопы, а измерители угловой скорости. В итоге придется интегрировать все это дело. Ошибка там приемлимая, так что нормальный горизонт сделать получится. 😃
Был удивлен, что оказывается мемс гироскопы это вовсе не гироскопы, а измерители угловой скорости.
Ничего другого и не могло быть 😃 Не моторчик же с маховиком внутри чипа 😃
Ошибка там приемлимая, так что нормальный горизонт сделать получится.
Я бы на это не надеялся.
Я бы на это не надеялся.
Нет, блин. Сейчас все брошу…
Сейчас все брошу…
Не надо бросать, просто надо добавить датчики для горизонта 😃 Те же пиро.
просто надо добавить датчики для горизонта Те же пиро.
В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то? 😃
Я вот сейчас доделываю блок фильтров. После этого можно уже будет нормально фильтровать данные и интегрировать. Сделав это я спокойно смогу интегрировать данные гироскопа и акселерометров.
Короче, вечером если будет время, я попробую поиграться с фильтрацией и интеграцией. Графики шумов гироскопа (правда там считывание еще не синхронизированно) постараюсь выложить. 😃
В принципе, у меня на плате и так стоит три 3D датчика. Зачем еще что-то?
Затем, что горизонт будет быстро потерян из-за накапливающейся ошибки 😃 Никакая интеграция и калибровка не помогут. Датчики ускорения плыть будут от температуры, питания… Очень медленное изменение не отследят - оно будет на уровне шумов. Не отловят (или отловят неточно) резкие вращения. Для длительного замера абсолютного положения нужны и датчики абсолютного положения.
Для длительного замера абсолютного положения нужны и датчики абсолютного положения.
GPS? 😃
GPS?
Ну, GPS у вас как раз уже имеется. Но он для координатного позиционирования, а для авиагоризонта - пиродатчики 😃
Конечно, и они могут врать - туман, горы поблизости… Но врать более стабильно, с возможностью коррекции 😃
Всем привет!
Короче, промудохавшись пару дней с гироскопом было принято следующее решение. 😃
В общем я сейчас все сенсоры выведу на писишку в симулятор и дополнительно сделаю запись голых данных от сенсоров на SD карту (это чтобы можно было собирать данные с ероплана и потом моделировать с реальными данными). Получив это дело можно уже спокойно заняться разработкой алгоритмов.
По идее уже сейчас можно делать алгоритмы, но проблема в отсутсвии реального времени и возможности 3D визуализации в реальном времени, а это очень важно.
А если я сделаю вывод данных в реальном времени на писишку, то тогда все будет гараздо проще. Можно будет и значения с графиками в реальном времени смотреть и даже 3D анимацию прикрутить (а это необходимо).
Сейчас отладка выглядет так: запускается алгоритм, потом нажимается кнопка для получения данных и данные через пару секунд выводятся на графике. Хочется другого. Хочется чтобы было видно данные сразу и без задержки. 😃
Вот так пока. 😃
Но он для координатного позиционирования, а для авиагоризонта - пиродатчики
Авиагоризонт в принципе вторичен. Он только помогает самолету лететь из точки А в точку Б.
Вот просто можно задаться вопросом: а как многие ФПВшники летают без авиагоризонта? Он у них есть, просто точность его +/- 30 градусов. 😃
Все остальное делается с помощью наблюдения за компасом, высотой и скоростью.
А в моем случае у меня все эти данные есть даже в инерциальном варианте без GPS. А если еще и GPS есть, то вообще проблем нету. 😃
Вот простой пример коррекции гироскопа при наличии скорости, высоты и направленя.
Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет? 😃
Очивидно что врет гироскоп. Мы берем и его корректируем. Т.е. выравниваем горизонт влево:)
Или: компас стабилен, высота растет, а скорость падает. Горизонт опять показывает ноль. Очивидно что мы набираем высоту. 😃
И т.д.
Основная задача фактически это сделать данный алгоритм как АСУ реального времени а не как набор if/else. 😃
Все данные, как скорость, направление, высота, координаты есть в абсолютных значениях. Этог одостаточно чтобы корректировать мгновенные значения датчиков. 😃
PS. Ссылки на книжки по теории полетов (где какие силы, перегрузки и т.д.) приветствуются! 😃
как многие ФПВшники летают без авиагоризонта?
По видео 😃 FPV - это ведь не автопилот.
Высота падает, компас уходит вправо, а гироскоп показывает горизонт в 0. Кто врет?
Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет 😃 Так же и во втором примере истиный горизонт действительно может находиться в нуле. С другой стороны: компас показывает медленное изменение направления, скорость и высота постоянные, горизонт показывает ноль. Горизонт врет или РН нуждается в коррекции?
В том и проблема, что без четкого знания ориентации самолета однозначности нет 😃
По видео FPV - это ведь не автопилот.
Это не автопилот, это авиагоризонт с точностью +/- лапоть. Но народ ведь летает. 😃
Самолет в нисходящем потоке воздуха теряет высоту с небольшим поворотом, горизонт не врет
Наша задача не чтобы горизонт не врал, а чтобы самолет летел на заданной высоте. Поэтому мы и будем корректировать высоту, а чтобы небыло недопониманий, откорректируем и горизонт. 😃
В том и проблема, что без четкого знания ориентации самолета однозначности нет
Да не нужна здесь 100% точность. Кратковременно на сложные маневры, типа боевого разворота или петли у вас есть дастаточная точность. А вот после, в прямолинейном полете, уже можно и подкорректировать. 😃
По поводу пироголов.
Вот я на пример в горах живу, и туман и низкая облачность у нас каждую неделю. Что мне делать с этими пироголовами? 😃
а ничего не делать, читать теорию обработки данных с гироскопов акселерометров и пытаться реализовать некий алгоритм комплексировнаия , хоть с учетом тех же пиро …