- A repository for the codes used in the paper, Jinrae Kim et al., "Control Allocation Switching Scheme for Fault Tolerant Control of Hexacopter", presented in 2021 Asia-Pacific International Symposium on Aerospace Technology (APISAT2021), Jeju, Korea.
- Julia v1.6.2
- Others will automatically be installed via
Project.toml
.
- In
src/simulation.jl
, comment out an undesirable fault case. For example, to perform the case of moderate actuator faults,
# case 1: actuator saturated
# faults = FaultSet(
# LoE(3.0, 1, 0.3), # t, index, level
# LoE(5.0, 3, 0.1),
# ) # Note: antisymmetric configuration of faults can cause undesirable control allocation; sometimes it is worse than multiple faults of rotors in symmetric configuration.
# case 2: actuator not saturated
faults = FaultSet(
LoE(3.0, 1, 0.5), # t, index, level
LoE(5.0, 3, 0.5),
) # Note: antisymmetric configuration of faults can cause undesirable control allocation; sometimes it is worse than multiple faults of rotors in symmetric configuration.
and the case of severe actuator faults,
# case 1: actuator saturated
faults = FaultSet(
LoE(3.0, 1, 0.3), # t, index, level
LoE(5.0, 3, 0.1),
) # Note: antisymmetric configuration of faults can cause undesirable control allocation; sometimes it is worse than multiple faults of rotors in symmetric configuration.
# case 2: actuator not saturated
# faults = FaultSet(
# LoE(3.0, 1, 0.5), # t, index, level
# LoE(5.0, 3, 0.5),
# ) # Note: antisymmetric configuration of faults can cause undesirable control allocation; sometimes it is worse than multiple faults of rotors in symmetric configuration.
Run the function main()
in main.jl
.
- See
data
for time response plots andfigures
for illustrations.
- Once simulation data are saved in
data
, running simulation simply reuse the saved data to draw figures. To perform a new simulation, please remove the saved data.
- Hexacopter description
- Top view
- Problem description
- Scheme description