larvaworld.lib.model.modules.sensor2
Classes
Base class for robot sensors in 2D simulation. |
|
Light intensity sensor for robot navigation. |
|
Proximity sensor for obstacle detection. |
Module Contents
- class larvaworld.lib.model.modules.sensor2.Sensor2(robot: Any, delta_direction: float, saturation_value: float, error: float)
Base class for robot sensors in 2D simulation.
Provides interface for sensor value reading and visualization with configurable orientation, saturation, and noise.
- Attributes:
robot: Parent robot instance. delta_direction: Sensor orientation offset in radians. saturation_value: Maximum sensor reading value. error: Sensor noise/error magnitude. value: Current sensor reading.
- Example:
>>> sensor = Sensor2( ... robot=my_robot, ... delta_direction=0.5, ... saturation_value=1.0, ... error=0.1 ... )
- robot
- delta_direction
- saturation_value
- error
- value = 0
- get_value() float
- draw() None
- class larvaworld.lib.model.modules.sensor2.LightSensor(robot: Any, delta_direction: float, saturation_value: float, error: float, scene: Any)
Bases:
Sensor2Light intensity sensor for robot navigation.
Detects light sources in simulation environment, calculating intensity based on distance and direction using ray-casting.
- Attributes:
LENGTH_SENSOR_LINE: Ray-casting distance for sensor (100 units).
- Example:
>>> light_sensor = LightSensor( ... robot=my_robot, ... delta_direction=0.0, ... saturation_value=100.0, ... error=0.05, ... scene=sim_scene ... )
- LENGTH_SENSOR_LINE = 100
- get_value() float
- draw() None
- class larvaworld.lib.model.modules.sensor2.ProximitySensor(robot: Any, delta_direction: float, saturation_value: float, error: float, max_distance: int, collision_distance: int = 12)
Bases:
Sensor2Proximity sensor for obstacle detection.
Detects nearby obstacles using ray-casting, returning distance to nearest obstacle in sensor direction.
- Attributes:
max_distance: Maximum detection range. collision_distance: Distance threshold for collision (default: 12).
- Example:
>>> prox_sensor = ProximitySensor( ... robot=my_robot, ... delta_direction=-0.785, ... saturation_value=50.0, ... error=0.1, ... max_distance=100 ... )
- max_distance
- collision_distance = 12
- get_value(pos: list[float] | None = None, direction: float | None = None) float
- draw(pos: list[float] | None = None, direction: float | None = None) None