Dokumentation und Qualitaetssicherung¶
Zweck¶
Uebersicht ueber Dokumentationsstruktur, Schreibregeln, LaTeX-Build-Prozess, V-Modell-Validierung und uebergreifende Qualitaetspruefungen.
Regel¶
Diese Datei ist die zentrale Referenz fuer Dokumentationskonventionen. Detaillierte Pruefkonfigurationen stehen in docs/quality_checks.md, Validierungsskripte in docs/validation.md.
1. Dokumentationsstruktur¶
| Verzeichnis | Inhalt | Format |
|---|---|---|
projektarbeit/ | Wissenschaftliche Projektarbeit (7 Kapitel) | Markdown + LaTeX |
projektarbeit/latex/ | LaTeX-Kompilation der Projektarbeit | .tex, .cls, .bib |
planung/ | Roadmap, Testanleitungen, Messprotokolle, Abschlussbericht | Markdown |
planung/vortrag/ | Beamer-Praesentationen | LaTeX |
hardware/ | Hardware-Spezifikationen, Datenblaetter, Kosten | Markdown + LaTeX |
hardware/latex/ | Hardware-Spezifikation als PDF | LaTeX |
docs/ | Technische Referenzdokumente | Markdown |
2. Projektarbeit¶
7 Kapitel als Markdown-Quelldateien in projektarbeit/:
| Kapitel | Datei | Inhalt |
|---|---|---|
| 1 | kapitel_01_einleitung.md | Ausgangssituation, Zielsetzung, Methodik, Aufbau |
| 2 | kapitel_02_grundlagen.md | AMR, Modellierung, Sensorik, Software, SLAM, Nav2 |
| 3 | kapitel_03_anforderungsanalyse.md | Szenario, Randbedingungen, Anforderungsliste |
| 4 | kapitel_04_systemkonzept.md | Morphologischer Kasten, Architektur, Mechanik, Software, Regelung |
| 5 | kapitel_05_implementierung.md | Hardware, Firmware, ROS2, Kalibrierung, Navigation, Integration |
| 6 | kapitel_06_validierung.md | Testkonzept, Subsystem-Tests, Navigation, Docking, Ressourcen, Diskussion |
| 7 | kapitel_07_fazit.md | Zusammenfassung, kritische Wuerdigung, Ausblick |
LaTeX-Dateien in projektarbeit/latex/:
| Datei | Funktion |
|---|---|
main.tex | Hauptdokument (bindet Kapitel ein) |
amr.cls | Dokumentklasse (NICHT aendern ohne zwingenden Grund) |
literatur.bib | BibTeX-Literaturdatenbank |
kap1.tex bis kap7.tex | Kapitel (aus Markdown konvertiert oder direkt in LaTeX) |
3. Sprache und Stil¶
Allgemeine Regeln¶
- Deutsch im wissenschaftlich-technischen Stil
- Aktiv, neutral, konsistent
- Ein Thema pro Abschnitt
- Ablauf: Daten → Regel → Schluss → Konsequenz
- Formeln und Einheiten mit Bezug und sauberer Schreibweise
Umlaut-Regel¶
- Markdown-Dateien im Git-Repository: Keine UTF-8-Umlaute. Stattdessen ae, oe, ue, ss verwenden.
- LaTeX-/Pandoc-Quelltexte (
.tex-Dateien): UTF-8-Umlaute zulaessig.
Terminologie-Norm (zwingend)¶
Normierte Begriffe in allen Dokumenten konsistent verwenden:
| Normierter Begriff | NICHT verwenden |
|---|---|
| Fahrkern | "Drive-Node" im Fliesstext |
| Sensor- und Sicherheitsbasis | "Sensor-Node" im Fliesstext |
| Lokalisierung und Kartierung | "Lokalisierung, Kartierung" (kein Komma) |
| Navigation | "Navigations-..." |
| Bedien- und Leitstandsebene | "Dashboard-Ebene", "Navigations- und Leitstandsebene" |
| Benutzeroberflaeche | "Frontend", "UI", "Web-UI" |
| Knoten | "Node" im deutschen Fliesstext |
| Projektfrage (PF1, PF2, PF3) | "Forschungsfrage", "FF1-FF3" |
| Sprachschnittstelle | — |
| Sicherheitslogik | — |
| Freigabelogik | — |
| Missionskommando | — |
| Intent | — |
Drei Ebenen¶
| Ebene | Bezeichnung | Umfang |
|---|---|---|
| A | Fahrkern | Antrieb, Regelung, Odometrie, Sensorik |
| B | Bedien- und Leitstandsebene | Dashboard, Fernsteuerung, Telemetrie |
| C | Intelligente Interaktion | Sprache, Semantik, KI-Erkennung |
Vollstaendige Stilregeln: docs/projektarbeit_style.md.
4. LaTeX-Build¶
cd projektarbeit/latex/ && make # Projektarbeit PDF (2x pdflatex + bibtex)
cd projektarbeit/latex/ && make once # Schnelldurchlauf (1x pdflatex)
cd hardware/latex/ && make # Hardware-Spezifikation PDF
cd planung/vortrag/ && make # Beamer-Vortrag PDF
5. V-Modell und Testphasen¶
Die Validierung folgt einem V-Modell mit 5 Phasen:
| Phase | Funktionsbereich | Testanleitung | Messprotokoll |
|---|---|---|---|
| 1+2 | Fahrkern + Sensor- und Sicherheitsbasis | planung/testanleitung_phase1_phase2.md | planung/messprotokoll_phase1_phase2.md |
| 3 | Lokalisierung und Kartierung | planung/testanleitung_phase3.md | planung/messprotokoll_phase3.md |
| 4 | Navigation + Docking | planung/testanleitung_phase4.md | planung/messprotokoll_phase4.md |
| 5 | Systemintegration | planung/testanleitung_phase5.md | planung/messprotokoll_phase5.md |
Quantitative Akzeptanzkriterien (Auswahl)¶
| Test | Messgroesse | Kriterium |
|---|---|---|
| SLAM (Phase 3) | ATE (RMSE) | < 0.20 m |
| SLAM (Phase 3) | TF-Rate map→odom | >= 1.5 Hz |
| Navigation (Phase 4) | Positionsfehler (xy) | < 0.10 m |
| Navigation (Phase 4) | Orientierungsfehler (yaw) | < 0.15 rad |
| Docking (Phase 4) | Erfolgsquote | 100% (10/10) |
| Cliff-Latenz | End-to-End | < 50 ms |
Ergebnisformat¶
Jedes Validierungsskript erzeugt eine JSON-Datei (<name>_results.json). Aggregation:
Vollstaendige Skript-Referenz: docs/validation.md.
6. Qualitaetspruefungen¶
Gesamtlauf (11 Hooks)¶
Einzelpruefungen nach Domaene¶
| Domaene | Befehl | Konfiguration |
|---|---|---|
| Python | ruff check amr/ | ruff.toml |
| Python Format | ruff format --check amr/ | ruff.toml |
| Python Types | mypy --config-file mypy.ini | mypy.ini |
| C++ Format | clang-format --dry-run --Werror amr/mcu_firmware/... | .clang-format |
| TypeScript | cd dashboard && npm run lint | dashboard/eslint.config.js |
| TypeScript Types | cd dashboard && npx tsc --noEmit | dashboard/tsconfig.json |
Detaillierte Konfiguration aller Hooks: docs/quality_checks.md.
7. Referenzdokumente¶
| Dokument | Inhalt |
|---|---|
docs/architecture.md | Systemarchitektur, Kommunikationspfade |
docs/build_and_deploy.md | Build- und Deployment-Prozesse |
docs/ros2_system.md | ROS2 Topics, TF, Launch-Parameter, QoS |
docs/dashboard.md | Dashboard WebSocket-Protokoll, Seiten, Sicherheit |
docs/firmware.md | MCU-Firmware Architektur, Module, CAN-Bus |
docs/vision_pipeline.md | Vision-Pipeline (Hailo, Gemini) |
docs/serial_port_management.md | USB-Port-Zuordnung (udev) |
docs/robot_parameters.md | Roboter-Parameter |
docs/validation.md | Validierungsskripte und Messkriterien |
docs/quality_checks.md | Pre-commit Hooks und Linting-Konfiguration |
docs/projektarbeit_style.md | Stilregeln fuer die Projektarbeit |
docs/literature_workflow.md | Literatur-Workflow |
planung/roadmap.md | Projekt-Roadmap |
planung/abschlussbericht.md | Abschlussbericht |
planung/systemdokumentation.md | Systemdokumentation |
planung/benutzerhandbuch.md | Benutzerhandbuch |