# Advanced Robotics - C01 - Gmarani.org

Τεχνίτη Νοημοσύνη και Ρομποτική

13 Νοε 2013 (πριν από 4 χρόνια και 7 μήνες)

125 εμφανίσεις

1

C01

2009.01.20

Department of Mechanical Engineering

ME 696

C01: Geometry of robotics structures

2

Summary

1.
Vectors

(definitions

and

operations)

2.
Coordinate

systems

3.
Rotation

matrices

4.
Representation

of

rotation

matrices

5.
Transformation

matrices

6.
Geometry

of

robotics

structures

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

ME696
-

Vectors: definitions

3

Point

Point

in

a

Cartesian

system
:

Spherical

reference

system
:

Line

segment
:

a

part

of

a

line

that

is

bounded

by

two

distinct

end

points
.

Oriented

line

segment
:

Given

two

oriented

line

segments

[P
-
Q]

and

[P`
-
Q`],

they

are

equipollent

if

they

have

the

same

direction,

length

and

orientation
.

Given

an

oriented

segment

[P
-
Q],

a

correspondent

free

vector

is

the

whole

class

of

line

segments

equipollent

to

[P
-
Q]
.

Note

the

difference

with

the

bound

vector
.

ME696
-

C01

3
2
1
,
,
c
c
c
P

,
,
r

P
i

j

k

p
1

p
3

P

Q

P`

Q`

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Vectors: operations

4

Dot (scalar) product

Properties
:

Cross

(vector)

product

Properties
:

ME696
-

C01

)
cos(
2

v
v
v
v
1
2
1

v
1

v
2

v
v
v
v
2
1
2
1

v
a
b
v
a
v
b

(
)
)
sin(
2

v
v
v
v
1
2
1

v
1

v
1

v
1

v
2

v
v
v
v
1
2
2
1

v
a
b
v
a
v
b

(
)

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Coordinate systems

5

Coordinate systems

In

geometry

and

kinematics,

coordinate

systems

are

used

not

only

to

describe

the

(linear)

position

of

points,

but

also

to

describe

the

angular

position

of

axes,

planes,

and

rigid

bodies
.

In

the

latter

case,

the

orientation

of

a

second

(typically

referred

to

as

"local")

coordinate

system,

fixed

to

the

node,

is

defined

based

on

the

first

(typically

referred

to

as

"global"

or

"world"

coordinate

system)
.

ME696
-

C01

O
a

< a >

< 0 >

k

i

j

i

i

j

j

k

k

< b >

O
b

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Coordinate systems

6

Coordinate systems

< a >

{ O
a
,
i
a
,
j
a
,
k
a

}

< b >

{ O
b
,
i
b
,
j
b
,
k
b

}

Any vector can be uniquely expressed w.r.t either <a> and <b>:

v =
c
1

i
a

+ c
2

j
a

+
c
3

k
a

v =
h
1

i
b

+ h
2

j
b

+
h
3

k
b

ME696
-

C01

O
a

< a >

< 0 >

k

i

j

i

i

j

j

k

k

< b >

O
b

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Coordinate systems

7

Orthogonal systems

The reference frame < a >

{
O
a
,
i
a
,
j
a
,
k
a

} is
orthogonal

with right
-
handed orientation if:

orthogonal

with left
-
handed orientation:

If
i

,

j

,

k

are also of unit length the frame are
orthonormal
.

ME696
-

C01

k
i
j
i
j
a
a
a
a
a

,
.
0
k
i
j
i
j
a
a
a
a
a

,
.
0
O
a

< a >

i

j

k

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Algebraic vector

8

Algebraic vector

Given 2 free vectors
v

and
w
in an
orthonormal
-
right
-
handed reference
system we have:

Dot product:

Cross product: where:

ME696
-

C01

a
c
c
c
v

1
2
3
3
b
h
h
h
v

1
2
3
3
O
a

< a >

i

i

j

j

k

k

< b >

O
b

P

Q

v
w
v
w

a
T
a

a
a
a
(
)
v
w
v
w

a
c
c
c
c
c
c
v

0
0
0
3
2
3
1
2
1

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

9

Position of reference systems

Given two
orthonormal

reference systems <a> and <b>, the Rotation
Matrix of <b> with respect to <a> is defined by:

Properties:

ME696
-

C01

b
a
a
b
a
b
a
b
R

i
j
k
3
3
a
b
T
a
b
i
j

0
a
b
T
a
b
i
k

0
a
b
T
a
b
j
k

0
a
b
T
a
b
i
i

1
a
b
T
a
b
j
j

1
a
b
T
a
b
k
k

1
b
a
b
a
T
R
R

1
det(
)
b
a
R

1
O
a

< a >

i

i

j

j

k

k

< b >

O
b

R
b
a

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

10

Change of reference system

Problem statement:

Given a free vector
v

with known projection
w.r.t
. the frame <b>, we
want to compute the projection
w.r.t
. the frame <a>:

Hence:

similarly:

ME696
-

C01

b
b
b
b
b
b
b
z
y
x
k
j
i
v

a
b
a
b
b
a
b
b
a
b
x
y
z
v
i
j
k

a
b
a
b
R
v
v

b
a
b
a
R
v
v

O
a

< a >

i

i

j

j

k

k

< b >

O
b

R
b
a

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

11

Change of reference system for the cross
-
product operator

ME696
-

C01

a
c
c
c
c
c
c
v

0
0
0
3
2
3
1
2
1

a
a
a
(
)
v
w
v
w

b
b
b
(
)
v
w
v
w

a
b
b
a
b
b
a
b
b
b
a
b
b
a
T
a
R
R
R
R
v
w
v
w
v
w
v
w

a
b
a
b
b
a
T
R
R
v
v

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

12

Concatenation of rotation matrices

Problem statement:

Given n reference systems, we want to compute the rotation matrix
between 2 frames <h> and <k> such as:

Algorithm:

1)
Identify an oriented path from <k> to <h>

