Skip to content

ControlFactory

src.python_motion_planning.utils.planner.control_factory.ControlFactory

Bases: object

Source code in src\python_motion_planning\utils\planner\control_factory.py
Python
class ControlFactory(object):
    def __init__(self) -> None:
        pass

    def __call__(self, planner_name, **config):
        if planner_name == "dwa":
            return DWA(**config)
        elif planner_name == "pid":
            return PID(**config)
        elif planner_name == "apf":
            return APF(**config)
        elif planner_name == "rpp":
            return RPP(**config)
        elif planner_name == "lqr":
            return LQR(**config)
        elif planner_name == "mpc":
            return MPC(**config)
        else:
            raise ValueError("The `planner_name` must be set correctly.")