Конкретная CanSat-миссия на платформе UniSat cansat_standard: измерение вертикального профиля гамма-радиации 0–500 м с разрешением 80 м на базе датчика SBM-20.
Этот пакет закрывает 4 регламентные слабости из CanSat-оценки и соответствует официальному регламенту UzCanSat 2026:
| Было | Стало |
|---|---|
| Generic template, нет CDR под конкретный аппарат | CDR.md — 14 разделов, 12 тестов, REQ-traceability |
| Научная миссия 5/15 — «собираем телеметрию» | SCIENCE_MISSION.md — H₀/H₁, обоснование SBM-20 на 5 критериях |
| Презентация 12/20 — нет слайдов | PRESENTATION.md (10 слайдов Marp) + POSTER.md (A0) |
| Риск −20 за «ключевые данные» | KEY_DATA_PACKET.md — тройное резервирование + baseline_sitl_dataset.csv |
| Соответствие конкретному конкурсу (UzCanSat) | UZCANSAT_COMPLIANCE.md + preset mission_templates/cansat_uzcansat.json |
docs/missions/cansat_radiation/
├── README.md ← ты здесь
├── CDR.md ← Critical Design Review (14 разделов)
├── SCIENCE_MISSION.md ← H₀/H₁, обоснование датчиков, метод
├── KEY_DATA_PACKET.md ← формат ключевых данных + fallback-план
├── PRESENTATION.md ← 10 слайдов (Marp), talking points в комментариях
├── POSTER.md ← ASCII-layout постера A0 + указания по вёрстке
├── UZCANSAT_COMPLIANCE.md ← чек-лист соответствия регламенту cmspace.uz
├── baseline_sitl_dataset.csv ← эталонный SITL-полёт (743 строки, 59 SBM-20 событий)
└── references/official/ ← 6 официальных файлов с cmspace.uz (read-only)
├── Reglament_ocenki_RU.docx
├── Baholash_Reglamenti_UZ.docx
├── Plan_meropriyatiya_CanSat_RU.docx
├── Tatbir_rejasi_CanSat_UZ.docx
├── Qollanma.pdf
└── CanSat_olchamlari.png
UzCanSat-preset лежит снаружи этой папки — в mission_templates/cansat_uzcansat.json — чтобы оставаться в каноническом месте для mission templates.
scripts/analyze_cansat_radiation.py — пост-обработка полётного CSV в radiation profile с аномалиямиtools/playground.py — Streamlit-лаба, tab «🚀 CanSat SITL» рисует полёт в живуюflight-software/run_cansat.py — полный SITL-запуск с driver-уровневой симуляцией# 1. Сгенерировать радиационный профиль из эталонного SITL-датасета
python scripts/analyze_cansat_radiation.py \
docs/missions/cansat_radiation/baseline_sitl_dataset.csv \
--output data/radiation_profile_baseline.csv
# 2. Посмотреть только аномалии
python scripts/analyze_cansat_radiation.py \
docs/missions/cansat_radiation/baseline_sitl_dataset.csv \
--anomalies-only
# Ожидаемый результат:
# [summary] 25 altitude bins · N anomalies (|z|>2) · peak X.XXX μSv/h at Y m (z=Z.Z)
Pipeline уже проверен: находит аномалию 310 м, куда была инжектирована пик +0.08 μSv/h в SITL.
CDR.md — 14 разделов, это твой основной документPRESENTATION.md под имена команды / институт / датыPOSTER.md в Figma / InkScape на размер A0 + отпечататьbaseline_sitl_dataset.csv + графики из analyze_cansat_radiation.py как доказательство что pipeline готовdocs/characterization/flight/cansat_YYYYMMDD.csvREADME.md + обновить CDR §12 (готовность к запуску)Все утверждения в документах проверены:
scripts/analyze_cansat_radiation.py запускается на baseline_sitl_dataset.csv, находит аномалию на 310 мfirmware/stm32/Drivers/SBM20/form_factors.pyv1.5.0 (2026-04-19) — полный CanSat mission pack.
Документы предполагают UniSat v1.4.3 как базовую платформу. При смене версии — сверь:
form_factors.get_form_factor('cansat_standard') — должен вернуть envelope Ø68×80, 500 гmake target-cansat_standard — должен производить firmware/build-arm-cansat_standard/unisat_firmware.elfdocs/ops/cansat_standard.md — не должен противоречить CDR.md