In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob...

22

Transcript of In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob...

Page 1: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

CS545: Introduction to Robotics

Gaurav S. Sukhatme

[email protected]

WWW: http://www.usc.edu/dept/robotics/personal/gaurav/home.html

Robotics Research Laboratory

Institute for Robotics and Intelligent SystemsUniversity of Southern California

Page 2: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Today's Agenda

� Handouts, Procedural Issues

� Introduction & Motivation

� Terminology

� Notation

� Introduction to Transforms

Page 3: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

What is a Robot ?

Random House Dictionary A machine that

resembles a human being and does

mechanical routine tasks on command

Robotics Association of America An

industrial robot is a reprogrammable,

multifunctional manipulator designed to move

materials, parts, tools, or specialized devices

through variable programmed motions for the

performance of a variety of tasks

Mike Brady The intelligent connection of

perception to action

The word robot was introduced by Capek in the

play R.U.R

Page 4: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

What is a Robot ?

� We will use de�nition 3 for our purposes - i.e.

to de�ne a robot in general

� However this class is about a speci�c subset

of robots called manipulators

� A manipulator (or an industrial robot) is

composed of a series of links connected to

each other via joints. Each joint usually has

an actuator (a motor for eg.) connected to it.

These actuators are used to cause relative

motion between successive links. One end of

the manipulator is usually connected to a

stable base and the other end is used to

deploy a tool

Page 5: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Industrial Robotics Today

Page 6: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Interdisciplinary Nature

At a typical university the robotics research lab

involves ME, EE and CS. At some schools one

sees involvement from the Life Sciences.

Mechanism Design

Control Design Electronic Design

Brain Design

Robotics

AI, Vision, Biology,Algorithms

Robot,Actuators

Control Laws,Theory

Processors,Sensors

Page 7: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

An Industrial Manipulator

Page 8: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

MENOII and Marscar

Both are mobile robots and are not considered

manipulators

Page 9: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Why study Manipulators ?

� Tools developed in this class form the basis of

analysis of other, more advanced robots (The

homogenous transform, the Jacobian etc.)

� Most industrial needs are still manipulator

based

Page 10: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Coordinate Frames

� An object in 3 space is described (for our

purposes) by its position and its orientation

� The object may be a robot link, a tool (for

welding, assembly etc.)

� We will attach a coordinate system or frame

rigidly to the object

� The position and orientation of this frame

with respect to some reference coordinate

system or frame gives us the position and

orientation of the object we want to describe

Base Frame

Tool Frame

Object or Task Frame

Page 11: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

De�nitions

� Kinematics: Science of motion without regard

to its cause. No study of force, only position

and its derivatives such as velocity and

acceleration

� Degrees of Freedom: Number of independant

position variables which would hae to be

speci�ed to locate all parts of a mechanism.

In most manipulators this is usually the

number of joints.

� End E�ector: The tool at the end of the

manipulator, eg. gripper

� Forward Kinematics: The transformation

from joint space to Cartesian space

1

2

(x, y, z)

1 2, (x, y, z)

Page 12: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

� Inverse Kinematics: The transformation from

Cartesian space to joint space. This is

typically a much harder problem since there

may be multiple ways to arrange the joints to

get to the same �nal position

(x, y, z)

1 2,(x, y, z)

Not a unique solution

� Jacobian: A mapping from velocities in joint

space to velocities in cartesian space. In other

words if one knows how fast the thetas are

changing one can use to Jacobian to �gure

out how fast the values of x, y and z of the

end e�ector are changing

� Trajectory Generation: Causing a

manipulator to move along a speci�ed path

from one point to another

Page 13: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Notation (Section 1.3)

� Uppercase variables are vectors or matrices,

lowercase are scalars

� The leading superscript identi�es which

coordinate system a quantity is refered to.

For eg. AP is a position vector in coordinate

system fAg

� The trailing superscript is used to indicate a

matrix inverse or transpose. For eg. R�1 and

RT

� The trailing subscript is used to denote a

component or a name. For eg. Px is the

x-component of the vector P .

� Trigonometric functions are abbreviated often

for brevity. For eg. sin(�1) = s�1 = s1

Page 14: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

The Position Vector

A description of a point in space with respect to

(wrt) a particular reference frame.

P

x

y

z

{A}A

The point P wrt to coordinate system fAg is

written AP . It is a vector with three components

