Source code for ADCS.satellite_factory.actuators.create_cubesat_RW

__all__ = ['create_cubewheel_smallplus_rw']

import numpy as np
from typing import Optional, List

from ADCS.satellite_hardware.actuators import RW
from ADCS.satellite_hardware.errors import Bias, Noise

[docs] def create_cubewheel_smallplus_rw(axis: np.ndarray = np.array([1, 0, 0]), bias: Bias | None = None, noise: Noise | None = None, h_meas_noise: Noise | None = None, estimate_bias: bool = False) -> RW: # As used on BeaverCube 2 if bias is None: e_bias = np.random.normal(0.0, 3e-7) std_bias = 1e-9 bias = Bias(bias=e_bias, std_bias=std_bias) if noise is None: e_noise = 0.0 std_noise = 1e-6 noise = Noise(noise=e_noise, std_noise=std_noise) if h_meas_noise is None: e_h_meas_noise = 0.0 std_h_meas_noise = 1e-6 h_meas_noise = Noise(noise=e_h_meas_noise, std_noise=std_h_meas_noise) max_torque = 0.0023 J = 5.7e-6 h = 0.0 h_max = 0.0036 return RW(axis=axis, max_torque=max_torque, J=J, h=h, h_max=h_max, bias=bias, noise=noise, h_meas_noise=h_meas_noise, estimate_bias=estimate_bias)