For this project we were given the task of solving the simplified problem of the Vacuum cleaning robot that was introduced in the book “An introduction to MultiAgent Systems” by Michael Wooldridge. We were given a few tasks to complete using the model checking tool Uppaal. Uppaal allows us to create models of our problems with data types and function calls. That way we can validate and verify various queries and solve complex tasks with minimum effort.
2. Problem Description:
Wooldridge describes an example of a small robot agent that will vacuum clean a room. The problem is simplified a bit because we are supposed to have the robot check for any dirt in the squares we visit, our simplified problem does not. The room is a 3 by 3 grid, and at any point the robot can move forward one step or turn right by 90° degrees. The problem is to find a…show more content… The only difference appears to be the two turns it takes to make the robot face north again as Wooldridge stated the robot should do in the (0,0) position.
3.4 Task 4:
In the last task we were supposed to assume that the vacuuming robot turns very fast and moves slowly. Turning 90° takes 1 unit of time, while moving forward takes 5 units of time. Our aim was to find the fastest strategy for the robot, following the rules given above for position (0,0) including the condition to have visited all the squares. The task was also to find out if there exists a strategy which is fastest or shortest, that assumes no preset rule.
We used the same model as above with two added states that used the clock variable as a stopwatch. This is the state machine we came up with:
Now when one of the update conditions are met we wait for some time (five time units for updateForward and one time unit for updateTurn) before returning to the check