2 views

Uploaded by Phạm Ngọc Hòa

© All Rights Reserved

- Linear Algebra - Friedberg; Insel; Spence [4th E]
- Robot Dynamics
- Theory of Groups and Quantum Mechanics - Hermann Weyl - 2ed
- mat1302-2013W-final
- Assignment 5
- Mct & Automation MAMGL 207 Manual
- Syllabi Sy Pune Uni Maths
- A Practical Procedure to Analyze Singular Configurations in Closed Kinematic Chains
- Syllabus M.102 Summer 2019
- Untitled
- IMNS
- Intro Mechanisms
- 2016-Fall-Midtrem_II2-3
- subspacesofR2.pdf
- Assignment 1
- Direct Sums and Fundamental Sub Spaces
- Lecture7b.pdf
- lecture16.pdf
- Fortran Code for Numerical Integration, Edition-1, 2016
- analysis

You are on page 1of 31

Differential kinematics

Prof. Alessandro De Luca

Robotics 1

Differential kinematics

!

and motion (linear/angular velocity) in task space

(e.g., Cartesian space)

instantaneous velocity mappings can be obtained

through time derivation of the direct kinematics or

in a geometric way, directly at the differential level

!

!

establish the link between angular velocity and

! time derivative of a rotation matrix

! time derivative of the angles in a minimal

representation of orientation

Robotics 1

vP1

P1

vP3 - vP1

r12

r13

vP3

!rij! = constant

vP2 - vP1

P2

vP2

r23

P3

" P1, P2, P3

1

2-1=3

!1 = !2 = !

.

rij = ! ! rij

" the angular velocity ! is associated to the whole body (not to a point)

" if # P1, P2 with vP1=vP2=0: pure rotation (circular motion of all Pj line P1P2)

" !=0: pure translation (all points have the same velocity vP)

Robotics 1

of the robot end-effector

.

!1 = z01

.

!n = zn-1n

.

!2 = z12

.

v3 = z2 d3

.

!i = zi-1i

alternative definitions

of the direct kinematics

of the end-effector

r = (p, $)

T=

R p

000 1

!

!

they can be obtained as the sum of single contributions (in any order)

these contributions will be those of the single the joint velocities

!

the corresponding minimal representations (accordingly, for their time derivatives)

in general, ! % d$/dt

Robotics 1

!

(linear displacements) always commute

z

z

y

x

x

z

Robotics 1

same final

position

example

z

$ X = 90

initial

orientation

x

z

$ Z = 90

x

mathematical fact: ! is

NOT an exact differential form

(the integral of ! over time

depends on the integration path!)

$ Z = 90

$ X = 90

x

Robotics 1

different final

orientations!

when made around the same fixed axis

!

RX($X) =

1

0

0

0

0

cos $X -sin $X

sin $X cos $X

cos $Y 0 sin $Y

RY($Y) =

0

1

0

-sin $Y 0 cos $Y

cos $Z -sin $Z

RZ($Z) = sin $Z cos $Z

0

0

!

&0

&0

1

Robotics 1

RY(d$Y) =

1

0

0 1

-d$ Y 0

RZ(d$Z) =

in any order

RX(d$X) =

1

0

0

1 -d$z d$Y

d$z 1 -d$X

-d$Y d$X 1

= I + S(d$)

0

0

1 -d$X

d$X

1

d$ Y

0

1

1 -d$ Z 0

d$ Z 1 0

0

0

1

neglecting

second- and

third-order

(infinitesimal)

terms

7

" let R = R(t) be a rotation matrix, given as a function of time

" since I = R(t)RT(t), taking the time derivative of both sides yields

0 = d[R(t)RT(t)]/dt = dR(t)/dt RT(t) + R(t) dRT(t)/dt

= dR(t)/dt RT(t) + [dR(t)/dt RT(t)]T

thus dR(t)/dt RT(t) = S(t) is a skew-symmetric matrix

" let p(t) = R(t)p a vector (with constant norm) rotated over time

" comparing

dp(t)/dt = dR(t)/dt p = S(t)R(t) p = S(t) p(t)

dp(t)/dt = !(t) ! p(t) = S(!(t)) p(t)

we get S = S(!)

.

R = S(!) R

Robotics 1

!

p

.

p

S(!) = R RT

8

Example

RX($(t)) =

1

0

0

0

0

cos $(t) -sin $(t)

sin $(t) cos $(t) &

.

.

T

RX($) R X($) = $ &

0

= 0

0

0

0

0

0 - sin $ - cos $

0 cos $ - sin $ &

0

0.

0. - $

$

0

= S(!)

!=

Robotics 1

1

0

0

0 cos $ sin $

0 - sin $ cos $ &

.

$

0

0&

9

RRPY ('x, (y, )z) = RZYX ()z, (y, 'x)

z

the three

contributions

. .

.

)z, (y, 'x to !

are simply

summed as

vectors

x )&

TRPY ((,))

!=

.

)&

.

(&

y

y

(&

.

'&

x

x

c( c) -s)

c( s)& c)&

-s(

0

x

y

1st col in

0

0&

1

z

.

'&

.

(&

.

)&

2nd col in

RZ()z)RY((y) RZ()z)

for ( = * /2

(singularity of the

RPY representation)

Robotics 1

10

!

r=

p

$

= fr(q)

.

.

+fr(q) .

p

q = Jr(q) q

. =

+q

$

v

!

Robotics 1

.

r=

.

p

!

JL(q)

JA(q)

.

.

q = J(q) q

11

y

py

l2

l1

direct kinematics

px = l1 c1 + l2 c12

q2

r

q1

px

$ = q1 + q2

.

.

.

.

px = - l1 s1 q1 - l2 s12 (q1 + q2)

.

.

.

.

py = l1 c1 q1 + l2 c12 (q1 + q2)

.

.

.

$ = !z = q1 + q2

- l1 s1 - l2 s12

Jr(q) =

fixed axis z (normal to the plane of motion)

Robotics 1

py = l1 s1 + l2 s12

l1 c1 + l2 c12

1

- l2 s12

l2 c12

1

12

pz

q3

px = q3 c2 c1

py = q3 c2 s1

q2

d1

px

py

q1

fr(q)

pz = d1 + q3 s2

.

.

v = p = q3c2c1 -q3s2s1 c2s1 q = Jr(q) q

0

q3c2 s2

+fr(q)

Robotics 1

+q

13

Geometric Jacobian

always a 6 x n matrix

JL(q)

JA(q)

.

q=

JL1(q) JLn(q)

J (q) J (q)

A1

An

.

q1

end-effector v

instantaneous E

!E

velocity

.

qn

superposition of effects

.

.

vE = JL1(q) q1 ++ JLn(q) qn

.

e-e velocity due to q1

.

.

!E = JA1(q) q1 ++ JAn(q) qn

.

e-e velocity due to q1

(linear) vector spaces in R3

Robotics 1

14

note: joints beyond the i-th one are considered to be frozen,

so that the distal part of the robot is a single rigid body

.

.

JLi(q) qi = zi-1 di

zi-1

.

JLi(q) qi

qi = di

RF0

Robotics 1

joint i

.

JAi(q) qi

prismatic

i-th joint

.

zi-1 di

0

15

.

JLi(q) qi

.

.

JAi(q) qi = zi-1 ,i

zi-1

pi-1,E

Oi-1

qi =

RF0

Robotics 1

revolute

i-th joint

,i

joint i

.

JLi(q) qi

.

JAi(q) qi

(zi-1 ! pi-1,E) ,i

.

zi-1 ,i

16

!E

=)

vE

!E

JL(q) .

q=

JA(q)

JL1(q) JLn(q)

J (q) J (q)

prismatic

i-th joint

zi-1 =

An

A1

revolute

i-th joint

JLi(q)

zi-1

zi-1 ! pi-1,E

JAi(q)

zi-1

0R (q )i-2R (q )

1 1

i-1 i-1

0

0

1

Robotics 1

.

q1

.

p0,E

.

qn

computed as

+p0,E

+qi

expressed in the same

reference frame

(here, the base frame RF0)

17

y2

y1

y0

z0 = z1 = z2 =

J=

Robotics 1

l2

l1

x0

DENAVIT-HARTENBERG table

x2

'i

di

ai

,i

l1

q1

l2

q2

x1

0

0

1

0A

1

z0 ! p0,E z1 ! p1,E

z0

joint

z1

0A

2

c1

- s1

l1c1

s1

