Occupancy Zone
The occupancy zone generates a state which indicates whether the zone is occupied or free. The state changes based on the number of points contained in the zones cuboid.
Application
- Disabling volume zones
-
Depending on the state, the measurement of volume zones can be disabled. This is useful to exclude measurement outliers if equipment covers parts of the scene during loading or unloading operations.
- Basic presence detection
-
Detect changes in the point cloud without requiring the change to be detected as an object. This can be useful to detect the state of gates, doors or roller shutters.
Parameters
See configuration API definition.
Occupancy conditions
- Minimum number of points (default: 15)
-
The lower threshold of points. When the number of observed points is greater than or equal to the number of minimum points, the zone is considered occupied.
- Adaptive baseline time constant (default: 0, unit: \(s\))
-
The time constant for adjusting the adaptive baseline. When the value is set to \(0\) (default value), the adaptive baseline calculation is disabled.
- Voxel size (default: 0.05, unit: \(m\))
-
The voxel size used for downsampling the contained point cloud.
Algorithm
The algorithm uses its enclosed portion of the filtered point cloud as input data. It operates in three stages:
Voxel downsampling
Based on the parameter for the zone’s voxel size, the contained point cloud is down-sampled using a uniform voxel grid. Each occupied voxel then contains exactly one point by averaging all contained points.
Count points
The number of points remaining inside the zone after the voxel down-sampling is counted. Before comparing it against the minimum number of points, the current adaptive baseline value is subtracted. The zone is considered occupied if the remaining number of points exceeds the configured threshold.
Update state
Set the output state to the result from the previous stages. If the invert state option is enabled in the configuration, the calculated result for the Occupied flag will be inverted.
If applicable, the current baseline value will be updated. The update step uses an exponential filter with the configured adaptive baseline time constant.
Output
See full API definition.