# Algorithm 1

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The behavior that the window cleaning robot would have when using algorithm 1 can be divided

in the following rough steps:

1. The window cleaning robot is placed in a random position on the window, facing in a random direction.
2. Due to gravity sensors, the robot knows where to find the upper side of the window, so it moves upwards till its force sensors detect that the upper edge is touched.
3. The robot turns and moves to the upper left corner until it detects the left edge of the window with its force sensors. During this movement, the robot is already cleaning. When it reaches the upper left corner, it turns to face to the right.
4. The robot moves over a horizontal path and inspects and cleans this path. When the dirt detection sensors notice that a dirty spot remains, a reciprocating motion is initiated. This reciprocating motion is continued until the dirty spot is entirely clean or does not become any cleaner.
5. The window cleaning robot moves on to the next dirty spot and the behavior above is repeated.
6. When the upper right corner of the window is detected with the force sensors (Section 3.5.2), the robot turns and wipes the first row another time to make sure no stripes will remain on the window surface. In this back-going stroke, the cleaning mechanism is not used since the stroke is already clean and does only require the motion of the squeegee.
7. When the first row is entirely clean, the robot makes a certain movement to go to the second row.
8. The window cleaning robot turns and starts with the next horizontal path. The steps 4-7 are executed again. Note that the turning movement in the second horizontal path will take less time because the upper edge of the window is not an obstacle anymore.
9. This process is repeated until the window is cleaned entirely.

The main gain of this algorithm with respect to the standard method lies in the reciprocating movement. Due to this reciprocating motion, the robot does not have to travel large unnecessary distances any more to clean a spot of dirt that has remained. This reduces of course the time the window cleaning robot needs to fully clean a specific stroke of window. Another possible gain is found in the energy consumption. In the standard motion planning algorithm, the robot is continuously cleaning and thus continuously operating at maximum power. In the here considered algorithm however, the robot does not necessarily have to clean at already cleaned places so less energy is consumed since the friction of the cleaning pad is no longer conquering the vacuum which should be preserved. It is now obvious that the same goes for water consumption, because the reference algorithm consumes water continuously.