Report: Functions and learning for typing on a standard keypad

Basic Functions used:

1>Write(string): This is the outermost fuction which takes in the arguments as the string which is supposed to be written on the screen.

2>Checktype(char) : This function takes into input one character at a time and then checks its type keeping in the memory.

3>LocateKeypad(): look at the keypad for visual input of the letters printed on the keys and hold the mobile steady

4>PressKey():

A] If it is a lowercase letter locate the letter on the keypad and press the number key required number of times according to the positioning of the letter.

B] If it is an uppercase character,press the # key once, follow the above procedure, and then press # key again.

C]if its a number press the respective numeral key 4 times for numbers other than 7 and 9, and five times for digits 7 and 9.

D] if it is a special character, then go to Scroll function:

5>Scroll(char): Press the * key and press the arrow key until you reach the character and then press the ok key.

6>locatescreen(): locates the screen after entering the character and takes visual input.

7>CheckKey(): The objective is to check whether the correct character has been entered or not.The fuction makes use of the character count displayed on the top left or top right of the screen.

{

If(newCharCount minus prevCharCount==0)

Type again

Elseif(newCharCount minus prevCharCount ==1)

Check character

If correct,good

If not,delete and type again

Else

Delete all new characters and type again

}

The following hierarchy of functions is used in the algorithm:

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Learning:

Considering the case, when we typed on the keypad for the first time, our brain adjusted to the location of the keys and we relied completely on locating the letters visually on the keys and pressing the required key. However, with time our fingers are tuned to the positioning of different letters and we can type any string at will even sometimes without looking at the keypad. This is a motor learning process in which now the fingers follow an intuitive path of finding the keys.

For a Robot, a similar motor learning process can follow.For example, by doing the repeated iterations of thePressKey() function, a mental representation of the entire keypad can be formed gradually in the robots memory. This can start from a basic level of locating the relative positioning of letters, for instance a simple fact that g is directly related over p, or x at the bottom most right corner. Gradually an expert mode of learning is achieved where the robot will have the relative positioning of the entire keypad in his memory and the locating time is greatly reduced.

This learning module is based on a connectionist model of cognition.