Как увидеть положение ракеты в полете (визуализация, РП-18А, 55-ый запуск)

Очень хотелось получить положение ракеты во всех точках траектории. Как бы визуализировать полет ракеты.

Для визуализации выбрал подход с использованием Processing. За исходную точку взял материалы отсюда.

Хотелось получить картинку типа этой

Для визуализации положения нужны данные гироскопа и акселерометра. Пришлось сделать простенький регистратор на базе Arduino Pro mini. Прямо на контактах платы запаял модули датчиков давления (BMP280) и акселерометра с гироскопом (MPU6050). Для хранения данных (24C256) места уже не осталось, поэтому решил (для начала) использовать EEPROM самого контроллера (1КБайт). Пришлось урезать объем фиксируемых данных: два байта для барометра, три байта (только старший из считанных) для акселерометра и три байта (также только старший байт) для гироскопа. В итоге при дискрете записи в 100мс, объема EEPROM хватает на 12 секунд!

Последовательность обработки данных:

  • Фиксируем данные полета в EEPROM
  • Выгружаем собранные данные в виде csv-файла в компьютер
  • Обрабатываем «сырые» данные в Excel (перевод ускорения в g, скорости вращения — в градусы в секунду, давление в высоту и скорость)
  • Полученный файл передаем на вход программки, написанной в Processing, где используется фильтр Маджвика (получаем квантерионы, а потом углы отклонения по крену, тангажу и рысканью).
  • По вычисленным углам скетч Processing-a рисует (визуализирует) положение ракеты.

На видео выше показан ручной тест платы регистратора: плату поднял на 1,5 метра вверх (стараясь удерживать ось Z акселерометра вертикально), перевернул и опустил вниз; внизу покачал плату.


Для сбора данных в реальном полете решил использовать «проверенную» РП-18А. Для регистратора пришлось сделать небольшую «капсулу» (куда и аккумулятор поместился).26case-Ard-Acc

Она «почти» поместилась под головной обтекатель.

IMG-20230708-134829 IMG-20230708-134448 IMG-20230708-134436

Двигатель — обычный для этой ракеты — из гильзы 12/70

IMG-20230708-134443 IMG-20230707-213017 IMG-20230707-213027

Масса ракеты получилась 220 грамм

IMG-20230708-141045 IMG-20230708-134443

Положение центра тяжести 35 см от носа


8 июля 2023. Довольно пасмурный день. Между дождями, в жаркой душной обстановке пошел на «резервное» поле. В прошлом году его распахали под посев, но увидев песчаную почву — забросили. Так что всегда под рукой чистое место 200 на 200 метров (в прошлом году там роторный спуск отрабатывал).
P30708-144450
Видео запуска (краткий вариант)

Как все было

Расставил камеры, включил регистратор, отошел от старта. Жму кнопку — реакции нет (хотя только что проверял работу дистанционного управления). Опять пришлось нажимать «Старт» руками!

Двигатель нехотя завелся и неспеша сдвинул ракету. Видимо влажность дает о себе знать. К тому же с момента заливки топлива до старта прошло менее 20 часов.

Тем не  менее ракета взлетела достаточно высоко (77 метров по данным барометра). На подъеме было видно небольшую «спиральность» траектории. Ракета прошла апогей, развернулась к земле. Сработал вышибной заряд, вышла лента. Падение было довольно быстрым.

P30708-145012 P30708-145022
P30708-145018 P30708-145015

Ракета упала примерно в 100 метрах от старта в пределах поля. Ракету на земле было не видно, но по направлению — быстро ее нашел. Двигатель (его остатки) отсутствовал, ракета была целой. Регистратор светился с индикацией окончания памяти.


Данные

Графики изменения высоты, ускорения, скорости и давления
MFR-2023-7-8-18-22-9
MFR-2023-7-8-18-21-16
MFR-2023-7-8-18-20-8
MFR-2023-7-8-18-20-41
Визуализация полета (вертикальной была ось Y акселерометра, при обработке поменял местами Z и Y)

Настройка параметров датчиков регистратора: MPU6050 диапазон измерения ускорений 16g, диапазон измерения угловых скоростей 500 градусов в секунду. Оказалось 500 — маловато: почти сразу после подъема по продольной оси (в нашем случае Y) произошло ограничение (-500 гр/сек) и так оно и было до срабатывания системы спасения. Так что визуализацию положения ракеты нельзя считать корректной. В следующем старте надо увеличить пределы измерения до 2000 градусов в секунду.

Полный вариант видеозаписи полета с графиком изменения высоты в полете (выбросы в момент срабатывания вышибного заряда и отстрела головы) и визуализацией положения ракеты.

 


Файлы

  • STL файл капсулы для регистратора 26caseArdAcc
  • Скетч регистратора
  • Данные (исходные/сырые) с регистратора rp18-55-datbin
  • Скетч для processing sketch_3Dviz_3