c1

l1s1

c12

- s12

l1c1+ l2c12

s12

c12

l1s1+ l2s12

p0,1

p1,E = p0,E - p0,1

p0,E

18

y2

y1

y0

l1

l2

x2

J=

z0 ! p0,E z1 ! p1,E

z0

x1

x0

note: the Jacobian is here a 6!2 matrix,

thus its maximum rank is 2

- l1s1- l2s12

l1c1+ l2c12

0

end-effector velocity can be independently assigned

Robotics 1

z1

0

0

1

- l2s12

l2c12

0

0

0

1

with the analytical Jacobian

in slide #12!

19

b) we may choose

E Oj(q)

On

RFi

Oj

0v

RF0

computed

n

0!

Bv

RFB

B!

0J (q)

n

=

=

a) we may choose

RFB RFi(q)

Robotics 1

rnE

.

q

vE = vn + ! ! rnE

= vn + S(rEn) !

BR

0

S(0rEn)

0v

BR

0

0!

BR (q)

0

S(0rEn(q))

BR (q)

0

0J (q)

n

. B

.

q = JE(q) q

never singular!

20

!

pulleys and steel cables (joints 3 to 8)

!

!

!

!

!

Robotics 1

motors located in second link

incremental encoders (homing)

redundancy degree for e-e pose task: n-m=2

compliant in the interaction with environment

21

!

!

mid-frame Jacobian 4J4(q) is relatively simple!

08

y4

z4

6 rows,

8 columns

x0

x4

04

z0

y0

Robotics 1

22

.

p.v

.

$.!

.

p=v

!=

!$. 1 +

!$. 2 +

!$. 3 =

.

.

.

.

a1 $1 + a2($1) $2 + a3($1, $2) $3 = T($)$

r=

p

$

J(q) =

0 T($)

a singularity

.

R.!

Robotics 1

.

R = S(!) R

Jr(q)

Jr(q) =

I

0

0

T-1($)

J(q)

minimal representation of orientation

for each column ri of R (unit vector of a frame),

.

we have

ri = ! ! ri

23

Higher-order differential kinematics

the task space can be established at the second order, third order, ...

the analytical Jacobian always weights the highest-order derivative

velocity

acceleration

.

.

r = Jr(q) q

..

.

.. .

r = Jr(q) q + Jr(q) q

jerk

.

...

.. ..

.

...

r = Jr(q) q + 2 Jr(q) q + Jr(q) q

snap

.

.

r = Jr(q) q +

. ..

the same holds true also for the geometric Jacobian J(q)

Robotics 1

24

given a matrix J: m ! n (m rows, n columns)

!

!

!

!

also called image of J

combinations of the columns of J

