homogeneous coordinates en slides

32
Geometric Fundamentals in Robotics Homogeneous Coordinates Basilio Bona DAUIN-Politecnico di Torino July 2009 Basilio Bona (DAU IN-Politecnico di To rino)  Rigid motions  July 2009 1 / 32

Upload: eisbergeisberg

Post on 02-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 1/32

Page 2: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 2/32

Introduction

Homogeneous coordinates are an augmented representation of points andlines in  Rn spaces, embedding them in Rn+1, hence using n + 1 parameters.

This representation is useful in dealing with perspective and projectivetransformation (computer graphics, etc.) and for rigid displacementrepresentation.

We start introducing the concept on 2D spaces.

Given a point  p  in  R2

, represented as  P  = (p 1, p 2), i.e., the vectorp =

p 1   p 2

Tits homogeneous representation (using homogeneous

coordinates) is

p = p 1   p 2   p 3T; with 0 0 0T

not allowed

The vector representation is obtained dividing the first  n  homogeneouscomponents by the (n + 1)-th, that is often called scale.

p 1  = p 1/p 3;   p 2  = p 2/p 3

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 2 / 32

Page 3: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 3/32

A geometric interpretation of the homogeneous coordinates is given in thefollowing Figure.

Figure:  Geometric interpretation of homogeneous coordinates.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 3 / 32

Page 4: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 4/32

We embed the plane  π  : z  = 1 in a 3D space and we consider the planarcoordinates as the intersection of a projection line that goes through theorigin of the RF  {i, j, k}.

As  z  goes to  ∞ we can represent the origin, while as  z  goes to 0, we canrepresents points at infinity, along a well defined direction. The set of allpoints at infinity represents the line at infinity.

Figure:  Points at  ∞.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 4 / 32

Page 5: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 5/32

The same approach is valid for 3D homogeneous coordinates: given a

point  p  in  R3

, represented as  P  = (p 1, p 2, p 3), or else by a vector

p =

p 1   p 2   p 3T

its homogeneous representation is

p =

p 1   p 2   p 3   p 4T

Hencep 1  = p 1/p 4;   p 2  = p 2/p 4;   p 3  = p 3/p 4

In robotics it is common to set p 4  = 1. We will adhere to this convention.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 5 / 32

Page 6: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 6/32

Some author treats differently the homogeneous representation of a point(geometric vector  vp ) by that of an oriented segment (physical vector  vab ).

In the first case

vp  = vp 

1 while in the second case

vab  = vb 

1 − va

1  = vab 

0 Not all textbooks adhere to this convention, since in this case the sum of two geometric vectors produces

vp  + vq  = vp 

1  + vq 

1  = vp  + vq 

2 This sum, once transformed back in 3D space, becomes not the usualparallelogram sum of segments, but the midpoint of the parallelogram (seealso Affine Spaces).

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 6 / 32

Page 7: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 7/32

Figure:  Homogeneous sum of two geometric vectors.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 7 / 32

Page 8: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 8/32

Affine spaces

Briefly, affine spaces are spaces where the origin is not considered to be aspecial point, and homogeneous coordinates are used to characterize the

affine elements (points and planes).

Figure:  Linear and affine subspaces.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 8 / 32

Page 9: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 9/32

Rigid displacements and homogeneous coordinates

Using homogeneous representation, the generic displacement (R, t) is

given by the following homogeneous transformation matrix

H ≡ H(R, t) =

R t

0T 1

since

Hv =

R t

0T 1

v1

 = Rv + t

Hence, the  SE (3) group transformation   g = (R, t) ∈ SE (3), is represented

by the 4 × 4 homogeneous matrix  H  through the use of homogeneouscoordinates:

pa  =  gab pb  ↔ pa  = Hab (Rab , tab )pb 

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 9 / 32

Page 10: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 10/32

Transformation composition   gab gbc   is obtained by the homogeneousmatrix product

Hab (Rab , tab )Hbc (Rbc , tbc )i.e.,

Rab    tab 

0T 1

Rbc    tbc 

0T 1

 =

Rab Rbc    Rab tbc  + tab 

0T 1

Often it is convenient to write the time derivative of a homogeneousvector as

˙p =

p 1p 2p 3

0

This notation will prove useful when dealing with twists.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 10 / 32

Page 11: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 11/32

Introduction to projective/perspective geometry

Homogeneous coordinates p  are used for describing point in projectivespaces  P n of dimension  n.

Two points a  and b  are “equal” (a ∼ b) if there exist a real  λ = 0 suchthat

a =  λb   →   b ∼ λb   collinear points are equal

this also means that vectors are equal up to a scale factor.

We say that a  and b belong to the same line, i.e., to the same affinesubspace of  Rn+1.

Consider the planar (2D) projection through a pinhole camera of a 3D

point  P , p =

x y z 

T

. The ray of light intercepts the image plane inthe 2D image point  P i , whose homogeneous coordinates on the imageplane are

pi  =

y f  

  →   pi  =

x /f  y /f  

T

= 1

f  

x y 

T

where   f    is the focal distanceBasilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 11 / 32

Page 12: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 12/32

Figure:  Example of projection through a pinhole camera.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 12 / 32

Page 13: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 13/32

Considering the similar triangles in Figure, we have:

f    =

  X 

Z  ;

  y 

f    =

  Y 

If we set  λ = Z /f   , where  f    is known and the distance  Z   from  π  of thepoint  p   is unknown, we have

X   = λx ,   Y   = λy ,   Z   = λf  

Hence, if we compute the cartesian coordinates of  pi   on  π   fromhomogeneous coordinates, we have

pi  = x /f  y /f     ↔   pi   =

fX fY 

∼ λ

x y 

1

x y 

f  

and every 3D point with homogeneous coordinates  λ

x y f  T

isprojected onto the same point  pi  of the image plane  π.

Notice that the above transformation is a nonlinear one.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 13 / 32

3 2

Page 14: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 14/32

The nonlinear mapping  R3 → R2 can be expressed as a (linear) matrix

transformation between the homogeneous spaces  R4 → R3 as

fX 

fY Z  ∼ λx 

y 1 = f     0 0 0

0   f     0 00 0 1 0

   

P

Y Z 1

  ⇔   λpi  = P p1

Nonsingular (i.e., invertible) mappings between projective spaces aredescribed by products of full rank square matrices  T  by homogeneouscoordinates,  pa  = Tab pb 

An invertible mapping from  P n onto itself preserves collinearities, i.e., if two points belong to a line, also the transformed points will belong to a

line.Affine transformations preserve not only collinearities, but also parallelismbetween lines and ratios of distances.

Similarity transformations preserves also angles, but not scales, whileEuclidean (rigid) transformations preserve also scales

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 14 / 32

Page 15: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 15/32

Figure:  Examples of different mappings.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 15 / 32

H l

Page 16: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 16/32

Hyperplanes

A hyperplane in  Rn is defined by the equation between a set of points  p i 

and a set of (real) coefficients  ℓi 

ℓ1p 1 + ℓ2p 2 + · · · + ℓnp n + ℓn+1  = 0

Using the homogeneous coordinates we obtain an homogeneous linearequation in P n

ℓTp = 0

where

ℓ =

ℓ1...

ℓnℓn+1

;   p =

p 1...

p n1

The two homogeneous vectors can exchange their roles; we say that theyare dual.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 16 / 32

Remember that given a vector p ∈ V(F) the set of all linear

Page 17: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 17/32

Remember that, given a vector  p ∈ V (F ), the set of all  lineartransformations f   (p) : V → R1 form another vector space  V ∗, andf    ∈ V ∗ are called dual vectors or 1−forms.

For example, the total time derivative of a scalar function  f   (p) on  R3 is

df   (p(t ))dt 

  = ∇pφ(p)p(t )

is a dual vector wrt  p. Another dual vector is the   divergence 

∇ · p =   ∂ ∂ p 1

· · ·   ∂ ∂ p n

T p 1

...p n

or the Laplacian (gradient of the divergence )

∇2f    = ∇ · ∇f    =

  ∂ 

∂ p 1· · ·

  ∂ 

∂ p n

T

∂ f  ∂ p 1...

∂ f  

∂ p n

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 17 / 32

D lit i j ti

Page 18: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 18/32

Duality in projective spaces

The space of all hyperplanes in  Rn defines another perspective space,called the dual of the original  P n

Duality principle: for all projective results established using points andplanes, a symmetrical result holds interchanging the role of planes andpoints.

Example:

two points define a line   ↔   two lines define a point

Notice that the projective plane  P 2 whose point are defined byhomogeneous coordinates, has more point that the usual  R2 plane, since itincludes also points at ∞.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 18 / 32

Page 19: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 19/32

Points and lines

Page 20: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 20/32

Points and lines

We restrict our analysis on the 2D projective space  P 2; for the sake of 

clarity, we drop the ˜ sign on top of the homogeneous vectors, i.e., a  isnow indicated as  a.

A line  ℓ =

ℓ1   ℓ2   ℓ3

 can be characterized by three parameters:

1 the slope  −ℓ1/ℓ2

2 the  x -intercept  −ℓ3/ℓ1

3 the  y -intercept  −ℓ3/ℓ2

Points  p  and lines  ℓ  are related by

ℓT

p = 0

in the sense that a point is on a line or a line include a point iff theprevious relation holds.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 20 / 32

Page 21: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 21/32

Duality

A line  ℓ  passing for two points  p1  and  p2   is defined as

ℓ = p1 × p2  = S(p1)p2

A point  p  belonging to two lines (intercept)   ℓ1  and  ℓ2   is defined as

p =  ℓ1 × ℓ2  = S(ℓ1)ℓ2

Points at infinity or ideal points have the following representation

p∞

 =

p 1   p 2   0T

All ideal points lie on the ideal line, represented by

ℓ∞ =

0 0 1T

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 21 / 32

Page 22: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 22/32

Three points  p1, p2, p3   lie on the same line (they are  collinear) iff 

det

p1   p2   p3

 = 0

Since the duality principle holds, three lines  ℓ1, ℓ2, ℓ3  meet at the same

point (they are concurrent) iff 

detℓ1   ℓ2   ℓ3

 = 0

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 22 / 32

Parallelism

Page 23: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 23/32

Parallelism

Two lines

m = m1

m2m3

;   n = n1

n2n3

are parallel when the intersection point is at infinity, i.e.,

p =  m × n = p 1p 20

This reduces to the conditions

m1m2

=   n1n2

or det m1   n1m2   n2

 = 0

The direction  k 

p 1p 2

 points toward the point at infinity.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 23 / 32

Summary

Page 24: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 24/32

Summary

point   p =

p 1   p 2   p 3T

line   ℓ =

ℓ1   ℓ2   ℓ3T

incidence   pTℓ = 0 incidence   ℓ

Tp = 0

line   ℓ = p1 × p2   point   p =  ℓ1 × ℓ2

collinearity det

p1   p2   p3

 = 0 collinearity det

ℓ1   ℓ2   ℓ3

 = 0

∞  point p 1   p 2   0T

∞  line 0 0   ℓ3T

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 24 / 32

Transformations in P2

Page 25: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 25/32

Transformations in  P 

The generic  projective transformation (also called homographies) in  P 2 isrepresented by a non singular 3 × 3 matrix (acting on homogeneous

vectors), whose elements are

T =

t 11   t 12   t 13

t 21   t 22   t 23

t 31   t 32   t 33

Since the transformations are equivalent up to a scale factor, the numberof dof in  T  is 8.

According to structural constraint, we have a hierarchy of transformations,from the most general to the least one; in particular

Transformations in  P 2

(most general) projective   →   affine   →   similarity   →   Euclidean (rigid)

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 25 / 32

Page 26: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 26/32

The affine transformation must preserve the ideal line and the ideal points

(as well as parallelism); hence, for any arbitrary scaling factor  λ

λ

p 1p 20

 =  T

p 1p 20

that implies

T =

t 11   t 12   t 13

t 21   t 22   t 23

0 0   t 33

  →   dof=6

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 26 / 32

Page 27: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 27/32

The similarity transformation must preserve angles and ratios of lengths;that implies

T =

cos θ   − sin θ   t 13

sin θ   cos θ   t 23

0 0   t 33

  →   dof=3

with  t 33 = 1.

The effects of the last column in  T   is to produce a shear i.e., a scalevariation that is non uniform in all directions.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 27 / 32

Page 28: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 28/32

The Euclidean (rigid) transformation must preserve also lengths; thatimplies

T = cos θ   − sin θ   t 13

sin θ   cos θ   t 23

0 0 1   →   dof=3

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 28 / 32

Page 29: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 29/32

From homogeneous coordinates to quaternions

Page 30: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 30/32

g q

There exist a link between homogeneous coordinates and quaternions that

goes through the Mobius transformation.Given two complex numbers  x  = x 1 + jx 2,   y  = y 1 + jy 2   ∈ C, the orderedpair of complex numbers

z = x y T∈ C

2,   z = 0 0T

are the homogeneous coordinates of  z  = z 1 + jz 2

z  =  x 

y   = z 1 + jz 2 =

  x 1 + jx 2

y 1 + jy 2

To every pair of complex numbers (x , y ) a unique complex numbers  z corresponds, while for every complex number  z  there is an infinite numberof complex pairs (projective transformation).

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 30 / 32

Page 31: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 31/32

Transformation between homogeneous representations

z = x 

y  →  w = u 

v    where u 

v  = a b 

c d  x 

y  = ax  + by 

cx  + dy where  a, b , c , d  are complex numbers.

We can compute the transformed complex number as

w  =   u v 

  =   ax  + by cx  + dy 

  =a x 

y   + b 

c  x y 

  + d   =   az  + b 

cz  + d 

This is nothing else that the Mobius transformation.

Mobius transformation

w  =  az  + b 

cz  + d  ;   a, b , c , d , w , z  ∈ C

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 31 / 32

Page 32: Homogeneous Coordinates en Slides

8/10/2019 Homogeneous Coordinates en Slides

http://slidepdf.com/reader/full/homogeneous-coordinates-en-slides 32/32

If we take a particular form of the Mobius transformation, due to Gauss:

w  =  az  + b 

−b ∗z  + a∗

we know that every rotation of the sphere can be expressed by a complexfunction as the one above, and we notice that it can be represented by thematrix of its coefficients

  a b −b ∗ a∗   =  α + jβ γ  + jδ −γ  + jβ α − jβ 

=   α

1 00 1

 + β 

 j 00 j

 + γ 

 0 1−1 0

 + δ 

0 j j 0

=   α1 + β i + γ j + δ k

= a quaternion

For further details see: T. Needham, Visual Complex Analysis, OUP, 1997.

Basilio Bona (DAUIN-Politecnico di Torino)   Rigid motions   July 2009 32 / 32