04-Analysis
Funkčné požiadavky
| ID | Požiadavka | Priorita | Status |
|---|---|---|---|
| FR-01 | Kalibrácia baseline polohy hlavy | Vysoká | Implementované |
| FR-02 | Detekcia silného náklonu hlavy (Strong Nod) | Vysoká | Implementované |
| FR-03 | Detekcia mikrokývnutí (Micro Nods) | Vysoká | Implementované |
| FR-04 | Detekcia pomalého klesania hlavy (Slow Drift) | Stredná | Implementované |
| FR-05 | Detekcia zamrznutia (Freeze) | Stredná | Implementované |
| FR-06 | Detekcia bočného náklonu (Side Tilt) | Stredná | Implementované |
| FR-07 | Multi-modálny alarm (zvuk + LED + displej) | Vysoká | Implementované |
| FR-08 | Automatické zastavenie alarmu | Stredná | Implementované |
| FR-09 | Real-time telemetria | Stredná | Implementované |
| FR-10 | Web dashboard s vizualizáciou | Nízka | Implementované |
Nefunkčné požiadavky
| ID | Požiadavka | Cieľ | Výsledok |
|---|---|---|---|
| NFR-01 | Reakcný čas alarmu | <1s | 0.5-3s |
| NFR-02 | Presnosť detekcie | >95% | 100% |
| NFR-03 | Falošné pozitíva | <10% | <5% |
| NFR-04 | Výdrž batérie | >5h | 5-8h |
| NFR-05 | Cena zariadenia | <€50 | €35 |
| NFR-06 | Hmotnosť | <100g | ~25g |
| NFR-07 | Použiteľnosť | Jednoduchá kalibrácia | 3 sekundy |
Use Cases
UC-01: Štart jazdy
Aktor: Vodič Scenár:
- Vodič nasadí zariadenie na čelo pomocou elastickej čelenky
- Zapne napájanie dlhým stlačením power tlačidla
- Systém automaticky spustí kalibráciu (zobrazí "CALIBRATING")
- Vodič sedí normálne 3 sekundy
- Zobrazí sa "READY" so zelenou farbou - vodič môže začať jazdiť
UC-02: Detekcia silného náklonu (Strong Nod)
Aktor: Vodič, Systém Scenár:
- Vodič jazdí 2 hodiny na diaľnici
- Začína byť unavený, hlava prudko klesá dopredu >25°
- Systém deteguje stav po 500ms
- Aktivuje sa alarm (1000Hz/1500Hz tón + červená LED + "Strong Nod" na displeji)
- Vodič sa prebudí, zdvihne hlavu
- Po 1 sekunde v normálnej polohe sa alarm automaticky vypne
- Vodič pokračuje v jazde alebo sa rozhodne pre prestávku
UC-03: Detekcia mikrospánkov (Micro Nods)
Aktor: Vodič, Systém Scenár:
- Vodič jazdí v noci, je veľmi unavený
- Hlava začína robiť rýchle malé kývnutia (>15°, >12°/s)
- Systém zaznamená 1. kývnutie do bufferu
- Počas nasledujúcich 6 sekúnd deteguje ešte 2 rýchle kývnutia
- Po 3. kývnutí sa okamžite aktivuje alarm "Micro Nods"
- Vodič sa preberie a uvedomí si, že má mikrospánky
- Rozhodne sa zastaviť na odpočinok
UC-04: Manuálna rekalibrácia počas jazdy
Aktor: Vodič Scenár:
- Vodič počas jazdy upraví polohu sedadla alebo volantu
- Zariadenie začína hlásať falošné alarmy kvôli zmenenej polohe
- Vodič na chvíľu zastaví vozidlo
- Stlačí tlačidlo A na zariadení
- Systém spustí kalibráciu (3s)
- Vodič sedí v novej normálnej polohe
- Po dokončení kalibrácie pokračuje v jazde bez falošných alarmov
UC-05: Dlhá cesta s prestávkami
Aktor: Vodič Scenár:
- Vodič začína 6 hodinovú cestu s plánovanými prestávkami
- Po 2 hodinách jazdy sa aktivuje alarm (Slow Drift)
- Vodič sa rozhodne pre 15 minútovú prestávku
- Vypne zariadenie (dlhé stlačenie power)
- Po prestávke zariadenie opäť zapne
- Systém automaticky spustí kalibráciu (vodič je odpočinutý, iná poloha)
- Pokračuje v jazde ďalšie 4 hodiny s ešte jednou prestávkou
UC-06: Reakcia na falošný poplach
Aktor: Vodič Scenár:
- Vodič jazdí po hrboľatej ceste
- Vibrácie spôsobia dočasný alarm (Freeze - systém detegoval nedostatok pohybu)
- Vodič je ale plne pri vedomí
- Rýchlo stlačí tlačidlo B na zariadení
- Alarm sa okamžite vypne
- Vodič pokračuje v jazde
- EMA filter postupne adaptuje na vibrácie
Analýza obmedzení
Hardvérové:
- IMU senzor MPU6886 má šum ±1° → Riešené EMA filtrom
- Batéria 200mAh limituje výdrž → 5-8h je dostatočné pre väčšinu jázd
- Displej 1.14" je malý → Zobrazujú sa len kľúčové informácie
Softvérové:
- Arduino má obmedzené 8MB Flash → Kód optimalizovaný na 120KB
- Loop frequency 20Hz je nižšia než IMU 50Hz → Stačí na detekciu
- Buffer pre micronods je 10 položiek → Pokrýva 8s okno
Používateľské:
- Zariadenie na čele môže byť nepohodlné → Elastická čelenka to zmierňuje
- Nutná kalibrácia pri každom štarte → Proces trvá len 3s
- USB kábel je potrebný pre dashboard → Možné použiť aj samostatne
Navigation: ⬅️ Solution Architecture · ⬆️ SDLC · ⬅️ Projekt · ➡️ Design