2(J)={v 3 Rm : # 4 3 Rn, v = J 4}

!

dim(5(J)) = n - 0(J)

!

dim(2(J)) = 0(J)

!

if m = n and J has full rank, J is non singular and the inverse J-1 exists

0(J) = dimension of the largest non singular square submatrix of J

written as v = v1 + v2, with v1 3 V1 , v2 3 V2

Robotics 1

25

Robot Jacobian

decomposition in linear subspaces and duality

space of

joint velocities

space of

task (Cartesian)

velocities

J

0

5(J)

2(J)

2(JT) + 5(J) = Rn

2(J) + 5(JT) = Rm

2(JT)

5(JT)

0

0

space of

joint torques

Robotics 1

dual spaces

dual spaces

JT

(in a given configuration q)

space of

task (Cartesian)

forces

26

Mobility analysis

!

0(J) = 0(J(q)), 2(J) = 2(J(q)), 5(JT)= 5(JT(q)) are locally defined, i.e.,

they depend on the current configuration q

2(J(q)) = subspace of all generalized velocities (with linear and/or

angular components) that can be instantaneously realized by the robot

end-effector when varying the joint velocities at the configuration q

if J(q) has max rank (typically = m) in the configuration q, the robot

end-effector can be moved in any direction of the task space Rm

if 0(J(q)) < m, there exist directions in Rm along which the robot endeffector cannot move (instantaneously!)

!

task space Rm, which is of dimension m - 0(J(q))

when 5(J(q)) % {0}, there exist non-zero joint velocities that produce

zero end-effector velocity (self motions)

!

this always happens for m<n, i.e., when the robot is redundant for the task

Robotics 1

27

Kinematic singularities

!

/ loss of instantaneous mobility of the robot end-effector

for m = n, they correspond to Cartesian poses at which the number of

solutions of the inverse kinematics problem differs from the generic case

in a singular configuration, we cannot find a joint velocity that realizes a

desired end-effector velocity in an arbitrary direction of the task space

close to a singularity, large joint velocities may be needed to realize

some (even small) velocity of the end-effector

finding and analyzing in advance all singularities of a robot helps in

avoiding them during trajectory planning and motion control

!

!

when m < n: find the configurations q such that all m!m minors of J are

singular (or, equivalently, such that det [J(q) JT(q)] = 0)

or the actual distance from a singularity, is a hard computational task

Robotics 1

28

py

l2

l1

p

q2

q1

px

x

analytical Jacobian

.

.

- l1s1- l2s12 - l2s12 .

p= lc+lc

l2c12 q = J(q) q

1 1

2 12

!

!

direct kinematics

px = l1 c1 + l2 c12

py = l1 s1 + l2 s12

singular configurations correspond here to Cartesian points on the

boundary of the workspace

in general, these singularities separate regions in the joint space with

distinct inverse kinematic solutions (e.g., elbow up or down)

Robotics 1

29

pz

direct kinematics

q3

px = q3 c2 c1

py = q3 c2 s1

q2

d1

px

q1

det J(q) = q32 c2

.

p=

analytical Jacobian

-q3s1c2 -q3c1s2 c1c2

q3c1c2 -q3s1s2 s1c2

0

q3c2

s2

.

.

q = J(q) q

singularities

!

!

pz = d1 + q3 s2

py

third link is fully retracted (q3 = 0): double singularity rank J drops to 1

to the workspace (supposing no limits for the prismatic joint)

Robotics 1

30

Singularities of robots

with spherical wrist

!

!

n = 6, last three joints are revolute and their axes intersect at a point

without loss of generality, we set O6 = W = center of spherical wrist

(i.e., choose d6 = 0 in the DH table)

J(q) =

J21

J22

since det J(q1,,q5) = det J11 " det J22 , there is a decoupling property

!

!

J11

det J22(q4, q5) = 0 provides the wrist singularities

being J22 = [z3 z4 z5] (in the geometric Jacobian), wrist singularities

correspond to when z3, z4 and z5 become linearly dependent vectors

6 when either q5 = 0 or q5 = */2

Robotics 1

31

- Linear Algebra - Friedberg; Insel; Spence [4th E]Uploaded byLuis Roberto Ríos
- Robot DynamicsUploaded byBayram Yurdakurban
- Theory of Groups and Quantum Mechanics - Hermann Weyl - 2edUploaded byDaniél Cárdenas
- mat1302-2013W-finalUploaded byab soul
- Assignment 5Uploaded byRK MEHTA
- Mct & Automation MAMGL 207 ManualUploaded bysshridhar2008
- Syllabi Sy Pune Uni MathsUploaded bySumit Waghmare
- A Practical Procedure to Analyze Singular Configurations in Closed Kinematic ChainsUploaded byIvan Avramov
- Syllabus M.102 Summer 2019Uploaded bynaruto
- IMNSUploaded bymonica_804238794
- Intro MechanismsUploaded byccharp123
- 2016-Fall-Midtrem_II2-3Uploaded byahmed
- UntitledUploaded byapi-127466285
- subspacesofR2.pdfUploaded byReshma S
- Assignment 1Uploaded byArun
- Direct Sums and Fundamental Sub SpacesUploaded byKarthik Daddangadi
- Lecture7b.pdfUploaded bySerkan Sezin
- lecture16.pdfUploaded bymukul
- Fortran Code for Numerical Integration, Edition-1, 2016Uploaded byN. T. Dadlani
- analysisUploaded byGeetu Kumari
- mat188tut1Uploaded byMoshe Goldsilver
- 01337111Uploaded bydarkprince117
- 18.024 Calculus with Theory, Course Notes Chapter A.pdfUploaded byTrent Dennis
- Kinematical analysis of mandibular motionUploaded byPablonmon
- educ450 data analysis protocolUploaded byapi-295344110
- linalgebra2005-1Uploaded byYuv Agarwal
- Kinematic machinesUploaded byGamini Suresh
- Signal SpaceUploaded byGoosaja
- Trapezoidal RuleUploaded byRicardo Wan Aguero
- MIT 8.05x 03.02.02 Span and Linear IndependenceUploaded byHilbert Black

- SortingUploaded bySiva Kumar
- lec1_2Uploaded byPhạm Ngọc Hòa
- Astree SlidesUploaded byPhạm Ngọc Hòa
- 10_InverseKinematicsUploaded byPaola Benalcázar
- 2015_WorldRobotics_ExecSummary_2.pdfUploaded byPhạm Ngọc Hòa
- 2331-5918-1-PBUploaded byPhạm Ngọc Hòa
- 16_DynamicControlSingleAxisUploaded byPhạm Ngọc Hòa
- 15855.pdfUploaded byPhạm Ngọc Hòa
- Mo Phong Matlab Ball and BeamUploaded byHuong Nguyen
- 1004_3Uploaded byAnonymous G3E3ODfC
- 615.07Uploaded byPhạm Ngọc Hòa
- 1203.4558.pdfUploaded byPhạm Ngọc Hòa
- 13_TrajectoryPlanningJoints_2.pdfUploaded byPhạm Ngọc Hòa
- robotique 3Uploaded byYoussri Ben Moussa
- 251Uploaded byPhạm Ngọc Hòa
- 16.pdfUploaded byPhạm Ngọc Hòa
- 24Uploaded byPhạm Ngọc Hòa
- 15_KinematicControlUploaded byPhạm Ngọc Hòa
- 10_TrajectoryControlUploaded byPhạm Ngọc Hòa
- 14_TrajectoryPlanningCartesian_2.pdfUploaded byPhạm Ngọc Hòa
- 12_InverseDiffKinStatics_2.pdfUploaded byPhạm Ngọc Hòa
- 11_DifferentialKinematics_2.pdfUploaded byPhạm Ngọc Hòa
- CppUploaded bymilos1707

- ImpulseUploaded byTirtha Sarathi Ghosh
- Midterm Cod NumUploaded byShasha AR
- Modelling.pdfUploaded byVeena Divya Krishnappa
- 1 NLE 3.1Tra Vecc & Str Ten-11Jan2013Uploaded byAnkur Kurmi
- Semi Automated Paddy ThresherUploaded byksati311
- Comparative Study of Texture MeasuresUploaded byJorge Leandro
- MetAcido Citrico.pdfUploaded byCarlos R Schmidt
- Motors Slides..PDFUploaded bycloudting
- Constellations and GalaxyUploaded byAnJo Pasiolco Canicosa
- Low Angle XRDUploaded byKoushik Ponnuru
- Redox SampleUploaded byAnusia Thevendaran
- Rpt Mathematics Form5Uploaded byrosli87
- NmrUploaded byHepi Nuriyawan
- Modelling Vacuum InfusionUploaded bygrant_stephens_2
- Highly active Pd and Pd–Au nanoparticles supported on functionalized graphene nanoplatelets for enhanced formic acid oxidationUploaded byshankar8572
- Gel ElectrophoresisUploaded byAlecks Madrona
- Radiance TutorialUploaded byMayank Singh
- Effects of Bending and Heating on PlateUploaded byjarneberg
- 4PH0_1PR_que_20140515Uploaded byramasab
- 6.Basic Workshop PracticeUploaded byVikram Rao
- Introduction (Research Individual)Uploaded byJelo Sahid
- Legged Robot Ppt Jit 1Uploaded byHarish Gowda
- List of Courses 2016 With Course ContentsUploaded byShivam Gour
- FP1 Past Questions QPUploaded byalekon323
- Drying_ Mass Transfer OperationUploaded byShivani Patel
- Mcq on Chemical Kinetics by Shallu Jindal AggarwalUploaded byNisha Miliruvani
- INTRODUCTION TO SOLID STATE PHYSICS NotesUploaded bySiddharth Mohan
- Triggering in Trigatron Spark Gaps - A Fundamental StudyUploaded bysantosh_babar_26
- Lesson 2 Using Control Volumes to Solve Heat Transfer ProblemsUploaded byKoshu Takatsuji
- Numerical MethodsUploaded byVictor Kevin Contreras