Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web






The co-ordination of movements. Movements reconstruction. Information theoretical approach in inverse kinematics. Projective methods and robust control.



Motion planning - free energy minimization solves the problem of controlling system's noise reduction for the systems with over-completed set of degrees of freedom and due to this over-completeness.

( TOWARDS THE 102-th ANNIVERSARY OF N.A. BERNSTEIN)

"Attempts of direct borrowing from Bernstein's theory were not
so successful as using his concepts in the character of metaphors." Citation from one scientific paper.

[ This idea that overcompletness is of particular importance not only for the flexibility but also for robustness of movement construction was constructed analyticaly by congenial experimental work of N.A.Bernstein. ]

"After the senses of an organism have provided information about the world to its brain, how does its brain then translate this information into a physical reaction (i.e. bodily movement) in response to stimuli, and how does the ability of an organism to produce adaptive and accurate movements develop? An outstanding central problem concerns the redundancy of effective movements, first pointed out by N.A. Bernstein."
Last citation from this abstract.


Part I is a lecture.
Part II should be regarded as a preliminary discussion of ideas, it is not an article yet.


An Introduction

In these briefs I try to explain how we can construct inverse kinematics algorithm from some natural experimental data (as target hand trajectory and it's mistakes). Then we could obtain joints' angles' trajectories from our algorithm that are in a good correspondence with the joints' angles' trajectories obtained in experiments. It's a good evidence, that natural trajectories' construction scheme could be learned by nature in the same way.
With the last, the noise resulted from imperfectness of our controlling systems have at least, in a most simple way, some covariances due to the fact of it's additive structure resulted from the way by which our movements constructed by this controlling system. So in the worst case covariative components of that noise add to each other. But if we try to add another optimization procedure, we could always operate in that projections where principal components of the noise are advertised. And in case we have an over-completing set degrees of freedom, we've got only such a noise projections that are representing principal component that have minimal variance.


PART I


Let's consider the standard solution of inverse kinematics. Let dq be a vector of small angles perturbations and dx is a vector of resulting shift of the pointing arm end. We have to find

(1)
Where J is Jacobian of our mapping:
(2)
where i=1...N, j=1...M.
Jacobian is defined for each configuration q, but it is not invertible if M>N.

So let's introduce "stiffness" matrix C so that

(3)
means potential energy trade out of the arm shifting under assumption that every joints fixed by some resins with the stiffness coefficients, which values are diagonal elements of C, and there are some cross-joints links that are described the same way by non-diagonal elements of C. So C is positive-defined symmetrical matrix of size M*M.

Now we could find desired angles' shifts assuming the minimum of potential energy trade out. This assumption also takes from the idea of the presence of angles frictions.

Let's take (further q means dq and x means dx)

(4)
and multiply each equation of this set by Lagrange multiplier
Here it would be a scalar equation given in vector notations as
(5)
Then add that scalar value of potential energy that we are looking to minimize.
Then take derivates by each q and packit back in vector notations:
(6)
So we've got
(7)
One step further:
(8)
So
(9)
And q
(10)
So we have got von Neumann's generalized pseudoinvertion of non-invertible matrix.

Each lambda is derivate of potential energy by dx, this are forces applied to the arm end, our targeted point. So we look at this procedure as to a process of very slowly moving arm, that is binded by elastic bands, drawed by it's ending point toward a desired target. It should be slow enough, say adiabatic, for friction forces are regarded sufficient enough to take the system to the minimum of potential energy at every step.
Vector lambda in the last formula is always in the Range(J). The rows of the matrix, that precedes lambda, are linearly independent and belong to Range(J). So, if range of J less then N, there are always some x that gives q=0. This fact poses a problem of "singularities" this algorithm suffers.

Some words about repeatability.


PART II
If we have any of inverse kinematic scheme, like generalized inversion of Jacobian (or extended Jacobian if we are looking toward including balance control or joints-range control in our scheme), that is defined in every point of our configuration space and, if we have some noise in the system, we can improve our solution by means of the following.
And the following approach could be treated for if we try to model biological behavior with the generalized inversion scheme, we can use stiffness matrix as a set of parameters to adjust our model.

Let's go ahead and get in another framework.

We could regard our problem under assumption of applied noise, resulted from imperfectness of our system. Noise addiction regarded as linear one, so it could be applied to each angle or to the linear combinations of angles due to existing synergies. With the last case noise e has its own covariance matrix depending on the J(q) (here q is configuration vector).

(11)
Let's maximize posterior probability of q that is Pr(q|x) for we have to get the desired x with minimalized mistake. This minimalization makes our problem invertible.
(12)
Let's take, as a prior on q, Boltzmann distribution over the same potential energy landscape as it was constructed before.
(13)
And our likelihood is
(14)
Where N is positive-defined symmetric noise covariance matrix:
(15)
Where < . > means averaging over the set of "experiments".
Differentiating logarithm of the posterior probability by q we put it to be zero in extremum, which is minimum
(16)
Then
(17)
And
(18)
Thus we derived Wiener filter. Let's name operator in right side "K".
(It should be noticed, that if we use it like this, with randomly chosen, but symmetric and strongly positive defined C, we will be also suffering singularities in case Rank(J) < N).
Comparing with our pseudoinversion derived before, yet on this stage, You could see that the noise could be playing the role so suspiciously similar to those of the forced synergisms.

Is it possible somehow to compensate the noise by choosing the appropriate strategy of planning the set of stiffness coefficients? Lets think how it could be.
Suppose that we have to get an "exact " solution for dx.
Multiplying the last equation by J from the left we should get:

(19)
As desired for our problem ( Jq=x ), and I is identity matrix.
This would be held, if ( it's non-trivial solution)
(20)
So vectors-columns from C must be orthogonal to lines of matrix R, that is not one way defined
(21)
R is such a "virtual", not one way defined matrix of size N*M, that is being multiplied by transposed J and then by inverse N from the right side gives identity matrix of size M*M. Inversion needed to find R uses Singular Value Decomposition (SVD).
When we have as much degrees of freedom for our arm as for the space of targeted point N=M(remember N is the rank of J, N and of Rand M is the rank of C), so it couldn't be possible to find C orthogonal to R, because in this case we are near to get null-ranked C. And in the situation of over-completeness of degrees of freedom it is possible to find non-null-ranked C to get some synergisms (of number [M-N] ) that could compensate the noise. C could be constructed as an outer product of two matrices, which columns are the basis representing null space of R. As C is constructed using SVD for R, that kind of C produces stabilization effect in our inversion scheme. In this case we've got nothing more, but exactly the same solution as for the generalized inversion.

Very important notion: we can dissect the noise if it is not gaussian just added to dq. The noise should be dependent on dq. There are many different methods for such a problem, but in general we have two most important.
For the first one we could mention C as it is dependent on dq. So, in general it would be a nonlinear function of dq in our prior. The exact form of this function could be chosen by our intentions whether to find norm or determinant or trace of resulting noise covariance matrix. So we have to find a minimum of nonlinear functional at each step.
But in our case we are looking for changing C, so that to find an appropriate subset of ruling angles, a synergie, may say, sparse representation, for we have a redundant system. This subset should carry a least impact for the resulting noise. So we are looking for projective scheme.

Our algorithm goes on like this:
1. Find C, as it was shown before, as outer product of vectors representing null(R).
2. Find K.
3. Update N. (this update differs really from that of Kalman filtering)*
4. Repeat from 1 up to the convergence of N.
-----
* delta_N=2*J*diag(delta_q./q)*R'
Where diag(delta_q./q) is diagonal matrix with i-th diagonal element is (qi(new)-qi(old))/qi(old). It's true for our particular noise model up to the second order terms of (delta_q./q).
See also: rough approximation by the learning-by-doing, which is actually is not true.

Experiments were performed like that. Noise was applied to dq, depending on dq (proportional to absolute values of dq), but cross-covariating over dq. Kinematics was obtained with generalized inversion, no matter what matrix C in this scheme could be, but symmetric, positive and full-ranged. So we obtain the noise covariance matrix of output variable dx at each time step. Then we use our inversion scheme, that is constructed as it was shown before, for each time step. Results were obtained from algorithm implementation uses just steps 1 and 2 once for each trajectory point. In general case we have two items to update on 3rd stage: N and amplitudes of supporting vectors for C.
Obtained matrix C, depends only on our task and arm configuration. This convergence was proved by a number of experiments.

for 3-joint arm in planar (2D) task:


Here generative vector of synergie matrix is a null space of R for converged C (Time steps for 1:60).
( Time steps for the end part of trajectory -- 40:60 )

I don't show comparison to the Kalman filter with the same stiffness matrix as for generalized inversion, because it is exactly reproducing, recovering generalized inversion. And for our inversion the error is always less.


Typical difference between "hidden" recovered variables dq for 80-step trajectory of 3-joint arm in planar task as obtained by generalized inversion or recovered by Kalman filter (continuous lines), and in our filtering (dotted lines). Different colors are for different angles. Don't less amplitudes in our filtering mean sparseness? -- Just only one joint, most controllable, that carries less noise, has bigger amplitude.

The same as above but for the different path coming near singularity at step 42.

- Why C in our scheme named synergie, not stiffness?
- Because it is not full-ranged.
- What would be if number of "observable" variables is greater than the number of "true" variables?
- In our case we should solve equation (20) in least square sense.
- Could this filter be implemented for prediction as a Kalman filter?
- Kalman filter recovers "true" variables. And if we knows dynamics of this "true" variables, we can find them and then predict. In our case we reconstruct "new" variables. If we can identify dynamics for this, then we might predict dynamics of "observable" with a greater precision.


As it was said in introduction, we looking for such a projection that supports only "independent" components of the noise and, in the case of over-completed system, we are obtaining only those components of the noise that the resulting noise have the less norm. It seems like thresholding, but there is no surprising in it because we are looking for such a matrix C, that is orthogonal to the projection operator R(that means matrix of covariances between the angle noise and resulting output noise).

If we remember the epigraph, we would like to wonder about general situation, when neural network represents some inputs by over-completing coding strategy and it's neurons are not perfect that means some noise is distributed over the controlling system. Treating this situation in similar fashion we've got only those neurons are working that carry smallest and not cross-covariating (by their interdependence in resulting noise) components of the noise.

So the controlling scheme could be chosen by the structure of the system itself, as in case of the motion planning our geometry choose the type of synergism at every step.


Conclusion

Operating within the "uncontrolled manifold" we can choose an appropriate coding in order to reduce multiplicative noise dependent on the operational variables. We refer to this coding scheme as "synergie".

Given the data of natural kinematogramms we can reconstruct the most likely used synergies for each time step estimating synergie matrix by linear regression methods.


AM, 15-18 July1999 (Updated November 1999)

Contribute to the author:
E-mail




If You are interested:

Review:

Crowe, A., Porrill, J., and Prescott, T.J. (1998) "Kinematic coordination of reach and balance."
Journal of Motor Behavior, 30, 217-233. Abstract . Full paper could be found here.

Worth to read first (recommended):

Hugh F. Durrant-Whyte
"Integration, coordination, and control of multi-sensor robot systems"
(Kluwer international series in engineering and computer science; SECS 36)
Kluwer Acad. Publ. 1988

Basic papers:

Bernstein, N.A. (1967) "The co-ordination and regulation of movements". New York: Pergamon.

Mussa-Ivaldi, F.A., Hogan, N. "Solving kinematic redundancy with impedance control: a class of integrable pseudoinverses ". //
IEEE Proc. Intern. Conf. on Robot. and Automation. Scots date (Ariz), 1989. P.1-6.

Sciaviccio, L., Siciliano, B. (1988) "A solution algorithm to the inverse kinematics problem for redundant manipulators". //
IEEE Journal of Robotics and Automation. 4 (4), P.403-410.

Lacquaniti, F., Maioli, C. (1994) "Coordinate Transformations in the Control of Cat Posture". //
Journal of Neurophysiology, 72, 4, pp. 1496-1515.

M.B.Berkinblit, A.V.Chernavsky, "Geometry and arm control". In book "Intellectual processes and their modeling". //
Ed. A.V.Chernavsky, Moscow, "Nauka", 1991. (In russian).

Similar ideas in:

J. P. Scholz, Gregor Schöner :
The uncontrolled manifold concept: identifying control variables for a functional task.
Experimental Brain Research, 126(3):289-306, 5/1999. Abstract (from that page You also could download full paper)




Disclaimer

Because of the total business of the author in other spheres, recently expected parts "Linear Regression Estimation of Synergies" and "Introducing projective methods in classical control theory" may appear much more later :(

The following may appear on my home page:
"New physiologicaly inspired approach to the global path planning and complex abstract task solving".
"Geometrical methods in quadratic programmming and Support Vector Machine regression. Profitability of Broyden projective methods". (This new hit will appear in press first)
"Linear neural networks and family of Riccati-like equations".
"Estimation of Generalized Dimensions and Cross-Enthropy in molecular dynamics. Thermodynamics of Chaos and phase transitions in macromolecules".



To My Homepage