You are on page 1of 44

The degree of freedom

problem

Gregor Schöner
gregor.schoener@ini.rub.de
Spaces for robotic motion planning
Author'
task level planning is
about end-effector pose564 C. Faubel, G. Schöner
in space (e.g,. 3
translational and 3
rotational degrees of
freedom)
configuration space
planning: joint angles of
actuated degrees of
freedom
Forward kinematics

(x,y)

l2 θ2
where is the hand, given
the joint angles.. l1
θ1

x = f(θ) x = l1 cos(θ1) + l2 cos(θ1 + θ2)


y = l1 sin(θ1) + l2 sin(θ1 + θ2)
Differential forward kinematics

(x,y)
where is the hand moving,
given the joint angles and
velocities l2 θ2

l1
·x = J(θ)θ·
θ1

·x = − l sin(θ )θ· − l sin(θ + θ )θ· − l sin(θ + θ )θ·


1 1 1 2 1 2 1 2 1 2 2

·y = l cos(θ )θ· + l cos(θ + θ )θ· + l cos(θ + θ )θ·


1 1 1 2 1 2 1 2 1 2 2
Differential forward kinematics

(x,y)
where is the hand moving,
given the joint angles and
velocities l2 θ2

l1
·x = J(θ)θ·
θ1

0 1 0 1 0 1
B ẋ C B l1 cos(✓1) l1 cos(✓1 + ✓2) l2 cos(✓1 + ✓2) C B ✓˙1 C
@ A = @ A·@ A
ẏ l1 sin(✓1) + l2 sin(✓1 + ✓2) l2 sin(✓1 + ✓2) ✓˙2
Inverse kinematics

(x,y)

what joint angles are l2 θ2


needed to put the hand
at a given location l1

exact solution: θ1

θ = f −1(x)
where I want it?
Inverse kinematics

✓1 = arctan2 (y, x) ±
l2
what joint angles are
✓2 = ⇡ ± ↵
needed to put the hand
at a given✓location
2 2
l1 + l2 r 2

l1 (x, y)
1
↵ = cos ↵
exact solution: 2l1 l2
✓ 2 2 2
◆ r
1 r + l 1 l2
= cos
θ = f −1(x) 2l1 l2

where r2 = x2 + y2 [thanks to Jean-Stéphane Jokeit]


Differential inverse kinematics

(x,y)
which joint velocities to
move the hand in a
particular way l2 θ2

1 0 l1 1 0
ẋ C Bθ· = lJ1−1
cos(✓
(θ)x·1 ) l1 cos(✓1 + ✓2 ) l2 cos(✓1 + ✓θ2) C B ✓˙
A = @ 1 A·@
ẏ l1 sin(✓1) + l2 sin(✓1 + ✓2) l2 sin(✓1 + ✓2) ✓˙
with the inverse of
0 1
B l1 cos(✓1) l1 cos(✓1 + ✓2) l2 cos(✓1 + ✓2) C
J(✓) = @ A
l1 sin(✓1) + l2 sin(✓1 + ✓2) l2 sin(✓1 + ✓2)
if it exists!
Spaces for robotic motion planning
·x = J(θ) ·
Author'
kinematic model x = f(θ) θ
·
inverse kinematic model θ = f −1(x) θ = J−1(θ)x·
564 C. Faubel, G. Schöner

transform end-effector
to configuration space
through inverse
kinematics
problems of singularities
and multiple “leafs” of
inverse…
Redundant kinematics
(x,y) 3

redundant arms/tasks:
more joints than task-level 2
degrees of freedom

x= l cos( 1) + l cos( ) + l cos( )


y= l sin( 1 ) + l sin( ) + l sin( )
Redundant kinematics

(x,y)

=> (continuously) many


inverse solutions…
Redundant kinematics

use pseudo-inverses that minimize a (x,y)


functional (e.g., total joint velocity
or total momentum)
range space

·x = J(θ)θ·
motion

·
θ = J+(θ)x·

J+(θ) = JT (JJT )−1 pseudo-inverse


