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.


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.


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.