Skip to content

Agent

src.python_motion_planning.utils.agent.agent.Agent

Bases: ABC

Abstract class for agent.

Parameters:

Name Type Description Default
px float

initial x-position

required
py float

initial y-position

required
theta float

initial pose angle

required
Source code in src\python_motion_planning\utils\agent\agent.py
Python
class Agent(ABC):
    """
    Abstract class for agent.

    Parameters:
        px (float): initial x-position
        py (float): initial y-position
        theta (float): initial pose angle
    """
    def __init__(self, px, py, theta) -> None:
        self.px = px
        self.py = py
        self.theta = theta
        self.parameters = None

    def setParameters(self, **parameters) -> None:
        # other customer parameters
        self.parameters = parameters
        for param, val in parameters.items():
            setattr(self, param, val)

    @property
    def position(self):
        return (self.px, self.py)

    @abstractmethod
    def kinematic(self, u, dt):
        pass

    @property
    @abstractmethod
    def state(self):
        pass