Development of Fault Diagnosis and Fault Tolerant Control Algorithms with Application to Unmanned Systems