0.1.5 Bugfixes and Optimizations (2026-05-29)¶
Over the last few weeks, we have worked on a number of quality-of-life improvements, bug fixes, and optimizations across the codebase. Tests were added to bugfixes to ensure regression does not happen.
Bugs¶
Fixed a bug where the reaction wheel torque() and storage_torque() methods would independently sample noise and bias values, leading to a violation of Newton’s 3rd law
Reaction wheel momentum saturation was sign-blind and only checked saturation in the positive direction
Fixed dimensions and bugs for the disturbance jacabians, across GG, SRP, Drag, and Dipole disturbance models
Fixed a bug in the ecef_to_geocentric() conversion
Fixed a bug in the orbital_state timing, using TT instead of TAI time for certain operations
Fixed a bug in the extrapolation of the atmospheric density model
Fixed a bug in the sun sensor class, where noise and bias was lagged by one simulation step
Fixed an issue where imported repositories (SALTRO and OldPlanner) would have pybind name resolution clashes
Fixed a bug where the simulate() function would not handle satellites with bias and estimators without active bias estimation
Fixed a bug where estimators would not properly deepcopy disturbance, actuator, and sensor models for noise independence from the real satellite
Fixed disturbance-parameter estimation, which was not running properly despite being configured
Fixed a bug where the orbit GPS estimator would not build the covariance matrix properly, leading to NaN values and divergence
Changes¶
Made actuator saturation clamping strict instead of just outputting a warning
Made orbital averaging use RK4 instead of midpoint integration for higher accuracy with no significant performance penalty
Tuned the baseline SRUKF estimator parameters for better convergence and stability
Added documentation for MacOS use
Test Coverage¶
Added test coverage for reaction wheel momentum saturation and clamping
Added test coverage for disturbance jacobians
Added test coverage for second derivative helper functions
Added test coverage for njit kernel outputs and shapes
Added test coverage for estimator augmented state convergence
Added test coverage for the GPS EKF estimator
Added test coverage for the GoalList class
Added test coverage for the Monte Carlo simulation framework