cloudpendulumclient.benchmark.controller

Classes

ControllerBase()

The base class for controllers using the benchmarking interface.

MotorState(position, velocity)

class cloudpendulumclient.benchmark.controller.MotorState(position: float, velocity: float)
position: float
velocity: float
__init__(position: float, velocity: float) None
class cloudpendulumclient.benchmark.controller.ControllerBase

The base class for controllers using the benchmarking interface.

abstract __init__()

Initialize the controller

abstract get_control_output(state: list[MotorState]) list[float]

Get the control output from the controller in the form of a list of torques to be applied to the actuators in the cell.

Parameters:

state – The state of the system in the form of a list of MotorStates, each corresponding to an actuator in the cell running the experiment. For example, if you were running a DoublePendulum experiment the state parameter would contain two elements; one for the shoulder, and one for the elbow actuator.

Returns:

A list of torques which should be applied to the actuators. For a DoublePendulum experiment this list should contain two elements, but the length of this list does not necessarily have to match the length of the state parameter. For example, the Pendbot and Acrobot experiments expects only one torque to be returned from this function.