A New Classification Technique in Mobile Robot Navigation

This paper presents a novel pattern recognition algorithm that use weightless neural network (WNNs) technique.This technique plays a role of situation classifier to judge the situation around the mobile robot environment and makes control decision in mobile robot navigation. The WNNs technique is choosen due to significant advantages over conventional neural network, such as they can be easily implemented in hardware using standard RAM, faster in training phase and work with small resources. Using a simple classification algorithm, the similar data will be grouped with each other and it will be possible to attach similar data classes to specific local areas in the mobile robot environment. This strategy is demonstrated in simple mobile robot powered by low cost microcontrollers with 512 bytes of RAM and low cost sensors. Experimental result shows, when number of neuron increases the average environmental recognition ratehas risen from 87.6% to 98.5%.The WNNs technique allows the mobile robot to recognize many and different environmental patterns and avoid obstacles in real time. Moreover, by using proposed WNNstechnique mobile robot has successfully reached the goal in dynamic environment compare to fuzzy logic technique and logic function, capable of dealing with uncertainty in sensor reading, achieving good performance in performing control actions with 0.56% error rate in mobile robot speed.


Introduction
In autonomous navigation, mobile robot is capable of sensing environments, interpreting the information to obtain the knowledge of its position, and planning real-time routes from initial position to targets with obstacle avoidance, and target reaching [1]- [4].For a mobile robot to navigate in a completely unknown environment, it has to perceive its environment locally or globally, reason about its perceptions, and act accordingly.The ultimate goal of an autonomous mobile robot is to navigate safely to its target [5].Many methods have been introduced in the field of mobile robot navigation such as model-based, behavior-based, and hybridapproaches [6]- [8].However, these approaches lack of adaptation and perception capabilities.In many cases, autonomous mobile robot has been required to navigate in more complex domains, where the environment is uncertain and dynamic.Autonomous navigation in these environments demands adaptation and perception capabilities.Other approach that has received attention by several researchers is the map-based navigation [2].In this approach, the mobile robot relies on a map that models the environment.When such map is not given to the mobile robot a priori, it must be built by the mobile robot itself using a sensory system such as ultrasonic and infra-red sensors [2].However, this approach suffer from the fact thatthey must be fine enough to capture the details of the environmentandthe position of the mobile robot must be precisely determined which is a difficult task in the presence of sensory uncertainty and imprecision [9].
To overcome the limitation, some researchers utilize fuzzy logic (FL) and conventional neural networks (CNNs) techniquein mobile robot navigation [5], [10], [11].These techniques are emerging approaches which parallel the remarkable ability of the human mind to reason and learn in an environment of uncertainty and imprecision.They bring effectivetechnique and improve the intelligence in mobile robot navigation [10].However, these approaches suffer from the following drawbacks; (i) deriving and fine-tuning the entire rule set and membership functions (MFs) are often difficult [12], (ii) the performance of NN depends on connecting synaptic weights where the best selection of these could be a tedious job [13], (ii) NN technique often needs a long time-consuming training process, due to real-time floating point calculations involved [14], (iv) particularly in the case of real time mobile robot application, which lead to low speed processing [15].
Hence as a solution, the neural network model called the weightlessneural network (WNNs) is proposed.WNNs have single layer architecture.These neuron computing models are based on binary inputs and outputs, and 'no weight' between nodes, which can be implemented using commercially available random access memories (RAM).In WNNs, training is thus a single epoch process with one training step for each input-output association preserving their high speed [16]- [19].This also makes associative memories computationally simple and transparent.In contrast, in most conventional neural networks (CNNs) used for classification such as multi-layer perceptron (MLP) or radial basis function (RBF), training takes time and the resultant network is effectively a "black-box" [19].Storage is efficient in WNNs due to their simple matrix structure.New input patterns do not require additional memory allocation as they are overlaid with existing trained patterns [20].Unlike the CNNs such as MLP or RBF, WNNs are able to partially match records during retrieval, this partial matching is a central concept for this strategy [21], [22].Thus WNNs can rapidly match records that are close to the input but do not match exactly.The WNNs-based RAM methodology has introduced a look-up table for thresholding value that can retrieve the highestnmatches unlike the other RAMs [21].This strategy producefast training, computational simplicity, network transparency and partial match capability make this approach perfect to produce better performance in mobile robot navigation application.
This paper presents a novel pattern recognition algorithm that use WNNs technique to control mobile robot navigation in real-time.The WNNs technique plays a role of situation classifier to judge the situation around the mobile robot environment and makes control decision in mobile robot navigation.Using a simple classification algorithm, the similar data will be grouped with each other and it will be possible to attach similar data classes to specific local areas in the mobile robot environment.In the eksperiment with several environmental patterns, the proposed technique is compare to fuzzy logic dan logic fungction to perform navigation tasks.

