Skip to content

Neural Network-Based Fault identification and Reinforcement Learning for Spacecraft Fault-Tolerant Control

Notifications You must be signed in to change notification settings

LUWENL/fault-tolerant-control

Repository files navigation

fault-tolerant-control

💡 Neural Network-Based Fault identification and Reinforcement Learning for Spacecraft Fault-Tolerant Control

TIM2025: Paper Link

keyword

Fault detection and identification, Fault-tolerant control, Neural Network, Reinforcement learning.

Abstract: Active fault-tolerant systems are crucial for ensuring the reliability and safety of spacecraft attitude control, especially when dealing with actuator faults that could jeopardize mission success. This paper introduces a comprehensive framework for fault detection and identification (FDI) and fault-tolerant control (FTC) tailored to meet stringent real-time processing requirements and limited onboard resources. We propose a neural network-based fault identification approach, termed FaultNet, which utilizes LSTM architectures to achieve millisecond-level fault estimation. This method overcomes the long convergence times associated with traditional observer-based FDI techniques, enabling accurate identification of both constant and time-varying faults, including effectiveness loss and additive bias. For fault-tolerant attitude control in spacecraft, we develop a reinforcement learning (RL)-based controller, incorporating carefully designed state representations and reward functions to ensure robust performance. The proposed methods are rigorously evaluated across four customized fault scenarios, encompassing both constant and time-varying fault types. The results demonstrate the framework's effectiveness in swiftly stabilizing spacecraft attitude and precisely compensating for actuator faults. Simulation outcomes validate the neural network-based FDI's efficiency and accuracy, as well as the RL-based FTC's reliability, showcasing minimal fault estimation errors and consistent fault recovery performance.

Getting started

⚙️: Nerual Network based Fault Detection and Identification (FDI)

Step 1: Download trainset and testset from Google Drive.

(This step is unnecessary since you can directly run dataset_generate.py.)

Step 2: Train or Test FaultNet.

# train FaultNet
cd fault_detection
python run.py --is_train=1

# test FaultNet
cd fault_detection
python run.py --is_train=0

Step 3: Need to reproduce experimental results?

The pretrained FaultNet model can be found here.

🤖 Reinforcement learning based Fault-Tolerant Control (FTC)

Step 1: Modify the parameters in metadata.py.

Step 2: Train the Hybrid Reward-SAC.

python run_SAC.py

Step 3: Need to reproduce experimental results?

(use the pretrained SAC model)

Set the seed to 240202.
Set the mode to ‘test’.
Set the scenario_id to 1/2/3/4.
python run_SAC.py

Cite the paper

@article{lu2025neural,
  title={Neural Network-Based Fault Identification and Reinforcement Learning for Spacecraft Fault-Tolerant Control},
  author={Lu, Wenlong and Geng, Ziyao and Zhuang, Hongji and Shen, Qiang and Wu, Shufan and Razoumny, Vladimir Yu and Razoumny, Yury N},
  journal={IEEE Transactions on Instrumentation and Measurement},
  year={2025},
  publisher={IEEE}
}

About

Neural Network-Based Fault identification and Reinforcement Learning for Spacecraft Fault-Tolerant Control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages