back to main page

Model-based Diagnosis and Execution on Rovers

Lars Blackmore, Steve Block, Emily Fox & Thomas Léauté 
16.413 Principles of Autonomy and Decision Making Course Project Report, Fall 2003

keywords: Model-based Programming, Robotics, Diagnostics, rover 


Our team has been working on the use of Titan to automatically estimate the state of a rover and recover from potential failures. The behavior of a rover is not only dependent on the behavior of its internal components; it is also affected by the environment in which it is evolving. The onboard computer running Titan should be able to detect failure modes related to non-nominal interactions with the environment, diagnose them (and hence discriminate them from internal component failures), and try to recover from them. We have been focusing on the development of a model for the rover that would enable us to diagnose and reconfigure the rover, subject to “environmental” failures (slipping and sliding) as well as internal component failures.  

After a brief introduction to Titan and the rovers (section 2), we will describe the overall scenario we chose, which has been the goal and guideline of our project (section 3). We will then describe the four major model design steps we took, each step solving issues raised by the previous step and raising new issues due to the increasing complexity of the model (sections 4 to 7). We will then present in detail the results we got from the final model, tackling the initial scenario goal and even expanding the possibilities of the model to several other complex scenarios (section 8). We will eventually sum up the lessons we learned from the successive modeling issues we had to face, along with the strengths and weaknesses of our final  model and of the tools we have been using (section 9).  

full text PDF     PDF presentation