1 views

Uploaded by Cristina Resceanu

introducere

- Good Practice Guide - CMM Use
- Technical Reference 2005
- Powermill Multi Axis milling
- Datum
- Integral Exam
- Modeling and Numerical Simulation of Unmanned Aircraft Vehicle Restricted by Non-holonomic Constraints
- TheBigEBook
- ADM CMM Course Test 1
- manipulator_kinematics__set_2_.pdf
- 5th grade - augies journey
- Forces and Torques on Currents
- Calculus Late
- IAI CT4_CJ0194-2A-UST-1-1213
- GPL_Reference_Guide_for_IBM_SPSS_Statistics.pdf
- Graph
- Milk Shape
- dec
- robotics and automation
- Vectors
- Documents.mx Computer Program for Determination of Geometrical Properties of Thin Walled 577b0326dd543

You are on page 1of 42

Robot Kinematics

Renata Melamud

Kinematics studies the motion of bodies

An Example - The PUMA 560

2

3

4

1

There are two more

joints on the end

effector (the

The PUMA 560 has SIX revolute joints gripper)

A revolute joint has ONE degree of freedom ( 1 DOF) that is

defined by its angle

Other basic joints

Revolute Joint

1 DOF ( Variable - )

Prismatic Joint

1 DOF (linear) (Variables - d)

Spherical Joint

3 DOF ( Variables - 1, 2, 3)

We are interested in two kinematics topics

What you are given: The length of each link

The angle of each joint

(i.e. its (x, y, z) coordinates

What you are given: The length of each link

The position of some point on the robot

What you can find: The angles of each joint needed to obtain

that position

Quick Math Review

Dot Product: a x

a

Geometric Representation: y

b x

A B A B cos A b

y

Matrix Representation: B

a x b x

A B a xb x a y b y

a y b y

Unit Vector

Vector in the direction of a chosen vector but whose magnitude is 1.

B

uB

B B

uB

Quick Matrix Review

Matrix Multiplication:

An (m x n) matrix A and an (n x p) matrix B, can be multiplied since

the number of columns of A is equal to the number of rows of B.

Non-Commutative Multiplication

AB is NOT equal to BA

a b e f ae bg af bh

c d g

h ce dg cf dh

Matrix Addition:

a b e f a e b f

c d g

h c g d h

Basic Transformations

Moving Between Coordinate Frames

Y O

(VN,VO)

XY NO VO

V V

P

N

X V

N

Px

V X V N Px

Notation: V XY

Y V NO

O P

V V 0

Writing V XY in terms of V NO

Y O

XY NO VO

V V

P

N

X VN

PX V N

V XY O P V NO

V

O

Translation along the X-Axis and Y-Axis

NO VO

V

Y N

VX V N

Y

PX

Px

X P XY

PY

PX V N

V XY P V NO O

P

Y V

Using Basis Vectors

Basis vectors are unit vectors that point along a coordinate axis

O

o Unit vector along the N-Axis

NO VO

NO V

V Magnitude of the VNO vector

o

N

n VN

V N V cos V NO cos V NO n

NO

V NO O NO NO NO

V V sin V cos(90 ) V o

Y

Rotation (around the Z-Axis)

Z X

Y

O

O

V

V N

VY

N

V

X

VX

V X V N

V XY Y V NO O

V V

x

Y Unit vector along X-Axis

O

V

Can be considered with respect to

the XY coordinates or NO coordinates

O

V V

N V XY V NO

VY

N

V

X

VX

V X V XY cos V NO cos V NO x

(Substituting for VNO using the N and O

V (V n V o ) x

X N O

components of the vector)

V X V N (x n ) V O (x o)

V N (cos) V O (cos( 90))

V N (cos) V O (sin)

Similarly.

V Y V NO sin V NO cos(90 ) V NO y

V Y (V N n V O o ) y

V Y V N (y n ) V O (y o )

V N (cos(90 )) V O (cos)

V N (sin) V O (cos)

So.

V V (cos) V (sin)

X N O V X

V XY Y

V Y V N (sin) V O (cos) V

Written in Matrix Form

V XY

Y O

V sin cos V

Y1

O

(VN,VO)

Y0

VNO N

VXY

X1

P

Translation along P followed by rotation by

X0

V X Px cos sin V N

V XY

Y

V Py sin cos V O

(Note : Px, Py are relative to the original coordinate frame. Translation followed by

rotation is different than rotation followed by translation.)

frame (NO) you can find the position of that point relative to your original

coordinate frame (X0Y0).

HOMOGENEOUS REPRESENTATION

Putting it all into a Matrix

V XY

Y

cos V O

translation and a rotation

V Py sin

V Y Py sin cos 0 V O

1 1 0 0 1 1

V X cos sin Px V N

V Y sin cos Py V O Simplifying into a matrix form

1 0 0 1 1

cos sin Px

H sin cos Py Homogenous Matrix for a Translation in

XY plane, followed by a Rotation around

0 0 1 the z-axis

Rotation Matrices in 3D OK,lets return from

homogenous repn

cos sin 0

Rotation around the Z-Axis

R z sin cos 0

0 0 1

cos 0 sin

R y 0 1 0 Rotation around the Y-Axis

sin 0 cos

1 0 0

R z 0 cos sin Rotation around the X-Axis

0 sin cos

Homogeneous Matrices in 3D

H is a 4x4 matrix that can describe a translation, rotation, or both in one matrix

O

1 0 0 Px

Y

0 1 0 Py

N H

P

0 0 1 Pz

X A

Translation without rotation 0 0 0 1

Z

Y

n x ox ax 0

n oy ay 0

H y

O

N

n z oz az 0

X 0 0 0 1

Rotation part:

Z Rotation without translation Could be rotation around z-axis,

A x-axis, y-axis or a combination of

the three.

Homogeneous Continued.

V N

O

V The (n,o,a) position of a point relative to the current

V XY

H A coordinate frame you are in.

V

1

n x ox ax Px V N

n O

oy ay Py V V X n x V N o x V O a x V A Px

V XY y

n z oz az Pz V A

0 0 0 1 1

The rotation and translation part can be combined into a single homogeneous

matrix IF and ONLY IF both are relative to the same coordinate frame.

Finding the Homogeneous Matrix

EX.

J

N W N

Y O

I W

W A

T

P

X

K A O

Z

W X WI W N

Y Point relative to the J Point relative to the O Point relative to the

W X-Y-Z frame W I-J-K frame W N-O-A frame

WZ W K W A

W Pi n i

WI ni oi ai Pi W N

I

oi ai W N

J

J

a j W O

W n j oj aj Pj W O

W Pj n j oj

W K Pk n k W K n k ok ak Pk W A

ok a k W A

1 0 0 0 1 1

J

W N

Y N O

I W

W A

T

P

X

K A O

Z

W X i x jx kx Tx W I

W Tx i x

X

jx k x W I

Y

Y W i y jy ky Ty W J

W Ty i y jy k y W J

W Z i z jz kz Tz W K

W Z Tz i z jz k z W k

1 0 0 0 1 1

W X i x jx kx Tx n i oi ai Pi W N

W I

Y

Substituting for W J W i y jy ky Ty n j oj aj Pj W O

W K W Z i z jz kz Tz n k ok ak Pk W A

1 0 0 0 1 0 0 0 1 1

W X W N i x jx kx Tx n i oi ai Pi

Y O i

W H W jy ky Ty n j oj aj Pj

WZ W A H y

i z jz kz Tz n k ok ak Pk

1 1 0 0 0 1 0 0 0 1

Product of the two matrices

1 0 0 Tx i x jx kx 0 1 0 0 Pi n i oi ai 0

0 1 0 Ty i y jy ky 0 0 1 0 Pj n j oj aj 0

H

0 0 1 Tz i z jz kz 0 0 0 1 Pk n k ok ak 0

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

H = (Translation relative to the XYZ frame) * (Rotation relative to the XYZ frame)

* (Translation relative to the IJK frame) * (Rotation relative to the IJK frame)

The Homogeneous Matrix is a concatenation of numerous

translations and rotations

J

I W N

Y N O

W

W A

T

P

X

A O

K

Z

One more variation on finding H:

* ( Translate along the new t-axis by || T || (magnitude of T))

* ( Rotate so that the t-axis is aligned with P)

* ( Translate along the p-axis by || P || )

* ( Rotate so that the p-axis is aligned with the O-axis)

This method might seem a bit confusing, but its actually an easier way to

solve our problem given the information we have. Here is an example

Forward Kinematics

The Situation:

You have a robotic arm that

starts out aligned with the xo-axis.

You tell the first link to move by 1

and the second link to move by 2.

The Quest:

What is the position of the

end of the robotic arm?

Solution:

1. Geometric Approach

This might be the easiest solution for the simple situation. However,

notice that the angles are measured relative to the direction of the previous

link. (The first link is the exception. The angle is measured relative to its

initial position.) For robots with more links and whose arm extends into 3

dimensions the geometry gets much more tedious.

2. Algebraic Approach

Involves coordinate transformations.

Example Problem:

You are have a three link arm that starts out aligned in the x-axis.

Each link has lengths l1, l2, l3, respectively. You tell the first one to move by

1 , and so on as the diagram suggests. Find the Homogeneous matrix to get

the position of the yellow dot in the X0Y0 frame.

Y3

Y2 2 X3 3

2 X2

Y0

1 i.e. Rotating by 1 will put you in the X1Y1 frame.

Translate in the along the X1 axis by l1.

X1

Y1

(l1, 0). Multiplying H by that position vector will give you the

coordinates of the yellow point relative the the X 0Y0 frame.

Slight variation on the last solution:

Make the yellow dot the origin of a new coordinate X 4Y4 frame

Y3

Y4

3

Y2 2 X3 3

2 X2

X4

Y0

1

This takes you from the X0Y0 frame to the X4Y4 frame.

X1

1

Y1

is (0,0).

X 0

Y 0

H Notice that multiplying by the (0,0,0,1) vector will

Z 0 equal the last column of the H matrix.

1

1

More on Forward Kinematics

Denavit-Hartenberg Notation

Z(i - 1)

Y(i -1) Yi Zi

Xi ai

a(i - 1 ) di

X(i -1)

i

( i - 1)

Hartenberg notation, you need 4 parameters to describe how a frame (i)

relates to a previous frame ( i -1 ).

THE PARAMETERS/VARIABLES: , a , d,

The Parameters

You can

Z(i - 1) align the

two axis

Y(i -1) Yi Zi just using

Xi ai the 4

a(i - 1 ) di parameters

X(i -1)

i

( i - 1)

1) a(i-1)

Technical Definition: a(i-1) is the length of the perpendicular between the joint

axes. The joint axes is the axes around which revolution takes place which are the

Z(i-1) and Z(i) axes. These two axes can be viewed as lines in space. The common

perpendicular is the shortest line between the two axis-lines and is perpendicular

to both axis-lines.

a(i-1) cont...

Visual Approach - A way to visualize the link parameter a(i-1) is to imagine an

expanding cylinder whose axis is the Z(i-1) axis - when the cylinder just touches the

joint axis i the radius of the cylinder is equal to a(i-1). (Manipulator Kinematics)

Its Usually on the Diagram Approach - If the diagram already specifies the

various coordinate frames, then the common perpendicular is usually the X (i-1)

axis. So a(i-1) is just the displacement along the X(i-1) to move from the (i-1) frame

to the i frame.

is a variable, not a parameter. Z(i - 1)

Y(i -1) Yi Zi

Xi ai

a(i - 1 ) di

X(i -1)

i

( i - 1)

2) (i-1)

the joint axes are parallel.

i.e. How much you have to rotate around the X (i-1) axis so that the Z(i-1) is pointing in

the same direction as the Zi axis. Positive rotation follows the right hand rule.

3) d(i-1) Z(i - 1)

Technical Definition: The displacement

Y(i -1) Yi Z

along the Zi axis needed to align the a(i-1) i

a(i - 1 ) di

perpendicular. X(i -1)

i

( i - 1)

In other words, displacement along the

Zi to align the X(i-1) and Xi axes.

4) i

Amount of rotation around the Zi axis needed to align the X(i-1) axis with the Xi

The Denavit-Hartenberg Matrix

sin cos cos i cos (i 1) sin (i 1) sin (i 1) d i

i (i 1)

0 0 0 1

transformation matrix from one coordinate frame to the next. Using a series of

D-H Matrix multiplications and the D-H Parameter table, the final result is a

transformation matrix from some frame to your initial frame.

Z(i -

Put the transformation here 1) Y(i -1) Y Zi

i X a

a(i - d

X(i -1) i i

1) i

( i -

i

1)

3 Revolute Joints Y2 Z

2

Z0 Z1

X2

d2

X0 X1

Y0 Y1

Denavit-Hartenberg Link

a0 a1 Parameter Table

i (i-1) a(i-1) di i

Notice that the table has two uses:

1) To describe the robot with its 0 0 0 0 0

variables and parameters.

2) To describe some state of the 1 0 a0 0 1

robot by having a numerical values

for the variables. 2 -90 a1 d2 2

Y2 Z

2

i (i-1) a(i-1) di i

Z0 Z1

0 0 0 0 0

X2

d2

X0 X1 1 0 a0 0 1

Y0 Y1

2 -90 a1 d2 2

a0 a1

V X 2

Y2

V T ( 0T)( 01T)(12T)

V X 0 Y0 Z 0

T Z

V 2

1 Note: T is the D-H matrix with (i-1) = 0 and i = 1.

i (i-1) a(i-1) di i cos 0 sin 0 0 0

sin cos 0 0 0

0 0 0 0 0 0T

0

0 0 1 0

1 0 a0 0 1 0 0 0 1

This is just a rotation around the Z0 axis

2 -90 a1 d2 2

sin cos1 0 0 0 0 1 d 2

0

T 1

2T

1

1

0 0 0 0 sin 2 cos 2 0 0

0 0 0 1 0 0 0 1

This is a translation by a1 and then d2

This is a translation by a0 followed by a

followed by a rotation around the X2 and

rotation around the Z1 axis

Z2 axis

T ( 0T)( 01T)(12T)

Inverse Kinematics

From Position to Angles

A Simple Example

Revolute and

Finding :

Prismatic Joints

y

Combined arctan( )

x

More Specifically:

(x , y)

y arctan2() specifies that its in the

arctan 2( ) first quadrant

x

Y

S

1 Finding S:

X

S (x 2 y 2 )

Inverse Kinematics of a Two Link Manipulator

(x , y) Given: l1, l2 , x , y

2 Find: 1, 2

l2

Redundancy:

A unique solution to this problem

does not exist. Notice, that using the

1 l1 givens two solutions are possible.

Sometimes no solution is possible.

l2 (x , y)

l2

l1 l1

The Geometric Solution

(x , y) Using the Law of Cosines:

l2

2

c 2 a 2 b 2 2ab cos C

2 2

( x 2 y 2 ) l1 l2 2l1l2 cos(180 2 )

cos(180 2 ) cos( 2 )

2 2

l1 x 2 y 2 l1 l2

cos( 2 )

2l1l2

1

x 2 y 2 l12 l2 2

2 arccos

2l1l2

Using the Law of Cosines:

Redundant since 2 could be in the first

sin B sin C

or fourth quadrant.

b c

sin 1 sin(180 2 ) sin( 2 )

Redundancy caused since 2 has two possible

l2 x 2 y2 x 2 y2 values

1 1 l sin( ) y

1 arcsin 2 2

arctan 2

y x 2 y2 x

arctan 2

x

The Algebraic Solution

l2 (x , y)

2

c1 cos1

c1 2 cos( 2 1 )

l1 (1) x l1 c1 l2 c1 2

(2) y l1 s1 l2 sin 1 2

1

(3) 1 2

(1) 2 (2) 2 x 2 y 2

2 2 2

2 2 2

l1 c1 l2 (c1 2 ) 2 2l1l2 c1 (c1 2 ) l1 s1 l2 (sin1 2 ) 2 2l1l2 s1 (sin1 2 )

l1 l2 2l1l2 c1 (c1 2 ) s1 (sin1 2 )

2 2

2 2

l1 l2 2l1l2 c 2 Only Unknown Note :

x 2 y 2 l12 l2 2 cos(ab) (cos a)(cos b) (sin a)(sin b)

2 arccos

2 l l sin(ab) (cos a)(sin b) (cos b)(sin a)

1 2

x l1 c1 l2 c1 2 Note :

l1 c1 l2 c1c 2 l2 s1s2 cos(a b) (cos a)(cos b) (sin a)(sin b)

c1 (l1 l2 c 2 ) s1 (l2 s2 ) sin(ab) (cos a)(sin b) (cos b)(sin a)

l1 s1 l2 s1c 2 l2 s 2 c1 slide. We need to solve for 1 . Now

c1 (l2 s 2 ) s1 (l1 l2 c 2 ) we have two equations and two

unknowns (sin 1 and cos 1 )

x s1 (l 2 s 2 )

c1

(l1 l 2 c 2 )

x s1 (l 2 s 2 ) Substituting for c1 and simplifying

y (l 2 s 2 ) s1 (l1 l 2 c 2 ) many times

(l1 l 2 c 2 )

1

(l1 l 2 c 2 )

x l 2 s 2 s1 (l12 l 2 2 2l1l 2 c 2 ) Notice this is the law of cosines

and can be replaced by x2+ y2

