230 likes | 548 Views
Topic:. Neural Network control for Fire fighting Robot. Presented by B.Harinath. Introduction What is neural network? Models of neural networks Applications Phases in the neural network Perceptron Model of fire fighting robot Encoding of target actions
E N D
Topic: Neural Network control for Fire fighting Robot Presented by B.Harinath
Introduction What is neural network? Models of neural networks Applications Phases in the neural network Perceptron Model of fire fighting robot Encoding of target actions Training of network Experiments Conclusion CONTENTS:
The goal of this paper is to present the design of a robot using neural network technique to fulfill the requirements for a Robotics course . The robot has to move forward from a starting position, navigate around obstacles, detect any fires in its path, and then extinguish them. Next, the neural network control algorithm is discussed, together with the training procedure. Finally, we summarize the results of several experiments that measured the robot's fire-fighting Introduction:
A neural network is a set of nodes, called units, which are connected by links. A numeric value, called a weight, is associated with each link. All weights in a network are generally initialized to a random value between zero and one. Learning in a neural network is typically performed by adjusting the weights. Neural networks are software or hardware models inspired by structure & behavior of biological neurons and the nervous system. What is a Neural Network?
Robotics (control, navigation, coordination, object recognition, decision making). Signal processing , speech and word recognition. Financial forecasting (Interest rates, stock indices and currencies). Weather forecasting. Diagnostics (e.g. Medicine or Engineering). APPLICATIONS:
There are two phases in a neural network for robotics. First, the network must be trained, then it can be tested, by adjusting the weights associated with the link in order to map each input pattern to the desired output pattern for that input. i.e., a function must be learned that performs this mapping. The function is represented by the weights associated with the links. Once the network has been trained, the function is evaluated by processing the inputs, and taking the action corresponding to the output unit with the largest value. Phases in the neural networks
A single perceptron unit j is shown in Figure 1.The unit computes a weighted sum of its inputs, and then transforms the weighted sum into the output value for the unit, oj, by passing it through an activation function. Many types of activation functions can be used. The most common activation functions are the step function, sign function, and Sigmoid function. The Sigmoid function takes values from a possibly large input domain and maps them to values between zero and one. For this reason, the Sigmoid function is often called a squashing function. Perceptron network:
Encoding of Target Action FORWARD Both sensors Covered{1, 0, 0, 0} TURN_LEFT Left uncovered Right covered {0, 1, 0, 0} TURN_RIGHT Left covered Right uncovered {0, 0, 1, 0} BLOW Both sensors Uncovered {0, 0, 0, 1}
The goal of training the network is to adjust the weights so that the input patterns (sensor inputs) are mapped to an output pattern that corresponds to the “correct” action the robot should take. The robot is trained by simulating the situations that it can expect to encounter. The trainer places her hand in front of an infrared sensor, say on the left side, and then gives the target action TURN_RIGHT, and vice versa. When none of the sensors detects an obstacle, the target action FORWARD is given. Training of Network
When a candle is placed within sensor range, the robot is given feedback to BLOW. Initially, all weights in the network are assigned random values (between zero and one). During training, when an incorrect action is taken by the robot, the correct (target) action is indicated by covering, or uncovering, the light sensors . Weights are updated during training using simple back-propagation of errors. The formula for updating wij, the weight of the link between input unit i and output unit j, at time t+1 is: wij(t+1) = wij + h × (tj(t) - oj(t)) × ii(t) + a × Dwij(t-1), where h is the learning rate (defined as 0.3), tj(t) and oj(t) are the target output and actual output from unit j, respectively at time t, ii(t) is the input at unit i at time t, a is the learning momentum (also defined as 0.3), and Dwij(t-1) is the weight update increment on the link from unit i to unit j in the previous iteration. Continued..
The weights in the network are shown at two intermediate checkpoints and at their final values. At Checkpoint 1, the robot had learned to navigate and blow, but not to detect fire. By Checkpoint 2, the robot had also learned to detect a fire on the left-hand side. In this case, the weights on the links associated with the first two sensors (LED1 and LED2) converged quickly. The next weights to converge corresponded to OPT1 and OPT2, the two opto sensors nearest the front of the robot. Finally, the weights of the links ass associated with sensors OPT3 and OPT4 converged. Thus, in this training session, fire detection in the periphery was the final task learned. Once the neural net had been trained, no additional training required. Explanation of Graph:
From the above discussion it is understood that Neural networks have the property of learning from data and mimicking the human Learning ability. It can be easily implemented in hardware and don't ask the deep understanding of problem or the process. Conclusion:
www.google.com www.media.mit.edu http://lcs.www.media.mit.edu References
THANK YOU
QUERIES ?