
**VLM Police Patrol - Stage 3 in progress** (Robotics Dream Keeper Challenge)

Repo:
https://github.com/z...M-Police-Patrol

Stage 3 brief:
https://github.com/D...tage3-launch.md
Full stack integrated and running end-to-end on the RDK X5 - a patrol robot that spots people on-board, triages them against a reference photo via VLM, and drops confirmed matches onto a live map from a browser dashboard.
**

Technical writing**
Architecture, ROS 2 graph, calibration, and known issues all written up in `docs/technical.md`. README maps every piece straight to the challenge's own competency checklist (bring-up, model deployment, ROS 2 tuning, thermal/profiling).
**

Benchmarks**
- YOLO11n person detector on the **BPU** (640×640 NV12, int8) - continuous stream
- InternVL2.5-1B VLM - ViT encode on **BPU**, Qwen2.5-0.5B decode on CPU (llama.cpp)
- Two workloads running concurrently: live detection never stalls while a VLM triage is in flight
- Full stack + VLM active: ~70°C / ~90% CPU - teleop stays smooth since motion control lives on the Pico, not the X5
Full numbers:
https://github.com/z...s/benchmarks.md
**

End-to-end bring-up**
One script (`sh/master.sh`) sequences all 9 nodes 2s apart so dependencies are ready before consumers start: base/micro-ROS/EKF -> camera -> YOLO -> VLM -> matcher -> AMCL -> localizer -> dashboard -> OLED. cmd_vel watchdog auto-brakes the bot if the connection ever drops.
**

Left to do - visual data**
- Photo of the robot
- URDF render
- Dashboard screenshot (with overlays)
- OLED status display photo
- Demo video (full loop)