m. de cecco - lucidi del corso di robotica e sensor fusion a manipulator can be modelled as a...

23
M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by joints (rotoidal or prismatic) For each joint correspond a degree of freedom Cinematica dei Manipolatori e dei robot mobili In manipulators one extreme is rigidly constrained to a base, to the other end is fixed an end effector. Knowing the variable associated with each joint (joint variable: angle for revolute, relative position for prismatic), the position and orientation (pose or posture) of the terminal are uniquely determined In the case of mobile robots we do not have rigid constraints to determine the position unequivocally, but wheels (generally) that determine a speed constraint Knowing the variable connected with each joint (total angle of rotation of the wheel) there is no information about the pose of the vehicle

Upload: ryan-ford

Post on 26-Mar-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by joints (rotoidal or prismatic)

For each joint correspond a degree of freedom

Cinematica dei Manipolatori e dei robot mobili

In manipulators one extreme is rigidly constrained to a base, to the other end is fixed an end effector.Knowing the variable associated with each joint (joint variable: angle for revolute, relative position for prismatic), the position and orientation (pose or posture) of the terminal are uniquely determined

In the case of mobile robots we do not have rigid constraints to determine the position unequivocally, but wheels (generally) that determine a speed constraintKnowing the variable connected with each joint (total angle of rotation of the wheel) there is no information about the pose of the vehicle

Page 2: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori

In manipulators the overall motion is realized by means of the composition of the relative motions of each arm with respect to the previousIn the operations of manipulation is necessary to describe the position and orientation of the end effector (pose), in the case where there are obstacles it is necessary to consider position and orientation of each joint (posture)

Regarding the kinematics of manipulators we will consider:-  the direct kinematics by means of which, as a function of the variables of the joint, is possible to derive the end effector pose with respect to the reference system-  the working space and the joint space for the management of the workspace of the robot-  the calibration of kinematic parameters in order to obtain a better positioning accuracy-  the solution of inverse kinematics by which we determine the joint variables from the end effector pose

Page 3: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori

A rigid body is completely described by means of the pose, or by the position of a reference point and the attitude of the body reference system wrt the reference

Dove:

o’x o’y o’z vector o’ along the reference system

x y z unit vector wrt the reference system

o’ = o’x x + o’y y + o’z z

Page 4: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori

The vector o’ is an applied vector since, in addition to the direction and module, it is also specified the application point

O- x y z reference

’ O’- x’ y’ z’ body reference

Wrt reference system the unit vectors of the body reference are expressed by the equations:

Page 5: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori

O- x y z absolute reference

’ O’- x’ y’ z’ body reference

The orthonormality allows the above relation that also implies:

ηξξη ⋅= ''

… that is a simple scalar product

’The body reference unit vectors decomposition wrt the absolute reference:

Page 6: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori

The three vectors can be combined to form a matrix:

And therefore:

R is defined ortogonal, and holds:

IRRT =⋅

1−=RRT

0'' =⋅ηξ

1'' =⋅ξξThe vectors of the columns of R build an orthonormal reference so that:

R provides the orientation of the body reference wrt the absolute reference

RT ⋅R ⋅R−1 = I ⋅R−1

Page 7: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori – Trasformazione coordinate

If the body reference origin coincides with the absolute reference origin: o’ = 0 (zero)

P can be represented wrt both references:

Page 8: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

P and p’ are representations of the same vector:

[ ]⎥⎥⎥

⎢⎢⎢

⎡⋅=++=

⎥⎥⎥

⎢⎢⎢

z

y

x

zyx

z

y

x

p

p

p

zyxzpypxp

p

p

p

'

'

'