AP =

2664

Px

Py

Pz

3775

Page 15: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

The Rotation Matrix

� To describe the orientation of an object wrt

to some system fAg we proceed as follows.

Fix a second coordinate system fBg to the

object of interest and describe it wrt to the

�rst i.e. describe fBg wrt fAg

� A orientation of one coordinate system wrt to

another is expressed using a rotation matrix

� Each column of the rotation matrix R

describes one axis of fBg wrt fAg

� More precisely each column of R is the unit

vector of a principal axis of fBg written wrt

to fAg.

{A}

{B}

XA

YA

ZA

XB

YB

ZB

Page 16: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

The unit vectors along the x, y and z axes of fBg

are written as XB , YB and ZB. When they are

wrt to system fAg they are written as AXB ,AYB

and AZB

We stack these three unit vectors as the columns

of the rotation matrix which describes fBg

relative to fAg and denote the matrix by ABR

Therefore a rotation is represented as a set of 3

vectors stacked as the columns of a matrix. Each

element of the matrix is the dot product of two

unit vectors as seen in the �gure below

XB^

^XA

O

AXB^

jAXBj = jXBjcos(�)

jAXB j = jXB jjXAjcos(�)

jAXB j = XB � XA

Page 17: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

So we now have

A

BR =

�AXB

AYB

AZB

�=

�XB � XA YB � XA ZB � XA

XB � YA YB � YA ZB � YA

XB � ZA YB � ZA ZB � ZA

One can now see that the description of fAg

relative to fBg is given by the transpose of R

BAR = A

BRT

Now, by de�nition the description of fAg relative

to fBg is the inverse of the description of fBg

relative to fAg i.e.

BAR = A

BR�1

So we have shown that for a rotation matrix R

RT = R�1

Note: There are some interesting implications of

this (see homework 1)

Page 18: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

The Frame Concept

We now know how to describe a rotation and a

translation. So in the general case where an

object is both rotated and translated wrt some

\base" coordinate system we introduce the notion

of a frame

A frame is a set of four vectors (three for rotation

and one for translation)

{B}

{A}

APBORG

The frame fBg is written as

fBg = fABR;

APBORGg

where ABR is the rotation matrix which describes

the rotation of fBg wrt fAg and APBORG is the

vector that describes the origin of fBg wrt the

origin of fAg

Page 19: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Translational Mapping

Consider two frames fAg and fBg such that fBg

is translated wrt fAg but is not rotated wrt fAg.

This means that axes of fBg and fAg are parallel.

Given a vector BP that describes the location of a

point P wrt frame fBg what is the description of

the location of the same point P wrt frame fAg ?

AP = BP + APBORG

APBP

APBORG

APBORG

{A}

{B}

Page 20: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

Rotational Mapping

Consider two frames fAg and fBg such that fBg

is rotated wrt fAg but is not translated wrt fAg.

This means that origins of fBg and fAg coincide.

Given a vector BP that describes the location of a

point P wrt frame fBg what is the description of

the location of the same point P wrt frame fAg ?

AP = ABR

BP

BP

{B}

{A}

Page 21: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

General Mapping

Consider two frames fAg and fBg such that fBg

is both rotated and translated wrt fAg. This

means that origins of fBg and fAg do not

coincide and their axes are not parallel.

Given a vector BP that describes the location of a

point P wrt frame fBg what is the description of

the location of the same point P wrt frame fAg ?

AP = ABR

BP + APBORG

{A}

{B}

PABP

APBORG

Page 22: In - faraday.ee.emu.edu.trfaraday.ee.emu.edu.tr/eeng428/ee428_1.pdf · CS545: In tro duction to Rob otics Gaura vS.Sukhatme gaura v@rob oti cs.usc. edu WWW: h ttp:// du/d ept /rob

'

&

$

%

The Homogenous Transform

The pure rotation equation is elegant - the mixed

rotation and translation equation is not

It is possible to think of a rotation + translation

in 3 dimensional space as a pure rotation in a 4

dimensional space

We use this fact to de�ne a 4 dimensional

homogeneous transform to combine both rotation

and translation in 3 space

AP

1

ABR

0 0 0 1

APBORG

1

BP=

The position vectors AP and BP have an extra 1

tagged on at the end. The transform matrix

above is called a homogeneous transform. It is

often symbolically written ashA

BR

AP

0 1

i