Repository navigation
23. WorldModeller Configuration
The WorldModeller creates and updates the robot perception model by interpreting the event flow generated by the robot sensors.
It builds and maintains:
- the radar map;
- the polar map;
- the robot-relative radar map;
- the marker location map.
The configuration is validated against the world-modeller-schema-0.2 JSON schema before the modeller is created.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contactPersistence |
integer | Yes | - | Persistence time of contact detections in the radar map (milliseconds). |
correlationInterval |
integer | Yes | - | Time interval used to correlate consecutive sensor events (milliseconds). |
markerCleanDecay |
number | Yes | - | Time decay used to remove obsolete marker information. |
markerDecay |
number | Yes | - | Time decay used to update marker position confidence. |
markerSize |
number | Yes | - | Physical size of detected markers (meters). |
minNumberEvents |
integer | No | 1 | Minimum number of events required before updating the marker map. |
minRadarDistance |
number | Yes | - | Minimum distance considered valid when generating the polar map (meters). |
numSectors |
integer | No | - | Number of sectors used by the polar map representation. |
obstaclePersistence |
integer | Yes | - | Persistence time of obstacle detections in the radar map (milliseconds). |
radarCleanInterval |
integer | Yes | - | Interval between radar map cleaning operations (milliseconds). |
radarDecay |
number | Yes | 300000 | Decay factor used for radar confidence reduction. |
radarGrid |
number | Yes | - | Size of each radar map cell (meters). |
radarHeight |
integer | Yes | - | Height of the radar grid (number of cells). |
radarWidth |
integer | Yes | - | Width of the radar grid (number of cells). |
robotMapSize |
integer | Yes | - | Size of the robot-relative map representation. |
radarWidth: 200
radarHeight: 200
radarGrid: 0.02
radarCleanInterval: 1000
correlationInterval: 500
obstaclePersistence: 5000
contactPersistence: 3000
radarDecay: 300000
numSectors: 72
minRadarDistance: 0.05
markerDecay: 300000
markerCleanDecay: 600000
markerSize: 0.2
minNumberEvents: 3
robotMapSize: 100Defines the horizontal dimension of the radar occupancy grid.
The value represents the number of cells composing the radar map width.
Together with radarHeight and radarGrid, it determines the physical extension of the radar map.
Defines the vertical dimension of the radar occupancy grid.
The value represents the number of cells composing the radar map height.
A larger grid increases the monitored area but requires more memory.
Defines the size of a single radar map cell in meters.
Example:
radarGrid: 0.02means that every radar cell represents an area of:
2 cm x 2 cm
A smaller value increases spatial resolution but increases computational requirements.
Defines the interval between radar map cleaning operations.
During cleaning, obsolete information is removed according to persistence and decay parameters.
A smaller value:
- keeps the map more updated;
- increases processing load.
A larger value:
- reduces computation;
- keeps old information longer.
Defines the time window used to correlate consecutive sensor events.
Events received within this interval can contribute to the same world model update.
Defines how long obstacle detections remain valid after the last confirmation.
The value is expressed in milliseconds.
Longer persistence values make the map more stable but can preserve outdated obstacles.
Defines how long contact detections remain active in the radar model.
Contact events represent close-range interactions between the robot and obstacles.
Defines the decay parameter used by the radar model.
It controls the reduction of confidence of old radar observations.
Default value:
300000
Defines the number of angular sectors used by the polar map.
The polar map converts the Cartesian radar grid into a directional representation.
A larger number of sectors provides better angular resolution.
Example:
numSectors: 72creates sectors of approximately:
360 / 72 = 5 degrees
Defines the minimum distance considered valid during polar map generation.
Radar information closer than this threshold is ignored.
This avoids considering measurements affected by the robot body or sensor mounting position.
Defines the decay time used for marker position information.
Markers represent QR-code landmarks detected in the environment.
A larger value keeps marker information available for longer periods.
Defines the time after which obsolete marker information is removed.
This value controls the cleaning of the marker map.
Defines the physical size of detected markers in meters.
The value is used during marker observation processing and position estimation.
Example:
markerSize: 0.2represents a marker with a side length of 20 cm.
Defines the minimum number of marker detection events required before updating the marker map.
Default value:
1
Increasing this value reduces the probability of updating the map from false detections.
Defines the size of the robot-relative radar map.
The robot-relative map is centered on the robot and follows its movement.
During initialization the WorldModeller performs the following steps:
- Validates the configuration document.
- Creates the radar modeller.
- Creates the polar map modeller.
- Creates the marker locator.
- Creates the robot-relative map representation.
- Starts processing the sensor event flow.
The resulting modeller is ready to provide updated world models to the controller and inference components.
The radar modeller maintains a grid representation of the environment.
Each grid cell can represent:
- unknown space;
- free space;
- occupied space.
Sensor observations update cells and their confidence values.
Old observations are progressively reduced according to the configured decay parameters.
The polar map is generated from the radar grid.
The environment is divided into angular sectors around the robot.
For each sector the closest relevant information is selected according to the following priority:
- obstacle detection;
- known free space;
- unknown space.
This representation is used for navigation and obstacle avoidance.
The marker locator processes QR-code observations.
Multiple observations can be correlated to estimate marker positions.
The update occurs only after the configured number of events has been reached.
The configuration is validated before creating the WorldModeller.
The following parameters are mandatory:
-
radarWidth; -
radarHeight; -
radarGrid; -
radarCleanInterval; -
correlationInterval; -
obstaclePersistence; -
contactPersistence; -
radarDecay; -
markerDecay; -
markerCleanDecay; -
markerSize; -
minRadarDistance; -
robotMapSize.
Additional validation rules:
- numeric values requiring positive values must be greater than zero;
- integer dimensions must be at least one;
- the document must conform to the
world-modeller-schema-0.2JSON schema.
If validation fails, modeller creation is aborted with an exception.
Current version: 0.27.0