Navigation:Exercise4-Room Coverage
Setup
In this exercise, we will discuss how to write a controller to make a robot effectively clean a room of arbitray size. Using cardboard, we can create just such a room. Then by adding the parameters of this room, to the client.xml file, write a program to plan a path around the room "covering" open area. Then write a program to execute that path.
Part 1
Knowing the dimensions of a room, for example a rectangular room 5'x9', write a program to plan and execute a path where the robot can cover the region. Pretend that you are writing a controller for the robot to vacuum a room, how would you plan a path to do such a task?
How does this perform on a room of varying size?
Part 2
Another way to do this task is to design a generic plan contingent on topological features. Rather than plan an exact path with goals and waypoints, design a set of rules so that the robot will cover an area of arbitrary size. For example:
1. Wander until a corner is seen. 2. Wall follow until the next corner is reached. 3. Turn 90 degrees 4. Move over by one diameter of the robot. 5. Turn another 90 degrees 6. Move forward until a wall is seen 7. Turn the other way 90 degrees 8. Go to step 4
How does this perform on a room of varying size?
![[LOGO]](/workbook/skins/workbook/create_small2.png)



