Control Systems
Control Systems
As soon as KraftMouse exits the corridor system and receives the
signal from the transmitting RCX, it would stop and look for the
different light intensities around it. KraftMouse was programmed to
sweep all 360 degrees of the visual field around it. It would take a
light intensity measurement when facing the brighter signal and also
take a measurement for the less bright signal and according to what it
has been ordered to do by the transmitting RCX it would take the each
reading rage and then divide that by 3 to have an accurate median to
go to.
If the measurements had sharp and distinct separations between them it
would have been easy for KraftMouse to detect the clear difference
between the sources and choose the correct destination as authorized
by then transmitting RCX. But since during the actual presentation the
light sources were set up in a different way such that the brighter
light source would produce a large range span, thus the probability of
having different readings would increase the probability of having the
same reading as the second source and that ultimately confuse
KraftMouse when attempting to differentiate between the two "homes"
(light sources).
The solution that we came up with immediately was to program the robot
in such a way that it would start to swipe the visual field just as
before but this time to take the optimal reading. Meaning it would
start to read the light density to the point at which the maximum
reading would be read and the way KraftMouse recognise that is when
after reading starts to again change towards the opposite direction
(note: for our reading the "less" value means "brighter"), so it would
pick up the reading before that change and store that for comparison
purposes.
Systems
Next we will discuss the reasoning behind our decision to use one
light sensor for KraftMouse for our input readings and also the use of
infrared.
Open loop:
It was clear from the nature of the project that we were not able to
use the "Open Loop" system structure, mainly because KraftMouse needed
to check and re-check the input and output to be able to find its way
out of the maze. Since open loop system does not evaluate the output
it is not suffice system for us to use.
Closed loop:
Feed Back
To use the "Closed Loop with Feedback" system was our original idea
for the robot to find its way out of the maze. As mentioned in the
hardware section with the use of two touch sensors we were able to
produce this outcome of exiting the corridor system. KraftMouse would
first hit the wall and then through two touch sensors that were
connected to one of the two motors it would find the direction to
move. For example, if the left sensor was pressed then the procedure
was to move back pivoting on the left wheel by slowing down the left
wheel and speeding the right one and then it would move forward in the
new direction with the same speed for both wheels. Using this kind of
procedure was convenient for the robot to get out of the maze but for
the second part of the procedure which the robot had to recognize the
correct destination by measuring variations in light intensities we
still had to use the light sensor. So we used the light sensors and
also came up with the idea of using it for the robot as an "eye" to
come out of the maze as well!
Feed Forward
After significant changes to the body structure of KraftMouse we were
finally able use a "Closed Loop Feed forward" system to solve both
tasks 1 and 2. The idea was to use one sensor (i.e. light sensor) for
the whole procedure of getting KraftMouse out of the maze and also
leading it towards the correct "house." We used the RCX's infrared
capabilities to detect walls or obstacles in KraftMouse's projected
path of travel. The on board, RCX would send the infrared signal and
it would hit the black surrounding walls and reflect back to the light
sensors. Then the light sensors would detect the intensity of the
reflection and if the reflected IR signals were above a certain level
KraftMouse would not proceed due to an obstacle in it's path. It would
stop and back up for a specific, predetermined period of time and then
would move to the left and re-send an infrared signal to check for any
other possible obstacles. If it faces another wall it would move back
and check the right side until it would find a section of the field
which would reflect less infrared (i.e. open area with minimal
reflection) then it would move forward. This system is clearly a feed
forward system where KraftMouse is able to detect the obstacles before
hand by sending and receiving IR signals. This unique design allowed
us the luxury of producing an structually simplistic KraftMouse
operating under an extremely efficient program.
Aside
Since the behaviour required by this project was bit more challenging
than SoccerBot, we had to test different ideas for both software and
hardware design and this caused us to face a shortage for time towards
the last parts of the program, the program procedure of establishing a
suffice distance for KraftMouse to enter its new home and stopping in
its new home without simply hitting the home's interior wall.
Since our robot only used one light sensor, which it's major function
was to receive infrared pulses transmitted by the on board RCX used in
obstacle recognition and be able to choose its path out of the maze,
we had to use the same sensor to measure the light density when it was
out of the maze to be able to choose the correct "home" to go to as
directed by a second RCX. For the second part of the project we came
up with the idea of measuring/calibrating the light intensity of the
"brighter home" and "less bright home" before starting the whole
process. This would aid KraftMouse in executing part of the
programming which was related to finding the correct destination.