24 lines
521 B
Python
24 lines
521 B
Python
from dataclasses import dataclass
|
|
from typing import Dict, Any
|
|
|
|
@dataclass
|
|
class LocalProblem:
|
|
robot_id: str
|
|
target_pos: float
|
|
current_pos: float = 0.0
|
|
dual_var: float = 0.0 # y_i
|
|
|
|
@dataclass
|
|
class SharedVariables:
|
|
version: int
|
|
global_consensus: float # z
|
|
|
|
@dataclass
|
|
class SafetyPolicy:
|
|
max_travel_distance: float
|
|
|
|
def verify(self, start_pos: float, new_pos: float) -> bool:
|
|
if abs(new_pos - start_pos) > self.max_travel_distance:
|
|
return False
|
|
return True
|