ROS2 Surveillance Robot · Autonomous Perception

Autonomes industrielles Überwachungssystem mit ROS2 Jazzy — 6 Nodes kommunizieren über Topics, OpenCV-Echtzeit-Anomalieerkennung, autonome STOP/CONTINUE-Entscheidungen und RViz2-Visualisierung der Roboterposition und erkannten Anomalien.

GitHub Repository

1 - Architektur

ROS2 Surveillance Robot Architektur 6 ROS2 Nodes kommunizieren ueber 5 Topics. robot_navigator publiziert robot/pose, camera_sensor publiziert camera/image_raw, anomaly_detector publiziert detection/result, surveillance_manager publiziert robot/command, visualizer zeigt OpenCV Fenster, rviz_publisher zeigt MarkerArray in RViz2 robot_navigator Waypoint navigation camera_sensor Simulated camera images /robot/pose /camera/image_raw anomaly_detector OpenCV HSV detection /detection/result surveillance_manager Autonomous decisions /robot/command visualizer OpenCV live window rviz_publisher MarkerArray for RViz2 OpenCV Window RViz2 3D View
6
ROS2 Nodes
5
ROS2 Topics
30%
Anomalierate
2
Bugs behoben

2 - Live Visualisierung

Zwei gleichzeitige Ansichten — die Kamerasicht und die räumliche Übersicht:

System OK — keine Anomalie
OpenCV — Normalbetrieb: Pièces conformes (grün), System OK
Anomalie erkannt
OpenCV — Anomalie erkannt: rote Bordure, Bounding Box, Confidence 0.48
RViz2 Visualisierung
RViz2 — Roboterposition (blauer Pfeil), Waypoints (grüne Zylinder), erkannte Anomalien (rote Sphären)

3 - ROS2 Topics

TopicTypPublisherSubscriber
/robot/posePose2Drobot_navigatorcamera_sensor, surveillance_manager, rviz_publisher
/camera/image_rawImagecamera_sensoranomaly_detector, visualizer
/detection/resultString (JSON)anomaly_detectorsurveillance_manager, rviz_publisher
/robot/commandStringsurveillance_managerrobot_navigator
/visualization/markersMarkerArrayrviz_publisherRViz2

4 - Autonome Entscheidungslogik

Camera publiziert Bild alle 1s (30% Anomalie-Wahrscheinlichkeit)
        |
AnomalyDetector: HSV-Segmentierung → rote Formen → Confidence Score
        |
SurveillanceManager:
  confidence > 0.3 → STOP  → Robot haelt an aktueller Position
  zone clear       → CONTINUE → Robot setzt Patrouille fort
        |
Visualizer: OpenCV-Fenster mit Bounding Boxes und Status
RViz2:      Anomalie-Marker an exakter Position in 3D-Raum
⚠️ Bug 1 — Confidence Threshold: surveillance_manager hatte Schwelle 0.5, aber detector meldete 0.48 — alle Anomalien wurden verpasst (0/N erkannt). Fix: Schwelle auf 0.3 gesenkt.
⚠️ Bug 2 — flake8 Import Order: ROS2 verwendet google-style Import-Reihenfolge (I100, I201, Q000). Durch CI-Pipeline in 3 Fix-Commits iterativ behoben.
✅ Nach allen Fixes: CI grün, alle Tests bestanden, System läuft stabil.

5 - Tech Stack

ROS2 Jazzy Python OpenCV RViz2 Publisher / Subscriber MarkerArray cv_bridge colcon GitHub Actions CI WSL2 Ubuntu 24.04 Autonome Entscheidung Computer Vision

6 - Ausblick