kinematics - amirkabir university of...

47
Kinematics Amirkabir University of Technology Computer Engineering & Information Technology Department

Upload: dinhque

Post on 04-Sep-2018

284 views

Category:

Documents


7 download

TRANSCRIPT

Kinematics

Amirkabir University of TechnologyComputer Engineering & Information Technology Department

Learning Objectives

Given a robot, Derive a kinematic model of the robotAssign framesDerive equations relating relative position and orientation of frames (forward and inverse equations)

Kinematics

Kinematics is the traditional starting point for robotics courses, and is by far the most important and deepest topic. Kinematics has broad application to other fields such as graphics and computer animation.Kinematics requires the least prerequisites, basically just linear algebra and differential equations.

Kinematics

KINEMATICS: the analytical study of the geometry of motion of a robot arm:

With respect to a fixed reference co-ordinate system.Without regard to the forces or moments that cause the motion.

What is Kinematics

Forward kinematics

Given joint variables

End-effector position and orientation, -Formula?

),,,,,,( 654321 nqqqqqqqq L=

),,,,,( TAOzyxY =x

y

z

Manipulator Kinematics

We will describe a method to compute the position and orientation of the manipulator linkages and end-effector as a function of joint variables relative to a base frame.To perform this task, we will affix frames to the various parts of the robot mechanism, and then describe the relationship between these frames. A 3-DOF Manipulator Arm

Inverse Kinematics

Given a desired position (P) & orientation (R) of the end-effector

Find the joint variables which can bring the robot the desired configuration

),,( 21 nqqqq L=

x

y

z

Inverse Kinematics

(θ1 … θn) (x,y,z,θx,θy,θz)

K-1

Forward and Inverse Kinematics

xw

Joint 1

Joint 2

Joint 3

Link 1z1

World (Base) Coordinate Frame

Tool Coordinate Frame

Joint 1

Joint 2

Joint 3

Link 1z1

World (Base) Coordinate Frame

Tool Coordinate Frame

θ1

θ2

zw

yt

zt

Forward K

Inverse K

Link Space

n variables (θ1 … θn)

Tool Space

6 variables (x,y,z,θx,θy,θz)

Inverse KinematicsMore difficult.

The equations to solve are nonlinear thus systematic closed-form solution is not always available.Solution not unique.

Redundant robot.Elbow-up/elbow-down.

Configuration.

Robot dependent.

(x , y)l2

l1l2

l1

Preliminary

Spatial Descriptions and Transformations

Dot Product

Let and be arbitrary vectors in and be the angle from to , then

Where θ is the angle between the vectors and is the norm.

X.Y=0 if X is perpendicular to Y.

3R θ

θcosyxyx =⋅

x yx y

x

y

θ

x

Dot Product

Properties of orthonormal coordinate frame

Mutually perpendicular Unit vectors

00

0

=⋅

=⋅

=⋅

jkki

ji

vv

vv

vv

1||

1||1||

=

=

=

k

ji

v

v

v

jk

O i

Point and Vector Representation

Point represented in OXYZ:T

zyxxyz pppP ],,[=

zyx kji zyxxyz pppP ++=r

Vector represented in OXYZ:

x

y

zP

O, O’i

jk

Coordinate TransformationReference coordinate frame OXYZBody-attached frame O’uvw

wvu kji wvuuvw pppP ++=r

x

y

zP

u

vw

O, O’

zwyvxu pppppp ===

Point represented in O’uvw:

Two frames coincide ==>

Coordinate Transformation

y

zP

u

vw

Rotation only

zyx kji zyxxyz pppP ++=r

wvu kji wvuuvw pppP ++=r

xuvwxyz RPP =

How to relate the coordinate in these two frames?

Basic Rotation

Px , Py , and Pz represent the projections of Ponto OX, OY, OZ axes, respectivelySince

wvux pppPp wxvxuxx kijiiii ⋅+⋅+⋅=⋅=

wvuy pppPp wyvyuyy kjjjijj ⋅+⋅+⋅=⋅=

wvuz pppPp wzvzuzz kkjkikk ⋅+⋅+⋅=⋅=

wvu kji wvu pppP ++=

Basic Rotation Matrix

Rotation about x-axis with

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

w

v

u

z

y

x

ppp

ppp

wzvzuz

wyvyuy

wxvxux

kkjkikkjjjijkijiii

x

z

y

v

wP

u

θ

−=θθθθθ

CSSCxRot

00

001),(

θ

Basic Rotation MatrixRight hand coordinate systems

Basic Rotation MatrixRotation about x axis with θ

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

w

v

u

z

y

x

ppp

ppp

wzvzuz

wyvyuy

wxvxux

kkjkikkjjjijkijiii

x

z

y

v

wP

u

θ

θθ

θθ

θθθθ

cossin

sincos

cossin0sincos0001

wvz

wvy

ux

w

v

u

z

y

x

ppp

ppppp

ppp

ppp

+=

−==

−=

Basic Rotation MatricesRotation about x-axis with θ

Rotation about y-axis with θ

Rotation about z-axis with θ

uvwxyz RPP =

−=θθθθθ

CSSCxRot

00

001),(

0

0100

),(

−=

θθ

θθθ

CS

SCyRot

−=

10000

),( θθθθ

θ CSSC

zRot

Basic Rotation Matrix

Obtain the coordinate of from the coordinate of

uvwxyz RPP =

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

wzvzuz

wyvyuy

wxvxux

kkjkikkjjjijkijiii

R

xyzuvw QPP =

TRRQ == −1

31 IRRRRQR T === −

uvwPxyzP

<== 3X3 identity matrix

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

z

y

x

w

v

u

ppp

ppp

zwywxw

zvyvxv

zuyuxu

kkjkikkjjjijkijiii

Dot products are commutative!

Example A point is attached to a rotating frame, the frame rotates 60 degree about the OZ axis of the reference frame. Find the coordinates of the point relative to the reference frame after the rotation.

)2,3,4(=uvwa

−=

−=

=

2964.4598.0

234

10005.0866.00866.05.0

)60,( uvwxyz azRota

Composite Rotation MatrixA sequence of finite rotations

Matrix multiplications do not commuteRules:

If rotating coordinate O-U-V-W is rotating about principal axis of OXYZ frame, then pre-multiplythe previous (resultant) rotation matrix with an appropriate basic rotation matrixIf rotating coordinate OUVW is rotating about its own principal axes, then post-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix

ExampleFind the rotation matrix for the following operations:

Post-multiply if rotate about the OUVW axesPre-multiply if rotate about the OXYZ axes

...

axis OUabout Rotation axisOW about Rotation

axis OYabout Rotation

Answer

αθφ

−+−−

+−=

=

=

αθφαφαφαθφθφαθαθθ

αφαθφαθφαφθφ

ααααθθ

θθ

φφ

φφαθφ

SSSCCSCCSSCSSCCCS

CSSSCCSCSSCC

CSSCCS

SCuRotwRotIyRotR

00

001

10000

C0S-010

S0C),(),(),( 3

Coordinate Transformations• Position vector of P in {B} is transformed to position vector of P in {A}

• Description of {B} as seen from an observer in {A}

Rotation of {B} with respect to {A}

Translation of the origin of {B} with respect to origin of {A}

Coordinate TransformationsTwo special cases

1. Translation onlyAxes of {B} and {A} are parallel

2. Rotation onlyOrigins of {B} and {A} are coincident

1=BAR

'oAPBB

APA rrRr +=

0' =oAr

Homogeneous Representation

The representation of an N-component position vector by an (N+1)- component vector is called Homogeneous representation.

P=(px, py , pz )T P=(wpx, wpy , wpz ,w)T

In robotics w=1

Homogeneous RepresentationHomogeneous transformation matrix:

Homogeneous transformation matrix maps a position vector expressed in homogeneous coordinates from one coordinate systems to another coordinate system.

=

= ××

× 10101333

31

' PRrRT

oAB

A

BA

Position vector

Rotation matrix

Scaling

Homogeneous Representation

'oAPBB

APA rrRr +=

=

× 1101 31

' PBoAB

APA rrRr

Coordinate transformation from {B} to {A}

Homogeneous TransformationSpecial cases1. Translation

2. Rotation

=

×

×

10 31

'33

oA

BA rIT

=

×

×

100

31

13BA

BA RT

ExampleTranslation along z-axis with h:

=

1000100

00100001

),(h

hzTrans

+=

=

111000100

00100001

1hp

pp

ppp

hzyx

w

v

u

w

v

u

x

y

z P

u

vw

O, O’

hx

y

zP

u

vw

O, O’

ExampleRotation about the x-axis by

=

100000000001

),(θθθθ

θCSSC

xRot

x

z

y

v

wP

u

=

1100000000001

1w

v

u

ppp

CSSC

zyx

θθθθ

θ

θ

Composite Homogeneous Representation

Find the homogeneous transformation matrix (T) for the following operation:

:

axis OZabout ofRotation axis OZ along d ofn Translatioaxis OX along a ofn Translatio

axis OXabout Rotation

Answer

θ

α

44,,,, ×= ITTTTT xaxdzz αθ

=

100000000001

100001000010

001

1000100

00100001

100001000000

ααααθθ

θθ

CSSC

a

dCSSC

Homogeneous TransformationComposite Homogeneous Transformation Matrix

0x

0z

0y1

0 A2

1 A

1x

1z

1y 2x2z

2y

?i

i A2−

Post-multiply if rotate about the OUVW axesPre-multiply if rotate about the OXYZ axes

Example

Find T for rotation of α about OX followed by a translation of b units along the rotated OV axis.

T= Tv,b .Tx,α

Note: after rotation:jv=cos α jy + sin α kz

=

1000100010

0001

αα

bSinbCos

T

Minimal Representation of Orientation

⋅⋅⋅⋅⋅⋅⋅⋅⋅

=

w

v

u

z

y

x

ppp

ppp

wzvzuz

wyvyuy

wxvxux

kkjkikkjjjijkijiii

Rotation matrix representation needs 9 elements to completely describe the orientation of a rotating rigid body. Any easy way?

Euler Angles Representation

Orientation Representation

Euler angles representation ( , , )Many different typesDescription of Euler angle representations

φ θ ψ

Euler Angle I Euler Angle II Roll-Pitch-Yaw

Sequence about OZ axis about OZ axis about OX axis

of about OU axis about OV axis about OY axis

Rotations about OW axis about OW axis about OZ axis

φ φ

φθ θ θψ ψ

ψ

Euler Angle I

y

x

z

u'

v'

θ

v "v'"

u'"

φ

w'=

w"

=u"

ϕ

w'"=

Orientation Representation

Euler angle I

−=

−=

−=

1000cossin0sincos

,cossin0sincos0001

,1000cossin0sincos

''

'

ϕϕϕϕ

θθθθφφ

φφ

ϕ

θφ

w

uz

R

RR

Euler Angle I

−+−

+

−−

=

θθϕθϕ

θφθϕφ

ϕφθϕφ

ϕφ

θϕθϕφ

ϕφθϕφ

ϕφϕθφ

cossincossinsin

sincoscoscoscos

sinsincossincos

cossin

sinsincoscossin

sincoscossinsin

coscos''' wuz RRRR

Resultant eulerian rotation matrix:

Euler Angle II,

x

y

z

u'

v'

φ

w'=

v"'ϕ

u"'

w"'=

=v"

w"

u"

θ

Euler Angle IIResultant Eulerian rotation matrix:

−+

−−

+−

=

θθϕθϕ

θϕθϕφ

ϕφθϕφ

ϕφ

θφθϕφ

ϕφθϕφ

ϕφϕθφ

cossinsinsincos

sinsincoscossin

coscoscoscossin

sincos

sincoscoscossin

cossincoscoscos

sinsin''' wvz RRRR

Deriving EULER Angles From the Rotation Matrix

To determine the set of Euler angles corresponding to a given rotation matrix

=

333221

232221

131211

rrrrrrrrr

REuler

Orientation RepresentationDescription of roll pitch yaw ( )

X

Y

Z

ϕθ

φ

How to get rotation matrix ?

φ θ ϕ

Exercise

Drive rotation matrix about an arbitrary axis.

Due: 1383/7/13Email solution in Pdf or doc format to:

[email protected]

Kinematics

Time to Derive Kinematics Model of Robotic Arm