Kinematic Redundancy Robert Platt Northeastern University - - PowerPoint PPT Presentation

kinematic redundancy
SMART_READER_LITE
LIVE PREVIEW

Kinematic Redundancy Robert Platt Northeastern University - - PowerPoint PPT Presentation

Kinematic Redundancy Robert Platt Northeastern University Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even if the manipulator


slide-1
SLIDE 1

Kinematic Redundancy

Robert Platt Northeastern University

slide-2
SLIDE 2

Kinematic Redundancy

  • A manipulator may have more DOFs than

are necessary to control a desired variable

  • What do you do w/ the extra DOFs?
  • However, even if the manipulator has

“enough” DOFs, it may still be unable to control some variables in some configurations…

slide-3
SLIDE 3

Jacobian Range Space

Before we think about redundancy, let’s look at the range space of the Jacobian transform: The velocity Jacobian maps joint velocities onto end effector velocities: Space of joint velocities

  • This is the domain of

J: Space of end effector velocities

  • This is the range

space of J:

 

v

J R

 

v

J D

 q

q J v

v

 

 

V Q q Jv  :

slide-4
SLIDE 4

In some configurations, the range space of the Jacobian may not span the entire space of the variable to be controlled:

 

V Q q Jv  :

   

q J v V v

v

R    ,

spans if    

q Jv R V

   

q J v V v

v

R    ,

Example: a and b span this two dimensional space:

a b

Jacobian Range Space

slide-5
SLIDE 5

This is the case in the manipulator to the right:

  • In this configuration, the Jacobian does not span

the y direction (or the z direction)

   

q J y V y

v

R   ,

x y z

Jacobian Range Space

slide-6
SLIDE 6

Let’s calculate the velocity Jacobian:

q=(

π 2

π)

x y z

J v (q )=[ −l1 s1−l2 s12−l3s123 −l2 s12−l3 s123 −l3s123 l1c1+l2c12+l3c123 l2 c12+l3c123 l3 c123 0 ] Joint configuration of manipulator:

J v (q )=[ −l1−l2+l3 −l2+l3 l3 0]

 q

q J y

v

 

There is no joint velocity, , that will produce a y velocity,

q 

Therefore, you’re in a singularity.

Jacobian Range Space

slide-7
SLIDE 7

Jacobian Singularities

x y z

In singular configurations:

  • does not span the space of Cartesian

