Cleaning
For the cleaning action, it is assumed that when a patch is located under one of the cleaning squares of the robot and when this patch has a dirtiness that is greater than 0, the dirtiness value
of the patch is reduced with a random number between 30 and 60 per time step. When the reduction
in dirtiness is greater than the actual dirtiness of a patch, the dirtiness of the patch is set
to zero. The numbers for the dirt reduction are freely chosen since no scientific articles could
be found on that topic. A reduction between 30 and 60 seemed plausible, but one cannot be
sure that this is representative of reality. It does not matter that much that these numbers are
not based on scientific research and thus are maybe not entirely realistic. This is because both
the developed motion planning algorithms, as well as the reference motion planning algorithm, use
these numbers, so for the comparison between them it is unlikely to have a major impact.
For the dirt detect action, it is assumed that when a patch is located under one of the dirt detect
sensor squares of the robot, the dirtiness of this patch is assessed with an accuracy of 100%. In
reality, this might not be the case, but again, for the comparison purposes it is not relevant since
it affects all algorithms identically.
Another important part of cleaning the window is avoiding stripes. To include this in the model,
it has to be clearly defined when the robot leaves stripes on the window surface. Therefore it is
assumed that the robot will leave stripes on the surface when the window is cleaned in any way
except in horizontal rows from top to bottom. This has to do with the dripping of water. Besides
that, stripes will also appear when horizontal paths are not completely finished. In other words,
when the robot has for example cleaned a very persistent dirty spot by means of reciprocating
movements and goes directly to the next row, stripes will appear. Hence it is of high importance
to avoid these situations because it yields undesirable results.
The last remark should be made regarding the hard to clean spots. Hard to clean patches were patches that required a huge amount of wiping movements. Making infinitely many wiping motions over these spots is definitely not efficient, so a method should be developed to skip these spots when they do not get any cleaner after a certain amount of wiping motions. The method that is used is quite simple. The window cleaning robot keeps track of the changes in dirtiness value of all patches. When it notices that after a certain amount of wiping motions, the dirtiness value of a patch does not decrease significantly any more, it is skipped and the robot moves on to the next part of its motion planning. In reality this means that it could be that the window cleaning robot leaves some very persistent spots that should be cleaned manually, but this is indeed better than a very long feedback loop which will have a very large impact on the performance of the motion planning algorithm. In addition the robot could signal that such a hard to clean spot is detected, in order to manually remedy the problem whilst the robot continues with its cleaning.