Пишем программу для вывода логов формата CSV
К численному представлению ветра добавил анимированную картинку колдуна, нарисовал как смог))
Выкладываю обнову.
*Добавлены два маркера, между которыми показывается дельта (маркер Б - маркер А), между ними считается средний аэродинамический коэффициент, средняя эффективность набора, средняя путевая эффективность. Они считаются, только при условиях набора/ спуска.
*Так же эти все коэффициенты можно вывести, как графики “моментальных значений”, специально взял в скобки, так как могут придраться и сказать, что они усреднённые по времени дискретизации (одна секунда). Графики АК и эффективность набора выводится не весь, а только в подходящих этапах полёта.
*Oчередной раз потерпел изменения измеритель ветра. Как писал выше, теперь он работает в точности, как на ОСД Питлаб. При этом, если замерочных круга было несколько, то скорость и направление ветра пропорционально распространяются по всем высотам. То есть, на каждой высоте свои показания. Помимо числовых значений, добавил анимированный “колдун”, для наглядного представления ветра.
*Полностью переписал алгоритм фильтра (сглаживание графика), теперь он работает моментально + так же моментально сплайн Акима.
Исправлены небольшие недочёты: числа на временной шкале больше не залазят на окошко данных, исправлен ране не замеченный косяк управления колёсиком, добавил контур числам моментальных значений- если цвет светлый, то контур чёрный, если тёмный, то контур белый. Ну и по мелочи.
Не то выложил. Вот правильный архив.
drive.google.com/open?id=0B-tFJd0x5X5xelNZS2ZUcEhS…
Продолжаем… Изменил управление, то есть менюшки. Меню убрал полностью, в место него поставил “тулл-бар”. Теперь все органы управления на виду. Добавил график угла атаки. Добавил управление с клавиатуры, всплывающее меню по клику правой кнопкой - в нём можно устанавливать маркеры и откатывать увеличение. Ну и по мелочи всякие курсоры, рамку при выделении правой кнопкой и тд… Ещё не выкладываю, хочу дополнить текст HELPа клавишами управления клавиатуры и весь новый функционал.
Занялся вторым этапом… потихоньку пилю элементы осд. То есть по файлу CSV анимирую псевдо OSD. Прям во время анимации, все элементы можно передвигать мышкой и менять их размер. С Этой анимации можно собрать *.mov.
Так же под анимацию можно вложить гугл карту.
Пока что всё работает без какого ли то управления
Теперь прошу помощь… если кто знает как на Java осуществить связь с ком портом, а ещё лучше с USB-HUD? В нете полно информации, но конкретики никакой.
Ещё один нюанс, выводить карту под анимацию это хорошо, но конечно же хочется вывести “как то” гугл ерз. Только представьте: На компе в реальном времени вид от первого лица в роле 3д гугл ерз + анимация всех параметров полёта.
Вот по идее куда стремлюсь.
Печалька только одна: гугл не даёт использовать гугл ерз не в проводнике, но это так же решаемо, так как в Java этот проводник можно обеспечить.
Так же если у кого, есть нароботки по вопросу с гуглом, поделитесь информацией…
Вот примерное представление анимации ОСД. Как и говорил, вывожу на зелёном экране для рендера (могу рендерить только в mov формат).
Так же в роли задника можно вставлять гугл карту.
Устроил отображение “базы”, для вывода других точек или анимации ИЛС, мне собственно нужна их инфа в файле. Попросил Збигнева, может и добавит.
Ещё раз прошу о помощи, в частности 3д земли. Пока что для меня это главный затык.
С помощью лома и какой то матери, удалось превратить гугл карты в подобие 3Д.
Теперь на это дело наложить анимацию ОСД и допилить команды гуглу на координаты и поворот.
С Яндексом хочу ещё попробовать , он мне кажется побыстрее чутка и карты по детальнее.
Как оказалось гугл не позволяет поворачивать карту.
Решил делать по другому.
Гугл в день пузволяет скачивать до 1000 статических карт рамером до 640 на 640 точек.
Вобщем мысль закчивать нужные участки и выводить их на общую карту, которую уже смогу крутить как душе угодно.
Главная заковыка, я не знаю как точно считать сколько градусов в одной картинке .
Я думал что меняется только по широте. Но по долготе масштаб тоже меняется…
То есть нужно расчитать коардинаты так, чтоб все карты четко подошли друг к другу.
Мне не понятно как гугл их искажает…
Если что в этом понимает, буду рад помощи.
Такс. .Нашёл полностью готовое решение, даже лучше чем был бы гугл ерз. Штуковина называется ArcGIS. Мощьная и почти бесплатная. Есть всё что нужно. Позволяет строить трёхмерные сцены Земли, накладывать разные данные, трёхмерные объекты и тд…
Вернусь с командировки, займусь конкретней…
Самое сложное позади, стальное за мелочами.
В бесплатной версии ArcGIS у камеры нет крена. Пришлось крутить всю сцену и немного её увеличить, чтоб не было серой подложки на больших кренах. Так же устроил просчёт промежуточных координат, что бы получить плавную анимацию.
На выбор будет две опции: вид от первого лица и вид от третьего лица, где камера будет следовать за 3д моделькой самолётика. Конечно мысли, устроить несколько режимов камеры, как то следовать или перемещать камеру свободно мышкой. Не уверен, смогу ли я в бесплатной версии рисовать трэк в трёхмерной сцене…
Так же будет окошко - вид сверху, где уже будет рисоваться маршрут.
Слои карт, так же на выбор.
Ну и на последок, нужно разобраться с кэшем. Если в перспективе, данные брать напрямую с наземки в поле, кэш просто необходим.
Маньяк!
www.youtube.com/watch?v=0-REiSOHTLI
Вот пример с кренами и пересчётом промежуточных коoрдинат…
по моему получается очень не плохо!
Добавил 3д модель самолётика. Несколько режимов камеры (все с управлением мышкой): от первого лица (с горизонтом типа ф16), камера следящая на модельку самолёта (горизонт типа русский, но пока только набросок), камера на модельку, но её можно вращать и камера свободная от всего.
В видосе в конце посадка “ака взгляд с вышки…”.
по моему получается очень не плохо!
Спасибо!
Если есть какие то пожелания, пишите.
Я так понимаю, Збигнев не спешит открыть протокол, как получить данные на лету. Так, что если кто завладеет инфой по этому поводу, поделитесь.
Пилим дальше… Добавил рисование 3д линии - пройденного маршрута. Могу добавить возможность изменения цвета в зависимости от параметров полёта. Каких? На ум приходит только скорость и вертикальная скорость.
Сергей, что тебе нужно было от SeeYou? Могу высотный профиль поверхности добавить… Чё ещё добавить?
Низкий фрэйм рэйт только при записи видео, так всё норм…
Да и надпись “Licensed For Developer Use Only”, естественно не уберётся. Денег на это тратить, я не буду…
Такс, всё же удалось убрать водный знак версии разработчика АркГИС.
Всех с прошедшим Праздником!
Давно ничего не выкладывал и не обновлял… Уже длительное время нахожусь в командировке… И скорее всего останусь на долго…
К сожалению у меня с собой только рабочий ноутбук и все нужные программы для выпуска обновлений я записать не могу… Спасибо хоть, что разрешили установить жава машину.
За последнее время товарищи из Польши радуют нас новыми функциями к нашему любимому АП.
С новой прошивкой немного оброс и новый лог. В нём добавились такие параметры, как входящие сигналы рулей, выходящие сигналы на рули с автопилота, частота обновления гпс-глонас.
Естественно они добавятся и у меня, только пока обмазговую, как правильнее это сделать. Скидывать всё в одну кучу не хочется. И так уже небольшой бардак изза множества параметров.
Думаю нужно будет сгрупировать все параметры на подгруппы, для удобства и восприятия. Для последних помимо обычного изображения на графике, планирую анимацию ПУ и Модели с углами рулей. Благо немного места в правом углу панели статистики ещё много.
Что касается 3д отображения, всё готово, косяков пока не обнаруженно.
Остаются два пункта:
Режим “онлайн” через сом порт.
В принципе, нашёл уже классную библиотеку для работы с сом портами. Написал уже код для анимации не с лога, а с ком порта. Дело за малым - прилететь домой и разобрать данные с наземной станции Питлаба.
Новая моя хотелка: планировщик для автопилота на выходе которого будут три файла - впп, точки, маршруты.
При этом в автомате будут просчитываться энергозатраты, скорости и подъём. Данные будут браться с загруженного ранее лога и если нужно корректироваться в ручную. Так же будет учитываться погода. К сожалению не нашёл источника для погоды по высотам, есть только на уровне земли (окно в 5 дней). Оставлю поля для ручного ввода ветра по высотам.
Помимо рисования на карте, второстепенным окном будет профиль полёта наложенный на профиль поверхности. На профиле будут видны все точки и данные о энергозатратах и времени. Дополнительный фукционал ещё обдумывается.
Только после этого , расчёт будет адекватным.
На этом всё. Получилось малость голословно, но пока вроде как, что обещал, делал.
Если кто хочет помочь и малость ускорить процесс, не откажусь от помощи. Две вещи: записать что выдаёт наземка по ком порту, и если кто подскажет где брать пoгоду по высотам.
Как интересно развивается проект… Казалось бы из простенького логера вырастает уже серьёзный продукт… Молодец!
Начал делать модуль полётной мисии. Дошёл до реализации рисования роутов. Возможных алоритна два: один как в менеджере на данный момент, второй, как в гугл-земле.
Второй цпособ мне нравится больше… Начну с него, если кто привык к оригинальному менеджеру и так прям сильно его хотите, сообщите.
Доделал рисования маршрутов, точек и взлёных полос. Все данные параллельно отбражаются в таблице, всё синхронно. Окно с таблицей с тремя вкладками: таблица с точками, с маршрутами и с ВВП.
Для просчёта пути, нужно указать последовательность. То есть, будет появляться окно с двумя списками: слева все точки/маршруты, справа создаём последовательность, которая потом и считается.
Так как у точек и маршрутов есть ограничение по высоте, добавлю “оперативные” точки, которые можно добавить в список для просчёта, но они не будут загружаться в файл.
Теперь нужно забацать сам просчёт и отображения на карте и панели с профилем высоты.
Маразм крепчал, и я задумался, что раз уже заморочился, то почему не сообразить псевдо ПИД.
То бишь грубо говоря, определяем шаг (ну скажем 3 метра), знаем куда нужно, знаем ошибку, пид выдаёт направление. По этому направлению рисуем прямую длиной 3 метра и всё по кругу. Можно будет добиться похоже на то, как модель пролетит на самом деле.
Набор высоты, только по готовым числам из лога или вручную.