pomdp_py.problems.multi_object_search.domain package¶
Submodules¶
pomdp_py.problems.multi_object_search.domain.action module¶
Defines the Action for the 2D Multi-Object Search domain;
Action space:
Motion \(\cup\) Look \(\cup\) Find
Motion Actions scheme 1: South, East, West, North.
Motion Actions scheme 2: Left 45deg, Right 45deg, Forward
Look: Interprets sensor input as observation
Find: Marks objects observed in the last Look action as (differs from original paper; reduces action space)
It is possible to force “Look” after every N/S/E/W action; then the Look action could be dropped. This is optional behavior.
- class pomdp_py.problems.multi_object_search.domain.action.Action(name)[source]¶
Bases:
Action
Mos action; Simple named action.
- class pomdp_py.problems.multi_object_search.domain.action.MotionAction(motion, scheme='xy', distance_cost=1, motion_name=None)[source]¶
Bases:
Action
- SCHEME_XYTH = 'xyth'¶
- EAST = (1, 0, 0)¶
- WEST = (-1, 0, 3.141592653589793)¶
- NORTH = (0, -1, 4.71238898038469)¶
- SOUTH = (0, 1, 1.5707963267948966)¶
- SCHEME_VW = 'vw'¶
- FORWARD = (1, 0)¶
- BACKWARD = (-1, 0)¶
- LEFT = (0, -0.7853981633974483)¶
- RIGHT = (0, 0.7853981633974483)¶
- SCHEME_XY = 'xy'¶
- EAST2D = (1, 0)¶
- WEST2D = (-1, 0)¶
- NORTH2D = (0, -1)¶
- SOUTH2D = (0, 1)¶
- SCHEMES = {'vw', 'xy', 'xyth'}¶
pomdp_py.problems.multi_object_search.domain.observation module¶
Defines the Observation for the 2D Multi-Object Search domain;
Origin: Multi-Object Search using Object-Oriented POMDPs (ICRA 2019) (extensions: action space changes, different sensor model, gridworld instead of topological graph)
Observation:
{objid : pose(x,y) or NULL}
. The sensor model could vary; it could be a fan-shaped model as the original paper, or it could be something else. But the resulting observation should be a map from object id to observed pose or NULL (not observed).
- class pomdp_py.problems.multi_object_search.domain.observation.ObjectObservation(objid, pose)[source]¶
Bases:
Observation
The xy pose of the object is observed; or NULL if not observed
- NULL = None¶
- class pomdp_py.problems.multi_object_search.domain.observation.MosOOObservation(objposes)[source]¶
Bases:
OOObservation
Observation for Mos that can be factored by objects; thus this is an OOObservation.
pomdp_py.problems.multi_object_search.domain.state module¶
Defines the State for the 2D Multi-Object Search domain;
Origin: Multi-Object Search using Object-Oriented POMDPs (ICRA 2019) (extensions: action space changes, different sensor model, gridworld instead of topological graph)
Description: Multi-Object Search in a 2D grid world.
State space:
\(S_1 \times S_2 \times ... S_n \times S_r\) where \(S_i (1\leq i\leq n)\) is the object state, with attribute “pose” \((x,y)\) and Sr is the state of the robot, with attribute “pose” \((x,y)\) and “objects_found” (set).
- class pomdp_py.problems.multi_object_search.domain.state.ObjectState(objid, objclass, pose)[source]¶
Bases:
ObjectState
- property pose¶
- property objid¶
Module contents¶
Defines state, action and observation