Follow me

Showing posts with label Controlling by learning. Show all posts
Showing posts with label Controlling by learning. Show all posts

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.

Saturday, September 22, 2012

Intelligent control of robotic manipulators: experimental study using neural networks


Pramod Gupta, Naresh K. Sinha
Mechatronics, No. 10, 2000
Summary
                  The papers is about the application of neural networks for “model-free” controllers, so that they can learn online the composition of the system improving constantly their performance.
Today robotics face the challenge of flexibility, requiring to operate in real-time, pick up novel payloads and be expandable to accommodate many joints. Traditional control methods (direct program control, teaching pendants, inverse kinematics) are not adaptive and may work well in highly repetitive environments, but not in the case of uncertainties. Recent studies have demonstrated important characteristics of learning by neural networks, this methods appears to be adaptive and therefore ideal for a general robotic system.
·       Model
The papers goal is to perform an experimental model to get the real-time features and numerical characteristics of the proposed neuro-control schemes. Basically the neural network is trained offline to approximate the inverse dynamic model of the manipulator; the errors during operations can be used to train the neural network online (through the modified delta-bar rule) The fundamental steps of the learning algorithm are: weight update rule, learning rate update and gain update rule.
The weight update rule is: w1ji(n+1)=w1ji(n)+ji(n+1)δlj(n)yi(l-1)(n)+αΔwlji(n-1) where δljejl(n)fl(wlj(n)), w1ji(n) is the synaptic weight connecting neuron ith in the previous layer to the jth neuron in the lth layer, η is the learning rate, which is following Jacob’s heuristics (please refer to paper).
The learning rate depends on Dji(n) and Sji(n), the former being the partial derivative of the error surface with respect to wji(n) and the latter being an exponentially weighted sum of the current and past derivatives of the error surface with respect to wji(n) and with a constant indicating the base and iteration number n as the exponent.
The general procedure for control systems development involved: control task definition, contro system hardware setup, modeling parametric identification, control scheme selection and simulation test, real-time control code programming and implementation and system testing (the authors analyze only the last 2, since they use a robot, FLEXROD, where the former steps have already been done.
·       Experiment
The experiment involved FLEXROD, which has the following characteristics: a mechanical arm with two DC motors, one encoder per motor, transmission gear and light weight aluminum structure, a controller amplifier package, a personal computer interface for communication and programming. The joint velocities are obtained by differentiation of the join angles, due to noise in the differentiation a Butterworth filter is used with a cutoff frequency at 100Hz.
Key Concepts
Controlling by learning, Neural Networks, Online programming, Intelligent Robots
Key Results
It has been observed that the qualitative behavior is very close to that obtained in the simulation phase. The same tasks performed with a PID controller demonstrated results with a larger error.
Creating control system based on the neural network producing the largest part of the control input with a linear compensator generating small compensations is then effective. Compared with PD controllers it has been demonstrated that there are less oscillations and a neural network based scheme is then capable to handle unmodeled factors. Neural Networks can lead to the definition of intelligent robots as: “being one which trained for a certain class of operations, rather than one which is trained for virtually all possible applications”.