2)
Pre
-
multiply the vector
k
v

with all the rotation matrices encountered
(if the arrow is not opposite the rotation matrix is transposed)

ME696
-

C01

?
< 0 >
< 1 >
< i >
< j >
< k >
< h >
h
k
h
k
R
v
v

h
h
j
T
j
i
T
k
i
k
R
R
R
v
v

k
h
h
j
T
j
i
T
k
i
R
R
R
R

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Representation of rotation matrices

13

Exponential representation

Problem statement:

The frame <b>, initially coincident with <a>, is rotated of an angle
theta around the axis specified by v.

Expanding the exponential we have:

ME696
-

C01

k
a

i
a

j
a

i
b

j
b

k
b

b
a
O
O

b

a
v

b
a
R
R
e

(
,
)
v
v

e
v
v
p
c
v
v
p
v
s
v
v
p
v
s
v
v
p
v
s
v
v
p
c
v
v
p
v
s
v
v
p
v
s
v
v
p
v
s
v
v
p
c
x
x
x
y
z
x
z
y
x
y
z
y
y
y
z
x
x
z
y
y
z
x
z
z
v

c
s
sin
p

cos(
),

(
),

cos(
).

1
R
R
(
,
)
(
,
)
v
v

R
R
k
(
,
)
(
,
)
v
v

2
R
k
I
(
,
)
v
v
2

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Representation of rotation matrices

14

Exponential representation

Special cases:

ME696
-

C01

k
a

i
a

j
a

i
b

j
b

k
b

b
a
O
O

b

a
v

R
sin
sin
(
,
)
cos(
)
(
)
(
)
cos(
)
i

1
0
0
0
0
R
sin
sin
(
,
)
cos(
)
(
)
(
)
cos(
)
j

0
0
1
0
0
R
sin
sin
(
,
)
cos(
)
(
)
(
)
cos(
)
k

0
0
0
0
1

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

15

Roll
-
Pitch

Yaw (Euler)

ME696
-

C01

j
0

i
0

z
0k

a

(yaw)

b

(pitch)

g

(roll)

k
1

k
0

j
1

i
1

i
2

j
2

j
1

k
2

j
3

k
3

i
3

i
2

g

a

b

a

b
1

b
2

b

b
a
R
R
R
R
e
e
e

k
j
i
k
j
i
,
,
,
a
b
g
a
b
g

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Rotation matrices

16

Roll
-
Pitch

Yaw (Euler)

ME696
-

C01

b
a
R
R
R
R
e
e
e

k
j
i
k
j
i
,
,
,
a
b
g
a
b
g
b
a
R

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Transformation matrices

17

Change of reference system for points in space

Problem statement:

Given a generic point P in the space, compute its coordinates
w.r.t
. the
frames <a> and <b>

We have:

ME696
-

C01

k

i

j

i

i

j

j

k

k

P

0
O
a

a
a
P
b
P

b
O
b
a
a
a
P
P
O

(
)
b
b
b
P
P
O

(
)
a
b
a
P
P
(
)

a
a
b
b
a
b
P
O
R
P

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Transformation matrices

18

Change of reference system for points in space

Point P in <b>: Representation of P in homogeneous coordinates:

Transformation matrix:

ME696
-

C01

k

i

j

i

i

j

j

k

k

P

0
O
a

a
a
P
b
P

b
O
b
b
b
b
b
P
x
y
z

b
b
b
b
P
x
y
z

1
b
a
b
a
a
b
T
R
O

0
0
0
1
a
a
b
b
a
b
P
O
R
P

a
b
a
b
P
T
P

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Geometry of robotics structures

19

Multibody

systems

ME696
-

C01

Giunto

i
1

i

i
1

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Geometry of robotics structures

20

Denavit
-
Hartenberg

ME696
-

C01

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Geometry of robotics structures

21

Multibody

systems

ME696
-

C01

1
0
,

1
1
,

1
2
,

3
2
,

3
1
,

1
3
,

2
1
,

2
2
,

2
3
,

2
4
,

2
5
,

1
4
,

1
5
,

1
6
,

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

Simulation Environment

Robotics Developer Studio

22

RDS: Simple application
example

5 Degrees of freedom
linear chain.

Joint 1

Joint 2

Joint 3

Joint 5

r
2
oj

C
ontents

1. Vectors

2. Coordinate sys.

3.
Rotation
Matrices

4.
Representation

5.
Transformation

M.

6.
Geometry

7. Example

End of presentation