Turns & Rotations
In NetLogo, it is very hard or rather impossible to visualize the proper rotations of the window
cleaning robot during its motion and subsequently end up at exactly the right position. Therefore
it was decided to not visualize the rotations, but instead, the turning movements are modeled by
letting the robot ’teleport’ from the place before to the place after the turn. The time it takes to
make a certain turn is then simply added to the time instance before the rotation. In this way, it
is still possible to model the turns and rotations of the window cleaning robot in a realistic way.
The question becomes then what will be the time that each specific turn takes? To give realistic
values for this, the characteristic rotations and turns of the window cleaning robot are studied.
In total there are six different turns or rotations which the window cleaning robot should be able
to make. They are schematically shown in the figure below.
The first turn the robot should be able to perform is a pure rotation (Figure 2.a). This motion is
very often needed during the robot’s cleaning job. To assign a time to the rotation, two parameters
should be known: the angle to which the robot is currently heading, the angle to which the robot
should head and the rotational speed of the robot when it is rotating. In reality, the robot knows
how it is oriented by means of gravity sensors and thus knows the angle to which it is currently
heading. Therefore it seems appropriate to use the angle at which the robot is
heading in NetLogo as the current angle. The time it takes to perform a pure rotation can then be
calculated by means of the following equation:
where t(rotation) is the time it takes to perform a pure rotation (s), w is the angular velocity of the robot (°/s) and Δa is the angle over which the robot should be rotated to face the upper edge of the window (°) (the angle to which the robot should head). The angular velocity of the robot is determined by using its speed and its dimensions: