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]