Skip to content

Fault injection classes#21

Merged
pranavnarayan26 merged 11 commits intomainfrom
fault_injection_classes
May 20, 2025
Merged

Fault injection classes#21
pranavnarayan26 merged 11 commits intomainfrom
fault_injection_classes

Conversation

@pranavnarayan26
Copy link
Collaborator

This pull request creates individual fault injection classes for reaction wheel, coarse sun sensor, and thruster faults. Each class is implemented as a Basilisk module, and can therefore be automated within simulation as any other Basilisk module.

The reaction wheel faults are similar to loss of effectiveness: either max torque is decreased, or increased friction is introduced. The coarse sun sensor faults utilize the built in fault statuses in Basilisk - several stuck points, turning completely off, or random spikes. The thruster faults are relatively simple - at random times, the a thruster turns on at max thrust for a very short interval.

In addition, simple one-dimensional scenarios are created to test and demonstrate each of these faults; the detection of these faults is also considered in testing scripts for LIME and SHAP on Random Forest.

Note: the commits, since many of them were made before my last pull request, are still messy. I apologize for that; the last three commits should be slightly better.

@pranavnarayan26 pranavnarayan26 linked an issue May 8, 2025 that may be closed by this pull request
@pranavnarayan26 pranavnarayan26 self-assigned this May 10, 2025
Copy link
Collaborator

@MartinAstro MartinAstro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not going to nitpick right now, but in general the commits are too long and should be more atomic. If your creating a script, the break your commits down into the respective sections of that script. If you are adding new funcitonality, then add the functionality in one commit, and deploy it in a seperate commit, etc. In current form, it's had to inspect all of the things that changed and decide if the changes are what the commit message says they are.

Approving for now just to get it in, but moving forward I recommend adopting a more granular, atomic commit style. Good first go at it though.

@pranavnarayan26 pranavnarayan26 merged commit b934f44 into main May 20, 2025
1 check passed
@pranavnarayan26 pranavnarayan26 deleted the fault_injection_classes branch May 20, 2025 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extract fault-simulating functions into dedicated classes

2 participants