Open Source 2020

LiDAR Visitor Tracking

Software for LiDAR-based visitor detection and flow analysis in museum environments.

Role: Developer

LiDARC++openFrameworksOSC

About the Project

Open source software for LiDAR-based visitor detection and flow analysis in museum environments. The lidar toolset detects visitor positions using wall-mounted LiDAR sensors and distributes tracking data via OSC, WebSockets, MQTT, InfluxDB, and Lua scripting to interactive installations and analytics systems. Developed at ZKM | Center for Art and Media Karlsruhe as part of “The Intelligent Museum” initiative (ZKM and Deutsches Museum Nuremberg, 2020-2023), funded by Germany’s Federal Cultural Foundation. Released as open source under the BSD Simplified License in November 2023.

Components

  • lidartool — collects sensor data and performs object detection and tracking, with web GUI for configuration and visualization
  • lidarnode — virtualizes LiDAR devices on small computation units (Raspberry Pi, Rock Pi S) for distributed sensor placement via UDP networking
  • lidaradmin — manages numerous distributed LiDAR nodes across large installations
  • lidarconfig — tools for creating, editing, and managing sensor configurations

Supported Hardware

The software supports sensors from multiple manufacturers: Slamtec RPLidar (A1M8, A3M1, A2M7, A2M8 — up to 25m range), YDLidar (Tmini Pro, G/X/S/F/TX/TG series), LDRobot (LD06, LD19, STL27L — up to 25m range), LSLidar (N10, M10), and ORadar (MS200). Runs on Linux: desktop PCs (Ubuntu), Raspberry Pi 3/4, and Radxa Rock Pi S.

Features

  • Contactless tracking — no cameras or wearable devices needed, privacy-preserving by design
  • Multi-sensor fusion — seamless coverage of large areas, proven with 53 sensors across 1,400 sqm
  • Multiple output protocols — OSC, WebSockets, MQTT, InfluxDB, and Lua scripting
  • Calibration tools — web GUI for sensor alignment, zone configuration, and real-time tracking visualization
  • Distributed architecture — single-computer or client-server setups with UDP networking between nodes