0% found this document useful (0 votes)
16 views

12 InverseDiffKinStatics PDF

This document provides an overview of inverse differential kinematics and related topics in robotics. It discusses how to find the joint velocity vector that realizes a desired end-effector velocity using the Jacobian matrix. Near singularities of the Jacobian, more robust inversion methods are needed. Incremental solutions to inverse kinematics problems are also presented. Near singularities, joint velocities can suddenly increase despite small required end-effector motions. Damped least squares and pseudoinverse methods provide smoother solutions. Generalized forces and virtual displacements are introduced for analyzing statics and forces in robotic systems. Velocity and force transformations are shown to be dual through the Jacobian and its transpose.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

12 InverseDiffKinStatics PDF

This document provides an overview of inverse differential kinematics and related topics in robotics. It discusses how to find the joint velocity vector that realizes a desired end-effector velocity using the Jacobian matrix. Near singularities of the Jacobian, more robust inversion methods are needed. Incremental solutions to inverse kinematics problems are also presented. Near singularities, joint velocities can suddenly increase despite small required end-effector motions. Damped least squares and pseudoinverse methods provide smoother solutions. Generalized forces and virtual displacements are introduced for analyzing statics and forces in robotic systems. Velocity and force transformations are shown to be dual through the Jacobian and its transpose.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Robotics 1

Inverse differential kinematics


Statics and force transformations
Prof. Alessandro De Luca

Robotics 1

Inversion of differential kinematics


!

find the joint velocity vector that realizes a desired endeffector generalized velocity (linear and angular)
generalized velocity

v = J(q) q
!

J square and
non-singular

q = J-1(q) v

problems
!
!

.
near a singularity of the Jacobian matrix (high q)
for redundant robots (no standard inverse of a rectangular matrix)
in these cases, more robust inversion methods are needed

Robotics 1

Incremental solution

to inverse kinematics problems


!

joint velocity inversion can be used also to solve on-line and


incrementally a sequence of inverse kinematics problems
each problem differs by a small amount dr from previous one
"fr (q)
dr =
dq = Jr (q)dq
"q

r = fr (q)
direct kinematics

r " r + dr
!
!

differential kinematics

r + dr = fr!(q)

q = fr "1 (r + dr)

first, increment the


desired task variables

then, solve the inverse


kinematics problem

dq = Jr "1 (q)dr
!
first, solve the inverse

q " q+ dq

differential kinematics problem


Robotics 1

then, increment the


original joint variables
3

Behavior near a singularity


.
q = J-1(q) v

v
constant

!
motion
start

Robotics 1

problems arise only when


commanding joint motion by
inversion of a given Cartesian
motion task
here, a linear Cartesian
trajectory for a planar 2R robot
there is a sudden increase of
the displacement/velocity of the
first joint near !2=- " (endeffector close to the origin),
despite the required Cartesian
displacement is small
4

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

regular case

end
start

a line from right to left, at #=170 angle with x-axis,


executed at constant speed v=0.6 m/s for T=6 s$
Robotics 1

Simulation results

planar 2R robot in straight line Cartesian motion

q1
path at
#=170

regular
case

Robotics 1

q2

error due
only to
numerical
integration
(10-10)

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

end

close to singular case

start

a line from right to left, at #=178 angle with x-axis,


executed at constant speed v=0.6 m/s for T=6 s$
Robotics 1

Simulation results

planar 2R robot in straight line Cartesian motion

q1
path at
#=178

close to
singular
case

Robotics 1

q2

large
peak
.
of q1

still very
small, but
increased
numerical
integration
error
(210-9)

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

end

close to singular case


with joint velocity saturation at Vi=300/s

start

a line from right to left, at #=178 angle with x-axis,


executed at constant speed v=0.6 m/s for T=6 s$
Robotics 1

Simulation results

planar 2R robot in straight line Cartesian motion

q1
path at
#=178

close to
singular
case

Robotics 1

