Source code for brom_drake.utils.pick_and_place.target_description

from dataclasses import dataclass
from pathlib import Path
from pydrake.geometry.optimization import HPolyhedron
from pydrake.all import ModelInstanceIndex

# Internal Imports
from brom_drake.utils.pick_and_place.phase import PickAndPlacePhase

[docs] @dataclass class PickAndPlaceTargetDescription: file_path: Path goal_region: HPolyhedron model_instance_index: ModelInstanceIndex = None _name: str = None @property def name(self) -> str: # If a name was provided, then provide that instead. if self._name is not None: return self._name # If a name was not provided, then extract a name from the file_path. file_name = self.file_path.name return file_name[:file_name.find('.')] def name_for_pick_and_place_phase(self, phase: PickAndPlacePhase) -> str: return self.name + "_" + phase.to_str()