pyrcf.components.controller_manager.simple_controller_manager ============================================================= .. py:module:: pyrcf.components.controller_manager.simple_controller_manager Classes ------- .. autoapisummary:: pyrcf.components.controller_manager.simple_controller_manager.SimpleControllerManager Module Contents --------------- .. py:class:: SimpleControllerManager(agents: List[pyrcf.components.agents.agent_base.AgentBase] = None, command_accumulation_policy: pyrcf.components.controller_manager.command_accumulators.cmd_accumulation_policies.CommandAccumulatorBase = SimpleCmdOverride()) Bases: :py:obj:`pyrcf.components.controller_manager.controller_manager_base.ControllerManagerBase` A simple controller manager that naively performs sequential updates of all agents it manages. .. py:method:: update(robot_state: pyrcf.core.types.RobotState, global_plan: pyrcf.core.types.GlobalMotionPlan, t: float, dt: float) -> pyrcf.core.types.RobotCmd Run one update step of all the 'agents' managed by this manager. :param robot_state: Current robot state. This is equivalent to 'observation' in standard learning-based agents. :type robot_state: RobotState :param global_plan: The reference global plan to follow. :type global_plan: GlobalMotionPlan :param t: the current time signature of the control loop. Defaults to None (controllers may or may not need this). :type t: float, optional :param dt: the time since the last control loop. Defaults to None (controllers may or may not need this). :type dt: float, optional :returns: The output control command (action) to be sent to the robot based on the accumulation policy used by this manager. :rtype: RobotCmd :raises NotImplementedError: Raised if this method is not implemented by the child class.