y(l1 l 2 c 2 ) x l 2 s 2 y(l1 l 2 c 2 ) x l 2 s 2

s1 1 arcsin

x 2 y2 x 2 y2

- Good Practice Guide - CMM UseUploaded bymcbalzan
- Technical Reference 2005Uploaded byJay-ar Cabus
- Powermill Multi Axis millingUploaded byVelichko Velikov
- DatumUploaded byVinaya Almane Dattathreya
- Integral ExamUploaded byVarry Morial
- Modeling and Numerical Simulation of Unmanned Aircraft Vehicle Restricted by Non-holonomic ConstraintsUploaded byEwa
- TheBigEBookUploaded byJohn
- ADM CMM Course Test 1Uploaded bypandaprasad
- manipulator_kinematics__set_2_.pdfUploaded bymohammad sammeer
- 5th grade - augies journeyUploaded byapi-354511981
- Forces and Torques on CurrentsUploaded bymunkeyman1985
- Calculus LateUploaded byCristian Serna
- IAI CT4_CJ0194-2A-UST-1-1213Uploaded byElectromate
- GPL_Reference_Guide_for_IBM_SPSS_Statistics.pdfUploaded byMichaelister Ordoñez Monteron
- GraphUploaded byKarisse Ann Viaje
- Milk ShapeUploaded byglayconglaycon
- decUploaded byJaselyn Koay
- robotics and automationUploaded byTemitayo Ejidokun
- VectorsUploaded byHinaa Jan Airy
- Documents.mx Computer Program for Determination of Geometrical Properties of Thin Walled 577b0326dd543Uploaded byMarcelo Gimenez Magalhães
- Zero return problems alarms and troubleshooting CNC information.docxUploaded byEhab Mohamed
- 3comp OverviewUploaded byCarlos Moya
- Soalan Pra Spm Graf FuctunceUploaded byJohanan Kwek
- Figure Setup _ Basic Plotting Commands (MATLAB®)Uploaded byAndrew Clay
- Review Exercise 20 (Subjective)Uploaded bySyamsul Izzaht
- solid modelling tutorialUploaded byJay Srivastava
- .Uploaded byTony Tran
- 1.4.1_(8-2-11)Uploaded bySreedhar Pulivarthi
- 2010 Section IxUploaded byVivekanandan J
- II-15 Image PlotsUploaded byKiranchennala Reddy

- Classnotes-3Uploaded byRajeev Ramakrishnan
- Midterm Review AnswersUploaded bybwlomas
- Lecture Notes in Lie Groups.pdfUploaded byHoang Bao Tran Tan
- chap0basUploaded byJulian David Henao Escobar
- Integración MultipleUploaded byNazgulamarth11
- yearly lesson plan math f4Uploaded byAzlina Mina
- Barrons OneDimensionalMotionUploaded bypavan
- Gr9 Math Module5 Quadrilaterals_Learning Goals and TargetsUploaded byeustoque2668
- Ad Maths Formula ListUploaded byZareena Carrim
- اGED past papersUploaded byshashideshpande
- Lecture 11Uploaded byLucas Ryan
- zm2221.pdfUploaded byLuis Alberto Fuentes
- fd (2)Uploaded bykanthan3418
- test1solUploaded byyizzy
- Bending and Buckling of General Laminated Curved Beams UsingUploaded byMohammed Elmahjoubi
- Study Island (1)Uploaded bynickiharrison
- Analysis of Loudspeaker Line ArraysUploaded byDan Hauer
- pageproofs_15_652354Uploaded bySaketh Maddamsetty
- lesson 6Uploaded byapi-350303637
- 44 Diffrential Equations Part 2 of 3Uploaded byVaibhav Kumar
- Math 730 (Graduate Topology, UMD) Notes (Sept. 2016)Uploaded byJoseph Heavner
- Summit Curve& Valley CurveUploaded byAnupamMishra
- Zederwall - An Introduction to Analytical Mechanics-Martin (Uploaded byLida Velasquez Sierra
- ch09.pdfUploaded byTom
- Leibniz, G.W. - A New Method for Finding Maxima and MinimaUploaded byxamanian
- scara_1Uploaded byOnur Cem Erdoğan
- reifschneider100405Uploaded byTian Jinayon
- Soln11(Complex]Uploaded byshashank
- Stable Intersections of Regular Cantor Sets with Large Hausdorff DimensionsUploaded byPierre SIBUT-BOURDE
- MATH 36 EW Course GuideUploaded byThrowaway123