planner.core.action_sampler
#
Module Contents#
- class planner.core.action_sampler.ActionSampler(plant: jacta.planner.dynamics.simulator_plant.SimulatorPlant, graph: jacta.planner.core.graph.Graph, params: jacta.planner.core.parameter_container.ParameterContainer)#
- Parameters:
plant (jacta.planner.dynamics.simulator_plant.SimulatorPlant) –
graph (jacta.planner.core.graph.Graph) –
params (jacta.planner.core.parameter_container.ParameterContainer) –
- reset() None #
- Return type:
None
- initialize(plant: jacta.planner.dynamics.simulator_plant.SimulatorPlant, graph: jacta.planner.core.graph.Graph, params: jacta.planner.core.parameter_container.ParameterContainer) None #
- Parameters:
plant (jacta.planner.dynamics.simulator_plant.SimulatorPlant) –
graph (jacta.planner.core.graph.Graph) –
params (jacta.planner.core.parameter_container.ParameterContainer) –
- Return type:
None
- random_directions(node_ids: torch.IntTensor) torch.FloatTensor #
Generate a random direction.
- Parameters:
node_ids (torch.IntTensor) –
- Return type:
torch.FloatTensor
- proximity_directions(node_ids: torch.IntTensor) torch.FloatTensor #
Generate a direction based on the proximity gradient.
- Parameters:
node_ids (torch.IntTensor) –
- Return type:
torch.FloatTensor
- continuation_directions(node_ids: torch.IntTensor) torch.FloatTensor #
Generate same direction as in-edge action.
- Parameters:
node_ids (torch.IntTensor) –
- Return type:
torch.FloatTensor
- gradient_actions(node_ids: torch.IntTensor) torch.FloatTensor #
Generates actions with dynamics gradients. We formulate a quadratic objective From linearized dynamics, the action minimizing the distance to goal is calculated with optimization.
- Parameters:
node_ids (torch.IntTensor) –
- Return type:
torch.FloatTensor
- directions_actions(node_ids: torch.IntTensor, directions: torch.FloatTensor) torch.FloatTensor #
Calculate a set of actions based on sampled directions and the node’s last action
- Parameters:
node – node we are looking to extend
directions (torch.FloatTensor) – (k, nq) set of directions are looking to expand the node in
node_ids (torch.IntTensor) –
- Returns:
Set of trajectories expanded in the directions
- Return type:
torch.FloatTensor
- __call__(node_ids: torch.IntTensor) Tuple[torch.FloatTensor, int, jacta.planner.core.types.ActionType] #
Combines each method of sampling to select an action and potentially project it into the eigenspace
- Parameters:
node_ids (torch.IntTensor) –
- Return type:
Tuple[torch.FloatTensor, int, jacta.planner.core.types.ActionType]