7. Neural networks
7.6. Neural network controller
A new epitome of intelligent navigation systems must be enriched with some common features like: criteria for optimal performance and ways to optimize design, structure and control of robot. The growing need for the deployment of intelligent, highly autonomous systems has made it beneficial to carry out research on artificial neural networks due to its high learning capabilities with a high level of knowledge interpretability. Neural network is able to build comprehensive knowledge bases considering sensor-rich system with real time constraints by adaptive learning, rule extraction and inclusion. The training for back propagation algorithm and its navigational performances analysis has been done in real experimental setup. As experimental result matches well with the simulation result, the
83
realism of method is verified. To reduce travel time as well as the distance travelled, four layer perception neural networks has been designed by using the environmental information to make navigational decisions.
Fig 7.1. Multilayer Neural Controller for implementation of robotic behaviours
The first layer is used as input layer which has three neurons, for receiving the values of the distances from obstacles in front, left and right of the robot. Next the robot network consists of two hidden layers as shown in figure which adjusted the weight of neuron; as with one hidden layer it is difficult to train the network within a specified error limit. The training error is the difference between desired output and actual output. The first hidden layer has eighteen neurons and the second hidden layer has five neurons as shown in figure. These numbers of hidden layers were also found empirically. Then a output layer with a single neuron which provide steering angle to control the direction of movement of the robot. Back propagation method is used to minimize the error and optimize the path and time of mobile robot to reach the target.
Estimated Steering Angle (θ)
Input layer
First hidden layer
Second hidden layer Output layer L.D
F.D
R.D
During training and during normal operation, the input patterns fed to the neural network comprise the following components:
(7.11) (7.12) (7.13) (7.14)
These input values are distributed to the hidden neurons which generate outputs given by:
(7.15) (7.16) (7.17)
The sigmoid has the property of being similar to the step function, but with the addition of a region of uncertainty. Sigmoid functions in this respect are very similar to the input-output relationships of biological neurons, although not exactly the same. Figure given below is the graph of a sigmoid function. During training, the network output _actual may differ from the desired output θdesired as specified in the training pattern presented to the
network. A measure of the performance of the network is the instantaneous sum-squared difference between θdesired and θactual for the set of presented training patterns:
85
(7.18)
The error back propagation method is employed to train the network. This method requires the computation of local error gradients in order to determine appropriate weight corrections to reduce error for the output layer, the error gradient is:
(7.19)
The local gradient for neurons in hidden layer [lay] is given by
(7.20)
7.7 SIMULATION:
The robot was given a set of instructions to follow and the program was written in MATLAB simulator. The microchip in the robot was instilled with the program written in the MATLAB simulator. Various obstacles were provided in the path of the robot so that it had to change its path to reach its destination. The figure showing the arrangement of the obstacles is shown in the figure 7.2. The robot can be seen as a small black dot at the origin of the graph whereas the destination is seen as the green circle at the other end of the graph. The robot has to dodge the obstacles and reach the destination.
Fig. 7.2. Figure showing the arrangement of obstacles in the environment
The program allows the robot to reach the destination safely without colliding with the obstacles. Figure 7.3 shows the path of the robot taken to reach the destination.
7.8 EXPERIMENTAL ANALYSIS
The path achieved by the robot during simulation was verified by implementing the prograon a stingray robot in a physical environment similar to the environment produced in simulation. The path length of the robot was measured in the real environment as well as in the
87
Fig.7.2. Path taken by the robot during simulation in MATLAB for NN
7.9 RESULTS AND DISCUSSION
The comparison between the simulation and experimental results was done in terms of the distance covered by the robot and the time taken. The comparison for Fuzzy logic is given in the following table:
Sl.No.
Back propagation algorithm
Path length in simulation achieved by proposed
technique in cm.
Path length in experiment achieved by proposed technique in cm. Error in % 1. Backpropagation algorithm 252.0 253.0 0.397
Table 7.1. Results found from the simulation and experimental results for NN method
Note:-Scale for simulation: 1 = 27.777
7.10 CONCLUSION
The simulation of the above techniques in MATLAB revealed that the path taken by the robot in all situations is different. However the robot was successful in avoiding the obstacles in the path and was successful in reaching the goal position. The comparison between simulation and experimental results showed a good agreement.
88