cloudpendulumclient.disturbance

Functions

deserialize_disturbance(json_data)

serialize_disturbances(disturbances)

Classes

Disturbance()

General disturbance

DisturbanceSchema(name)

Class used internally to carry named disturbances such as 'double_pendulum_default'

StateDependentPositionDisturbance([...])

Trigger a position jump after staying near goal_position for wait_at_target_seconds.

StateDependentTorqueDisturbance(duration, torque)

Trigger a torque for duration seconds after staying near goal_position for wait_at_target_seconds.

TimedPositionDisturbance(trigger_time[, ...])

Jump to target position at trigger_time seconds after experiment start.

TimedTorqueDisturbance(start_time, duration, ...)

Apply extra torque additively at start_time for duration seconds.

class cloudpendulumclient.disturbance.Disturbance

General disturbance

__init__() None
class cloudpendulumclient.disturbance.TimedTorqueDisturbance(start_time: float, duration: float, torque: list[float])

Apply extra torque additively at start_time for duration seconds. One torque value per actuator.

Parameters:
  • start_time – Start time in seconds after experiment start

  • duration – Duration in seconds for how long the torque is applied

  • torque – List of torque values, one per actuator

start_time: float
duration: float
torque: list[float]
type: str = 'timed_torque'
__init__(start_time: float, duration: float, torque: list[float]) None
class cloudpendulumclient.disturbance.StateDependentPositionDisturbance(wait_at_target_seconds: float = 3.0, goal_position: list[float] | None = None, disturbance_position: list[float] | None = None, target_pos_threshold: float = 0.1, target_vel_threshold: float = 1.0)

Trigger a position jump after staying near goal_position for wait_at_target_seconds.

Parameters:
  • wait_at_target_seconds – How long the system stays at goal_position before a disturbance is triggered

  • goal_position – The controller target position that the system is supposed to reach. If goal_position is None, initial_position from start_experiment is used as the reference and must be set.

  • disturbance_position – The position that the disturbance will drive the system to. If disturbance_position is None, the position will be randomized.

  • target_pos_threshold – Admissible distance error to goal_position to be detected as “at goal”

  • target_vel_threshold – Admissible velocity error to be detected as “at goal”

wait_at_target_seconds: float = 3.0
goal_position: list[float] | None = None
disturbance_position: list[float] | None = None
target_pos_threshold: float = 0.1
target_vel_threshold: float = 1.0
type: str = 'state_dependent_position'
__init__(wait_at_target_seconds: float = 3.0, goal_position: list[float] | None = None, disturbance_position: list[float] | None = None, target_pos_threshold: float = 0.1, target_vel_threshold: float = 1.0) None
class cloudpendulumclient.disturbance.StateDependentTorqueDisturbance(duration: float, torque: list[float], wait_at_target_seconds: float = 3.0, goal_position: list[float] | None = None, target_pos_threshold: float = 0.1, target_vel_threshold: float = 1.0)

Trigger a torque for duration seconds after staying near goal_position for wait_at_target_seconds.

Parameters:
  • wait_at_target_seconds – How long the system stays at goal_position before a disturbance is triggered

  • goal_position – The controller target position that the system is supposed to reach. If goal_position is None, initial_position from start_experiment is used as the reference and must be set.

  • torque – List of torque values, one per actuator

  • target_pos_threshold – Admissible distance error to goal_position to be detected as “at goal”

  • target_vel_threshold – Admissible velocity error to be detected as “at goal”

duration: float
torque: list[float]
wait_at_target_seconds: float = 3.0
goal_position: list[float] | None = None
target_pos_threshold: float = 0.1
target_vel_threshold: float = 1.0
type: str = 'state_dependent_torque'
__init__(duration: float, torque: list[float], wait_at_target_seconds: float = 3.0, goal_position: list[float] | None = None, target_pos_threshold: float = 0.1, target_vel_threshold: float = 1.0) None
class cloudpendulumclient.disturbance.TimedPositionDisturbance(trigger_time: float, disturbance_position: list[float] | None = None)

Jump to target position at trigger_time seconds after experiment start.

Parameters:
  • trigger_time – At which time after experiment start the disturbance should be triggered.

  • disturbance_position – The position that the disturbance will drive the system to. If disturbance_position is None, the position will be randomized.

trigger_time: float
disturbance_position: list[float] | None = None
type: str = 'timed_position'
__init__(trigger_time: float, disturbance_position: list[float] | None = None) None
class cloudpendulumclient.disturbance.DisturbanceSchema(name: str)

Class used internally to carry named disturbances such as ‘double_pendulum_default’

Parameters:

name – name of the disturbance schema

name: str
type: str = 'disturbance_schema'
__init__(name: str) None
cloudpendulumclient.disturbance.serialize_disturbances(disturbances: Disturbance | str | list[Disturbance | str]) str
cloudpendulumclient.disturbance.deserialize_disturbance(json_data: dict[Any, Any]) Disturbance