0% found this document useful (0 votes)
29 views347 pages

KTRB 403050

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views347 pages

KTRB 403050

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 347

TON DUC THANG UNIVERSITY

FACULTY OF ELECTRICAL AND


ELECTRONICS ENGINEERING

403050

ROBOTICS
TRI Q. THIEU, M.Eng.
COURSE OBJECTIVES

Know the mechanical models and


parameters calculation in robotics;
controllers and actuators in industrial
robots.
Ability to analyze robots’ structures and
select robots’ controllers.
Improve structures of robots for meeting
the project’s requirements.

10/5/2016 403050 - Robotics 2


LEARNING OUTCOMES

Remember the basic concepts of


position and orientation, actuators and
controllers in robotics.
Understand the concepts of
transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
10/5/2016 403050 - Robotics 3
LEARNING OUTCOMES

Test the robot's DH parameters, the


results of forward and inverse
kinematics problems.
Recommend a basic controller for
robots.
Evaluate the robot’s responses.
Recommend the structure/program of
the robot to meet the requirements of
the system.
10/5/2016 403050 - Robotics 4
LEARNING OUTCOMES

 Select the robot's structure for specific


problem.
 Select the operation of robots for specific
tasks.
 Apply the ability to communicate and work
with in team effectively.
 Use time and resources effectively.
 (HQ) Self-investigate, research, improve
professional skills to be able to solve
urgent social problems related to the
subject.

10/5/2016 403050 - Robotics 5


COURSE CONTENT

Transformations.
Finding the DH parameter of robots.
Finding the kinematics equations of
robots.
Solving the kinematics equations of
robots.
Planning the robot’s trajectory.
Chosing the sensors and actuators.
10/5/2016 403050 - Robotics 6
TEXTBOOKS AND REFERENCES

 TEXTBOOKS:
[1]. John J. Craig, [2014], Introduction
to robotics: mechanics and control, 3e,
Pearson.
 RECOMMENDED
REFERENCES:
[2]. Carl D. Crane III, Joseph Duff, [1998],
Kinematic analysis of robot manipulators,
Cambridge University Press.
[3]. Phillip John McKerrow, [1991],
Introduction to robotics, Addison-Wesley
Publishing.

10/5/2016 403050 - Robotics 7


TEXTBOOKS AND REFERENCES

OTHER REFERENCES:

• [4]. Phạm Đăng Phước, [2006], Robot công


nghiệp, NXB Khoa học kỹ thuật, Hà Nội.

• [5]. Đào Văn Hiệp, [2003], Kỹ thuật robot,


NXB Khoa học kỹ thuật, Hà Nội.

10/5/2016 403050 - Robotics 8


REQUIREMENTS

 Attend at least 80% of classes. Being late 02 times


is equivalent to 01 absence.
 Students who fail to achieve at least 80% of the
requirement will be prohibited from taking the final
exam.
 Read and master the information given in Course
syllabus (download from Library web site).
 Read lecture notes/slides, textbook and references
before coming to class. Frequently use library
resources frequently.
 Take the lecture seriously, actively participate in
class activities proposed by the instructor.
 Submit assigned homeworks and projects in time.

10/5/2016 403050 - Robotics 9


GRADING POLICY

EXAMS:
• Final exam: 50% - Multiple choice question,
Constructed response test.
IN-CLASS TEST AND ASSIGNMENTS:
• In-class process exercise: 20% - individually.
• Essay: 30% - group.
Bonus points for students who actively
participate in class activities.

10/5/2016 403050 - Robotics 10


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 1

INTRODUCTION
403050 - ROBOTICS
CHAPTER 1: INTRODUCTION

1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification

10/5/2016 403050 - Introduction 2


LEARNING OUTCOMES

Remember the basic concepts of


position and orientation, actuators and
controllers in robotics.
Understand the concepts of
transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
10/5/2016 403050 - Introduction 3
OBJECTIVES

Understand basic definitions in robotics


such as:
• Position and orientation.
• Forward and inverse kinematics of
manipulators.
• Trajectory and so on.
Remember the notations in this course.
Know how to classify robots based on
their structures.
10/5/2016 403050 - Introduction 4
CHAPTER 1: INTRODUCTION

1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification

10/5/2016 403050 - Introduction 5


1.1 BACKGROUND

According to the “Robot Institute of


America,” 1979, A robot is defined as:
• Reprogrammable.
• Multifunctional manipulator designed to move
material, parts, tools, or specialized devices
through various programmed.
• Performance of a variety of tasks.

10/5/2016 403050 - Introduction 6


1.1 BACKGROUND

According to the Webster dictionary


(1993), A robot is:
• An automatic device
• Can performs functions normally ascribed to
humans or a machine
• Have the form of a human.

10/5/2016 403050 - Introduction 7


A BRIEF HISTORY OF
ROBOTICS

1495: Leonardo DaVinci designs a


mechanical device that looks like an
armored knight.

1898: Nikola Tesla builds and


demonstrates a remote controlled robot
boat at Madison Square Garden.

10/5/2016 403050 - Introduction 8


A BRIEF HISTORY OF
ROBOTICS

1921: Czech writer Karel Capek