'''''' '''

Note: x’, y’, z’ are the unit vectors of ’ wrt , i.e. we observe from the absolute reference

⎥⎥⎥

⎢⎢⎢

⎡⋅=

⎥⎥⎥

⎢⎢⎢

z

y

x

z

y

x

p

p

p

R

p

p

p

'

'

'

So R is the coordinates transformation matrix of the vector expressed wrt ’ in the coordinates of the same vector expressed with respect to and vice versa via RT

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡⋅

z

y

x

z

y

xT

p

p

p

p

p

p

R

'

'

'

Cinematica dei Manipolatori – Trasformazione coordinate

Page 9: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Cinematica dei Manipolatori – Rotazione di un vettore

'

'

'

'

pR

p

p

p

R

p

p

p

p

z

y

x

z

y

x

⋅=⎥⎥⎥

⎢⎢⎢

⎡⋅=

⎥⎥⎥

⎢⎢⎢

⎡=

p’ is always identical whichever motion (are the body reference coordinates),

p varies as a function of the rotation providing the vector wrt the absolute reference

So R represent the rotation matrix of the vector p’ from the position solidal to to the actual one

If p' is the representation of the vector with respect to the body reference, if we assume that the initial conditions of the reference and the solidarity reference coincide: p' = p at the beginning.Following a pure rotation (still suppose o'= 0) of the body:

Page 10: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

’’

At the beginning the two references coincide and so p = p’

After the rotation p = R p’

p’

p

[ ] '''''' pppIppRRp

p

p

p

ppppp TTTT

z

y

x

zyxT ⋅=⋅⋅=⋅⋅⋅=

⎥⎥⎥

⎢⎢⎢

⎡⋅=⋅

Nota: rotation preserve modulus:

Cinematica dei Manipolatori – Rotazione di un vettore

⇒⋅=⇒⋅= TTT RpppRp ''

p = p’

p = R p’

Page 11: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

R resembles three different geometrical meanings:

1. the orientation of one reference wrt another

2. Coordinates transformation

3. Rotation matrix

Cinematica dei Manipolatori – significato di R

Page 12: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – composizione matrici di trasformazione coordinate

Given 3 references: O-x0 y0 z0, O-x1 y1 z1, O-x2 y2 z2, with the same origin

A vector p can be expressed wrt each of the three p0 p1 and p2

If we define Ri j the matrix of coordinates transformation from i to j (j is the

reference, the one wrt the coordinates are expressed)

101

0

212

1

pRp

pRp

⋅=

⋅=21

201

101

0 pRRpRp ⋅⋅=⋅= 12

01

02 RRR ⋅=

The matrix that expresses the coordinates of a point with respect to the reference 0 starting from those expressed with respect to 2 is equal to the composition of two partial transformations:  transformation from 2 to 1  transformation from 1 to 0The overall transformation matrix is determined by multiplying from right to left

Page 13: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – composizione matrici di rotazione (terna corrente)

Starting with a reference superimposed to the 0

The rotation expressed by R2 0 (rotation from 0 till 2: note that from the point of view

of the rotation sense is from the apex to the subscript) we obtain:

1. Rotation from 0 to 1 (current reference 0)

2. Rotation from 1 to 2 (current reference 1)

The composition of rotations from 0 to 2 are obtained multiplying from left to right

12

01

02 RRR ⋅=

Since each partial rotation is obtained from the outcome of the previous one, the rotation reference is called the current reference

The operation is defined "successive rotations wrt current reference axes”

Page 14: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Note: the result depends from the order of rotation

C. M. – composizione matrici di rotazione (terna corrente)

Page 15: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Rotazioni rispetto alla terna corrente - Esempio

( )⎥⎥⎥

⎢⎢⎢

⎡ −=°

100

001

010

90zR

( )⎥⎥⎥

⎢⎢⎢

−=°

001

010

100

90yR

( )⎥⎥⎥

⎢⎢⎢

⎡−=°010

100

001

90xR

Page 16: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

( ) ( )⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

−⋅

⎥⎥⎥

⎢⎢⎢

⎡ −=⋅°⋅°=

0

0

1

001

010

100

100

001

010

9090'' pRRp yz

Rotazioni rispetto alla terna corrente - Esempio

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

−⋅

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

−⋅

⎥⎥⎥

⎢⎢⎢

⎡ −=

1

0

0

1

0

0

100

001

010

0

0

1

001

010

100

100

001

010

''p

⎥⎥⎥

⎢⎢⎢

⎡=

0

0

1

p

⎥⎥⎥

⎢⎢⎢

−=

1

0

0

''p

Comp sx toward dx

Page 17: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – operazioni di rotazione rispetto a terna fissa

'''

'

2

1

pRp

pRp

⋅=⋅=

pRRp ⋅⋅= 12''

In this case the multiplication is from right to left

If the rotations are defined wrt the absolute (fixed) reference then the operation is defined "successive rotations wrt fixed reference axes”

Suppose we have a point p that rotate:

1. first according to a rotation matrix defined by R1

2. then according to a rotation matrix defined by R2

The resulting vector p'' is given by:

Page 18: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – operazioni di rotazione rispetto a terna fissa

Page 19: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

Rotazioni rispetto alla terna fissa - Esempio

( ) ( )⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡ −⋅

⎥⎥⎥

⎢⎢⎢

−=⋅°⋅°=

0

0

1

100

001

010

001

010

100

9090'' pRRp zy

⎥⎥⎥

⎢⎢⎢

⎡=

0

0

1

p

⎥⎥⎥

⎢⎢⎢

⎡=

0

1

0

''p

Comp dx verso sx

⎥⎥⎥

⎢⎢⎢

⎡=

0

1

0

'p

'p

Page 20: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – Trasformazioni Omogenee

In this case the homogeneous representation is used:

If we have also a translation

So we define a ,matrix of homogeneous transformation:

So the coordinates transformation(from reference 1 to 0) can be written:

Page 21: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

C. M. – Trasformazioni Omogenee

From 0 to 1 :01

01 ~~ pAp ⋅=

where:

Note :

Note:

Page 22: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

p0 = R10 ⋅ p1 + o1

0 ⇒

p1 = R10−1

⋅ p0 − R10−1

⋅o10 = R0

1 ⋅ p0 − R01 ⋅o1

0 ⇒

˜ p 1 = A01 ⋅ ˜ p 0 =

R01 −R0

1 ⋅o10

0T 1

⎣ ⎢

⎦ ⎥⋅ ˜ p 0

Verification:

Page 23: M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion A manipulator can be modelled as a kinematic chain made of rigid bodies (links) connected by

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion

As for the coordinates transformation we have a product from right to left :

nnn pAAAp ~...~ 11

201

0 ⋅⋅⋅⋅= −

C. M. – Trasformazioni Omogenee

Comp dx verso sx