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
biasandnoiseobjects when a traceable mission or vendor model is required.
- 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
noiseusessin(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.
- 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
noiseusessin(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.
- 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:
biasapproximates the published +/-1 deg initial angular bias as a scalar cosine-measurement offset ofsin(1 deg).noiseapproximates the published 1.25 deg Gaussian angular simulator noise as scalar cosine-measurement noise ofsin(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
- 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
SunSensorproxy because the current package has scalar Sun-sensor channels rather than a native two-axis NANO-ISS60 model.- Default error model provenance:
noiseapproximates the MOVE-II HIL angular Sun-vector noisesigma = 0.06 deg = 1.047e-3 radas scalar cosine-measurement noisesin(0.06 deg). No nominal fixed Sun-sensor bias was given in the accessible tables, sobiasdefaults 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
- 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 throughaz_el_degto 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:
noisedefaults to the 0.05 V additive white-noise value from the RAX photodiode calibration/simulation tables. The default additivebiasis 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