proximity_pose_plan_dispenser

Submodules

Classes

class brom_drake.motion_planning.systems.proximity_pose_plan_dispenser.config.ProximityPosePlanDispenserConfig(proximity_limit: float = 0.1, translation_weight: float = 1.0, orientation_weight: float = 0.0)[source]
distance_between_poses(pose1: RigidTransform, pose2: RigidTransform) float[source]

Description

This method computes the distance between two poses.

Arguments

pose1RigidTransform

The first pose.

pose2RigidTransform

The second pose.

in_proximity(pose1: RigidTransform, pose2: RigidTransform) bool[source]

Description

This method checks if two poses are within the proximity of each other.

Arguments

pose1RigidTransform

The first pose.

pose2RigidTransform

The second pose.

class brom_drake.motion_planning.systems.proximity_pose_plan_dispenser.dispenser_internal_state.DispenserInternalState(*values)[source]
class brom_drake.motion_planning.systems.proximity_pose_plan_dispenser.dispenser_internal_state.DispenserTransitionRequest(*values)[source]
class brom_drake.motion_planning.systems.proximity_pose_plan_dispenser.proximity_pose_plan_dispenser.ProximityPosePlanDispenser(config: ProximityPosePlanDispenserConfig = ProximityPosePlanDispenserConfig(proximity_limit=0.1, translation_weight=1.0, orientation_weight=0.0))[source]

Description

A dispenser which will dispense the plan that is given to it. It will provide the next point in the plan when the current_pose is “within proximity” of the current target in the plan. The proximity is defined by the proximity config that is given to the dispenser.

Diagram

The LeafSystem’s inputs and outputs can be represented as:

                            -----------------
                            |               |
current_pose -------------> |  Proximity    | ----> pose_in_plan
                            |  Pose         |
plan           -----------> |  Plan         | ----> dispenser_state
                            |  Dispenser    |
request ------------------> |               | ----> current_pose_index
                            |               | 
                            -----------------

Input Ports

plan: AbstractValue (List[RigidTransform])

This port is used to receive the plan that the system should follow.

plan_ready: AbstractValue (bool)

This port is used to receive a boolean that indicates if the plan is ready. Lower this (to false) and then raise it (to true) to trigger the system to reset the plan.

GetCurrentPoseInPlan(context: Context, output_pose: AbstractValue)[source]

Description

This function is responsible for outputting the current pose in the plan that the system is on. The plan will only advance if the system is currently “within proximity” of the current target in the plan. (i.e., if the current pose satisfies the in_proximity() function of the proximity config.)

Parameters

context: Context

The current context of the system.

output_pose: AbstractValue

The output of the system. We will assign a single RigidTransform to this value.

GetCurrentPoseIndex(context: Context, output: BasicVector)[source]

Description

This function is responsible for outputting the current index of the plan that the system is on.

Parameters

context: Context

The current context of the system.

output: BasicVector

The output of the system. We will assign a single value to this vector.

GetInternalState(context: Context, output: BasicVector)[source]

Description

Retrieves the current value of the internal state of this planner. The internal state is defined by the DispenserInternalState enum found in brom_drake/motion_planning/systems/proximity_pose_plan_dispenser/dispsenser_internal_state.py.

Parameters

context: Context

The current context of the system.

output: BasicVector

The output of the system. We will assign a single value to this vector.

advance_plan_if_necessary(context: Context)[source]

Description

This function is responsible for advancing the plan index if the system is ready to do so.

Parameters

context: Context

The current context of the system.

declare_input_ports()[source]

Description

This function creates the input ports for the plan dispenser.

declare_output_ports()[source]

Description

This function creates the output ports for the plan dispenser.

transition_internal_state(context: Context)[source]

Description

This function is responsible for transitioning the internal state of the system based on the request that is given to it.

Parameters

context: Context

The current context of the system.

Functions

(None found)

Variables

(None found)