q2

saturated
value
.
of q1

actual
position
error!!
(6 cm)

10

Damped Least Squares method


JDLS

equivalent expressions, but this one is more convenient in redundant robots!


!
!

!
!

inversion of differential kinematics as an optimization problem


function H = weighted sum of two objectives (minimum error norm on
achieved end-effector velocity and minimum norm of joint velocity)
! = 0 when far enough from a singularity
.
with ! > 0, there is a (vector) error(= v Jq) in executing
the
$1
desired end-effector velocity v (check that " = # (# Im + J J T ) v !), but the
joint velocities are always reduced (damped)
JDLS can be used for both m = n and m < n cases

Robotics 1

11

Simulation results

planar 2R robot in straight line Cartesian motion


a comparison of inverse and damped inverse Jacobian methods
even closer to singular case

.
q = J-1(q) v

end

.
q = JDLS(q) v

start

end

start

some
position
error ...

a line from right to left, at #=179.5 angle with x-axis,


executed at constant speed v=0.6 m/s for T=6 s$
Robotics 1

12

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

path at
#=179.5

here, a very fast


reconfiguration of
first joint ...
Robotics 1

.
q = JDLS(q) v

a completely different inverse solution,


around/after crossing the region
close to the folded singularity
13

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

.
q = JDLS(q) v

q1
q2

extremely large
peak velocity
of first joint!!

Robotics 1

smooth
joint motion
with limited
joint velocities!

14

Simulation results

planar 2R robot in straight line Cartesian motion

.
q = J-1(q) v

.
q = JDLS(q) v

increased
numerical
integration
error
(310-8)

minimum
singular
value of
T
JJ and %I+JJT
they differ only
when damping
factor is non-zero

Robotics 1

error (25 mm)


when crossing
the singularity,
later recovered by
feedback action
(v v+Ke)

damping factor
% is chosen
non-zero
only close to
singularity!

15

Pseudoinverse method
a constrained optimization (minimum norm) problem

1
min H = q
q
2

such that J q " v = 0

solution!
" if
" else

1
min H = q
q "S
2

S = q " R n : J q # v is minimum

! pseudoinverse of J
!

, the constraint is satisfied ( is feasible)


, where

minimizes the error

orthogonal projection of
Robotics 1

on
16

Properties of the pseudoinverse


it is the unique matrix that satisfies the four relationships
!

if rank & = m = n:

if & = m < n:

it always exists and is computed in general numerically


using the SVD = Singular Value Decomposition of J
(e.g., with the MATLAB function pinv)
Robotics 1

17

Numerical example
Jacobian of 2R arm with l1 = l2 = 1 and q2 = 0 (rank & = 1)

y
is the minimum norm
joint velocity vector that
realizes

l1

l2
q1
x

Robotics 1

18

General solution for m<n


all solutions (an infinite number) of the inverse differential kinematics problem
can be written as
any joint
velocity...

projection matrix in the null space of J


this is also the solution to a slightly modified constrained optimization problem
(biased toward the joint velocity ', chosen to avoid obstacles, joint limits, etc.)

min H =
q

1
q " #
2

such that J q " v = 0

min H =
q "S

1
q # $
2

S = q " R n : J q # v is minimum

verification of which actual task velocity is going to be obtained

!
v actual = Jq = J ( J # v + (I!" J # J)#) = JJ # v + (J " JJ # J)# = JJ # (Jw) = (JJ # J)w = Jw = v
!

Robotics 1

if v " #(J) $ v = Jw, for some w

19

Geometric interpretation
a simple case with n=2, m=1
at a given configuration:

J q = j1

" q %
j 2 $ 1 ' = v ( )
#q2 &

task equality
constraint

J q = v
associated
homogeneous
equation

! Jq = 0

biasing joint velocity


(in general, not a solution)

q 2

"
minimum norm
solution

J #v

solution with
minimum norm

q " #

!
space of joint velocities
(at a configuration q)!

orthogonal
projection of

" on #(J)
Robotics 1

!
linear
subspace
!

q1

(I " J # J)#
!
"(J) = {q # $ 2 : Jq = 0}

all possible
solutions
lie on this line ...

20

Higher-order differential inversion


!

inversion of motion from task to joint space can be performed


also at a higher differential level
.

acceleration-level: given q, q

q = Jr "1 (q) r " Jr (q)q


. ..

!
!

jerk-level: given q, q, q

q = Jr "1 (q) r " Jr (q)q " 2 Jr (q)q

the (inverse) of the Jacobian is always the leading term


smoother joint motions are expected (at least,
.. ... due to the
existence
! of higher-order time derivatives r, r, ...)

Robotics 1

21

Generalized forces and torques


(2

environment

(n

(1

Fe

(3
(i

generalized vectors: may contain


linear and/or angular components
convention: generalized forces are
positive when applied on the robot

" ( = forces/torques exerted by the motors at the robot joints


" F = equivalent forces/torques exerted at the robot end-effector
" Fe = forces/torques exerted by the environment at the end-effector
" principle of action and reaction: Fe = - F

reaction from environment is equal and opposite to the robot action on it


Robotics 1

22

Transformation of forces Statics


(2

environment

(n

(1

Fe

(3
(i

in a given configuration
" what is the transformation between F at robot end-effector and ( at joints?
in static equilibrium conditions (i.e., no motion):
" what F will be exerted on environment by a ( applied at the robot joints?
" what ( at the joints will balance a Fe (= -F) exerted by the environment?
all equivalent formulations
Robotics 1

23

Virtual displacements and works


dqn
dq2
dq1

dq3

dp
) dt

= J dq

dqi

infinitesimal (or virtual, i.e., satisfying all possible


constraints imposed on the system) displacements
at an equilibrium
" without kinetic energy variation (zero acceleration)
" without dissipative effects (zero velocity)
the virtual work is the work done by all forces/torques
acting on the system for a given virtual displacement

Robotics 1

24

Principle of virtual work


(ndqn
(2dq2
(1dq1

(3dq3

(idqi

Fe = - F
dp
- FT ) dt = - FT J dq

the sum of the virtual works done by all


forces/torques acting on the system = 0

Robotics 1

principle of
virtual work

25

Duality between velocity and force


J(q)
velocity
(or displacement
)
in the joint space

generalized velocity
(or e-e displacement
in the Cartesian space

forces/torques
at the joints

generalized forces
at the Cartesian e-e

JT(q)
the singular configurations
for the velocity map are the same
as those for the force map
Robotics 1

&(J) = &(JT)
26

Dual subspaces of velocity and force


summary of definitions

Robotics 1

27

Velocity and force singularities


list of possible cases

n
m

& = rank(J) = rank(JT) * min(m,n)

&

1. & = m

1. det J ! 0

1. & = n

2. & < m

2. det J = 0

2. & < n

Robotics 1

28

Example of singularity analysis


planar 2R arm with generic
link lengths l1 and l2

-l1s1-l2s12 -l2s12
J(q) =
l1c1+l2c12 l2c12

singularity at q2= 0 (arm straight)


+(J) = #
+(JT)

-s1
c1

l1+l2
= l2

,(JT) = #

c1
s1

+(J) and ,(JT) as above

Robotics 1

-(l1+l2)s1 -l2s1
J=
(l1+l2)c1 l2c1

l2-l1
0
(for
l
=
l
,
)
1
2
= l2
1

,(JT)

+(J)

l2
,(J) = -(l1+l2)

singularity at q2= " (arm folded)

+(JT)

det J(q) = l1l2s2

J=

(l2-l1)s1 l2s1
-(l2-l1)c1 -l2c1

l2
1
(for
l
=
l
,
)
,(J) = 1
2
-(l2-l1)
0
29

Velocity manipulability
!

in a given configuration, we wish to evaluate how effective


is the mechanical transformation between joint velocities and
end-effector velocities
!

how easily can the end-effector be moved in the various directions


of the task space
equivalently, how far is the robot from a singular condition

we consider all end-effector velocities that can be obtained


by choosing joint velocity vectors of unit norm

task velocity
manipulability ellipsoid
Robotics 1

T -1
(J J )

if & = m

note: the core matrix of the ellipsoid


equation vT A-1 v=1 is the matrix A!

30

Manipulability ellipsoid
in velocity

planar 2R arm with unitary links

length of principal (semi-)axes:


singular values of J (in its SVD)

scale of
ellipsoid
1

in a singularity, the ellipsoid


loses a dimension

(for m=2, it becomes a segment)


0
0

manipulability ellipsoid
1

direction of principal axes:


(orthogonal) eigenvectors
associated to %i
T

w = det JJ = # " i $ 0

manipulability measure
0

i=1

Robotics 1

proportional to the volume of the


ellipsoid (for m=2, to its area)
31

Manipulability measure
2

planar 2R arm with unitary links: Jacobian J is square

det ( JJ T ) = det J" det J T = det J = $ # i


i=1

!
/1(J)
/2(J)

max at !2="/2

max at r=.2

!2

best posture for manipulation


(similar to a human arm!)
full isotropy is never obtained
in this case, since it always /1!/2
Robotics 1

32

Force manipulability
!

in a given configuration, evaluate how effective is the


transformation between joint torques and end-effector forces
!

how easily can the end-effector apply generalized forces (or balance
applied ones) in the various directions of the task space
in singular configurations, there are directions in the task space where
external forces/torques are balanced by the robot without the need of
any joint torque

we consider all end-effector forces that can be applied (or


balanced) by choosing joint torque vectors of unit norm

same directions of the principal


axes of the velocity ellipsoid, but
with semi-axes of inverse lengths
Robotics 1

task force
manipulability ellipsoid
33

Velocity and force manipulability


dual comparison of actuation vs. control

note:
velocity and force
ellipsoids have here
a different scale
for a better view

planar 2R arm with unitary links


area " det ( JJ T )

area " det ( JJ T ) = #1 (J)$ #2 (J)

#1

1
1
%
$1 (J) $2 (J)

Cartesian actuation task (high joint-to-task transformation ratio):


preferred velocity (or force) directions are those where the ellipsoid stretches
Cartesian control task (low transformation ratio = high resolution):
preferred velocity (or force) directions are those where the ellipsoid shrinks
Robotics 1

34

Velocity and force transformations


!

same reasoning made for relating end-effector to joint forces/torques (virtual work
principle + static equilibrium) used also transforming forces and torques applied at
different places of a rigid body and/or expressed in different reference frames

transformation among generalized velocities

#Av & #AR


B
A = %
%A (
$ " ' %$ 0

#Bv &
) A RB S( B rBA ) &# B v &
(% B B ( = J BA % B B (
A
RB
('$ " '
$ "'

B
A
"
"B f %
"
%
RA
f
T
$ B B ' = J BA $ A A ' = $ T B
B
(S
(
r
)
RA
# m&
# m & $#
BA

0 %" A f %
'$ A A '
B
RA '& # m &

transformation among generalized forces


T

Robotics 1

note: for skew-symmetric matrices, "S (r) = S(r)

35

Example: 6D force/torque sensor


frame of measure for the forces/torques
(attached to the wrist sensor)

RFA

JBA!

f
JBAT!

RFB
frame of interest for evaluating
forces/torques in a task
with environment contact

Robotics 1

36

Example: Gear reduction at joints


transmission element
with motion reduction ratio N:1

motor

link
.
! u

.
!m um
torque at
motor side

one of the simplest applications


of the principle of virtual work...
Robotics 1

torque at
link side

.
.
!m = N !
u = N um

here, J = JT = N (a scalar!)

37

You might also like