introduced the word “Robot” in his play
“R.U.R” (Rossuum's Universal Robots).

1942: Asimov is generally credited with


the popularization of the term “Robotics”
in his story “Runaround”

10/5/2016 403050 - Introduction 9


A BRIEF HISTORY OF
ROBOTICS

Issac Asimov's Three Laws of Robotics:


• A robot may not injure a human being, or,
through inaction, allow a human being to
come to harm.
• A robot must obey the orders given it by
human beings except where such orders
would conflict with the First Law.
• A robot must protect its own existence as
long as such protection does not conflict with
the First or Second Law.

10/5/2016 403050 - Introduction 10


A BRIEF HISTORY OF
ROBOTICS

1959: John McCarthy and Marvin


Minsky start the Artificial Intelligence
Laboratory at the Massachusetts
Institute of Technology (MIT).
1966: An artificial intelligence program
named ELIZA is created at MIT by
Joseph Weizenbaum.
1969: Stanford Arm was created.
2000: Honda debuts new humanoid
robot ASIMO.
10/5/2016 403050 - Introduction 11
CHAPTER 1: INTRODUCTION

1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification

10/5/2016 403050 - Introduction 12


1.2 DEFINITIONS

1.2.1 Degree of freedom (DoF)

The number of independent position variables


that would have to be specified in order to
locate all parts of the mechanism.
5
W  6n   ipi
i 1

10/5/2016 403050 - Introduction 13


1.2 DEFINITIONS

1.2.1 Degree of freedom (DoF)

10/5/2016 403050 - Introduction 14


1.2 DEFINITIONS

1.2.2 Space coordinates


• A coordinate system are used for
representing positions and orientations of
parts, tools and the mechanism itself.
• The universe coordinate system is the one
where all positions and orientations can be
referenced.
• Each rigid body is attached to one coordinate
system.

10/5/2016 403050 - Introduction 15


1.2 DEFINITIONS

1.2.3 Position and orientation


• The location of objects in three-dimensional
space can be described by their positions
and orientations.
• A coordinate system, or frame, is attached
rigidly to the object.
• Describe the position and orientation of this
frame with respect to some reference
coordinate system.

10/5/2016 403050 - Introduction 16


1.2 DEFINITIONS

1.2.4 Forward kinematics


of manipulators

Determine the position and


orientation of the robot’s
hand if all joint variables are
known.

10/5/2016 403050 - Introduction 17


1.2 DEFINITIONS

1.2.5 Inverse kinematics


of manipulators

Finding the joint variables


if we desire that the hand
will be located at a
particular point.

10/5/2016 403050 - Introduction 18


1.2 DEFINITIONS

1.2.6 Velocities and static force


• In some circumstances, analyzing the motion
of manipulators is considered.
• The Jacobian specifies a mapping from
velocities in joint space to velocities in
Cartesian space.
• Sometimes, manipulators are required a
touch action or applying a static force.

10/5/2016 403050 - Introduction 19


1.2 DEFINITIONS

1.2.7 Dynamics
• Dynamics is a huge field of study devoted to
studying the forces required to cause motion.
• Controlling a manipulator to follow a desired
path
• Calculating these actuator torque functions
by using the dynamic equations of motion of
the manipulator.

10/5/2016 403050 - Introduction 20


1.2 DEFINITIONS

1.2.8 Trajectory generation

• To move the manipulator on its path


smoothly, each joint commonly starts and
ends its motion at the same time.

• How to compute these joints’ motion


functions is the problem of trajectory
generation.

10/5/2016 403050 - Introduction 21


CHAPTER 1: INTRODUCTION

1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification

10/5/2016 403050 - Introduction 22


1.3 NOTATIONS

Variables written in uppercase represent


vectors or matrices. Lowercase
variables are scalars.
Leading subscripts and superscripts
identify which coordinate system a
quantity in written in. (AP, BAR)
Trailing superscripts are used for
indicating inverse or transpose of a
matrix (e.g. R-1, RT)
10/5/2016 403050 - Introduction 23
1.3 NOTATIONS

Trailing subscripts may indicate a vector


component (e.g. x, y or z) or a
description (Pbolt).
The cosine of an angle 1 may take any
of the following form: cos 1 = c1 = c1.
Vectors are taken to be column vectors;
row vectors will have the transpose
indicated explicitly.

10/5/2016 403050 - Introduction 24


CHAPTER 1: INTRODUCTION

1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification

10/5/2016 403050 - Introduction 25


1.4 CLASSIFICATION

ROBOTS

Robot like Coordinate Human like robots:


devices: system Humanoids,
Prostheses based robots: Androids,
Exoskeletons Cylindrical Actroids,
Telecherics Spherical Geminoids,Gynoids
Cartesian

10/5/2016 403050 - Introduction 26


SUMMARY

DoF(s)
Space coordinate, position and
orientation.
Forward and inverse kinematics
Velocity and static force
Dynamic
Trajectory

10/5/2016 403050 - Introduction 27


REQUIREMENTS

Read slides of chapter 2.


Read textbook book [1]: 19-61
Read reference book [2]: 4-19
Read reference book [3]: 131-174
Students look for these material on the
library and official website.

10/5/2016 403050 - Introduction 28


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 2
SPATIAL DESCRIPTIONS
AND TRANSFORMATIONS

403050 - ROBOTICS
CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.1 Descriptions: positions, orientations


and frames
2.2 Changing descriptions from frame to
frame
2.3 Transformations
2.4 Transformation arithmetic

10/5/2016 403050 - Spatial descriptions and transformations 2


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.5 Transformation matrix


2.6 Roll-Pitch-Yaw transformation
2.7 Euler transformation
2.8 Problems

10/5/2016 403050 - Spatial descriptions and transformations 3


LEARNING OUTCOMES

Remember the basic concepts of


position and orientation, actuators and
controllers in robotics.
Understand the concepts of
transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
10/5/2016 403050 - Spatial descriptions and transformations 4
OBJECTIVES

Understand the definitions of positions,


orientations and frames of robots.

Understand and remember the


operations such as translations,
rotations and transformations.

10/5/2016 403050 - Spatial descriptions and transformations 5


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.1 Descriptions: positions, orientations


and frames
2.2 Changing descriptions from frame to
frame
2.3 Transformations
2.4 Transformation arithmetic

10/5/2016 403050 - Spatial descriptions and transformations 6


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

A description is used to specify attributes


of various objects such as parts, tools
and the manipulator itself.

We will discuss the description of


positions, orientations and an entirely
that contains both of these descriptions:
the frame.

10/5/2016 403050 - Spatial descriptions and transformations 7


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.1 Description of positions


• We can locate any points with a 3x1 position
vector reference to a coordinate system. For
example, AP.
𝑃𝑥
𝐴
𝑃 = 𝑃𝑦
𝑃𝑧

Where Px, Py and Pz indicate distances along the


axes of a coordinate system, {A}

10/5/2016 403050 - Spatial descriptions and transformations 8


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.1 Description of positions

10/5/2016 403050 - Spatial descriptions and transformations 9


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

• To describe a body in space, its orientation


must be defined.

• To describe the orientation of a body:


A coordinate system is attached to it
Describing this coordinate system relative to the
reference system.

10/5/2016 403050 - Spatial descriptions and transformations 10


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

10/5/2016 403050 - Spatial descriptions and transformations 11


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

• In the figure, coordinate system {B} has been


attached to the robot hand.

• A description of {B} relative to {A} will give the


orientation of the hand.

10/5/2016 403050 - Spatial descriptions and transformations 12


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations
• We denote:
The unit vectors 𝑋෠ 𝐵, 𝑌෠ 𝐵 and 𝑍መ 𝐵 giving the
directions of coordinate system {B}.
These vectors are call 𝐴𝑋෠ 𝐵, 𝐴𝑌෠ 𝐵 and 𝐴𝑍መ 𝐵 in terms
of coordinate system {A}.

• Thus, the rotation matrix is:


𝐴 ෠ ෠ መ
𝐵𝑅 = 𝐴𝑋 𝐴𝑌 𝐴𝑍
𝐵 𝐵 𝐵

10/5/2016 403050 - Spatial descriptions and transformations 13


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

𝑟11 𝑟12 𝑟13


𝐴 ෠ ෠ መ
𝐵𝑅 = = 𝑟21 𝑟22 𝑟23
𝐴𝑋 𝐴𝑌 𝐴𝑍
𝐵 𝐵 𝐵
𝑟31 𝑟32 𝑟33

10/5/2016 403050 - Spatial descriptions and transformations 14


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations
• Where the scalars rij can be calculated by
scalar multiply unit vectors 𝑋෠ 𝐵, 𝑌෠ 𝐵 and 𝑍መ 𝐵 to
the unit directions of its reference frame.

10/5/2016 403050 - Spatial descriptions and transformations 15


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

So:

10/5/2016 403050 - Spatial descriptions and transformations 16


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.2 Orientations

Hence,

10/5/2016 403050 - Spatial descriptions and transformations 17


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.3 Frames
• A frame is a set of four vectors giving position
and orientation information.
• It can be described as a rotation matrix and a
position vector.

Ex:

10/5/2016 403050 - Spatial descriptions and transformations 18


2.1 DESCRIPTIONS: POSITIONS,
ORIENTATIONS AND FRAMES

2.1.3 Frames

10/5/2016 403050 - Spatial descriptions and transformations 19


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.1 Descriptions: positions, orientations


and frames
2.2 Changing descriptions from frame to
frame
2.3 Transformations
2.4 Transformation arithmetic

10/5/2016 403050 - Spatial descriptions and transformations 20


2.2 CHANGING DESCRIPTIONS
FROM FRAME TO FRAME

In many problems, expressing the same


quantity in terms of various reference
coordinate systems is concerned.
• Mappings involving translated frames.
• Mappings involving rotated frames.
• Mappings involving general frames.

10/5/2016 403050 - Spatial descriptions and transformations 21


MAPPINGS INVOLVING
TRANSLATED FRAMES

10/5/2016 403050 - Spatial descriptions and transformations 22


MAPPINGS INVOLVING
ROTATED FRAMES

10/5/2016 403050 - Spatial descriptions and transformations 23


MAPPINGS INVOLVING
ROTATED FRAMES

Example 2.1
The figure shows a frame
{B}, which is rotated
relative to frame {A}
about 𝑍መ by 30 degrees.
Here, 𝑍መ is pointing out of
the page. Find AP.

Where BP = [0 2 0]T.

10/5/2016 403050 - Spatial descriptions and transformations 24


MAPPINGS INVOLVING
GENERAL FRAMES

The position of point P in frame {B} can


be found:

Or:

10/5/2016 403050 - Spatial descriptions and transformations 25


MAPPINGS INVOLVING
GENERAL FRAMES

Defining a 4x4 matrix operator and use


4x1 position vectors. So the previous
equation can be written:

This 4x4 matrix is called a


homogeneous transform.

10/5/2016 403050 - Spatial descriptions and transformations 26


MAPPINGS INVOLVING
GENERAL FRAMES

Example 2.2

10/5/2016 403050 - Spatial descriptions and transformations 27


MAPPINGS INVOLVING
GENERAL FRAMES

Example 2.2
The figure shows a frame {B}, which is:
• Rotated relative to frame {A} about 𝑍መ by 30
degrees
• Translated 10 units in 𝑋෠ 𝐴
• And translated 5 units in 𝑌෠ 𝐴
Find AP.

Where BP = [3 7 0]T.

10/5/2016 403050 - Spatial descriptions and transformations 28


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.1 Descriptions: positions, orientations


and frames
2.2 Changing descriptions from frame to
frame
2.3 Transformations
2.4 Transformation arithmetic

10/5/2016 403050 - Spatial descriptions and transformations 29


2.3 TRANSFORMATIONS

2.3.1 Translational operators.

• A point is moved in space a finite distance


along a given vector direction.

• It have the same mathematics as mapping


the point to a second frame.

10/5/2016 403050 - Spatial descriptions and transformations 30


2.3 TRANSFORMATIONS

2.3.1 Translational operators.

10/5/2016 403050 - Spatial descriptions and transformations 31


2.3 TRANSFORMATIONS

2.3.1 Translational operators.

𝐴𝑃 = 𝐴𝑃1 + 𝐴𝑄
2
Or:
𝐴𝑃 = 𝐷𝑄 𝑞 . 𝐴𝑃1
2

Where q is the signed magnitude of the



translation along the vector direction 𝑄.

10/5/2016 403050 - Spatial descriptions and transformations 32


2.3 TRANSFORMATIONS

2.3.1 Translational operators.


The DQ operator is a homogeneous transform:

1 0 0 𝑞𝑥
𝐷𝑄 𝑞 = 0 1 0 𝑞𝑦
0 0 1 𝑞𝑧
0 0 0 1
Where:
𝑞= 𝑞𝑥2 + 𝑞𝑦2 + 𝑞𝑧2

10/5/2016 403050 - Spatial descriptions and transformations 33


2.3 TRANSFORMATIONS

2.3.2 Rotational operators.


When a vector AP1 is changed to a new vector
AP by a rotational operator, represented by a
2
rotation matrix R, the can be calculated by:

𝐴𝑃
2 = 𝑅𝐾  . 𝐴𝑃1

Where 𝑅𝐾  is a rotational operator that



performs a rotation about the axis direction 𝐾
by  degree.
10/5/2016 403050 - Spatial descriptions and transformations 34
2.3 TRANSFORMATIONS

2.3.2 Rotational operators.

Rotation matrix about the 𝑋෠ axis by  degree:

1 0 0 0
𝑅𝑋  = 0 c −𝑠 0
0 𝑠 𝑐 0
0 0 0 1

10/5/2016 403050 - Spatial descriptions and transformations 35


2.3 TRANSFORMATIONS

2.3.2 Rotational operators.

Rotation matrix about the 𝑌෠ axis by  degree:

𝑐 0 𝑠 0
𝑅𝑌  = 0 1 0 0
−𝑠 0 𝑐 0
0 0 0 1

10/5/2016 403050 - Spatial descriptions and transformations 36


2.3 TRANSFORMATIONS

2.3.2 Rotational operators.

Rotation matrix about the 𝑍መ axis by  degree:

𝑐 −𝑠 0 0
𝑅𝑍  = 𝑠 c 0 0
0 0 1 0
0 0 0 1

10/5/2016 403050 - Spatial descriptions and transformations 37


2.3 TRANSFORMATIONS

 We denote a general transformation


operator (included any translations or
rotations) as T.
 T is a 4x4 matrix:
𝑟11 𝑟12 𝑟13 𝑝𝑥
𝑅(3𝑥3) 𝑃(3𝑥1) 𝑟23 𝑝𝑦
𝑇= = 𝑟21 r22
0 0 0 1 𝑟31 𝑟32 𝑟33 𝑝𝑧
0 0 0 1
 𝐵𝐴𝑇 describes the frame {B} relative to {A}.

10/5/2016 403050 - Spatial descriptions and transformations 38


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.1 Descriptions: positions, orientations


and frames
2.2 Changing descriptions from frame to
frame
2.3 Transformations
2.4 Transformation arithmetic

10/5/2016 403050 - Spatial descriptions and transformations 39


2.4 TRANSFORMATION
ARITHMETIC

Compound transform.
Find AP if CP is known.

𝐴𝑃 = 𝐴𝐶𝑇. 𝐶𝑃

Where,

𝐴
𝐶𝑇 = 𝐵𝐴𝑇. 𝐵𝐶𝑇

10/5/2016 403050 - Spatial descriptions and transformations 40


2.4 TRANSFORMATION
ARITHMETIC

Inverting a transform.
If 𝐵𝐴𝑇 is a homogeneous transform matrix, it
can be proved that:
𝐵
𝐴𝑇 = 𝐵𝐴𝑇 −1

Or:

10/5/2016 403050 - Spatial descriptions and transformations 41


TRANSFORMATION
EQUATIONS

Consider the situation in which a frame


{D} can be expressed as products of
transformations in two different ways:
𝑈 𝑈 𝐴
𝐷 𝑇 = 𝐴 𝐷𝑇
𝑇.
and,
𝑈
𝐷𝑇 = 𝑈𝐵𝑇. 𝐵𝐶 𝑇. 𝐷𝐶𝑇

Then
𝑈 𝐴
𝐴 𝐷𝑇
𝑇. = 𝑈𝐵𝑇. 𝐵𝐶𝑇. 𝐷𝐶𝑇

10/5/2016 403050 - Spatial descriptions and transformations 42


TRANSFORMATION
EQUATIONS

Set of transforms forming a loop.

10/5/2016 403050 - Spatial descriptions and transformations 43


TRANSFORMATION
EQUATIONS

Example:

Find the transforms


matrix 𝐵𝑇𝑇 if the
manipulator reaches
the bolt.

𝐵
𝑆𝑇 and 𝐺𝑆𝑇 are known.

10/5/2016 403050 - Spatial descriptions and transformations 44


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.5 Transformation matrix


2.6 Roll-Pitch-Yaw transformation
2.7 Euler transformation
2.8 Problems

10/5/2016 403050 - Spatial descriptions and transformations 45


2.5 TRANSFORMATION
MATRIX

2.5.1 Vectors and matrices calculation.

Consider two vectors:


𝑎Ԧ = 𝑎𝑥 𝑖Ԧ + 𝑎𝑦 𝑗Ԧ + 𝑎𝑧 𝑘
𝑏 = 𝑏𝑥 𝑖Ԧ + 𝑏𝑦 𝑗Ԧ + 𝑏𝑧 𝑘
The scalar multiply of these two vectors is:
𝑎. 𝑏 = 𝑎𝑥 𝑏𝑥 + 𝑎𝑦 𝑏𝑦 + 𝑎𝑧 𝑏𝑧
Two vectors are orthogonal if its scalar
multiply is equal to zero.

10/5/2016 403050 - Spatial descriptions and transformations 46


2.5 TRANSFORMATION
MATRIX

2.5.1 Vectors and matrices calculation.

The multiply of these two vectors is:


𝑖Ԧ 𝑗Ԧ 𝑘
𝑎Ԧ × 𝑏 = 𝑎𝑥 𝑎𝑦 𝑎𝑧
𝑏𝑥 𝑏𝑦 𝑏𝑧

𝑎Ԧ × 𝑏
= 𝑎𝑦 𝑏𝑧 − 𝑎𝑧 𝑏𝑦 𝑖Ԧ + 𝑎𝑧 𝑏𝑥 − 𝑎𝑥 𝑏𝑧 𝑗Ԧ + 𝑎𝑥 𝑏𝑦 − 𝑎𝑦 𝑏𝑥 𝑘

10/5/2016 403050 - Spatial descriptions and transformations 47


2.5 TRANSFORMATION
MATRIX

2.5.1 Vectors and matrices calculation.


Consider matrix A, B, C and I (unit matrix),
and scalar k.
A.B B.A
A.I=I.A=A
(k.A).B=k.(A.B)=A.(k.B)
A.B.C=A.(B.C)=(A.B).C
(A+B).C=A.C+B.C

10/5/2016 403050 - Spatial descriptions and transformations 48


2.5 TRANSFORMATION
MATRIX

2.5.2 Transformation matrix.


There are some characteristics in the
3x3 orientation (or rotation) matrix:
• All columns are mutually orthogonal and
have unit magnitude.
• All rows are mutually orthogonal and have
unit magnitude.
• The determinant of a rotation matrix is always
equal to +1.

10/5/2016 403050 - Spatial descriptions and transformations 49


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.5 Transformation matrix


2.6 Roll-Pitch-Yaw transformation
2.7 Euler transformation
2.8 Problems

10/5/2016 403050 - Spatial descriptions and transformations 50


2.6 ROLL-PITCH-YAW
TRANSFORMATION

This transformation can be called X-Y-Z


fixed angles.

10/5/2016 403050 - Spatial descriptions and transformations 51


2.6 ROLL-PITCH-YAW
TRANSFORMATION

This transformation can be called X-Y-Z


fixed angles.
This transformation describes the
orientation of frame {B} which is rotates:
• Start with the frame coincident with a known
reference frame {A}.
• First, rotate {B} about 𝑋෠𝐴 by angle .
• Next, rotate {B} about 𝑌෠𝐴 by angle .
• Finally, rotate {B} about 𝑍መ𝐴 by angle .

10/5/2016 403050 - Spatial descriptions and transformations 52


2.6 ROLL-PITCH-YAW
TRANSFORMATION

10/5/2016 403050 - Spatial descriptions and transformations 53


2.6 ROLL-PITCH-YAW
TRANSFORMATION

This transformation is represented by a


rotation matrix 𝐵𝐴𝑅𝑋𝑌𝑍 𝛾, 𝛽, 𝛼 .

Where:
𝐴
𝐵 𝑅𝑋𝑌𝑍 𝛾, 𝛽, 𝛼 = 𝑅𝑍 𝛼 𝑅𝑌 𝛽 𝑅𝑋 𝛾

10/5/2016 403050 - Spatial descriptions and transformations 54


2.6 ROLL-PITCH-YAW
TRANSFORMATION

Hence:

This is the rotation matrix of the Roll-


Pitch-Yaw transformation.

10/5/2016 403050 - Spatial descriptions and transformations 55


2.6 ROLL-PITCH-YAW
TRANSFORMATION

To solve the inverse problem, nine


equations must be solved to find three
variables ,  and .
If we have:
𝑟11 𝑟12 𝑟13
𝐴
𝐵 𝑅𝑋𝑌𝑍 𝛾, 𝛽, 𝛼 = 𝑟21 𝑟22 𝑟23
𝑟31 𝑟23 𝑟33

10/5/2016 403050 - Spatial descriptions and transformations 56


2.6 ROLL-PITCH-YAW
TRANSFORMATION

To solve the inverse problem, nine


equations must be solved to find three
variables ,  and .
This mean:

10/5/2016 403050 - Spatial descriptions and transformations 57


2.6 ROLL-PITCH-YAW
TRANSFORMATION

By solving those equations we have:

Where Atan2(y,x) is a two-argument arc


tangent function.

10/5/2016 403050 - Spatial descriptions and transformations 58


2.6 ROLL-PITCH-YAW
TRANSFORMATION

If  = 90o then the solution can be:

If  = -90o then the solution can be:

10/5/2016 403050 - Spatial descriptions and transformations 59


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.5 Transformation matrix


2.6 Roll-Pitch-Yaw transformation
2.7 Euler transformation
2.8 Problems

10/5/2016 403050 - Spatial descriptions and transformations 60


2.7 EULER
TRANSFORMATION

The first Euler transformation can be


called Z-Y-X Euler angles.
This transformation describes the
orientation of frame {B} which is rotates:
• Start with the frame coincident with a known
reference frame {A}.
• First, rotate {B} about 𝑍መ𝐵 by angle .
• Next, rotate {B} about 𝑌෠𝐵 by angle .
• Finally, rotate {B} about 𝑋෠𝐵 by angle .

10/5/2016 403050 - Spatial descriptions and transformations 61


2.7 EULER
TRANSFORMATION

10/5/2016 403050 - Spatial descriptions and transformations 62


2.7 EULER
TRANSFORMATION

This transformation is represented by a


rotation matrix 𝐵𝐴𝑅𝑍 ′𝑌 ′𝑋 ′ 𝛾, 𝛽, 𝛼 .

Where we still have the same result as


the R-P-Y transform.

𝐴
𝐵 𝑅𝑍 ′ 𝑌 ′ 𝑋 ′ 𝛾, 𝛽, 𝛼 = 𝑅𝑍 𝛼 𝑅𝑌 𝛽 𝑅𝑋 𝛾

10/5/2016 403050 - Spatial descriptions and transformations 63


2.7 EULER
TRANSFORMATION

Hence:

10/5/2016 403050 - Spatial descriptions and transformations 64


2.7 EULER
TRANSFORMATION

Another Euler transformation can be


called Z-Y-Z Euler angles.
This transformation describes the
orientation of frame {B} which is rotates:
• Start with the frame coincident with a known
reference frame {A}.
• First, rotate {B} about 𝑍መ𝐵 by angle .
• Next, rotate {B} about 𝑌෠𝐵 by angle .
• Finally, rotate {B} about 𝑍መ𝐵 by angle .

10/5/2016 403050 - Spatial descriptions and transformations 65


2.7 EULER
TRANSFORMATION

This transformation is represented by a


rotation matrix 𝐵𝐴𝑅𝑍 ′𝑌 ′𝑍′ 𝛼, 𝛽, 𝛾 .

Where:

10/5/2016 403050 - Spatial descriptions and transformations 66


2.7 EULER
TRANSFORMATION

Doing the same thing to solve the


inverse problem of this transform.

If the rotation matrix is given:

10/5/2016 403050 - Spatial descriptions and transformations 67


2.7 EULER
TRANSFORMATION

Then, if sin()  0, the solution will be:

10/5/2016 403050 - Spatial descriptions and transformations 68


2.7 EULER
TRANSFORMATION

If  = 0o then the solution can be:

If  = 180o then the solution can be:

10/5/2016 403050 - Spatial descriptions and transformations 69


CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS

2.5 Transformation matrix


2.6 Roll-Pitch-Yaw transformation
2.7 Euler transformation
2.8 Problems

10/5/2016 403050 - Spatial descriptions and transformations 70


2.8 PROBLEMS

Exercise 2.1, 2.2, 2.3, 2.4, 2.12, 2.13,


2.27-34, 2.37

Matlab exercise 2A and 2B

10/5/2016 403050 - Spatial descriptions and transformations 71


SUMMARY

Translational and rotational operators

Transformation arithmetic

RPY transformation

Euler transformation

10/5/2016 403050 - Spatial descriptions and transformations 72


REQUIREMENTS

Read Slides of chapter 3.


Read textbook book [1]: 62-100
Read reference book [2]: 20-43
Read reference book [3]: 175-201
Students look for these material on the
library and official website.

10/5/2016 403050 - Spatial descriptions and transformations 73


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 3
MANIPULATOR
KINEMATICS
403050 - ROBOTICS
CHAPTER 3: MANIPULATOR
KINEMATICS

3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links

10/5/2016 403050 - Manipulator kinematics 2


CHAPTER 3: MANIPULATOR
KINEMATICS

3.5 Denavit-Hartenberg parameters


3.6 Kinematics equations
3.7 Examples of industrial robots
3.8 Problems

10/5/2016 403050 - Manipulator kinematics 3


LEARNING OUTCOMES

Understand the concepts of


transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
Test the robot's DH parameters, the
results of forward and inverse
kinematics problems.
10/5/2016 403050 - Manipulator kinematics 4
LEARNING OUTCOMES

Evaluate the robot’s responses.


Recommend the structure/program of
the robot to meet the requirements of
the system.
Select the robot's structure for specific
problem.
Apply the ability to communicate and
work with in team effectively.
Use time and resources effectively.

10/5/2016 403050 - Manipulator kinematics 5


OBJECTIVES

Understand the links and joints in robots.

Know how to get the Denavit-Hartenberg


parameter.

Know how to solve the manipulator


kinematics.

10/5/2016 403050 - Manipulator kinematics 6


CHAPTER 3: MANIPULATOR
KINEMATICS

3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links

10/5/2016 403050 - Manipulator kinematics 7


3.1 INTRODUCTION

Kinematics is the science of motion that


treats the subject regardless the forces
that cause it.
The study of the kinematics of
manipulators refers to all the geometrical
and time-based properties of the motion.
This chapter presents positions and
orientations of manipulator linkages in
static situations.
10/5/2016 403050 - Manipulator kinematics 8
3.1 INTRODUCTION

Frames will be affixed to parts of


mechanism.
The relationships between these frames
will be described.
Finding the position and orientation of the
manipulator’s end-effector relative to its
base as functions of the joint variables.

10/5/2016 403050 - Manipulator kinematics 9


CHAPTER 3: MANIPULATOR
KINEMATICS

3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links

10/5/2016 403050 - Manipulator kinematics 10


3.2 LINKS DESCRIPTION

A manipulator may include a set of rigid


bodies which are connected together.
These bodies are called links.
These links are numbered starting from
the immobile base of the arm, which
might be called link 0.
The first moving body is called link 1 and
the end of the arm is called link n.

10/5/2016 403050 - Manipulator kinematics 11


3.2 LINKS DESCRIPTION

10/5/2016 403050 - Manipulator kinematics 12


3.2 LINKS DESCRIPTION

A link of a robot has many attributes that


required a mechanical designer to
consider:
• Material.
• Strength.
• Shape.
• Weight and inertia.
•…

10/5/2016 403050 - Manipulator kinematics 13


CHAPTER 3: MANIPULATOR
KINEMATICS

3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links

10/5/2016 403050 - Manipulator kinematics 14


3.3 JOINTS DESCRIPTION

The connection between two


neighboring links is called joints.

10/5/2016 403050 - Manipulator kinematics 15


3.3 JOINTS DESCRIPTION

The connection between two


neighboring links is called joints.

10/5/2016 403050 - Manipulator kinematics 16


3.3 JOINTS DESCRIPTION

10/5/2016 403050 - Manipulator kinematics 17


3.3 JOINTS DESCRIPTION

One DoF joints are usually referred in


constructing a manipulators.
Most manipulators have revolute joints
or sliding ones called prismatic joints.
A n DoFs joint can be modeled as n one
DoF joints connected with n-1 links of
zero length.
=> consider manipulators only have single
DoF joints.
10/5/2016 403050 - Manipulator kinematics 18
3.3 JOINTS DESCRIPTION

10/5/2016 403050 - Manipulator kinematics 19


3.3 JOINTS DESCRIPTION

Example: determine the DoF(s) of these


joints.

10/5/2016 403050 - Manipulator kinematics 20


3.3 JOINTS DESCRIPTION

Example: determine the DoF(s) of these


joints.

10/5/2016 403050 - Manipulator kinematics 21


3.3 JOINTS DESCRIPTION

Generally, a manipulator required at


least 6 links to position its end-effector in
3D-space.
In this section, only single kinematics
chain robots are considered.
Joints are numbered from 1 (the joints
between the base and the first link) to n.

10/5/2016 403050 - Manipulator kinematics 22


3.3 JOINTS DESCRIPTION

Joint axis i is defined by a line in space


or a vector direction, about which link i
rotates or translates relative to link i-1.
With these joints we can define two
parameter:
• Link length (ai-1): the distance between two
neighboring joint axes (i-1 and i).
• Link twist (i-1): the twist angle between two
neighboring joint axes (i-1 and i).

10/5/2016 403050 - Manipulator kinematics 23


3.3 JOINTS DESCRIPTION

10/5/2016 403050 - Manipulator kinematics 24


3.3 JOINTS DESCRIPTION

When links are connected together at


joints two more parameter is formed.
• Link offset (di): the distance (displacement)
between two neighboring link length
lines (i-1 and i).
• Joints angle (i): the amount of rotated
(twist) angle between two neighboring link
length lines (i-1 and i).

10/5/2016 403050 - Manipulator kinematics 25


3.3 JOINTS DESCRIPTION

10/5/2016 403050 - Manipulator kinematics 26


3.3 JOINTS DESCRIPTION

The definition of these four parameter


can be called the Denavit-Hartenberg
notation.

At this point, we could inspect any


mechanism and determine the D-H
parameters that describe it.

10/5/2016 403050 - Manipulator kinematics 27


CHAPTER 3: MANIPULATOR
KINEMATICS

3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links

10/5/2016 403050 - Manipulator kinematics 28


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

To describe the location of each link


relative to its neighbors, we define a
frame attached to each link.
The link frames are named by number
according to the link to which they are
attached.
For example, frame {1} is attached rigidly to
link 1.

10/5/2016 403050 - Manipulator kinematics 29


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

The coordinate system of frame {i} will


be defined:
• The 𝑍መ𝑖 will be coincident with the joint axis i.
• The 𝑋෠𝑖 will be coincident with the link length
line from joint axis i to i+1.
• The origin (Oi) of frame {i} will be the
intersection of 𝑋෠𝑖 and 𝑍መ𝑖 .
• The 𝑌෠𝑖 will be formed be the right-hand rule
(or 𝑌෠𝑖 = 𝑍መ𝑖 × 𝑋෠𝑖 ).

10/5/2016 403050 - Manipulator kinematics 30


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

10/5/2016 403050 - Manipulator kinematics 31


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

First (0 - Base) and last links (n) in the


chain.
• Frame {0} is attached to the base (link 0) and
it coincides with frame {1} when joint variable
1 is zero.
• For joint n revolute, the direction of 𝑋෠𝑛 is
chosen so that it aligns with 𝑋෠𝑛−1 when n =
0, and On is chosen so that dn = 0.
• For joint n prismatic, the direction of 𝑋෠𝑛 is
chosen so that n = 0, and On is chosen at
the intersection of 𝑋෠𝑛−1 and 𝑍መ𝑛 .

10/5/2016 403050 - Manipulator kinematics 32


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

Summary of the link parameters in term


of the link frames.
• ai = the distance from 𝑍መ𝑖 to 𝑍መ𝑖+1 measured
along 𝑋෠𝑖
• i = the angle from 𝑍መ𝑖 to 𝑍መ 𝑖+1 measured
about 𝑋෠𝑖
• di = the distance from 𝑋෠𝑖−1 to 𝑋෠𝑖 measured
along 𝑍መ𝑖
• i = the angle from 𝑋෠𝑖−1 to 𝑋෠𝑖 measured
about 𝑍መ𝑖
10/5/2016 403050 - Manipulator kinematics 33
3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

Example:

Attached frames on
links of the beside robot.

Find the link


parameters of this three-
link planar manipulator.

10/5/2016 403050 - Manipulator kinematics 34


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

Example:

10/5/2016 403050 - Manipulator kinematics 35


3.4 CONVENTION FOR AFFIXING
FRAMES TO LINKS

Example:

10/5/2016 403050 - Manipulator kinematics 36


CHAPTER 3: MANIPULATOR
KINEMATICS

3.5 Denavit-Hartenberg parameters


3.6 kinematics equations
3.7 Examples of industrial robots
3.8 Problems

10/5/2016 403050 - Manipulator kinematics 37


3.5 DENAVIT-HARTENBERG
PARAMETERS

There are two types of DH parameter:


• The classic DH parameter.
• The modified DH parameter.

Both of these type can be used to find the


relationship between the end-effectors and the
bases of manipulators.

10/5/2016 403050 - Manipulator kinematics 38


Classic DH parameter.

10/5/2016 403050 - Manipulator kinematics 39


Classic DH parameter.

Link i i di ai i
1
2
3

10/5/2016 403050 - Manipulator kinematics 40


Classic DH parameter.

The frame transformation 𝑖−1𝑖𝑇 describe


the finite motion from link i-1 to link i can
be expressed as the following sequence:

• A rotation i about Zi-1 axis;


• A translation di along the Zi-1 axis;
• A translation ai along the Xi axis;
• A rotation i about Xi axis.

10/5/2016 403050 - Manipulator kinematics 41


Classic DH parameter.

The homogeneous transformation 𝑖−1𝑖𝑇


is represented as a product of four basic
transformations as follows:
𝑖−1
𝑖𝑇 = 𝑅𝑍 𝜃𝑖 𝐷𝑍 (𝑑𝑖 )𝐷𝑋 (𝑎𝑖 )𝑅𝑋 𝛼𝑖

10/5/2016 403050 - Manipulator kinematics 42


The modified DH parameter

10/5/2016 403050 - Manipulator kinematics 43


The modified DH parameter

Link i i-1 ai-1 di i


1
2
3

10/5/2016 403050 - Manipulator kinematics 44


The modified DH parameter

The frame transformation 𝑖−1𝑖𝑇 describe


the finite motion from link i-1 to link i can
be expressed as the following sequence:

• A rotation i-1 about Xi-1 axis.


• A translation ai-1 along the Xi-1 axis;
• A rotation i about Zi axis;
• A translation di along the Zi axis;

10/5/2016 403050 - Manipulator kinematics 45


The modified DH parameter

The homogeneous transformation 𝑖−1𝑖𝑇


is represented as a product of four basic
transformations as follows:
𝑖−1
𝑖𝑇 = 𝑅𝑋 𝛼𝑖−1 𝐷𝑋 (𝑎𝑖−1 ) 𝑅𝑍 𝜃𝑖 𝐷𝑍 (𝑑𝑖 )

10/5/2016 403050 - Manipulator kinematics 46


The modified DH parameter

Example: Robot have link parameters in the


table. Compute the individual transformations for
each link.

10/5/2016 403050 - Manipulator kinematics 47


The modified DH parameter

Example: the transformations can be found.

10/5/2016 403050 - Manipulator kinematics 48


3.5 DENAVIT-HARTENBERG
PARAMETERS

Once the link frames have been defined


and the corresponding link parameters
found
=> the kinematics equations can be
developed easily.

10/5/2016 403050 - Manipulator kinematics 49


CHAPTER 3: MANIPULATOR
KINEMATICS

3.5 Denavit-Hartenberg parameters


3.6 Kinematics equations
3.7 Examples of industrial robots
3.8 Problems

10/5/2016 403050 - Manipulator kinematics 50


3.6 KINEMATICS EQUATIONS

Base on the DH parameters we can:


• Derive the kinematics equations which
represent for the position and orientation of
the link n relative to the base.

If the classic DH parameters are used:


• The position and orientation of the end-
effector relative to the base will be found.

10/5/2016 403050 - Manipulator kinematics 51


3.6 KINEMATICS EQUATIONS

The location of link n or frame {n}


relative to the base (link 0) of the robot is
defined by 𝑛0𝑇.
𝑟11 𝑟12 𝑟13 𝑝𝑥
0 𝑟 r 𝑟23 𝑝𝑦
𝑛𝑇 = 𝑟
21 22
31 𝑟32 𝑟33 𝑝𝑧
0 0 0 1

10/5/2016 403050 - Manipulator kinematics 52


3.6 KINEMATICS EQUATIONS

Where 𝑛0𝑇 can be found:


0
𝑛𝑇 = 01𝑇 12𝑇 23𝑇 … 𝑛−1𝑛𝑇

By obtaining r11, r12, …, r33 and px, py, pz, we


have 12 equations which are the kinematics
equations of the robot.

10/5/2016 403050 - Manipulator kinematics 53


3.6 KINEMATICS EQUATIONS

Example: Consider a robot have link


parameters in the table. Find the kinematics
equations of this robot.

10/5/2016 403050 - Manipulator kinematics 54


3.6 KINEMATICS EQUATIONS

Example: The link transformations can be


obtained.

10/5/2016 403050 - Manipulator kinematics 55


3.6 KINEMATICS EQUATIONS

𝑟11 𝑟12 𝑟13 𝑝𝑥


0
𝑇 = 0 1 2
𝑇 𝑇 𝑇 = 𝑟21 r22 𝑟23 𝑝𝑦
3 1 2 3 𝑟31 𝑟32 𝑟33 𝑝𝑧
0 0 0 1
Where,

𝑐𝜃1 −𝑠𝜃1 0 0 1 0 0 0 𝑐𝜃3 −𝑠𝜃3 0 0


0 𝑠𝜃1 𝑐𝜃1 0 0 0 0 −1 −𝑑2 𝑠𝜃3 𝑐𝜃3 0 0
𝑛𝑇 =
0 0 1 0 0 1 0 0 0 0 1 𝑙2
0 0 0 1 0 0 0 1 0 0 0 1

10/5/2016 403050 - Manipulator kinematics 56


3.6 KINEMATICS EQUATIONS

𝑐𝜃1 𝑐𝜃3 −𝑐𝜃1 𝑠𝜃3 𝑠𝜃1 𝑙2 + 𝑑2 𝑠𝜃1


0 𝑠𝜃1 𝑐𝜃3 −𝑠𝜃1 𝑠𝜃3 −𝑐𝜃1 − 𝑙2 + 𝑑2 𝑐𝜃1
𝑛𝑇 =
𝑠𝜃3 𝑐𝜃3 0 0
0 0 0 1
𝑟11 𝑟12 𝑟13 𝑝𝑥
𝑟 r 𝑟23 𝑝𝑦
= 𝑟 21 22
𝑟33 𝑝𝑧
31 𝑟32
0 0 0 1

10/5/2016 403050 - Manipulator kinematics 57


3.6 KINEMATICS EQUATIONS

The kinematics equations:


• 𝑟11 = 𝑐𝜃1 𝑐𝜃3
• 𝑟21 = 𝑠𝜃1 𝑐𝜃3
• 𝑟31 = 𝑠𝜃3
• 𝑟12 = −𝑐𝜃1 𝑠𝜃3
• 𝑟22 = −𝑠𝜃1 𝑠𝜃3
• 𝑟32 = 𝑐𝜃3

10/5/2016 403050 - Manipulator kinematics 58


3.6 KINEMATICS EQUATIONS

The kinematics equations:


• 𝑟13 = 𝑠𝜃1
• 𝑟23 = −𝑐𝜃1
• 𝑟33 = 0
• 𝑝𝑥 = 𝑙2 + 𝑑2 𝑠𝜃1
• 𝑝𝑦 = − 𝑙2 + 𝑑2 𝑐𝜃1
• 𝑝𝑧 = 0

10/5/2016 403050 - Manipulator kinematics 59


CHAPTER 3: MANIPULATOR
KINEMATICS

3.5 Denavit-Hartenberg parameters


3.6 kinematics equations
3.7 Examples of industrial robots
3.8 Problems

10/5/2016 403050 - Manipulator kinematics 60


3.7 EXAMPLES OF
INDUSTRIAL ROBOTS

To clearly understand how to form the


kinematics equations of a robot we
consider three industrial robot:
1. The Puma 560
2. The Yasukawa Motomart L-3
3. The Stanford

10/5/2016 403050 - Manipulator kinematics 61


3.7.1 The Puma 560

The Unimation PUMA 560 is a 6 DoFs


robot. All joints are revolute ones.

10/5/2016 403050 - Manipulator kinematics 62


3.7.1 The Puma 560

10/5/2016 403050 - Manipulator kinematics 63


3.7.1 The Puma 560

Link parameters of the PUMA 560:

10/5/2016 403050 - Manipulator kinematics 64


3.7.1 The Puma 560

Link transformations:

10/5/2016 403050 - Manipulator kinematics 65


3.7.1 The Puma 560

10/5/2016 403050 - Manipulator kinematics 66


3.7.1 The Puma 560

10/5/2016 403050 - Manipulator kinematics 67


3.7.1 The Puma 560

The kinematics equations of PUMA 560:

10/5/2016 403050 - Manipulator kinematics 68


3.7.1 The Puma 560

The kinematics equations of PUMA 560:

10/5/2016 403050 - Manipulator kinematics 69


3.7.1 The Puma 560

The kinematics equations of PUMA 560:

10/5/2016 403050 - Manipulator kinematics 70


3.7.1 The Puma 560

The kinematics equations of PUMA 560:

10/5/2016 403050 - Manipulator kinematics 71


3.7.2 The Yasukawa Motoman
L-3

 This robot have 5 DoFs.


 Link frames are assigned to the robot in the
right figure.

10/5/2016 403050 - Manipulator kinematics 72


3.7.2 The Yasukawa Motoman
L-3

 The link parameters are in the table, where


the link transformations can be computed:

10/5/2016 403050 - Manipulator kinematics 73


3.7.2 The Yasukawa Motoman
L-3

The link transformations:

10/5/2016 403050 - Manipulator kinematics 74


3.7.2 The Yasukawa Motoman
L-3

 By obtaining 05𝑇 we can have the kinematics


equations of the Yasukawa Motoman L-3.

10/5/2016 403050 - Manipulator kinematics 75


3.7.3 The Stanford

 Stanford robot has 6 DoFs.


 Link frames are assigned to the robot in the
right figure. (Using classic DH parameters)

10/5/2016 403050 - Manipulator kinematics 76


3.7.3 The Stanford

Students have to find the classic DH


parameter and the link transformations
of this robot based on the classic
method.

Students have to find the kinematics


equations for this robot.

10/5/2016 403050 - Manipulator kinematics 77


CHAPTER 3: MANIPULATOR
KINEMATICS

3.5 Denavit-Hartenberg parameters


3.6 kinematics equations
3.7 Examples of industrial robots
3.8 Problems

10/5/2016 403050 - Manipulator kinematics 78


3.8 PROBLEMS

Exercise 3.1, 3.3, 3.4, 3.9, 3.11, 3.13,


3.15-22

Matlab exercise 3

10/5/2016 403050 - Manipulator kinematics 79


SUMMARY

The concept of links and joints.

How to form D-H parameters of a robot.

Finding the kinematics equations.

10/5/2016 403050 - Manipulator kinematics 80


REQUIREMENTS

Read Slides of chapter 4.


Read textbook book [1]: 101-134
Read reference book [2]: 44-52
Read reference book [3]: 201-204
Students look for these material on the
library and official website.

10/5/2016 403050 - Manipulator kinematics 81


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 4
INVERSE MANIPULATOR
KINEMATICS
403050 - ROBOTICS
CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 2


LEARNING OUTCOMES

Understand the concepts of


transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
Test the robot's DH parameters, the
results of forward and inverse
kinematics problems.
10/5/2016 403050 - Inverse manipulator kinematics 3
LEARNING OUTCOMES

Evaluate the robot’s responses.


Recommend the structure/program of
the robot to meet the requirements of
the system.
Select the robot's structure for specific
problem.
Apply the ability to communicate and
work with in team effectively.
Use time and resources effectively.

10/5/2016 403050 - Inverse manipulator kinematics 4


OBJECTIVES

Understand what is the purpose of the


inverse manipulator kinematics.
Understand the algebraic and geometric
solutions.
Know how to solve the inverse
manipulator kinematics by using
algebraic and geometric solutions.

10/5/2016 403050 - Inverse manipulator kinematics 5


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 6


4.1 INTRODUCTION

In chapter 3, we solved the problem of


finding the position and orientation of the
end-effector with given joints variables.
In practice, the users usually face the
problem required finding variables when
the end-effector’s location is known.
=> This is called inverse kinematics of
manipulators.

10/5/2016 403050 - Inverse manipulator kinematics 7


4.1 INTRODUCTION

This inverse manipulator kinematics:


• Frame {W}: the wrist frame (the end-effector).
Relative to frame {B}.
• Frame {B}: the robot base frame. Relative to
frame {S}.
• Frame {T}: the tool frame. Relative to frame
{S}.
• Frame {S}: the station frame (the universe
frame).

10/5/2016 403050 - Inverse manipulator kinematics 8


4.1 INTRODUCTION

This inverse manipulator kinematics:


• Known relative: 𝑇𝑆𝑇 and 𝐵𝑆𝑇.
𝐵
• Unknown relative: 𝑊 𝑇
Solving this problem means moving the wrist
to the tool location so that it can pick the tool
up.
This problem can be express: finding joints
variables so that frame {W} coincident with
frame {T}.

10/5/2016 403050 - Inverse manipulator kinematics 9


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 10


4.2 SOLVABILITY

With the given numerical value of 𝑛0𝑇, we


will attempt to find 1, 2, …, n (or dn).
This mean we have to solve 12
nonlinear equations.
These problems will not always have the
solutions.
Sometimes, they have multiple
solutions.

10/5/2016 403050 - Inverse manipulator kinematics 11


4.2 SOLVABILITY

Existence of the solutions.


• The goal point must located in the robot’s
reachable workspace.
The reachable workspace: the volume of space
the end-effector can reach.
• More specific, the goal point must located in
the robot’s dexterous workspace.
The dexterous workspace: the volume of space
that the robot end-effector can reach with all
orientation.

10/5/2016 403050 - Inverse manipulator kinematics 12


4.2 SOLVABILITY

Consider the two-link manipulator in the


figure.

10/5/2016 403050 - Inverse manipulator kinematics 13


4.2 SOLVABILITY

If L1=L2:
• The reachable workspace is a disc of radius
(2L1).
• The dexterous workspace is only a single
point, the origin.
If L1L2:
There is no dexterous workspace.
The reachable workspace become a ring of
outer radius (L1+L2) and inner radius |L1-L2|.

10/5/2016 403050 - Inverse manipulator kinematics 14


4.2 SOLVABILITY

If a manipulator has fewer than 6 DoFs,


it cannot attain general goal positions
and orientations in 3-space.
If all the sets of joints variables can be
determined, the inverse kinematics can
be solved.
These sets of variables must be
applicable (the physical conditions must
be considered).
10/5/2016 403050 - Inverse manipulator kinematics 15
4.2 SOLVABILITY

Multiple solutions: in some cases, we


can get multiple solutions.

10/5/2016 403050 - Inverse manipulator kinematics 16


4.2 SOLVABILITY

Multiple solutions: one solution cannot


be archived because of the physical
condition.

10/5/2016 403050 - Inverse manipulator kinematics 17


4.2 SOLVABILITY

Multiple solutions: Puma 560 can reach


a certain goals.

10/5/2016 403050 - Inverse manipulator kinematics 18


4.2 SOLVABILITY

Multiple solutions: Puma 560 can reach


a certain goals.

10/5/2016 403050 - Inverse manipulator kinematics 19


4.2 SOLVABILITY

Method of solution: there are no general


algorithms that may be employed to
solve a set of nonlinear equations.
• Closed-form solutions: algebraic and
geometric.
• Numerical solutions (much slower than the
other).

10/5/2016 403050 - Inverse manipulator kinematics 20


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 21


4.3 ALGEBRAIC SOLUTION

Consider the three planar manipulator:

10/5/2016 403050 - Inverse manipulator kinematics 22


4.3 ALGEBRAIC

The kinematics equations of this arm


can be found easily by using the link
parameters.

10/5/2016 403050 - Inverse manipulator kinematics 23


4.3 ALGEBRAIC

If the goal point is specification of the


𝐵
wrist frame relative to the base, 𝑊 𝑇.
Because this is a planar manipulator, the
goal point can be presented in general
form:

10/5/2016 403050 - Inverse manipulator kinematics 24


4.3 ALGEBRAIC

Solving the kinematics equations lead


to:

10/5/2016 403050 - Inverse manipulator kinematics 25


10/5/2016 403050 - Inverse manipulator kinematics 26
4.3 ALGEBRAIC

We can get:

Then:

10/5/2016 403050 - Inverse manipulator kinematics 27


4.3 ALGEBRAIC

Finally, we compute 2, using Atan2


function.

With the value of 2, we can rewrite:

Where:

10/5/2016 403050 - Inverse manipulator kinematics 28


4.3 ALGEBRAIC

In order to solve equations of this form,


we define:

Then:

10/5/2016 403050 - Inverse manipulator kinematics 29


4.3 ALGEBRAIC

The previous equations can be written


as:

So:

10/5/2016 403050 - Inverse manipulator kinematics 30


4.3 ALGEBRAIC

We get:

So:

Finally we can solve for the sum of 1, 2


and 3 to find 3.

10/5/2016 403050 - Inverse manipulator kinematics 31


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 32


4.4 GEOMETRIC SOLUTION

To find a manipulator’s solution by


geometric approach:
• The spatial geometry of the arm should be
decomposed in to several plane-geometry
problems.
For a planar manipulator, we can apply
plane geometry directly to find a
solution.

10/5/2016 403050 - Inverse manipulator kinematics 33


4.4 GEOMETRIC SOLUTION

10/5/2016 403050 - Inverse manipulator kinematics 34


4.4 GEOMETRIC SOLUTION

We can apply the “law of cosines” to


solve for 2:

We have:

Base on the figure, this equation for that


value of 2 that lies between 0 and -
180o.
10/5/2016 403050 - Inverse manipulator kinematics 35
4.4 GEOMETRIC SOLUTION

To solved for 1, we find expressions for


angle  and  as indicated in the figure.

We apply the “law of cosines” to find 


(0    180o):

10/5/2016 403050 - Inverse manipulator kinematics 36


4.4 GEOMETRIC SOLUTION

Then we have:
𝜃1 = 𝛽 ± 
• Where:
The plus sign is used if 2 < 0.
The minus sign is used if 2 > 0.

So: 𝜃3 = ∅ − 𝜃1 − 𝜃2

10/5/2016 403050 - Inverse manipulator kinematics 37


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 38


4.5 EXAMPLES OF INVERSE
MANIPULATOR KINEMATICS

We consider the inverse kinematics of


two industrial robots: The PUMA 560
and the Yasukawa Motoman L-3.
These solutions is done algebraically.
Remember, the following solutions do
not constitute a cookbook method of
solving manipulator kinematics.

10/5/2016 403050 - Inverse manipulator kinematics 39


4.5.1 THE UNIMATION PUMA
560

THE INSTRUCTION TO SOLVE THE


INVERSE KINEMATICS OF PUMA 560
IS IN THE TEXTBOOK, P.117 TO 121.

STUDENTS READ THE INSTRUCTION


AT HOME AND THEN DICUSS IT IN
CLASS.

10/5/2016 403050 - Inverse manipulator kinematics 40


4.5.2 THE YASUKAWA
MOTOMAN L-3

THE INSTRUCTION TO SOLVE THE


INVERSE KINEMATICS OF THE
YASUKAWA MOTOMAN L-3 IS IN THE
TEXTBOOK, P. 121 TO 125.
STUDENTS READ THE INSTRUCTION
AT HOME AND THEN DICUSS IT IN
CLASS.

10/5/2016 403050 - Inverse manipulator kinematics 41


4.5.3 ANOTHER EXAMPLE

Consider the RPR robot. Find the


modified DH parameters and solve the
inverse kinematics if:

10/5/2016 403050 - Inverse manipulator kinematics 42


4.5.3 ANOTHER EXAMPLE

Consider the RPR robot. Find the


modified DH parameters and solve the
inverse kinematics if:

− 2ൗ2 − 2ൗ2 0 5 2
0
3𝑇 =
2ൗ − 2ൗ 0 −5 2
2 2
0 0 1 0
0 0 0 1

10/5/2016 403050 - Inverse manipulator kinematics 43


Modified DH parameters

Link,i i-1 ai-1 di i


1 0 0 0 1
2 90o 0 d2 0
3 -90o 0 0 3

10/5/2016 403050 - Inverse manipulator kinematics 44


4.5.3 ANOTHER EXAMPLE

 We have:
0
3𝑇 = 01𝑇 12𝑇 23𝑇
Where
𝑐1 −𝑠1 0 0
0
𝑇 = 𝑠1 𝑐1 0 0
1 0 0 1 0
0 0 0 1
𝑐1 𝑠1 0 0
0 −1
1𝑇 = −𝑠1 𝑐1 0 0
0 0 1 0
0 0 0 1
10/5/2016 403050 - Inverse manipulator kinematics 45
4.5.3 ANOTHER EXAMPLE

1 0 0 0 1 0 0 0
1
𝑇 = 0 0 −1 −𝑑2 , 1 −1
= 0 0 1 0
2 2𝑇 0 −1 0 −𝑑2
0 1 0 0
0 0 0 1 0 0 0 1

𝑐3 −𝑠3 0 0 𝑐3 −𝑠3 0 0
2
𝑇 = 0 0 1 0 , 1
𝑇 = 𝑠3 𝑐3 0 −𝑑2
3 −𝑠3 −𝑐3 0 0 3
0 0 1 0
0 0 0 1 0 0 0 1

10/5/2016 403050 - Inverse manipulator kinematics 46


4.5.3 ANOTHER EXAMPLE

We can compute:
𝑐13 −𝑠13 0 𝑠1𝑑2
0
𝑇 = 𝑠13 𝑐13 0 −𝑐1𝑑2
3
0 0 1 0
0 0 0 1

− 2ൗ2 − 2ൗ2 0 5 2
= 2ൗ − 2ൗ 0 −5 2
2 2
0 0 1 0
0 0 0 1
10/5/2016 403050 - Inverse manipulator kinematics 47
4.5.3 ANOTHER EXAMPLE

By solving:
𝑐13 = − 2ൗ2
൞ → 𝜃1 + 𝜃3 = 135𝑜
𝑠13 = 2ൗ2
And
𝑠1𝑑2 = 5 2 𝜃1 = 45𝑜
൝ →ቈ 𝑜 𝑖𝑓 𝑑2 ≠ 0
𝑐1𝑑2 = 5 2 𝜃1 = −135

10/5/2016 403050 - Inverse manipulator kinematics 48


4.5.3 ANOTHER EXAMPLE

In this case, we have two solutions:

𝜃1 = 45𝑜 ; 𝜃3 = 90𝑜 ; 𝑑2 = 10

𝜃1 = −135𝑜 ; 𝜃3 = 270𝑜 ; 𝑑2 = −10

If we have physical constrains, we can


omit some solutions.

10/5/2016 403050 - Inverse manipulator kinematics 49


4.5.3 ANOTHER EXAMPLE

In some case, we can not obtain the


solution by solving:
0
3𝑇 = 01𝑇 12𝑇 23𝑇
We have to multiply 01𝑇 −1 and 12𝑇 −1 to
both sides of the equation, then solve:
0 −1 0 0 −1 0 1 2 1
1𝑇 3𝑇 = 1𝑇 𝑇
1 2 3𝑇 𝑇= 3𝑇
Or: 12𝑇 −1 01𝑇 −1 03𝑇 = 23𝑇

10/5/2016 403050 - Inverse manipulator kinematics 50


CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS

4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems

10/5/2016 403050 - Inverse manipulator kinematics 51


4.6 PROBLEMS

Exercise 4.1-4, 4.8, 4.9, 4.16, 4.17-22

Matlab exercise 4

10/5/2016 403050 - Inverse manipulator kinematics 52


SUMMARY

What is the inverse kinematic problems?

Algebraic solution

Geometric solution

10/5/2016 403050 - Inverse manipulator kinematics 53


REQUIREMENTS

Read Slides of chapter 5.


Read reference book [4] : 76-83
Read: RoboAnalyzer’s user manual,
Easy-Rob manual and Robotics Toolbox
for Matlab.
Students look for these material on the
library and official website.

10/5/2016 403050 - Inverse manipulator kinematics 54


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 5
ROBOT SIMULATION
403050 - ROBOTICS
CHAPTER 5: ROBOT
SIMULATION

5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox

10/5/2016 403050 - Robot simulation 2


LEARNING OUTCOMES

Understand the concepts of


transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
Evaluate the robot’s responses.

10/5/2016 403050 - Robot simulation 3


LEARNING OUTCOMES

 Recommend the structure/program of the


robot to meet the requirements of the
system.
 Select the robot's structure for specific
problem.
 Select the operation of robots for specific
tasks.
 Apply the ability to communicate and work
with in team effectively.
 Use time and resources effectively.
10/5/2016 403050 - Robot simulation 4
OBJECTIVES

Know how to use robot simulation


software.
Know how to analyze the kinematics and
dynamics of a robot by using these
software.
Know how to deal with the given
projects.

10/5/2016 403050 - Robot simulation 5


CHAPTER 5: ROBOT
SIMULATION

5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox

10/5/2016 403050 - Robot simulation 6


5.1 INTRODUCTION

What can robot simulations do?


• Creating robots structures.
• Programing robots actions.
• Planning robots trajectories.
• Analyzing robots’ kinematics and dynamics
problems.

10/5/2016 403050 - Robot simulation 7


5.1 INTRODUCTION

Why do we need these software?


• To save cost and time.
• To understand the trajectories of the
manipulators.
• To understand the kinematics and dynamics
of robots.
• In some case, these programs can be
transferred to the real robot without
modification.

10/5/2016 403050 - Robot simulation 8


5.1 INTRODUCTION

Which area these program are used?

In areas such as:


• Industry.
• Researching.
• Entertaining.
• Studying.

10/5/2016 403050 - Robot simulation 9


5.1 INTRODUCTION

In this course, these can help our


learners to:
• Understand the DH parameters more clearly.

• Analyze the trajectories of robots.

• Analyze the kinematics and dynamics


problems of robots.

10/5/2016 403050 - Robot simulation 10


5.1 INTRODUCTION

NOTICE

THESE SOFTWARE USE CLASIC DH-


PARAMETERS.

10/5/2016 403050 - Robot simulation 11


CHAPTER 5: ROBOT
SIMULATION

5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox

10/5/2016 403050 - Robot simulation 12


5.2 ROBOANALYZER
SOFTWARE

Is developed at IIT Delhi, New Delhi,


India under the guidance of Prof. S.K.
Saha.
It is a 3D model based robotics learning
software.
It is totally free for teaching purpose.
(http://www.roboanalyzer.com)

10/5/2016 403050 - Robot simulation 13


5.2 ROBOANALYZER
SOFTWARE

It features:

• Forward Kinematics.
• Inverse Kinematics.
• Animation and Plots.
• Virtual Robot Module.
• Integration with MATLAB.

10/5/2016 403050 - Robot simulation 14


5.2 ROBOANALYZER
SOFTWARE

10/5/2016 403050 - Robot simulation 15


5.2 ROBOANALYZER
SOFTWARE

Graphical User Interface:

1. Robot Selection and


DH Parameters section.
2. Visualize DH section.
3. 3D Model Browser.
4. 3D Model View

10/5/2016 403050 - Robot simulation 16


5.2 ROBOANALYZER
SOFTWARE

Graphical User Interface:

5. Graph Plot Tree


View.
6. Graph Plot Windows.
7. Inverse Kinematics
Window.

10/5/2016 403050 - Robot simulation 17


5.2 ROBOANALYZER
SOFTWARE

10/5/2016 403050 - Robot simulation 18


5.2 ROBOANALYZER
SOFTWARE

Visualize DH:

10/5/2016 403050 - Robot simulation 19


5.2 ROBOANALYZER
SOFTWARE

Link configuration:

10/5/2016 403050 - Robot simulation 20


5.2 ROBOANALYZER
SOFTWARE

End-Effector configuration:

10/5/2016 403050 - Robot simulation 21


5.2 ROBOANALYZER
SOFTWARE

Other functions:

• Forward Kinematics.
• Inverse Kinematics.
• Inverse Dynamics.
• Forward Dynamics.
• Motion Planning.

10/5/2016 403050 - Robot simulation 22


CHAPTER 5: ROBOT
SIMULATION

5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox

10/5/2016 403050 - Robot simulation 23


5.3 EASY-ROB SOFTWARE

EASY-ROB is a Robot Simulation Tool


with 3D graphic and animation.
You can design your robot kinematic
with 6 DOF (degrees of freedom).
Currently available types are the
kinematics RRR:RRR and TTT:RRR.

10/5/2016 403050 - Robot simulation 24


5.3 EASY-ROB SOFTWARE

The robot can move in joint and


Cartesian space (inverse kinematics
with all configurations).
Furthermore you can describe the robot
kinematic in universal coordinates and
with the DH notation.
The maximum number of DOF is 12.

10/5/2016 403050 - Robot simulation 25


5.3 EASY-ROB SOFTWARE

You can write a motion program for the


robot and check reachability, travel
ranges and cycle time for the movement.
Your robots can grab some things and
release them.
A simple 3D-CAD System allows you to
create basic bodies like block, cylinder,
spheres, pyramid.

10/5/2016 403050 - Robot simulation 26


5.3 EASY-ROB SOFTWARE

Assignment 1 (10%):
• Reading the user’s manual of easy-rob
software.
• Creating one of learned robots (at least 3
DoFs).
• Programming for this robot to perform a task
(grab a tool, move it to another position and
release it).

10/5/2016 403050 - Robot simulation 27


CHAPTER 5: ROBOT
SIMULATION

5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox

10/5/2016 403050 - Robot simulation 28


5.4 ROBOTICS TOOLBOX

This is a toolbox for MATLAB.


It provides many useful functions for
studying and simulating of classical arm-
type robotics, for example:
• Kinematics.
• Dynamics.
• Trajectory generation.

10/5/2016 403050 - Robot simulation 29


5.4 ROBOTICS TOOLBOX

Robot objects can be created by the


user for any serial-link manipulator.

Examples are provided for well know


robots such as the Puma 560 and the
Stanford arm amongst others.

10/5/2016 403050 - Robot simulation 30


5.4 ROBOTICS TOOLBOX

It also provides functions for


manipulating and converting between
data types such as:
• Vectors.
• Homogeneous transformations.
• Unit-quaternions (3-dimensional position and
orientation).

10/5/2016 403050 - Robot simulation 31


5.4 ROBOTICS TOOLBOX

This toolbox is totally free for education


purpose.

This toolbox and its manual can be


downloaded from:
http://www.petercorke.com/robot

10/5/2016 403050 - Robot simulation 32


5.4 ROBOTICS TOOLBOX

Assignment 2 (10%):

• Reading the manual of Robotics Toolbox.


• Choosing one of learned robots (at least 3
DoFs).
• Programming for this robot to perform a
planned movement.

10/5/2016 403050 - Robot simulation 33


5.4 ROBOTICS TOOLBOX

NOTICE

STUDENTS PICK ONE OF TWO


ASSIGNMENTS TO SUBMIT.

10/5/2016 403050 - Robot simulation 34


SUMMARY

How to use software and toolbox:


• RoboAnalyzer
• Easy-Rob
• Robotics toolbox (in Matlab)
To understand the kinematics and
dynamics of a robot.

10/5/2016 403050 - Robot simulation 35


REQUIREMENTS

Finish the above assignments.


Read Slides of chapter 6.
Read textbook [1] : 201-229
Read reference book [4]: 92-98
Students look for these material on the
library.

10/5/2016 403050 - Robot simulation 36


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 6
TRAJECTORY GENERATION
403050 - ROBOTICS
CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 2


LEARNING OUTCOMES

Understand the concepts of


transformation, the robot’s DH
parameters; forward kinematics, inverse
kinematics; planning the robot’s
trajectory and finding the response of
robots.
Evaluate the robot’s responses.

10/5/2016 403050 - Trajectory generation 3


LEARNING OUTCOMES

Recommend the structure/program of


the robot to meet the requirements of
the system.
Select the robot's structure for specific
problem.
Apply the ability to communicate and
work with in team effectively.
Use time and resources effectively.

10/5/2016 403050 - Trajectory generation 4


OBJECTIVES

Know the important of planning a


trajectory for a robot.
Know how to calculate functions of
space and time to a task.
Know how to compute position, velocity
and acceleration of a robot.

10/5/2016 403050 - Trajectory generation 5


CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 6


6.1 INTRODUCTION

 Trajectory refers to position, velocity and


acceleration of each joint respected to time.
 The basic problem is to move the
manipulator from an initial position to some
desired final position regardless its path.
 Sometimes, the manipulator must pass
through a set of desired via points. In this
cases, its path is very important.

10/5/2016 403050 - Trajectory generation 7


6.1 INTRODUCTION

When the manipulator moving between


via points, there are conditions that must
be satisfied:
• Continuous in position.
• Continuous in velocity.
• Continuous in acceleration.
Satisfying these conditions will make the
path exist and smooth the robot’s movement.

10/5/2016 403050 - Trajectory generation 8


CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 9


6.2 JOINT-SPACE SCHEMES

 Each path point is considered as a set of


desired joint angles by using inverse
kinematics.
 The path between two neighbor via points
is called a segment. Time required for each
segment is the same for each joint.
 To describe the shape of the path between
via points in Cartesian space is quite
complex.

10/5/2016 403050 - Trajectory generation 10


6.2 JOINT-SPACE SCHEMES

In this section, the path shapes (in


space and time) will be described in
terms of functions of joint angles.
The joint-space schemes achieve the
desired position and orientation at the
via points.
The joint-space schemes are usually the
easiest to compute.

10/5/2016 403050 - Trajectory generation 11


CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 12


6.3 CUBIC POLYNOMIALS

Consider the problem of moving the tool


from its initial position to a goal position
in a certain amount of time.
The set of joint angles corresponding to
the initial point is known (at t0).
The set of joint angles corresponding to
the final point (position and orientation at
tf) can be calculated.

10/5/2016 403050 - Trajectory generation 13


6.3 CUBIC POLYNOMIALS

 Consider (t)
is a function of
one joint
respected to
time.
 There are
many possible
smooth path
for (t).

10/5/2016 403050 - Trajectory generation 14


6.3 CUBIC POLYNOMIALS

We can easily find these constrains:

10/5/2016 403050 - Trajectory generation 15


6.3 CUBIC POLYNOMIALS

These four constrains can be satisfied


by cubic polynomial (at least third
degrees).

So the joint velocity and acceleration


along this path are:

10/5/2016 403050 - Trajectory generation 16


6.3 CUBIC POLYNOMIALS

By combining these equations and


constrains we can yields four equations
in four unknowns:

10/5/2016 403050 - Trajectory generation 17


6.3 CUBIC POLYNOMIALS

Solving these equations we can obtain:

This solution can be applied for general


case when the joint starts and finishes at
zero velocity.
10/5/2016 403050 - Trajectory generation 18
6.3 CUBIC POLYNOMIALS

Example:
A single-link robot with a rotary joint is
motionless at =15o. It is desired to move the
joint in a smooth manner to =75o in 3 seconds.
Find the coefficients of a cubic that
accomplishes this motion and brings the
manipulator to rest at the goal.
Plot the position, velocity, and acceleration
of the joint as a function of time.

10/5/2016 403050 - Trajectory generation 19


6.3 CUBIC POLYNOMIALS

Example:
We can easily find the coefficients of that
cubic polynomial: a0 = 15; a1 = 0; a2 = 20; a3 = -
4.44
Then, the position, velocity and acceleration
functions are:

10/5/2016 403050 - Trajectory generation 20


6.3 CUBIC POLYNOMIALS

Example:

10/5/2016 403050 - Trajectory generation 21


CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 22


6.4 HIGHER-ORDER
POLYNOMIALS

Sometimes, higher-order polynomials are


used for path segments.
If specific position, velocity and
acceleration are required at the beginning
and the end of a path segment.
The position’s joint function will be:

10/5/2016 403050 - Trajectory generation 23


6.4 HIGHER-ORDER
POLYNOMIALS

Where the constraints of positions and


velocities are given as

10/5/2016 403050 - Trajectory generation 24


6.4 HIGHER-ORDER
POLYNOMIALS

Where the constraints of accelerations


are given as

With these constraints, a linear set of six


equations is formed.
10/5/2016 403050 - Trajectory generation 25
6.4 HIGHER-ORDER
POLYNOMIALS

Solution:

10/5/2016 403050 - Trajectory generation 26


CHAPTER 6: TRAJECTORY
GENERATION

6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends

10/5/2016 403050 - Trajectory generation 27


6.5 LINEAR FUNCTION
WITH PARABOLIC BLENDS

Another choice of path shape is linear.

10/5/2016 403050 - Trajectory generation 28


6.5 LINEAR FUNCTION
WITH PARABOLIC BLENDS

However, this cause a discontinuous


velocity at the beginning and end of the
motion.
To solve this problem, a parabolic blend
region at each path point.
During the blend portion of the trajectory,
constant acceleration is used to change
velocity smoothly.

10/5/2016 403050 - Trajectory generation 29


6.5 LINEAR FUNCTION
WITH PARABOLIC BLENDS

The path shape


will become:
These parabolic
blends have the same
duration.
The same
constant acceleration
is used for both
blends.

10/5/2016 403050 - Trajectory generation 30


6.5 LINEAR FUNCTION
WITH PARABOLIC BLENDS

There are many


possible solutions
and the answer
always contain the
halfway point in
time, th, and about
the halfway point in
position, h.

10/5/2016 403050 - Trajectory generation 31


PROBLEMS

Exercise 7.1-3, 7.15-20.

Matlab exercise 7

10/5/2016 403050 - Trajectory generation 32


SUMMARY

Understand the robot’s trajectories such


as:
• Cubic polynomials
• Higher-order polynomials
• Linear function with parabolic blend
Calculate functions of space and time of
a robot’s action.
Calculate functions of position, velocity
and acceleration of a robot.
10/5/2016 403050 - Trajectory generation 33
REQUIREMENTS

Read Slides of chapter 7.


Read reference book [4]: 99-109
Read reference book [5]: 136-146
Students look for these material on the
library.

10/5/2016 403050 - Trajectory generation 34


TON DUC THANG UNIVERSITY
FACULTY OF ELECTRICAL AND
ELECTRONICS ENGINEERING

CHAPTER 7
ACTUATOR AND
CONTROLLER
403050 - ROBOTICS
CHAPTER 7: ACTUATORS
AND CONTROLLERS

7.1 Electrical actuators


7.2 Pneumatics and hydraulics
7.3 Robot controllers

10/5/2016 403050 - Actuator and controller 2


LEARNING OUTCOMES

Remember the basic concepts of


position and orientation, actuators and
controllers in robotics.
Recommend a basic controller for
robots.
Evaluate the robot’s responses.
Recommend the structure/program of
the robot to meet the requirements of
the system.
10/5/2016 403050 - Actuator and controller 3
LEARNING OUTCOMES

Select the robot's structure for specific


problem.
Apply the ability to communicate and
work with in team effectively.
Use time and resources effectively.

10/5/2016 403050 - Actuator and controller 4


OBJECTIVES

Know the fundamental of actuators such


as motors, pneumatics and hydraulics
system in robotics.
Apply the knowledge of electric drive in
robotics.
Apply the knowledge of controllers such
as P, PD, PID in controlling robot’s joints.

10/5/2016 403050 - Actuator and controller 5


CHAPTER 7: ACTUATOR
AND CONTROLLER

The actuators in robotics can be


classified in to two groups:
• Electrical
• Pneumatics and hydraulics
These two types have their own advantages
and disadvantages.

10/5/2016 403050 - Actuator and controller 6


CHAPTER 7: ACTUATOR
AND CONTROLLER

7.1 Electrical actuator


7.2 Pneumatics and hydraulics
7.3 Robot controller

10/5/2016 403050 - Actuator and controller 7


7.1 ELECTRICAL ACTUATOR

10/5/2016 403050 - Actuator and controller 8


7.1 ELECTRICAL ACTUATOR

10/5/2016 403050 - Actuator and controller 9


7.1 ELECTRICAL ACTUATOR

10/5/2016 403050 - Actuator and controller 10


7.1 ELECTRICAL ACTUATOR

Electrical actuators is widely used in


robotics.
Advantages:
• Cleanness
• Flexible
Disadvantages:
• Low power
• High speed (usually need a gearbox)

10/5/2016 403050 - Actuator and controller 11


7.1 ELECTRICAL ACTUATOR

There are many electric machine which


can be used to actuate the robot joints.
The most favorite ones are: DC motors
and stepper motors.
Nowadays, with the development in
power electronic, the number of AC
motor in controlling robot is increased.

10/5/2016 403050 - Actuator and controller 12


7.1.1 DC MOTOR

Equivalent circuit:

10/5/2016 403050 - Actuator and controller 13


7.1.1 DC MOTOR

Base on the equivalent circuit we have


the equation:
𝑑𝐼
𝑉 = 𝐸 + 𝐼𝑅 + 𝐿
𝑑𝑡
In steady-state, this equation becomes:
𝑉 = 𝐸 + 𝐼𝑅
Moreover we also have:
𝐸 = 𝐾𝛷 × 𝜔
𝑇 = 𝐾𝛷 × 𝐼

10/5/2016 403050 - Actuator and controller 14


7.1.1 DC MOTOR

To control the speed and torque of a DC


motor, its supply voltage and flux will be
adjusted.
This can be done by using electronic
power circuits such as controlled
rectifiers, chopper circuits.
DC motors included three types: series,
shunt and compound motors.

10/5/2016 403050 - Actuator and controller 15


7.1.2 STEPPER MOTOR

Stepper motor is the easiest way to


control the joints’ position.
The speed and position of stepper motor
can be controlled by a open-loop
controller.
Suitable for digital circuits.
The disadvantage is its power (low and
medium).

10/5/2016 403050 - Actuator and controller 16


7.1.2 STEPPER MOTOR

The number of step per round can be


calculated:
360
𝑠=
𝑠𝑡𝑒𝑝 𝑎𝑛𝑔𝑙𝑒
Speed of this motor:
60. 𝑓
𝑛=
𝑠
Where: f is number of step per minute.

10/5/2016 403050 - Actuator and controller 17


7.1.2 STEPPER MOTOR

Position of stepper motors can be


controlled by number of pulse we
supplied to the motor driver.

Stepper motor’s speed can be adjusted


by changing the pulse frequency f.

10/5/2016 403050 - Actuator and controller 18


CHAPTER 7: ACTUATOR
AND CONTROLLER

7.1 Electrical actuator


7.2 Pneumatics and hydraulics
7.3 Robot controller

10/5/2016 403050 - Actuator and controller 19


7.2 PNEUMATICS AND
HYDRAULICS

10/5/2016 403050 - Actuator and controller 20


7.2 PNEUMATICS AND
HYDRAULICS

10/5/2016 403050 - Actuator and controller 21


7.2 PNEUMATICS AND
HYDRAULICS

Pneumatics: linear actuator.


Consist of a piston inside a hollow cylinder.
Pressure from an external compressor or manual
pump moves the piston inside the cylinder.
• Advantage: clean, fast movement, simple
structure.
• Disadvantage: weak, pressure loss, less
efficient.

10/5/2016 403050 - Actuator and controller 22


7.2 PNEUMATICS AND
HYDRAULICS

Hydraulics: linear actuator.


Have the same structure of pneumatics,
however, the size may bigger.
• Advantage: strong, more precise.
• Disadvantage:
May effect the environment because of hazardous
material.
Slow movement
Cost raising complexity with proportional
regulators and valves
Huge.

10/5/2016 403050 - Actuator and controller 23


CHAPTER 7: ACTUATOR
AND CONTROLLER

7.1 Electrical actuator


7.2 Pneumatics and hydraulics
7.3 Robot controller

10/5/2016 403050 - Actuator and controller 24


7.3 ROBOT CONTROLLER

Position, speed and torque are usually


considered in robot controlling.
These can be done by closed-loop
controller.
Sometimes, we can use opened-loop to
control the position of robot’s joints
(when stepper motors are used).

10/5/2016 403050 - Actuator and controller 25


7.3 ROBOT CONTROLLER

A basic closed-loop controller

10/5/2016 403050 - Actuator and controller 26


7.3 ROBOT CONTROLLER

Schematic of a cascade control loop for an electrical


drive

10/5/2016 403050 - Actuator and controller 27


7.3 ROBOT CONTROLLER

Current control loop of a DC motor

10/5/2016 403050 - Actuator and controller 28


7.3 ROBOT CONTROLLER

Speed control loop of a DC motor

10/5/2016 403050 - Actuator and controller 29


7.3 ROBOT CONTROLLER

Position control loop of a DC motor

10/5/2016 403050 - Actuator and controller 30


SUMMARY

What is electrical actuator?

What is Pneumatics and hydraulics


actuators?

Method to control robots joints?

10/5/2016 403050 - Actuator and controller 31

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy