Follow me

Showing posts with label Backpropagation. Show all posts
Showing posts with label Backpropagation. Show all posts

Saturday, October 6, 2012

A study of neural network based inverse kinematics solution for a three joint robot


Rasit Koker, Camil Oz, Tarik Cakar, Huseyin Ekiz
Robotics and Autonomous Systems, No.49, 2004

Summary
                  The inverse kinematic problem for a robotic manipulator is about obtaining the required joint values for a given desired end point position and orientation. There are mainly three approaches for solving the problem: geometric, algebraic and iterative.
The algebraic solution has the problem of not guaranteeing closed form solutions, the iterative method instead converges to only a single solution and this depends on the starting point, while the geometric method can guarantee closed form solution only if the first three joints of the manipulator exist geometrically.
Artificial Neural Networks (ANN) have instead the advantage of being flexible and adaptable and useful specially when shorter calculation times are required, such as in real-time operations.
Direct kinematics is when given a joint angle vector at time t and the geometric parameters (with n d.o.f.) the position and the orientation must be found, therefore the inverse kinematic problem is finding the joint angle vector. ANN is a parallel-distributed information processing system, operators are connected via one way signal flow channels. The ANN stores samples with a distributed coding, forming a trainable non-linear system. As a learning algorithm the Back-propagation is used, consisting of a network of input, hidden and output layer (with no constraints on how many hidden layers there should be) with strong mathematical foundation based on gradient descent learning. NET values, the values in the perceptrons (neurons) in the hidden layers, are obtained multiplying input with weights, considering j the node on the right side of i-th node and k the node on the right side of j-th node, then: NETj=1-3=ΣIiWi,j+WBjNEW and OUTj=1-3=1/(1+e-NETj), where OUTk refers  to the output value of the neuron k after activation  and NETj refers to the net interval activity of neuron j. Similarly can be done on k nodes for the outputs of the network.
The different between target point and actual output of the network is the main core of the Back-propagation algorithm, in fact through the concept of error propagation the network is capable of improving itself through learning. We can compute the error gradient of neuron k from the output layer to the hidden layer as δk = OUTk(1 - OUTk)(TARGETk – OUTk) and the change in related weight as ΔWkj(n+1) = ηδkOUTk + α[ΔWji(n)] through which we can calculate WjiNEW = WjiOLD + ΔWji(n+1).
Once this computation is performed then similarly calculations are done from the hidden layer to the input layer as follows: δj = OUTj(1 – OUTj)ΣδkWkj and the change in related weight as ΔWji(n+1) = ηδjOUTj + α[ΔWkj(n)] through which we can calculate WkjNEW = WkjOLD + ΔWkj(n+1). The bias affect the function forcing the learning process to be faster, bias for the output layer are: ΔWBk(n+1) = ηδk + α[ΔWBk(n)] so that WBkNEW = WBkOLD + ΔWBk(n+1) and similar for the hidden layer ΔWBj(n+1) = ηδj + α[ΔWBj(n)] so that WBjNEW = WBjOLD + ΔWBj(n+1).
So as it can be seen the training is first carried through a forward pass, where calculation of NET and OUT are done, and the second is the backward pass, where error propagation throughout connection weights is performed. The process is iterative and repeated until the different between the TARGET and OUT are minimized to a decided value.
Key Concepts
Artificial Neural Network, Inverse Kinematics
Key Results
A cubic trajectory is used for describing the trajectory and is written as follows: θ(t)=a0+a1t+a2t2+a3t3, from which speed and acceleration can be obtained. An ANN is used obtaining in the end an error of 0.000121, the number of perceptrons (40 hidden, 3 input and 3 output) together with the learning and momentum rate (η and α) are decided experimentally. 

Friday, October 5, 2012

Trajectory Prediction for Moving Objects Using Artificial Neural Networks


Pierre Payeur, Hoang Le-Huy, Clement M.
Human Factors: The Journal of the Human Factors and Ergonomics Society
Summary
                  Prediction of objects trajectory and position is very important for industrial robots and servo systems, where this kind of information might be used for control, capture and other observation issues.
