( 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.
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
Where J is Jacobian of our mapping: (1)
So let's introduce "stiffness" matrix C so that
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)
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 IIIf 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.
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).
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:
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
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".