Proposed Method 2.1.Environmental Uncertainty
Every autonomous robot needs some sensing devices to get first a perception of its environment and then to be able to move in this environment.Generally, high quality and high precision sensors raise the costs of a robot significantly, while the advantage of low precision sensors, such as, for example, infrared or ultrasonic sensors, is their cost.That is why reliable navigation based on low cost sensors would open the possibility of wider application of autonomous, mobile robots.However, low cost sensors provide an imprecise perception of the TELKOMNIKA ISSN: 1693-6930 environment, making navigation using theses sensors a non-trivial task, especially if the environment is unstructured, unknown to the robot, and contains an unknown number of obstacles of arbitrary shape [2] , [9].
The imprecise environmental perception of ultrasonic sensors is a result of the fact that these sensors provide a relatively accurate measurement of the distance to an object, but poor information about its exact location due to the angular resolution [1].The same perception can be obtained from an object placed at different locations.Another source of uncertainty is a consequence of specular reflection and well-known problems such as cross talking and noise.At the same time, the problem of blind sectors between two ultrasonic sensors and the large blind areas of a mobile robot with few sensors may not be neglected [9].Several procedures have been developed to overcome the disadvantages of low-cost sensors to map first the mobile robot's environment and then to generate the appropriate control commands [9].However, it should be noted that these representations of the environment still present some inherent imprecisions and uncertainty.Moreover, for some on-board sensorial layout, the computational cost of building up any of such representations could be very high or they could even be quite difficult to obtain when considering a mobile robot with few sensors.It shows the convenience of consideringthe constraints on the mobile robot perception when computing the control action.

