This system is comprised of a component model, an inference engine based on the component model, and an action selection component that selects an action based on an output of the inference engine. The current application is a mobile robot. The data collected to build the component model is dependent on the application. However, for the mobile robot the data relates mainly to the battery (i.e. voltage, current, temperature, etc; a more exhaustive list is in the images). After collecting data on the basic functionality of the system and at least one potential failure, the component model is created. This model along with real-time sensor data is fed to the inference engine, which makes predictions about the power system and the likelihood of failure. The final step is the action selection component, which can mitigate potential failures or create new data to improve prediction accuracy. Information on the state of the system, likelihood of failure, and preventative actions can be displayed in an interface as pictured in the images.