Kinematic Redundancy A manipulator may have more DOFs than are - - PowerPoint PPT Presentation

kinematic redundancy
SMART_READER_LITE
LIVE PREVIEW

Kinematic Redundancy A manipulator may have more DOFs than are - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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-2
SLIDE 2

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-3
SLIDE 3

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-4
SLIDE 4

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-5
SLIDE 5

Let’s calculate the velocity Jacobian:

          = π

π 2

q

x y z

( )

          + + + − − − − − − =

123 3 123 3 12 2 123 3 12 2 1 1 123 3 123 3 12 2 123 3 12 2 1 1

c l c l c l c l c l c l s l s l s l s l s l s l q Jv Joint configuration of manipulator:

( )

          + − + − − =

3 3 2 3 2 1

l l l l l l q Jv

( )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-6
SLIDE 6

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

[ ]       =           + − + − −       + − + − − = something det det ) ( ) ( det

3 3 2 3 2 1 3 3 2 3 2 1

l l l l l l l l l l l l q J q J

T

= Example:

slide-7
SLIDE 7

Jacobian Singularities: Example

The four singularities of the three-link planar arm:

slide-8
SLIDE 8

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-9
SLIDE 9

Jacobian Singularities and Cartesian Control

x y z

  • So, singularities are mostly a problem for Jacobian

pseudoinverse control where the pseudoinverse “blows up”.

  • Not much of a problem for transpose control
  • The worst that can happen is that the

manipulator gets “stuck” in a singular configuration because the direction of the goal is in a singular direction.

  • This “stuck” configuration is unstable – any

motion away from the singular configuration will allow the manipulator to continue on its way.

slide-10
SLIDE 10

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-11
SLIDE 11

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-12
SLIDE 12

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

      =

23 22 21 13 12 11

j j j j j j J

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-13
SLIDE 13

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-14
SLIDE 14

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-15
SLIDE 15

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-16
SLIDE 16

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-17
SLIDE 17

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    − + =

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

#

Zero end-effector velocities

slide-18
SLIDE 18

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-19
SLIDE 19

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-20
SLIDE 20

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-21
SLIDE 21

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

slide-22
SLIDE 22

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-23
SLIDE 23

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

 

( )

1

1

=

− x

JJ x

T T

 

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

slide-24
SLIDE 24

You can calculate the directions and magnitudes

  • f the principle axes of the ellipsoid by taking

the eigenvalues and eigenvectors of

  • The lengths of the axes are the square roots
  • f the eigenvalues

Manipulability Ellipsoid

T

JJ

1

v

2

v

1

λ

2

λ

Yoshikawa’s manipulability measure:

  • You try to maximize this measure
  • Maximized in isotropic configurations
  • This measures the volume of the ellipsoid

( )

T

JJ det

slide-25
SLIDE 25

Another characterization of the manipulability ellipsoid: the ratio of the largest eigenvalue to the smallest eigenvalue:

  • Let be the largest eigenvalue and let

be the smallest.

  • Then the condition number of the

ellipsoid is:

  • The closer to one the condition number,

the more isotropic the ellispoid is.

Manipulability Ellipsoid

1

v

2

v

1

λ

2

λ

1

λ

n

λ

n

k λ λ1 =

slide-26
SLIDE 26

Manipulability Ellipsoid

Isotropic manipulability ellipsoid NOT isotropic manipulability ellipsoid

slide-27
SLIDE 27

1 = τ τ T

You can also calculate a manipulability ellipsoid for force:

( )

1 = F J F J

T T T

1 = F JJ F

T T

Force Manipulability Ellipsoid

F J T = τ

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

slide-28
SLIDE 28

Principle axes of the force manipulability ellipsoid: the eigenvalues and eigenvectors of:

  • has the same eigenvectors as :
  • But, the eigenvalues of the force and velocity ellipsoids

are reciprocals:

  • Therefore, the shortest principle axes of the velocity

ellipsoid are the longest principle axes of the force ellipsoid and vice versa…

Manipulability Ellipsoid

( )

1 − T

JJ

( )

1 − T

JJ

T

JJ

f i v i

v v =

v i f i

λ λ 1 =

slide-29
SLIDE 29

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-30
SLIDE 30

Manipulability Ellipsoid: Example

Solve for the principle axes of the manipulability ellipsoid for the planar two link manipulator with unit length links at

( )

      + − − − =

12 2 12 2 1 1 12 2 12 2 1 1

c l c l c l s l s l s l q J         =

4 π

q

( )

      + − − =

2 1 2 1 2 1 2 1

1 q J         = 0.1568

  • 0.3029
  • 1

1v

λ

( ) ( )

        − + + − + − − = λ λ 2 2 1 1 1

2 1 2 1 T

q J q J Principle axes:         = 1.8411 0.9530

  • 2

2v

λ

1 1v

λ

2 2v

λ

slide-31
SLIDE 31

Supplementary

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.