problems.multi_object_search.models.components package¶
Submodules¶
problems.multi_object_search.models.components.grid_map module¶
Optional grid map to assist collision avoidance during planning.
- class problems.multi_object_search.models.components.grid_map.GridMap(width, length, obstacles)[source]¶
Bases:
object
This map assists the agent to avoid planning invalid actions that will run into obstacles. Used if we assume the agent has a map. This map does not contain information about the object locations.
problems.multi_object_search.models.components.sensor module¶
Sensor model (for example, laser scanner)
- class problems.multi_object_search.models.components.sensor.Sensor[source]¶
Bases:
object
- LASER = 'laser'¶
- PROXIMITY = 'proximity'¶
- within_range(robot_pose, point)[source]¶
Returns true if the point is within range of the sensor; but the point might not actually be visible due to occlusion or “gap” between beams
- property sensing_region_size¶
- property robot_id¶
- class problems.multi_object_search.models.components.sensor.Laser2DSensor(robot_id, fov=90, min_range=1, max_range=5, angle_increment=5, occlusion_enabled=False)[source]¶
Bases:
object
Fan shaped 2D laser sensor
- in_field_of_view(view_angles)[source]¶
Determines if the beame at angle th is in a field of view of size view_angles. For example, the view_angles=180, means the range scanner scans 180 degrees in front of the robot. By our angle convention, 180 degrees maps to [0,90] and [270, 360].
- within_range(robot_pose, point)[source]¶
Returns true if the point is within range of the sensor; but the point might not actually be visible due to occlusion or “gap” between beams
- shoot_beam(robot_pose, point)[source]¶
Shoots a beam from robot_pose at point. Returns the distance and bearing of the beame (i.e. the length and orientation of the beame)
- valid_beam(dist, bearing)[source]¶
Returns true beam length (i.e. dist) is within range and its angle bearing is valid, that is, it is within the fov range and in accordance with the angle increment.
- property sensing_region_size¶
- class problems.multi_object_search.models.components.sensor.ProximitySensor(robot_id, radius=5, occlusion_enabled=False)[source]¶
Bases:
Laser2DSensor
This is a simple sensor; Observes a region centered at the robot.