| from enum import Enum |
|
|
|
|
| class EnvironmentType(Enum): |
| |
| EMPTY_DISK_CIRCLE = "EnvEmpty2DRobotPlanarDiskCircle" |
| EMPTY_DISK_BOUNDARY = "EnvEmpty2DRobotPlanarDiskBoundary" |
| EMPTY_DISK_RANDOM = "EnvEmpty2DRobotPlanarDiskRandom" |
| EMPTY_DISK_LARGE = "EnvEmptyLarge2DRobotPlanarDisk" |
| EMPTY_DISK_EXTRA_LARGE = "EnvEmptyExtraLarge2DRobotPlanarDisk" |
|
|
| CONVEYOR_DISK_CIRCLE = 'EnvConveyor2DRobotPlanarDiskCircle' |
| CONVEYOR_DISK_BOUNDARY = "EnvConveyor2DRobotPlanarDiskBoundary" |
| CONVEYOR_DISK_RANDOM = "EnvConveyor2DRobotPlanarDiskRandom" |
|
|
| |
| RANDOM_DISK_BASIC = "EnvRandom2DRobotPlanarDisk" |
| RANDOM_DISK_DENSE = "EnvRandomDense2DRobotPlanarDisk" |
| RANDOM_DISK_LARGE = "EnvRandomLarge2DRobotPlanarDisk" |
| RANDOM_DISK_EXTRA_LARGE = "EnvRandomExtraLarge2DRobotPlanarDisk" |
|
|
| |
| HIGHWAYS_DISK_SMALL_CIRCLE = "EnvHighways2DRobotPlanarDiskSmallCircle" |
| HIGHWAYS_DISK_RANDOM = "EnvHighways2DRobotPlanarDiskRandom" |
| DROP_REGION_DISK_BOUNDARY = "EnvDropRegion2DRobotPlanarDiskBoundary" |
| |
| TEST_2X2_RANDOM = "EnvTestTwoByTwoRobotPlanarDiskRandom" |
| TEST_3X3_RANDOM = "EnvTestThreeByThreeRobotPlanarDiskRandom" |
| TEST_4X4_RANDOM = "EnvTestFourByFourRobotPlanarDiskRandom" |
|
|
| @classmethod |
| def choices(cls): |
| return [e.value for e in cls] |
|
|
| @classmethod |
| def from_string(cls, s): |
| for e in cls: |
| if e.value == s: |
| return e |
| raise ValueError(f"Invalid environment name: {s}. Valid options: {cls.choices()}") |
|
|
|
|
| class MultiAgentPlannerType(Enum): |
| PP = "PP" |
| CBS = "CBS" |
| ECBS = "ECBS" |
| XECBS = "XECBS" |
| XCBS = "XCBS" |
|
|
| @classmethod |
| def choices(cls): |
| return [e.value for e in cls] |
|
|
|
|
| class LowerPlannerMethodType(Enum): |
| MDOC = 'MDOCEnsemble' |
| |
| WASTAR = 'WAStar' |
| WASTARDATA = 'WAStarData' |
| KCBS = "KCBSLower" |
| MMD = 'MMDEnsemble' |
|
|
|
|
| @classmethod |
| def choices(cls): |
| return [e.value for e in cls] |