ch we generalize and the hand reference point, the vector ⃗rh from the wris
Spaces for robotic motion planning
he arm itself and the hand reference tool-point (Fig. 3) is determined as
h is heuristic and φEEF θEEF
umptions, but is r⃗h = R z · R y · êx · lh
thods (e.g., [17]) where Rx , Rz denote rotation matrices around the z- and
or use extraaxes,
jectories. degrees of
êx the unit vector in the x-direction and lh denotes
o we arefreedom
address-forseqment
additionallength.tasks
h for objects on a
all obstacles, be Arm Redundancy Angle α
arts of the human ⃗r f
⃗r h
ns in space, never ⃗r u T ⃗r g
⃗r W S
e.g., never in the sh
z ⃗r m
ator). B ⃗rE E F
z ⃗r sh
sh y
ement plan from sh
B
y x
l-point trajectory B
x Body Redundancy Angel γ
. We control the
the collision-free
moved. We then
Fig. 3. The redundancy of the shoulder and the elbow joints
er to control the [Iossifidis, Schöner, ICRA 2004]
bstacles with the
Degree of freedom problem
in human movement
what is a DoF? (x,y) 3
variable that can be
independently varied

e.g. joint angles 2

muscles/muscle groups
1
but: assess to which extent they
can be activated
independently… x= l cos( 1) + l cos( ) + l cos( )
y= l sin( 1 ) + l sin( ) + l sin( )
.. mode picture
Degree of freedom problem
in human movement
for most tasks, there are many more (x,y)
degrees of freedom than task
constraints…
e.g., 10 joints in the upper arm including scapular
joints to control hand position and orientation
(3 to 5 or 6 DoF)

but typically more: involve upper trunk


movements

or even make a step to move

many muscles per joint (e.g. about


750 muscles in the human body vs.
about 50 DoF)
Degree of freedom problem
in human movement

Nikolai Bernstein… 1930’s… in the Soviet


Union
“how to harness the many DoF to achieve
the task”
Bernstein’s workers
highly skilled workers wielding a hammer to hit a
nail… => hammer trajectory in space less variable
than body configuration
as detected in superposing spatial trajectories of lights on hammer vs.
on body..

but: camera frame anchored to nail/space, while initial body


configuration varied
Bernstein’s workers
was the hammer position in space less
variable than the joint configuration?
that is, does the task structure variance?

so that the solution to the degree of freedom problem


lies in the variance/stability of the joint configuration?

but: does this make any sense?


different reference frames for body vs. task

different units in the task vs joint space


Classical synergy concept
x motor commands

the task-level motor


commands ‘x” activate
synergies=groups of DoF
through a forward neural
network

r
DoF/muscles
Classical synergy concept
motor commands
variation here

command varies in
time or across tasks
=> covariation of
these muscle
activations / DoF leads to
movements co-
variation
here DoF/muscles
Classical synergy research strategy
identify distinct synergies with the hope of
finding a limited set => “the” synergies that
explain multi-degree of freedom movement
combine the time series of muscles/DoF under
different conditions (sometimes including
repetitions of movements) into one big data set
and look for structure (e.g. principal
components)
if a small number of PC’s is sufficient to account
for most of the variance, conclude that few
synergies at at work
160 LOW-DIMENSIONAL RECRUITMENT OF

Synergy: experimental use be estim


encaps
feedbac
tion fo
reconst
muscle
Welch

E.g, Safavynia, Ting, 2012: tempor


charact
used to
LOW-DIMENSIONAL RECRUITMENT OF MUSCLE SYNERGIES feedbac
cle syn
a range
and Tin
al. 200
tempor
activati
locomo
and Ry
2009; K
Here
low-dim
muscle
synergi
out per
ined m
through
includi
yond p
binatio
with th

Downloaded from http://jn.phys


versus
Fig. 1. Hypotheses and concepts explored in the present study. A: muscle activity
synergies with fixed spatial weightings [spatially fixed (SF) muscle synergies]. structu
Here the nervous system organizes muscle activity spatially. The nervous from e
system can variably recruit SF muscle synergies when a specific muscle
combination is desired throughout a task in a feedback or feedforward manner.
We pre
B: muscle synergies with fixed temporal recruitment [temporally fixed (TF) structu
muscle synergies]. In this hypothesis, the nervous system uses fixed temporal predict
sequences to recruit muscles during a task, consistent with feedforward would
control. When a specific temporal sequence is executed, a set of muscles that pattern
can vary across directions and trials is chosen to reproduce EMG activity
necessary to achieve the task. through
Classical synergy: critique of method

… no invariant set of synergies has emerged


confounds time, movement conditions, and trials
PCs are informative primarily about the geometry of the end-effector path.

and its variation with task

[Steele,Tresch, Perreault: J Neurophysiol 2015]


Classical synergy: critique of concept

The variance across repetitions for a given task at


given point in time = signature of stability
That variance is structured in the OPPOSITE way
than predicted!
Classical synergy: critique of concept
motor commands
random
variation here

