A fault diagnosis framework for autonomous vehicles with sensor self-diagnosis