ADCS.satellite_factory.sensors.create_cubesat_sunpair module

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_Clydespace_3U_array(axis=array([1, 0, 0]), bias=None, noise=None, estimate_bias=False)[source]

Create a Clyde Space 3U solar-array SunPair proxy.

Default error model provenance:

The default bias/noise values in this helper are package-level representative simulation values for BeaverCube-style examples. They are not currently tied to a published Clyde Space data sheet table or BeaverCube flight-calibration result. Pass explicit bias and noise objects when a traceable mission or vendor model is required.

Parameters:
  • axis (ndarray)

  • bias (Bias | None)

  • noise (Noise | None)

  • estimate_bias (bool)

Return type:

List[SunPair]

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_elmos_sun_sensors(axes=None, bias=None, noise=None, estimate_bias=False)[source]

Create the LightSail 2 coarse Sun-sensor set.

LightSail 2 had four Elmos Sun sensors on deployable solar panels and one on the -Z spacecraft face. Exact deployed-panel boresight vectors are not encoded here, so panel sensors use a nominal +/-X/+Y layout and the -Z sensor uses the documented body vector. The default noise uses sin(5 deg) as a conservative scalar cosine-measurement noise floor so estimator measurement covariances remain non-singular. This noise floor is an approximate modeling assumption, not a source-backed calibration value.

Parameters:
  • axes (ndarray | None)

  • bias (List[Bias] | None)

  • noise (List[Noise] | None)

  • estimate_bias (bool)

Return type:

List[SunSensor]

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_gnb_sun_sensors(axes=array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.], [-1., -0., -0.], [-0., -1., -0.], [-0., -0., -1.]]), bias=None, noise=None, estimate_bias=False)[source]

Create the final BRITE/GNB six-face dedicated Sun-sensor set.

The public GNB summary gives one dedicated sensor per spacecraft face and accuracy/resolution specifications, but not statistical noise or bias values for the final dedicated sensors. The default noise uses sin(1 deg) as a conservative scalar cosine-measurement noise floor so estimator measurement covariances remain non-singular. This noise floor is an approximate modeling assumption, not a source-backed calibration value.

Parameters:
  • axes (ndarray)

  • bias (List[Bias] | None)

  • noise (List[Noise] | None)

  • estimate_bias (bool)

Return type:

List[SunSensor]

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_hamamatsu_s3931_sun_sensors(axes=array([[1, 0, 0]]), bias=None, noise=None, estimate_bias=False)[source]

Create one ESTCube-1 Hamamatsu S3931 one-dimensional Sun sensor channel.

ESTCube-1 had six custom Sun sensor assemblies, one per spacecraft face. Each assembly used two Hamamatsu S3931 one-dimensional PSDs under perpendicular slits. This helper represents one such one-dimensional channel. The preflight simulator used angular noise of approximately 1.25 deg and initial angular bias uniformly distributed over +/-1 deg.

Default error model provenance:

bias approximates the published +/-1 deg initial angular bias as a scalar cosine-measurement offset of sin(1 deg). noise approximates the published 1.25 deg Gaussian angular simulator noise as scalar cosine-measurement noise of sin(1.25 deg). The useful flight region was approximately +/-36.7 deg with incidence-angle-dependent flight covariance; the current sensor model does not encode that finite field-of-view or covariance schedule.

Source:

J. Slavinskis et al., “ESTCube-1 attitude determination system flight results,” Journal of Aerospace Engineering, 2016. https://ascelibrary.org/doi/10.1061/%28ASCE%29AS.1943-5525.0000504

Parameters:
  • axes (ndarray)

  • bias (List[Bias] | None)

  • noise (List[Noise] | None)

  • estimate_bias (bool)

Return type:

List[SunSensor]

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_nano_iss60_sun_sensors(axes=array([[1, 0, 0]]), bias=None, noise=None, estimate_bias=False)[source]

Create one Solar MEMS NANO-ISS60 Sun sensor proxy used on MOVE-II.

A NANO-ISS60 is a two-axis analog Sun position sensor. It is represented here by one body-normal SunSensor proxy because the current package has scalar Sun-sensor channels rather than a native two-axis NANO-ISS60 model.

Default error model provenance:

noise approximates the MOVE-II HIL angular Sun-vector noise sigma = 0.06 deg = 1.047e-3 rad as scalar cosine-measurement noise sin(0.06 deg). No nominal fixed Sun-sensor bias was given in the accessible tables, so bias defaults to zero. The source documents a 10 deg Sun-sensor bias sensitivity case, but that is not the nominal default.

Source:

Hardware-in-the-Loop Verification of the Distributed, Magnetorquer-Based ADCS of the CubeSat MOVE-II

Parameters:
  • axes (ndarray)

  • bias (List[Bias] | None)

  • noise (List[Noise] | None)

  • estimate_bias (bool)

Return type:

List[SunSensor]

ADCS.satellite_factory.sensors.create_cubesat_sunpair.create_osram_sfh2430_sun_sensors(az_el_deg=None, bias=None, noise=None, estimate_bias=False)[source]

Create OSRAM SFH2430 coarse Sun-sensor photodiode channels used on RAX.

By default this helper creates one photodiode aligned with +X. RAX-1 used 9 SFH2430 photodiodes and RAX-2 used 17; pass the mission-specific azimuth/elevation table through az_el_deg to create those arrays. The published RAX estimator simulations used 0.05 V additive white noise, with scale factors around 2.5-4 V. This factory uses an efficiency of 3.0 V so the sensor output and noise are in the same approximate voltage units.

Default error model provenance:

noise defaults to the 0.05 V additive white-noise value from the RAX photodiode calibration/simulation tables. The default additive bias is zero because the RAX calibration estimated photodiode scale factor and mounting azimuth/elevation errors rather than publishing a single additive voltage-bias value. The cited calibration work reports that 0.05 V corresponds to roughly 1.0-5.7 deg angular uncertainty, depending on incidence angle and scale factor.

Source:

J. C. Springmann and J. W. Cutler, “On-orbit calibration of photodiodes for attitude determination,” Journal of Guidance, Control, and Dynamics, 2014. https://deepblue.lib.umich.edu/bitstream/handle/2027.42/140645/1.g000175.pdf?sequence=1

Parameters:
  • az_el_deg (ndarray | None)

  • bias (List[Bias] | None)

  • noise (List[Noise] | None)

  • estimate_bias (bool)

Return type:

List[SunSensor]