random
leads to co- variance here:
variation here uncorrelated
DoF/muscles
Concept of the UnControlled Manifold
(x,y)

more flexed here


q3

less flexed here


the many DoF are
coordinated such that q1 q2
changes that affect the task-
relevant dimensions are
resisted against more than q3 [rad]
changes that do not affect 5
4.5

task relevant dimension 4


3.5
3
leading to compensation 2.5
2
2
1.8 1.2
1.6 1
0.8
0.6
q2 [rad] 1.4
1.2 0.2
0.4
q [rad]
[Scholz, Schöner, EBR 126:289 (99)] 1
UCM synergy: data analysis
A

!3 (rads)
align trials in time
hypothesis about task variable r a d s)
!1 (
!2 (
rads
compute null-space (tangent to )
the UCM) 3 C

predict more variance within 1.5

null space than perpendicular to


it 0

1.5 1

0.6
Figure 4. Depiction of hypothetical clouds of data points c
0 0.2
relationship to the UCMs depicted in Figure 3. In Figure 4
major axes of the ellipses is oriented parallel to the UCMs
UCM synergy: data analysis

supplement hypothesis 1.5

testing by checking for


correlation (Hermann,
0

1.5 1

Sternad...)
0.6

0 0.2

look for increase in variance of


task variable when correlation 3

within data is destroyed


1.5

1.5 1

0.6

0 0.2
Example 1: pointing with 10 DoF arm at targets in 3D

task variable: hand movement


direction in space

UCM
orthog UCM
Example 2: shooting with 7 DoF arm at targets in 3D

0.2
shoulder
0.15
back sight

vertical [m]
0.1 of gun
0.05

-0.05 wrist
Elbow
-0.1 0.4
0.4 0.3
0.3 0.2 0.1 0.2
0.1 0 0 ]
anterior-po a t e r a l [m
sterior [m] dial- l
me

[from Scholz, Schöner, Latash: EBR 135:382 (2000]


Example 2: shooting with 7 DoF arm at targets in 3D

gun spatial position gun orientation to target

0 20 40 60 80 100 0 20 40 60 80 100
percent of trajectory percent of trajectory
[from Scholz, Schöner, Latash: EBR 135:382 (2000)]
variance
within
variance
UCM
perpendicular
to UCM
Synergy: critique of concept
motor commands
variation here

leads to co- variance


variation induced here:
here is
uncorrelated
DoF/muscles
UCM synergy: decoupling
motor commands

insert a perturbation here

compensatory change here

arm in space
T1 [Martin, Reimann, Schöner, 2018]
T2 2
M4 S3 M

M1
M3

S2
S1

on Subject 1
Experimental setup and kinematics.
Subject 2 Subject 3 Model

0.1
Variance (rad2)

on
gue Dr. John Scholz at the University of Delaware.
volunteers between 21 and 35 years of age volun-
to participate in this study. Participants gave in-
d consent. All three participants
Normalized Time wereNormalized
right-handedTime Normalized Time Normalized Time
sed their right arm to reach to the targets.
sterno-clavicular shoulder elbow wrist
Subject 1 Subject 2 Subject 3 Model

Variance/DoF (rad2)
0.08 Ext.

Movement 1
Dir.

0.04

Variance/DoF (rad2)

0.08
Movement 2

0.04
Variance/DoF (rad2)

0.08
Movement 3

0.04
Variance/DoF (rad2)

0.08
Movement 4

0.04

Normalized Time Normalized Time Normalized Time Normalized Time


ns of motion of the arm are derived from the Lagrangian
model
generates torques in only one direction, negative for the agonist
w theory framework (Murray et al., 1994). The general form
ve for the antagonist component. The associated torques reach
biomechanical dynamics
m lengths, i = ⇥pi = ⇥i Co and i = ⇥m
i = ⇥i + Co, which
M ( ) · ¨ + H( , ˙ ) = Tm
t equilibrium length, ⇥i , by a constant amount of co-contractio
he inertial matrix of the rigid body, H( , ˙ ) is the vector o
orque, Ti , generated at joint i by the agonist and antagonist co
muscle models
oriolis and Centrifugal forces)p +
and Tm is the vector of ⇥activ
[Knl ·( i ⇥i )] [Knl ·( i ⇥m
i )]
Ti = Kl · (e 1) (e 1)
skeleton joints by muscle forces (all terms listed in Append
+ µbl · asinh( ˙i ⇥˙ i ) + µrl · ˙i .

The model was implemented in Matlab version 13 (MathWo


dynamics within thethe space of 2.6 Neural
self-motion Dynamics
depends on only the of the
compo
virtual end-effector velocity, v(t) = (v
neural dynamics of lambda
of λ and λ̇ within that subspace,module of our
so that model, theand
the range-space timin
null-
remain decoupled. joint trajectory, λ(t). This require
v̇ = −βisv (v
That this neuronal dynamics − u(t)),
a closed description in thesignal
timing space
virtual joint configuration λ and velocity λ̇ is seen by replacing all refer
to the end-effector velocity, v, and the v(t) = J[λ(t)]
self-motion velocity,
· λ̇(t),s, by virtua
so that the
velocities using equations virtual
2.5 and 2.6: end-effector velocity tr
refer
# to the two Cartesian components$of t
! + " −βv J · λ̇ + βv u − J̇ · λ̇
λ̈ = J E constant.
· T Although itT is not neuronally T
.
−βs1 E · (λ − θd ) − βs2 E · (λ̇ − θ̇ d). − Ė · λ̇
form (Perko, 1991) as the simplest mathe
To implement thelimit cycle
model, oscillator
the matrices that
J(λ), stands
E (λ), forĖ Ta(λ)
J̇(λ), and class
are
puted analytically.
this type of solution (Schöner, 2002). For
back-
2.7 Muscle-Joint Model. equation
the Hopf The virtual contains a second
joint configuration λ and (“in
ve
coupling
λ̇ drive the muscle joint systems. These are modeled by reducing a de
nonlinear muscle model!(Gribble
" et al., 1998) to its essentials, limitin!
u̇i we fuse all muscles acting onto a given
number of parameters. First,
dynamics within the space of self-motion depends on only the compo
approximation
of λ and λ̇ within that subspace, so that the range-space and null-
remain decoupled.
That this neuronal dynamics
timing signal is a closed description in the space
virtual joint configuration λ and velocity λ̇ is seen by replacing all refer
to the end-effector velocity, v, and the self-motion velocity, s, by virtua
velocities using equations 2.5 and 2.6:
# UCM $
! + " −βv J · λ̇ + βv u − J̇ · λ̇ null space
λ̈ = J E · of local .
−β0s1 E T · (λ − θd ) − βs2 E T · (λ̇ − θ̇ d). − Ė T ·Jacobian
λ̇

To implement the model, the matrices J(λ), E (λ), J̇(λ), and Ė T (λ) are
puted analytically.
=> control is stable in range space
2.7 Muscle-Joint Model. The virtual joint configuration λ and ve
λ̇ drive the
=> muscle jointstable
marginally systems. These are space
in UCM/null modeled by reducing a de
nonlinear muscle model (Gribble et al., 1998) to its essentials, limitin
number of parameters. First, we fuse all muscles acting onto a given
where does this come from?
start with pseudo-inverse of: v=J˙
˙ = J +v
¨ = J + v̇ ˙ +
[+J v ⇡ 0]
a neuron, n, encoding rate of change of n= ˙
:
+
ṅ = J v̇ <= insert timing signal v̇ = v + u
ṅ = J ( v + u) <= insert v = J ˙
+

ṅ = J ( J ˙ + u) <= replace n = ˙
+

+
ṅ = J ( Jn + u)
ṅ = J + Jn + J + u
where does this come from?
+ +
ṅ = J Jn + J u
+ +
ṅ = n+n J Jn + J u
+ +
ṅ = n + (1 J J)n + J u

projection feed-
onto null- forward
space from timing
command
where does this come from?
feed-
forward
from timing
command

+ +
ṅ = n + (1 J J)n + J u

projection
onto null-
space
how does this do the UCM effect?
projection feed-forward
onto null- from timing
space command

ṅ = n + (1 J + J)n + J + u
within the range-space ṅ
attractor
+
ṅ = n+J u
n
=> stability within the range-space
J +u
how does this do the UCM effect?
projection feed-forward
onto null- from timing
space command

ṅ = n + (1 J + J)n + J + u
within the null-space ṅ
ṅ = n+n+0 no attractor
n
ṅ = 0
=> no stability within the null-space
Conclusion
The problem of inverse kinematics is part of the
broader “degree of freedom problem”
Neither robots nor human movement systems
can use a simple 1:1 optimal solution, but must
allow self-motion to avoid drifts into singular
configurations
Humans have considerable self-motion and
stabilize movement much less within the UCM
(self-motion) space than orthogonal to it
Beyond the feed-forward few-to-many
mappings, this involves compensatory coupling
among motor commands.

You might also like