cpsim.observers package

Submodules

cpsim.observers.extended_kalman_filter module

class cpsim.observers.extended_kalman_filter.ExtendedKalmanFilter(f, jf, jh, dt, Q: ndarray, R: ndarray)[source]

Bases: object

multi_steps(x: ndarray, P: ndarray, us: ndarray, ys: ndarray)[source]

us: shape (length, m) ys: shape (length, p)

one_step(x: ndarray, P: ndarray, u: ndarray, y: ndarray)[source]
predict(x: ndarray, P: ndarray, u: ndarray)[source]
update(x_predict, P_predict, y: ndarray)[source]

cpsim.observers.full_state_bound module

class cpsim.observers.full_state_bound.Estimator(Ad, Bd, max_k, epsilon=None, c=None)[source]

Bases: object

estimate(x_a, us)[source]
estimate_wo_bound(x_a, us)[source]
get_deadline(x_a, safe_set_lo, safe_set_up, control: array, max_k)[source]

cpsim.observers.full_state_bound_nonlinear module

class cpsim.observers.full_state_bound_nonlinear.NonlinearEstimator(ode, dt)[source]

Bases: object

estimate(x_a, us, xs, unsafe_states_onehot)[source]
get_deadline(x_a, safe_set_lo, safe_set_up, control: array, max_k, verbose=True)[source]

cpsim.observers.interval_helpers module

cpsim.observers.interval_helpers.Newton_Integration(dynamics, x_interval, u_interval, step_size)[source]
cpsim.observers.interval_helpers.RungeKutta_Integration(dynamics, x_interval, u_interval, step_size)[source]
cpsim.observers.interval_helpers.convert_1D_list_to_intervals(list_1D)[source]
cpsim.observers.interval_helpers.convert_2D_list_to_intervals(list_2D)[source]
cpsim.observers.interval_helpers.isIntersecting(Int1, Int2)[source]
cpsim.observers.interval_helpers.midpoint(Int)[source]
cpsim.observers.interval_helpers.reach(dynamics, x0_interval, Us_saved, Xs_saved, unsafeSensors_oneHot, step_size)[source]
cpsim.observers.interval_helpers.replace_safe_state_intervals_with_saved_value_intervals(x_interval, x_saved_interval, unsafeSensors_oneHot)[source]

cpsim.observers.kalman_filter module

class cpsim.observers.kalman_filter.KalmanFilter(Ad: ~numpy.ndarray, Bd: ~numpy.ndarray, C: ~numpy.ndarray, D: [<class 'numpy.ndarray'>, None], Q: ~numpy.ndarray, R: ~numpy.ndarray)[source]

Bases: object

multi_steps(x: ndarray, P: ndarray, us: ndarray, ys: ndarray)[source]

us: shape (length, m) ys: shape (length, p)

one_step(x: ndarray, P: ndarray, u: ndarray, y: ndarray)[source]
predict(x: ndarray, P: ndarray, u: ndarray)[source]
update(x_predict, P_predict, y: ndarray)[source]

Module contents