Self-Checking Error Resilient Smart Autonomous System Design