velocities

  • loses rank

) (q Jv ) (q Jv

Test for kinematic singularity:

  • If is zero, then manipulator is in

a singular configuration

 

T

q J q J ) ( ) ( det

det [J (q)J (q)T]=det[ −l1−l2+l3 −l2+l3 l3 0][ −l1−l2+l3 −l2+l3 l3 0] =det[ something 0]  Example:

slide-8
SLIDE 8

Jacobian Singularities: Example

The four singularities of the three-link planar arm:

slide-9
SLIDE 9

Think-pair-share

What are the singularities for this arm? – which dimensions of the range space go to zero in which configurations?

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-10
SLIDE 10

Jacobian Singularities and Cartesian Control

x y z

Cartesian control involves calculating the inverse or pseudoinverse:

 

1 # 

T T JJ

J J

However, in singular configurations, the pseudoinverse (or inverse) does not exist because is undefined.

 

1  T

JJ

As you approach a singular configuration, joint velocities in the singular direction calculated by the pseudoinverse get very large:

 

big

1 #

  

 s T T s

x JJ J x J q   

In Jacobian transpose control, joint velocities in the singular direction (i.e. the gradient) go to zero:

 

s T x

J q  

Where is a singular direction.

s

x 

slide-11
SLIDE 11

Questions

x y z

In Jacobian pseudoinverse control, what is the maximum velocity of a joint as a function of the singular values of J? What is the maximum joint velocity in Jacobian transpose control?

slide-12
SLIDE 12

Jacobian Singularities and Cartesian Control

x y z

One way to get the “best of both worlds” is to use the “dampled least squares inverse” – aka the singularity robust (SR) inverse:

 

1 2 * 

  I k JJ J J

T T

  • Because of the additional term inside the inversion,

the SR inverse does not blow up.

  • In regions near a singularity, the SR inverse trades
  • ff exact trajectory following for minimal joint

velocities. BTW, another way to handle singularities is simply to avoid them – this method is preferred by many

  • More on this in a bit…
slide-13
SLIDE 13

Question

x y z

One way to get the “best of both worlds” is to use the “dampled least squares inverse” – aka the singularity robust (SR) inverse:

 

1 2 * 

  I k JJ J J

T T

  • Because of the additional term inside the inversion,

the SR inverse does not blow up.

  • In regions near a singularity, the SR inverse trades
  • ff exact trajectory following for minimal joint

velocities.

Prove that this formulation adds an amount k^2 to each eigenvalue of JJ^T

slide-14
SLIDE 14

Yes – imagine the possible instantaneous motions are described by an ellipsoid in Cartesian space. Can we characterize how close we are to a singularity?

Manipulability Ellipsoid

Can’t move much this way Can move a lot this way

slide-15
SLIDE 15

The manipulability ellipsoid is an ellipse in Cartesian space corresponding to the twists that unit joint velocities can generate:

Manipulability Ellipsoid

1  q qT  

 

1

# #

 x J x J

T

 

A unit sphere in joint velocity space

 

 

 

1

1 1

 

x JJ J JJ J x

T T T T T T

 

   

1

1

 

x JJ JJ JJ x

T T T T T

 

˙ xT (JJT)

−1 ˙

x=1

Project the sphere into Cartesian space The space of feasible Cartesian velocities

Forms an ellipsoid – manipulability ellipsoid

slide-16
SLIDE 16

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?
slide-17
SLIDE 17

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?

Length of side i is sqrt of eigenvalue of JJ^T – i.e. reciprocal of sqrt of (JJ^T)^-1

slide-18
SLIDE 18

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?

Length of side i is sqrt of eigenvalue of JJ^T – i.e. reciprocal of sqrt of (JJ^T)^-1 Fun fact: Eigenvalue of JJ^T equals the singular value for J: Therefore: of matrix J.

slide-19
SLIDE 19

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?

Length of side i is sqrt of eigenvalue of JJ^T – i.e. reciprocal of sqrt of (JJ^T)^-1 Fun fact: Eigenvalue of JJ^T equals the singular value for J: Therefore: of matrix J. Manipulability measure: proportional to volume of manipulability ellipsoid

slide-20
SLIDE 20

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?

Length of side i is sqrt of eigenvalue of JJ^T – i.e. reciprocal of sqrt of (JJ^T)^-1 Fun fact: Eigenvalue of JJ^T equals the singular value for J: Therefore: of matrix J. Manipulability measure: proportional to volume of manipulability ellipsoid Why is this proportional to volume?

slide-21
SLIDE 21

Manipulability Ellipsoid

1

v

2

v

˙ xT (JJT)

−1 ˙

x=1

What are the dimensions

  • f manipulability ellipsoid?

Length of side i is sqrt of eigenvalue of JJ^T – i.e. reciprocal of sqrt of (JJ^T)^-1 Fun fact: Eigenvalue of JJ^T equals the singular value for J: Therefore: of matrix J. Condition number: eccentricity of manipulability ellipsoid Condition number close to

  • ne indicates an isotropic ellipsoid
slide-22
SLIDE 22

Manipulability Ellipsoid

Isotropic manipulability ellipsoid NOT isotropic manipulability ellipsoid

In what configuration of the planar two-link arm is this the manipulability ellipsoid isotropic?

slide-23
SLIDE 23

1    T

You can also calculate a manipulability ellipsoid for force:

 

1  F J F J

T T T

FT JJ T F=1

Force Manipulability Ellipsoid

F J T  

A unit sphere in the space of joint torques The space of feasible Cartesian wrenches

slide-24
SLIDE 24

Velocity and force manipulability are orthogonal!

Velocity ellipsoid Force ellipsoid This is known as force/velocity duality

  • You can apply the largest forces in the same

directions that your max velocity is smallest

  • Your max velocity is greatest in the directions where

you can only apply the smallest forces

slide-25
SLIDE 25

Think-pair-share

Velocity ellipsoid Force ellipsoid

Prove that the force and velocity ellipsoids are orthogonal

1  F JJ F

T T

 

1

1

 x

JJ x

T T

 

Velocity ellipsoid: Force ellipsoid:

slide-26
SLIDE 26

Manipulability Ellipsoid: Example

Solve for the principle axes of the manipulability ellipsoid for the planar two link manipulator with unit length links at J (q )=[ −l1s1−l2s12 −l2s12 l1c1+l2c12 l2c12 ]

q=(

π 4)

J (q )=[ − 1

√2

− 1

√2

1+ 1

√2

1

√2 ]

√λ1 v1=(

  • 0.3029
  • 0.1568)

J (q ) J (q )T=[ 1−λ −1+ 1

√2

−1+ 1

√2

2+√2−λ]

Principle axes:

√λ2 v2=(

  • 0.9530

1.8411 )

1 1v

2 2v

slide-27
SLIDE 27

Kinematic redundancy

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

A general-purpose robot arm frequently has more DOFs than are strictly necessary to perform a given function

  • in order to independently control the position
  • f a planar manipulator end effector, only

two DOFs are strictly necessary

  • If the manipulator has three DOFs, then

it is redundant w.r.t. the task of controlling two dimensional position.

  • In order to independently control end

effector position in 3-space, you need at least 3 DOFs

  • In order to independently control end

effector position and orientation, at least 6 DOFs are needed (they have to be configured right, too…)

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-28
SLIDE 28

Kinematic redundancy

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

J=[ j11 j12 j13 j21 j22 j23]

The local redundancy of an arm can be understood in terms of the local Jacobian

  • The manipulator controls a number of

Cartesian DOFs equal to the number of independent rows in the Jacobian Since there are two independent rows, you can control two Cartesian DOFs independently (m=2) You use three joints to control two Cartesian DOFs (n=3) Since the number of independent Cartesian directions is less than the number of joints, (m<n), this manipulator is redundant w.r.t. the task of controlling those Cartesian directions.

slide-29
SLIDE 29

Kinematic redundancy

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

What does this redundant space look like?

  • At first glance, you might think that it’s

linear because the Jacobian is linear

  • But, the Jacobian is only locally linear

The dimension of the redundant space is the number of joints – the number of independent Cartesian DOFs: n-m.

  • For the three link planar arm, the redundant

space is a set of one dimensional curves traced through the three dimensional joint space.

  • Each curve corresponds to the set of joint

configurations that place the end effector in the same position. Redundant manifolds in joint space

slide-30
SLIDE 30

Kinematic redundancy

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Joint velocities in redundant directions causes no motion at the end effector

  • These are internal motions of the

manipulator. Redundant manifolds in joint space

q q J  ) ( 0 

Redundant joint velocities satisfy this equation: the null space of

) (q J

 

  q q J Q q q J N    ) ( : ) (   

Compare to the range space of :

) (q J

 

  q q J x Q q X x q J R       ) ( , : ) (     

slide-31
SLIDE 31

Null space and Range space

 

) (q J N

 

) (q J R

 

1   n SO Q

m

R X 

Range space Null space

  • Motions in the null space

are internal motions Joint space Cartesian space

 

  q q J Q q q J N    ) ( : ) (   

 

  q q J x Q q X x q J R       ) ( , : ) (      q q J x   ) ( 

You can’t generate these motions

slide-32
SLIDE 32

Null space and Range space

 

) (q J N

 

) (q J R

q q J x   ) ( 

Degree of manipulability:

       

r manipulato

  • f

DOF total ) ( dim ) ( dim   q J R q J N

   

) ( dim q J R

Degree of redundancy:

   

) ( dim q J N

slide-33
SLIDE 33

 

) (q J N

 

) (q J R

q q J x   ) ( 

As the manipulator moves to new configurations, the degree of manipulability may temporarily decrease – these are the singular configurations.

  • There is a corresponding increase in degree of redundancy.

Null space and Range space

slide-34
SLIDE 34

 

) (q J N

 

) (q J R

q q J x   ) ( 

Null space and Range space

 

 

T

q J N q J R ) ( ) (

 

 

T

q J R q J N ) ( ) (

F q J

T

) (  

Remember the Jacobian’s application to statics:

slide-35
SLIDE 35

 

) (q J N

 

) (q J R

q q J x   ) ( 

Null space and Range space in the Force Domain

 

T

q J R ) (

 

T

q J N ) (

F q J

T

) (  

 

) (q J R

 

) (q J N

 

T

q J N ) (

 

T

q J R ) (

slide-36
SLIDE 36

Null space and Range space in the Force Domain

 

T

q J R ) (

 

T

q J N ) (

F q J

T

) (  

 

) (q J R

 

) (q J N

 

 

T

q J N q J R ) ( ) (

 

 

T

q J R q J N ) ( ) (

  • A Cartesian force cannot generate joint torques in the joint

velocity null space.

slide-37
SLIDE 37

Motions in the redundant space do not affect the position of the end effector.

  • Since they don’t change end effector

position, is there something we would like to do in this space?

  • Optimize kinematic manipulability?
  • Stay away from obstacles?
  • Something else?

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Doing Things in the Redundant Joint Space

slide-38
SLIDE 38

Assume that you are given a joint velocity, , you would like to achieve while also achieving a desired end effector twist,

  • Required objective:
  • Desired objective:

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Doing Things in the Redundant Joint Space

   

) ( q q q q q f

T

       

d

x 

Use lagrange multiplier method:

) ( ) ( z g z f

z z

   

Minimize subject to :

) (  z g ) (z f q 

d

x  q  x q J q g      ) (

slide-39
SLIDE 39

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Doing Things in the Redundant Joint Space

 

T

q q f      J g   ) ( ) ( z g z f

z z

   

 

J q q

T T

     q J q

T

    

 

x q J J

T

    

 

 

1

q J x JJ T    

 

 

1

q q J x JJ J q

T T

      

 

# #

q J J I x J q      

slide-40
SLIDE 40

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Doing Things in the Redundant Joint Space

 

# #

q J J I x J q      

Homogeneous part of the solution Null space projection matrix:

  • This matrix projects an arbitrary vector into the null

space of J

  • This makes it easy to do things in the redundant

space – just calculate what you would like to do and project it into the null space.

J J I

#

slide-41
SLIDE 41

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Things You Might do in the Null Space

Avoid kinematic singularities:

  • 1. Calculate the gradient of the

manipulability measure:

  • 2. Project into null space:

 

T

JJ q det   

 

# #

q J J I x J q      

Avoid joint limits:

  • 1. Calculate a gradient of the

squared distance from a joint limit:

  • 2. Project into null space:

 

# #

q J J I x J q      

  • where is the joint configuration at the center of the joints
  • and is the current joint position

 

q q q

m 

 

m

q q

slide-42
SLIDE 42

Things You Might do in the Null Space

Avoid kinematic obstacles:

  • 1. Consider a set of control points

(nodes) on the manipulator:

  • 2. Move all nodes away from the
  • bject:
  • 3. Project desired motion into

joint space:

  • 4. Project into null space:

 

# #

q J J I x J q      

  • bstacle

i i

x x x   

z

1

x

2

x

 

3 2 1

, , x x x

 

nodes i i T i

x J q0 

  • bstacle

d

x