Parts’ trajectories are often unknown and catching object problem can be useful for example in a typical loading/unloading problem of a robot grasping an object (for instance s box) from a slide or a conveyor.
In such a condition of course accuracy is strictly important, both for achieving the goal and for safety purposes.
An optimum off-line method is path planning based on cubit polynomials with dynamics added (G. Sahar, Hollerbach, 1986), but this method involved a lot of computation and it is done off-line, being not flexible.
The authors propose the use of Artificial Neural Networks (ANN), which can be computed faster and most of all can learn the system, being adaptable and flexible. The problem can be defined as the prediction of the trajectory of a moving object in real time, with minimum error, with no collision on an arbitrary path.
·       Model
Time t0 is defined as the time in which the manipulator starts moving, the prediction is done with the period of time T. The trajectory model is defined with a cubic function: χ(t)=1/6α0t3+1/2β0t20t+χ0, where χ represents the position, orientation, velocity or acceleration according on needs.
Neural network are trained to define the values of the coefficients α0, β0, γ0 at each change of trajectory for which they have to be recalculated, the presence of pre- and post-conditioning allows the need of a long network so that in the end there are 3 inputs, two layers of 20 hidden cells each and one output cell.
The global predictive structure is a multiplication of this basic topology by the number of d.o.f. .The Network is modeled so that it basically obtains information about the change in position and not the exact position, this method ensures reduction of calculations, but pre and post conditioning are then of course required in order to ensure the start and continuation of the calculations. Sampling period T too many times also should be avoided, so the preconditioning module computes differences between the known positions and feeds the network is pseudo-displacement value, so the network will process it and generates the anticipated pseudo-variation of the position or orientation, the post-conditioning module finds then velocity and acceleration through kinematics. The processed data from the neural nets is normalized so that the maximum value is lower than the activation function maxima (in this case a bipolar sigmoidal activation function with a range from -1.0 to 1.0). Between two successive sampling there is a maximum coordinate variation ∆pmax, while limitation in resolution is the minimum detection possible (∆presolution), so that the number of possible steps to consider is STsingle=2∆pmax/∆presolution+1, which must be globally should be powered by three for each of the inputs. The size of the data can be reduced since two successive position or orientation variation are always of a similar amplitude with a constant sampling rate, so it can be assumed hat there is a maximum difference, tables (Appendix C) help for calculations shown at page 151. Once the input triplet is processed with the cubic model already introduced (to ensure that the output data presented to the network are exact), these are normalized between ±0.8 to avoid extremes, at that point the back-propagation algorithm and the pseudo-random presentation order are used for training the data (triplets are not presented in a fixed order, but the entire set must be used within one epoch).
Key Concepts
Artificial Neural Network, Path Planning, Trajectory Prediction
Conclusion
The method appear to be optimal and working as the polynomial trajectory model but being more flexible. Anticipated values are also more reliable and variances are more similar between axis so that errors could be improved and controlled.

Thursday, September 27, 2012

Theory and Application of Neural Networks for Industrial Networks for Industrial Control Systems


Toshio Fukuda, Takanori Shibata
IEEE Transactions on Industrial Electronics, Vol.39,No 6, December 1992
Summary
                  Human’s brain is composed by about 1010 neurons which allow the brain to be capable of having the following unique characteristics: parallel processing of information, learning function, self-organization capabilities, associative memory and is good for information processing. Ideally researched want to obtain a similar decision making approach and control system for robots, so that artificial neural network basically is a connection of many linear and non linear neuron models and where information is processed in a parallel manner. In the literature there have been approaches in obtaining «mindlike» machines (based on the idea of interconnecting models in the same manner as biological neurons), cybernetics (for which main principles see relationship between engineering principle, feedback and brain function) and the idea of “manufacturing a learning machine”. The literature goes further on in covering recognition system arriving to the Hopfield Net (a series of first-order non-linear differentiable equations that minimize a certain energy function).
·       Models
Each neuron’s output is obtained by summing all the inputs in the same neuron, subtracting the bias and considering a weigh effect on each input. The net is classified in two categories: recurrent net (for which multiple neurons are interconnected) and feed-forward net (which presents a hierarchical structure).
The Hopfield Net is a recurrent net, which has the capability of providing feedback paths, basically with the aim of stabilizing a certain potential field. For the purpose the state of the system and the potential field are used (refer to page 475 for the formulas), the system tends to equilibrium at infinity. This kind of setup allows parallel operation and it’s a case of associative memory (as for the system tends to move to equilibrium points).
Neural Networks are applied in different fields, as for the Travelling Salesman Problem, for which though the only suboptimal solution can be obtained (since the Hopfield transition is based on the least mean algorithm and this may stack to local minimum cases. The Boltzmann Machine is another case of application, for which each neuron is operating with a certain probability, so it also can minimize the energy function as for the Hopfield Net. Further implementations include the Feedforward Neural Network, it’s a back-propagation technique, meaning that is uses gradient search to minimize the error computer as the mean difference between the desired output and the actual one. Once the Back-Propagation is consisting basically the learning face, therefore the overall system first uses the input vector to produce its own output vector, then it computer the difference between the desired output and actual one and adjusts the weights according to the Delta Rule. The initial weights are have to be initialized and random small values are used (for the back propagation algorithm please refer to page 478).
Adaptive Critic appears to be an extended method for learning applications through associative search element and single adaptive critic element (the first being the action network and the latter being the critic network, having as an output a reward or punishment for the first network. Learning method can be offline (carrying unnecessary training), online (problem in initialization), or feedback error learning (which has the issue of lacking of knowledge of the system).
Key Concepts
Artificial Neural Networks, Backpropagation, Delta rule, Robot Learning
Key Results
Neural Networks are applied in vision and speech recognition, design and planning, application control (supervised control, where sensors input information, inverse control, which learns inverse dynamics of a system and neural adaptive control, in order to predict future outputs of a system), knowledge processing (where databases can be use also for initialization and for supervising the net).