Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

ECE447: Robotics Engineering

Lecture 3: Rigid Motions and Homogeneous Transformations (Part 1)

Dr. Haitham El-Hussieny


Electronics and Communications Engineering
Faculty of Engineering (Shoubra)
Benha University

Spring 2017
Dr. Haitham El-Hussieny ECE447: Robotics Engineering 1 / 21
Lecture Outline:

1 Introduction.

2 Representation of Translation.

3 Representation of Rotations.

4 Rotational Transformations.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 2 / 21


Introduction.

Table of Contents

1 Introduction.

2 Representation of Translation.

3 Representation of Rotations.

4 Rotational Transformations.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 3 / 21


Introduction.

Introduction:

A manipulator is a kinematic chain composed by a series


of rigid bodies, the links, connected by joints that allow
a relative motion.

In robotic manipulation we are concerned with two common kinematic problems:


Forward Kinematics Inverse Kinematics

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 4 / 21


Introduction.

Introduction:
Forward Kinematics Inverse Kinematics

Given: Joint Variables q (θ or d) Given: Position and orientation of


Required: Position and orientation of end-effector, p.
end-effector, p. Required: Joint Variables q (θ or d) to get p

p = f (q1 , q2 , . . . , qn ) = f (q) q = f (p)

EASY! DIFFICULT (May be infinite solutions exist)!


Dr. Haitham El-Hussieny ECE447: Robotics Engineering 5 / 21
Introduction.

Introduction:
Solving the manipulator kinematics requires the assignment of different
coordinate frames on each joint and the end-effector.
The goal is to find the transformation between the end-effector and
T20 = T10 ∗ T21
the base frames.
In robotic manipulators, two basic transformations are used:
Translation and Rotation.

{2} {2}
T12

T01

{1}
{1}
T02
{0}
{0}
Dr. Haitham El-Hussieny ECE447: Robotics Engineering 6 / 21
Representation of Translation.

Table of Contents

1 Introduction.

2 Representation of Translation.

3 Representation of Rotations.

4 Rotational Transformations.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 7 / 21


Representation of Translation.

Representation of Translation:

Coordinate Frame:
The position and orientation of an
object in space is referred to as its pose.
Any description of an object’s pose must
always be made in relation to some
coordinate frames.
In robotics, it is often convenient to keep
track of multiple coordinate frames.
(Camera, robot, user, world, . . . etc.)
Coordinate Frame:
A set n of orthonormal basis vectors spanning Rn .

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 8 / 21


Representation of Translation.

Representation of Translation:
Coordinate Frames: [Example]

In this scenario, the user wants to know where


in the room the teapot is located.
Providing this information requires us to know
each of the following:
The position of the teapot relative to the
camera.
The position and orientation of the
camera relative to the base of the robot.
The position of the robot in the room.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 9 / 21


Representation of Translation.

Representation of Translation:
Representation of a Point:
A point corresponds a particular location in the
space. For example the point p.
A point has different representation (coordinates) in
different frames.

Example (Point p):


 
0 6
w.r.t. frame {0}: p = v1 =
5
 
1 −2.8
w.r.t. frame {1}: p = v2 =
4.2
Note: the frame of reference is written in right
superscript style. pk , o01
Dr. Haitham El-Hussieny ECE447: Robotics Engineering 10 / 21
Representation of Translation.

Representation of Translation:

Representation of a Point:
Since the origin of a frame is just a point,
we can express the origin of one frame
with respect to another.

Example:
 
10
o01 = o1 represented in frame {0}
5

 
−10.6
o10 = o0 represented in frame {1}
3.5

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 11 / 21


Representation of Rotations.

Table of Contents

1 Introduction.

2 Representation of Translation.

3 Representation of Rotations.

4 Rotational Transformations.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 12 / 21


Representation of Rotations.

Representation of Rotations:
Rotation in 2D:

Frame {1} is obtained by rotating frame


{0} by an angle θ.
We need to find the relative orientation
between these two frames.
We can specify the orientation by finding
the representation of coordinate vectors of
frame {1} w.r.t frame {0}.

R10 = x01 | y10


 

x01 and y10 are the unit vector x1 and y1


represented in frame {0}.

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 13 / 21


Representation of Rotations.

Representation of Rotations:
Rotation in 2D:

 
x̂1 .x̂0 ŷ1 .x̂0
R10 x01 | y10
 
= =
x̂1 .ŷ0 ŷ1 .ŷ0
Projecting the axes of frame {1} onto the axes
of frame {0}:

   
cos(θ) −sin(θ)
x01 = y10 =
sin(θ) cos(θ)

 
cos(θ) −sin(θ)
R10 = Rotation Matrix
sin(θ) cos(θ)

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 14 / 21


Representation of Rotations.

Representation of Rotations:
Rotation in 2D:

Properties of Rotation Matrices:


1 det(R10 ) = cos2 (θ) + sin2 (θ) = 1.
2 Inverse Rotation:
 
x̂0 .x̂1 ŷ0 .x̂1
R01 x10 | y01
 
= =
x̂0 .ŷ1 ŷ0 .ŷ1
 
cos(θ) sin(θ)
R01 = = (R10 )T
−sin(θ) cos(θ)
Projecting the axes of frame {0} onto the  
axes of frame {1}. cos(θ) −sin(θ)
R10 =
sin(θ) cos(θ)
Dr. Haitham El-Hussieny ECE447: Robotics Engineering 15 / 21
Representation of Rotations.

Representation of Rotations:
Rotation in 2D:

Properties of Rotation Matrices:


3 Inverse of Rotation Matrix:
 −1
cos(θ) −sin(θ)
(R10 )−1 = = (R10 )T = (R01 )
sin(θ) cos(θ)

4 R is Special Orthogonal matrix SO(n):


 
R R T = In cos(θ) −sin(θ)
R10 =
sin(θ) cos(θ)

Dr. Haitham El-Hussieny ECE447: Robotics Engineering 16 / 21


Representation of Rotations.

End of Lecture

Do the Assignment 1
Due: 26/2/2017

haitham.elhussieny@gmail.com
Dr. Haitham El-Hussieny ECE447: Robotics Engineering 17 / 21

You might also like