Humanoid Robotics (ISO 13849)
OmniSensor-Integration: Multi-Sensor Fusion Topologie
Software-in-the-Loop (SIL) Testsystem mit LiDAR (60%) + Vision (40%) Fusion, Fallback-Mechanismen bei Hardware-Fehler, <100ms Latency unter Verdeckung
Das versteckte Problem: Sensor-Gewichte im Embedded C++ versteckt
- Anforderung: „Zuverlässige Mensch-Erkennung <100ms, ISO 13849 konform"
- Implementation: LiDAR 60% Gewicht + Vision 40% Gewicht (Fusion)
- Das Problem: Gewichtungen sind im HAL-Code hardcodiert, nicht tracierbar
- Sicherheits-Frage: „Wenn das ML-Backend crasht — ist die Anforderung noch erfüllbar?"
- Manuelle Antwort: Sicherheits-Ingenieur muss C++ + ROS2 Architektur durchgehen (4+ Stunden)
- Graph-Antwort: Sofort: „LiDAR-Fallback aktiv, +40ms Latenz aber <100ms" ✓
Der Vimpact-Graph: Automatische Dependency-Analyse
- Alle Sensor-Module als Knoten: ML_INFERENCE_ENGINE, CPU_FALLBACK, LIDAR_DETECTOR, VISION_DETECTOR
- Kanten mit Gewichten & Fallback: weight: 0.4, has_fallback: true, latency_impact: "+40ms"
- Latency Budget als Graph-Constraint: REQ_100MS depends_on [ML_INFER + FUSION + SAFETY_LOGIC]
- Impact-Analyse: „Remove ML_BACKEND" → Graph berechnet Pfade → 60ms (OK) oder 120ms (FAIL)
- Compliance-Verifikation: Hat jeder Fallback-Pfad einen ISO 13849 Test? Graph validiert!
Reale Sensor-Fusion Topologie
SAFETY REQUIREMENT (Graph-Knoten): "Human detection <100ms, confidence >95%, unter Okklusion" │ verified_by (OpenSCENARIO) ▼ TEST SCENARIO: "Person hinter Hindernis (60% Verdeckung) + Dämmerlicht" │ depends_on (Weighted Sensor Fusion) ├─▶ 3D-Sensor (60% Gewicht) — 16-Ring, 180° FOV, 10Hz ├─▶ RGB-Depth Kamera (40% Gewicht) — 120° HFOV, RealSense └─▶ Kalman-Filter Tracking — 5-Frame Memory, Velocity-Estimation
Graph-Knoten: ML Inference Engine
{
"node_id": "HAL_ML_INFERENCE",
"type": "inference_engine",
"framework": "Quantized Vision Transformer (local)",
"edges": [
{ "to": "SENSOR_FUSION_NODE", "type": "powers", "weight": 0.4 },
{ "to": "HAL_CPU_FALLBACK", "type": "has_fallback", "latency_penalty_ms": 100 }
],
"properties": { "latency_ms": 15, "failure_rate": "< 1e-8/h" }
}