description
Housekeeping/blockage rule: fire when a pallet (or product package) stays on the floor longer than violent_count seconds (default 60 min), and re-fire every violent_count while it remains. A pallet overlapping a truck is skipped (being loaded/unloaded). Alert batching: when other pallets are within first_waiting_window_time of violating, reporting is held so several pallets land in one event instead of alert spam — held at most max_wait_time before force-fire. Zone check keeps the legacy two-point semantics (bbox center AND center-bottom inside a cam_zone). Evidence per pallet = first + last detection of each video segment. See PL03 for the hardened variant with movement resets, region-level cooldown and stricter batch FSM guards.
use cases
- pallets left blocking aisles or staging areas beyond the allowed window
- dock housekeeping SLAs (nothing on the floor for more than an hour)
- grouped reporting to keep long-lived violations from spamming operators
limitations
- track-id based — if the tracker loses and re-acquires a pallet the timer restarts (PL03 fixes this with a region cooldown)
- on-floor means a static bbox on camera; it cannot tell a pallet on the floor from one on a rack edge without proper zones
- long thresholds mean slow feedback by design
config parameters
general
| Parameter | Type | Default | Notes |
|---|---|---|---|
| violent_count * | integer | 3600 | seconds on floor → violation + re-report interval (min 1) |
| first_waiting_window_time | integer | 600 | near-violation batching window (s) (min 0) |
| max_wait_time | integer | 5400 | max batch hold before force-report (s) (min 0) |
zone
| Parameter | Type | Default | Notes |
|---|---|---|---|
| cam_zones | array of array of pair of number | [] |
advanced
| Parameter | Type | Default | Notes |
|---|---|---|---|
| pallet_classes | array of string | ["pallet", "product_package"] | |
| truck_classes | array of string | ["truck"] |
golden replay cases
| Case | Frames | Expected events |
|---|---|---|
| pallet-on-floor | 8 | 1 |