Repository navigation
Magnetometers see the field of the spacecraft's own torquers - #237
Closed
patrickmckeen wants to merge 1 commit into
Closed
patrickmckeen wants to merge 1 commit into
patrickmckeen wants to merge 1 commit into
Conversation
…rquers MagnetorquerCoupling is one 3x3 matrix (tesla per A m^2) from the total torquer dipole moment to the field at a magnetometer, geometry and soft iron together. Each magnetorquer remembers the moment it last applied; the satellite connects a magnetometer's coupling to its torquers when it is built; the magnetometer reads the ambient field plus the torquers' field. The term is state independent, so the Jacobians are unchanged, and the estimator's clone of the satellite has no coupling. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Test Results1 589 tests 1 587 ✅ 1m 53s ⏱️ Results for commit dc2ab24. |
Collaborator
Author
|
Closing: the torquer-coupling model is not ready, the real coupling has soft-iron effects a single matrix on the commanded moment does not capture well. The branch stays for later. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
On a small spacecraft the largest magnetometer error is often not the sensor or the field model but the spacecraft itself: the magnetorquers produce a field at the magnetometer, directly and through whatever soft iron lies between, that can be far larger than the sensor's noise. Until now a simulated magnetometer saw only the ambient field, so the magnetometer-while-torquing problem that drives real layouts and duty cycles could not be studied.
What this adds
MagnetorquerCoupling(K): one 3x3 matrix, tesla per A m², from the total torquer dipole moment in the body frame to the field at the magnetometer. The coupling is linear in the moment and fixed by the layout, so one matrix captures the geometry and the soft-iron paths together; a bare dipole at distance r gives about 1e-7 / r³ times the usual (3 r̂ r̂ᵀ − I), and a measured matrix is the thing to use when there is one.last_moment(A m², with bias, noise and saturation included), set whenever its torque is evaluated.torquer_coupling. The satellite connects it to its torquers when it is built, and the magnetometer then reads the ambient field plusK · Σ mᵢ âᵢover the torquers. The term does not depend on the state, so the Jacobians are unchanged.This stacks on #236.
Tests
testing/test_sensors/test_magnetorquer_coupling.py, 5 tests: a torquer records the moment it applied, with bias and saturation; a three-axis magnetometer set reads the ambient field alone before any command and ambient plusK · mafter one, with the satellite having attached its torquers; a satellite without a coupling is unchanged; the estimator's clone has no coupling and the Jacobians are identical to the nominal device's; and the validation. The full suite passes.🤖 Generated with Claude Code