TemperatureGridSensor¶
Coarse thermal-grid sensor, backed by genesis.sensors.TemperatureGrid.
A regular (nx, ny, nz) grid of temperature samples carried on a robot
link. Useful as a low-cost thermal proxy for tasks where contact-driven heat
matters — friction-warmed end-effectors, exhaust plumes, thermal-aware
grasping. This is the minimum-viable wrapper exposing grid resolution and
ambient temperature; the richer Genesis surface (per-material
properties_dict, heat_generation, convection_coefficient) is omitted
from this revision.
Configuration¶
TemperatureGridSensorCfg extends SensorCfg. All fields are keyword-only.
| Field | Type | Default | Notes |
|---|---|---|---|
name |
str |
"" |
Inherited from SensorCfg. Unique per scene. |
entity_name |
str |
"robot" |
Inherited. Which entity carries the grid. |
link_name |
str |
"" |
Link that carries the grid. Required. |
grid_size |
tuple[int, int, int] |
(1, 1, 1) |
(nx, ny, nz) resolution in the link's local frame. |
ambient_temperature |
float \| None |
None |
Seed temperature in degrees Celsius. None falls through to Genesis's per-material defaults. |
history_length |
int |
0 |
Forwarded to Genesis. 0 = current-step only; > 0 allocates a ring buffer and data.temperature carries a leading history axis. |
Data¶
TemperatureGridData.temperature is
(num_envs, [history,] nx, ny, nz) in degrees Celsius.
Example¶
from genelab.configs import InteractiveSceneCfg
from genelab.sensor import TemperatureGridSensorCfg
scene_cfg = InteractiveSceneCfg(
sensors=(
TemperatureGridSensorCfg(
name="gripper_thermals",
link_name="right_gripper",
grid_size=(4, 4, 2),
ambient_temperature=22.0,
),
),
)