Weightless Neural Network
WNNs are artificial neural networks with random access memories (RAM) devices, which is composed of sets of inputs and outputs [12], [18].Depending on the sets of information contained on inputs, different memory locations in the RAM are accessed.The WNNs structure has two-layer for pattern-classification network [19] as shown in Figure 1.The first layer is formed with K nodes each of which is a random-access memory (RAM).The second layer consists of a summation device that adds up the output values of all K RAM nodes.As there are K RAM nodes, and each RAM has N input variables (storing 2 N memory locations), the network receives at the input KN one-bit variables.Each RAM samples a different portion of the input field that has KN bit-positions.
) that counts the number of active neurons in the group, WNNs have two operational modes: the learning mode, in which the neuron assigns the value on the teach terminal to the addressed content and the recalling mode in which the neuron puts the addressed content on the output terminal [17].In learning mode a test pattern p x is presented to the discriminator, each discriminator fires accordingly.The discriminator with the highest output sum, therefore, should represent the class of the presented pattern.For th j discriminator the output ( j z ) are given by [8]: where, k j o is the output of the k th RAM of the j th discriminator.
The normalized discriminators output vector for an input pattern is given by: ], ,....., , [ For the j th element of the response vector x that belong to class j is equal to unity.In the recalling mode each discriminator responds with the number of matching subpatterns (sum 1, …, sum j).The pattern is classified according to the discriminator with the highest response and the network could set a threshold in look up table (LUT).The recognition is accomplished through the sum of all neurons output in RAM decision network, which is associated the corresponding pattern to identify the current environment and choose the winner class.The pattern is accepted and recognized if the output of a discriminator is higher than threshold as shown in Figure 2.
WNNs operation must able not only of recalling the output values stored for the training patterns but also of outputting values for non-trained patterns (unknown patterns) as well or generalization ability.Generalization is a very important characteristic and relates to the WNNs ability to respond to a novel input (which can be a noisy version of a learnt pattern) according to what was previously learnt [23].In this work, discriminator response is considered as a measure to the degree of similarity of the applied input pattern to its class.The non-accessed memory locations are set up in terms of how similar they are to memory locations which are set up during training, similarity measure to be used which considers is the Hamming distance [24].
The conventional Hamming distance (CHD) that is the number of bits in which two binary vectors are different.It can be used as the measure of distance between the addresses.However, the drawback of the CHD is that it measure absolute differences in bit without indicating the similarity measure [24], [25].It does not recognize the notion of approximate similarity, because it measures only the exact extent to which the corresponding bits in two bit vectors agree [24].For overcome the limitation, this study uses, Extended Hamming distance (EHD).x and p x equation ( 3) is used [26], The similarity distance Each discriminator output j z is from being the 'winner' given input vector i x , a similarity distance degree D s (x) can be specified, yielding the degree to which x satisfies the corresponding pattern.

Sensors Direction
In order to acquire the information about the environment around the mobile robot, 8 ultrasonic sensors mounted on the front of mobile robot are usedto recognize the environment and to avoid obstacle.Ultrasonic sensor has been used extensively in mobile robot for obstacle detection, ranging, and mapping [23], [27].The WNNs, whose inputs are preprocessed by ultrasonic sensors readings, informs the mobile robot of the environmental situation.The operating frequency of the sensor is 40 kHz.The maximum effective examination distances under short distance pattern and long distance pattern are 10 cm and 3 m respectively.Sensor measurement of the short distance pattern is used.In order to reduce the computing data then 8 sensors are divided into 4 groups to arrange at the four corners and four sides of mobile robot as shown in Figure 3.The groups are left obstacle, front obstacle, right obstacle and back obstacle respectively.The sensor ultrasonic positions in all arrays in the mobile robot are fixed; one on back side, and seven facing outwards at 30 degree intervals starting from sensor 1 up to sensor 7. The placement of the sensors permits the detection of an obstacle in different positions, as shown in Figure 3. Sensor 8 is used if the mobile robot is in emergency condition to detect obstacle at the back of the mobile robot for backward movement.Sensor module is configured using 8 microcontrollers PIC16F84 where it controls the eight ultrasonic and one infrared range finder pulse as shown in Figure 3.It calculates the sensor readings, and selects which sensors are active according to their position in the robot periphery.However, typical applications do not exploit the full range of information carried by ultrasonic echoes, focusing only on the time of arrival of the first detected echo [28].

Environmental Classification
The pattern of sensor data base representing a variety of possible situations of the environment should be built beforehand to classify the whole environment into one of the prototype pattern.Then for every prototype environment is trained by the appropriate module contained in the proposed RAM network architecture.The pattern of environments formed by sensor measurements gives the information with reference to the environment situation.Variety of environment situation may arise in front of mobile robot when mobile robot goes through the environment.In this work, 7 ultrasonic sensor values are input to the WNNs to generate one of the classified environments.The result is used to identify different patterns of obstacle feature include cylinder, plane, and corridor feature, also environments feature with different angle such as, concave, convex and others.Training consist of placing each object at various distances from the ultrasonic beam, collecting the echoes for each object at each position and train the WNNs for each object at each position.459 used to train WNNs, but the training process must be generalized into all kinds of environments, including scattered obstacle in the environment that may be encountered by a mobile robot during navigational tasks.Hence, the output of the environmental classification network can be used to build a topology map to determine the mobile robot high-level behavior.

Simple WNNs Algorithm
WNNs must be trained to recognize the correct patterns from incorrect ones and it works by generating all the possible input combination.This allows the network to generalize previously unseen cases, as well as make correct approximation.Training is a single-pass process in which each discriminator is trained individually on a set of patterns that belongs to it.In the training process all the sites of discriminator that are addressed by this pattern are set to 1.This process is repeated until all pattern of set are trained and when the process is complete, the WNNs has encodes the information in its memory register about the training subset.
During learning, the input vector, which is an n-bit binary number, acts like an address generator, where n defines the length of the input vector, and 0 <n < ∞.Every location addressed is a signed register, and all of the registers in the network locations are initially set to zero interpreted as an undefined value.When all training pattern are presented to the WNNs, the data stored to all the addressed register of RAM which is in write mode and the networks is counting the frequency of a bit pattern sequence encountered in the binary matrix.n single bit storage locations.The WNNs will generate a feature vector (x) when an unknown pattern is detected to the networks that describes the class of the input vector.The outputs of all discriminator are summed together to give its response.The data is stored in the discriminator after all training patterns are presented to the network and give the generalization ability.Generalization is one important characteristic and in WNNs and enables it to respond to a current input which can be a noisy version of a learnt pattern according to what was previously learnt.This allows the network not only to perform content addressability but also to perform default assignment [22].This means that it is possible to extract the general features of a given concept based on the input information.
In this work, generalization is introduced by considering the hamming distance from training patterns.The Hamming distance between two binary patternsis the number of bit positions in which they differ.It is simply defined as the number of bit that is different between two bit vectors and this gives a rough idea of how similar thetwo patterns are [29].

Results and Discussion
In order to verify the feasibility of the technique presented in this paper, a navigational experiment of the mobile robot is done.The proposed WNNs contains several microcontrollers to avoid require large memory that lead to the robust implementation.It could also improve the system flexibility by using multi-processor.In performing navigational tasks, all the data detection from ultrasonic sensor are input to WNNs, which tell to WNNs the obstacle-scenarios in the environment.Thus WNNs outputs are the environmental and the obstacle pattern.Depending on the pattern, a decision is made by the WNNs sent to the actuator to produce suitable commands for mobile robot action.
As WNNs is memory-based it requires a number of RAM and ROM inside a microcontroller.In this work, the neurons are realized in RAM.The size of RAM used is 8 x 128 byte for sensor array, 2 x 512 byte for navigation module with size of ROM is 20 K x 8 bit for processing the controller.This size provides plenty of storage to investigate any changes in the structure, size and number of neurons.To identify how the neurons are organized in RAM, Table 1, shows WNNs with 7 classes and 8 neurons belong to each class is considered, thus the number of neurons are 56.Each neuron (n) represents specific pattern in the environment.All neurons that are connected with different address line, which connects each pattern to the address input of the neurons.In this work, all neurons are placed in 8 RAMs with a different memory location.1 neuron is placed in 1 block of memory address, 1 block comprises of 8 memory locations with 1 memory location is equivalent to 8 bit, thus 1 block has 64 bit as shown in Figure 6.Hence, look-up tables are applied to implement the navigation control circuit.The network uses 8 binary inputs from sensor arrays are represented by a black box structure.The neurons connection is specified.It can generate many binary vectors as environmental patterns and all patterns data stored in look-up table.This strategy is used as the navigational control of the mobile robot.
This research considers WNNs technique in mobile robot navigation to be applied to complex real environment.The controller receives the inputs connected to the address lines of RAM device.Implementation of WNNstechnique in this work is limited by the amount of available memory since the neurons are assembled as binary vectors and stored all input pattern into 11 commercial RAM as a look-up table in pyramidal shape.The result of the proposed solution is shown in Table 2, indicates the amount of memory required by adopted WNNs.
Implementation of the proposed design strategy is to find WNNs structures including neuron numbers and input numbers that show the best results for the environmental recognition problem.WNNs topologies are analyzed in order to specify which neuron architecture presents the best recognition level.It is noticed that the WNNs can saturate if the number of presented patterns is high, instead of improving its recognition rate [29], [30].This research investigates the error rate of recognition produced by the approach after training process.Table 3 shows summary of percentage of WNNs recognition level, the table shows that the performance test using maximum 9 input neurons produce rejection and recognition level which gives pattern similarity of the WNNs.The average recognition rate based on that technique has risen from 87.6% to 98.5%.To validate the performance of mobile robot to perform navigation tasks, the experimental is conducted to see changes in motor speed in dealing with changing environmental patterns.Previously mentioned, that there are 50 patterns of the environment has been entered on the look-up table in WNNs.When the mobile robot moves, the environment changes dynamically and it must be solved by a mobile robot.From graph in Figure 7 shows that the speed of mobile robot movement is relatively stable although the environmental changes.Error rate of the motor speed when the mobile robot movement is only 0.56 % as shown in Figure 8, this occurred because of the presence of cross talk in ultrasonic sensor and produce noise in the speed data when it detects every patterns of the environment.
The experimental results shown by the proposed technique has yielded promising results that indicatethe mobile robot is able to recognize the environmental pattern and achieve robust performance with less computational cost.Furthermore, it has successfully performed in several mobile robotenvironment outperform other controllers including logic function and fuzzy logic as shown in Figure 9. From all experimental results, this technique could improve the flexibility, since it allows fast processing, decreases computational cost and improves performance in mobile robot navigation.

Conclusion
WNNs help to overcome the sensor noise that exist in a real time environment, generating a good reactive system appropriate for complex environment, with static as well as dynamic obstacles.It is apparent the ability of WNNs controller in avoiding obstacles, the experiment shown that WNNs-based RAM has successfully generated 0.56% error rate of motor speed when mobile robot moves, only 3.854 byte memory resources and high recognition rate compare to logic function and fuzzy logic controller.This indicates the proposed algorithm has been verified via real experiments and being compared to logic function and fuzzy logic controllers.The mobile robot has successfully reached the goal in dynamic environment, capable of dealing with uncertainty in sensor reading, achieving good performance in performing control actions with minimal computational resources.

Figure 3 .
Figure 3. Arrangement of ultrasonic sensors installed in mobile robot

Figure 4 .
Figure 4. Sensory pattern for 20 feature of environment

Figure 6 .
Figure 6.Each neuron has eight counting states

Figure 7 .Figure 9 .
Figure 7. Response of motor speed when environmental changes The distance value gives interval for being close.The HD value D ij measure between input bit pattern i x and test bit pattern p x , then output vector O=[ 1 o , …., D o ] be a bit vector of dimension D and N(O) be the number of 1 bit in O.To compute the similarity measure a cost is associated relative to the distance valueD s (x).To indicate the nearest neighbor distances between i

Table 1 .
A typical WNNs with eight address lines

Table 2 .
Memory used in proposed architecture

Table 3 .
WNNs recognition level using proposed architecture