File size: 1,124 Bytes
8c5a841
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class IsaacLabArenaError(RuntimeError):
    """Base exception for IsaacLab Arena environment errors."""

    def __init__(self, message: str = "IsaacLab Arena error"):
        self.message = message
        super().__init__(self.message)


class IsaacLabArenaConfigError(IsaacLabArenaError):
    """Exception raised for invalid environment configuration."""

    def __init__(self, invalid: list, available: list, key_type: str = "keys"):
        msg = f"Invalid {key_type}: {invalid}. Available: {sorted(available)}"
        super().__init__(msg)
        self.invalid = invalid
        self.available = available


class IsaacLabArenaCameraKeyError(IsaacLabArenaConfigError):
    """Exception raised when camera_keys don't match available cameras."""

    def __init__(self, invalid: list, available: list):
        super().__init__(invalid, available, "camera_keys")


class IsaacLabArenaStateKeyError(IsaacLabArenaConfigError):
    """Exception raised when state_keys don't match available state terms."""

    def __init__(self, invalid: list, available: list):
        super().__init__(invalid, available, "state_keys")