Robot Comau Programming For Complex Path.

UNIVERSITI TEKNIKAL MALAYSIA MELAKA
ROBOT COMAU PROGRAMMING FOR COMPLEX PATH

This report submitted in accordance with requirement of the Universiti Teknikal
Malaysia Melaka (UTeM) for the Bachelor Degree of Manufacturing Engineering
(Robotic and Automation) with Honours.

By

ZALINA BINTI ABU LUKMAN

FACULTY OF MANUFACTURING ENGINEERING
2009

DECLARATION

I hereby, declared this report entitled “Robot Comau Programming for Complex
Path” is the results of my own research except as cited in references.

Signature


:

…………………………………………………….

Author’s Name

:

Zalina Binti Abu Lukman

Date

:

22 May 2009

APPROVAL

This report is submitted to the Faculty of Manufacturing Engineering of UTEM as a
partial fulfillment of the requirements for the degree of Bachelor of Manufacturing

Engineering (Robotic and Automation) with Honours. The members of the
supervisory committee are as follow:

(Signature of Supervisor)
………………………………
(Official Stamp of Supervisor)

APPROVAL

This report is submitted to the Faculty of Manufacturing Engineering of UTEM as a
partial fulfillment of the requirements for the degree of Bachelor of Manufacturing
Engineering (Robotic and Automation) with Honours. The members of the
supervisory committee are as follow:

(Signature of Principal Supervisor)
…………………………………
(Official Stamp of Principal Supervisor)

ABSTRACT


An approach based on off-line robot programming for Comau robot programming
complex path in a typical industrial environment is presented in this project paper.
The robot programming for complex path is implemented by off-line programming
using Workspace 5™ Software. The main objective of this project is to integrate
robot programming for complex path that applied in manufacturing process into real
application of Comau Robot as dry run simulation. In order of progress to
successfully fulfill this objective, a programming language analysis, the accuracy of
robot position by simulation in term of work envelope of a robot, and the robot
motion for complex path need to be analyzed and carried out. The inverse kinematic
had proposed to analyze the robot motion that generated by Workspace 5™
Software.

i

ABSTRAK

Satu pendekatan berdasarkan program robot Comau untuk laluan yang komplek
dalam industri secara ‘off-line’ dipersembahkan dalam laporan projek ini. Program
robot ini dilaksanakan secara kaedah ‘off-line’ menggunakan Perisian Workspace
5™. Objektif utama dalam projek ini adalah untuk mengintegrasikan program robot

untuk laluan yang komplek yang telah diaplikasikan dalam proses industri kepada
aplikasi Robot Comau yang nyata iaitu sebagai simulasi ‘dry run’. Dalam penyediaan
untuk memenuhi dengan objektif tersebut jayanya, analisa terhadap bahasa yang
digunakan dalam program ini, ketepatan kedudukan robot secara simulasi dalam erti
kata lain analisa kawasan kerja robot antara simulasi memgunakan perisian dengan
simulasi sebenar Robot Comau, dan seterusnya analisa terhadap pergerakan robot
untuk laluan yang complex telah dijalankan. Kinematic songsang telah dicadangkan
untuk menganalisa pergerakan robot yang dapat dihasilkan secara automatik oleh
Perisian Workspace 5™ Software.

ii

DEDICATION

F or m y b elov e d p a r en t s
Abu Lukman Bin Haji Ismail
Razali Bin Hussien
Fatimah Bt. Yahya

A n d f or m y sp ec ia l p er son a n d f r ien d s

En. Khairol Anuar Bin Rakiman
Nur Anis Bt. A. Rahman
Normaizatulakma Bt. Amir

iii

ACKNOWLEDGEMENT

First of all, Syukur Alhamdulillah and all praises to Allah S.W.T which lead me to
accomplish this Final Year Project (Semester 1) – Projek Sarjana Muda in a course of
BMFG 4913. I would like to express my big appreciation and deepest gratitude from
the bottom of my heart to my supervisor, En. Khairol Anuar Bin Rakiman and also to
my examiner, En. Ruzaidi Bin Zamri for their encouragement, ideas, support, and
inspiration and for their irreplaceable unfailing patience, guidance throughout this
project report. Their knowledge and experience really inspired and spurred myself.

Special thanks also to technician lab members and whom those involve in completing
this projects who have been helping together to give idea and any flourishing
suggestions, a special thanks for their sincerely and co-operations. Also big thanks
for my family as well as friends without their wise council and dependable assistance

this project research would not have been possible. Last but not least. all my friends
and peers who are good companions in times of need and give a lot of support to me.

Thank you, very much.

Wassalam.
Z a li n a A b u L u k m a n

iv

TABLE OF CONTENTS

Abstract

i

Abstrak

ii


Dedication

iii

Acknowledgement

iv

Table of Content

v

List of Tables

ix

List of Figures

x


List Abbreviations

xii

1. INTRODUCTION

1

1.1

Background

1

1.2

Problem Statement

3


1.3

Objectives

3

1.4

Scope of the Project

3

2. LITERATURE REVIEW

4

2.1

Evidence of Programming Robot for Complex Path


4

2.2

Programming Robot

7

2.3

Theory of Path Planning

9

2.4

Programming Using Workspace

9


2.5

Analysis

12

2.5.1

Forward Kinematics Analysis

12

2.5.2

Forward and Inverse Kinematics of the Teach-Robot

15

2.5.3

A Survey of Robot Programming Systems

16

v

3. METHODOLOGY

17

3.1

Path Planning

17

3.2

Off-line Programming

18

3.3

Integration of Simulation

18

3.4

Methodology Conclusion

18

3.4.1

Trajectory Path Planning

19

3.4.2

Sketching Path

20

3.4.3

Mathematical Calculation

20

3.4.3.1 Workspace Layout

20

3.4.4

Plotting Graph

21

3.4.5

Research on Complex Path with Inverse Kinematic, & Robot

21

Performance in Accuracy of Robot Position, and Programming
Comau Robot Language

4. SIMULATION PREPARATION

22

4.1

Path Planning

22

4.1.1

Robot Manipulator Angle Movement

23

4.1.2

Trajectory Planning with Polynomial Via Points

24

4.1.2.1 Mathematical Model for Trajectory Polynomial

24

4.1.2.2 Plotting Graph Using Matlab

29

4.2

Workspace Layout

32

4.3

Conclusion

34

5. RESULT & DISCUSSION ON COMPLEX PATH ANALYSIS

35

5.1

Result

35

5.1.1

Design complex engineering part

35

5.1.1.1 Chassis

36

5.1.1.2 Worktable

37

5.1.1.3 Screw Part Feeder

37

vi

5.1.2

Robot Simulation Programming Task

38

5.1.2.1 Robot Simulation

39

5.1.2.2 Generating Programming Code

39

5.1.2.3 Dry Run Simulation

39

5.2

Discussion on Complex Path Analysis

40

5.2.1

Path Planning

40

5.2.2

Geometry Point (GP)

41

5.2.3

Programming Language

44

5.2.4

Robot Position Accuracy

47

5.2.5

Motion

50

5.2.5.1 Inverse Kinematic

51

6. CONCLUSION, & RECOMMENDATION

57

6.1

Conclusion

57

6.2

Recommendation

59

REFERENCES

60

APPENDICES
A

Technical Specification of Comau Robot

B

The Workspace Area of Comau Robot Smart NS 16-1.65

C

The Schematic Diagram That Showing Detail about the Axes Stroke of
the Comau Robot Hand (Comau Robotics)

D

Design Engineering Part Drawing (Chassis)

E

Design Engineering Part Drawing (Worktable)

F

Design Engineering Part Drawing (Screw Part Feeder)

G

Design Engineering Part Drawing (Assembling Chassis & Worktable)

H

Robot Simulation with 30 Geometry Point

I

Geometry Point Created For Complex Path by Workspace 5TM
Software

vii

J

Robot Simulation In Workspace 5TM Software For Complex Path

K

Generated Programming Code of Robot Simulation Path in Workspace
5TM Software

L

Comau Robot Teach Pendant & Equipments for Dry Run Simulation

M

Path Flow of Dry Run Simulation For Real Comau Robot Application

N

Modifying, Translate Programming Code Generated Using WinC4G
Software

O

Real Comau Robot Complex Path Programming After Modifying &
Editing

viii

LIST OF TABLES

2.1

Structure and motion parameters of the motor

13

5.1

Modifying terms in programming code generated

45

5.2

D-H parameter for calibrated position of Comau Robot

51

ix

LIST OF FIGURES

1.1

A teach Pendant

3

2.1

A water pump to be deburred (the marked line shows the desired

5

deburring path)
2.2

Water pump deburring cell setup

5

2.3

Pictures taken while the tool is in force control mode and

6

Programmed to follow the edge of the water pump
2.4

Guiding path (left) and recorded path (right)

6

2.5

Human interface concept for interactive robot operation

10

2.6

Example of work space model

11

2.7

Structure of motion schema and its interaction with work space

11

model
2.8

Kinematics model and coordinate frames of the motor

13

2.9

A diagram of Teach-Robot

15

3.1

A Methodology flow chart of the project

19

4.1

KUKA robot in automatic insertion of screws process in plastic

22

vehicle members
4.2

The sketches of robot manipulator angle movement

23

4.3(a)

Graph angular position versus time

29

4.3(b)

Graph velocity versus time

29

4.3(c)

Graph acceleration versus time

30

4.4(a)

Graph angular position versus time

30

4.4(b)

Graph velocity versus time

31

4.4(c)

Graph acceleration versus time

31

4.5(a)

Loading Comau robot into workspace

32

4.5(b)

Teaching a Comau robot using Follow Mouse command as

33

x

briefly teaching the robot in screw inserting process
5.1

Import CAD design model into Workspace 5TM Software

36

5.2

Chassis (Engineering Part) as major part to insert screw

36

5.3

Worktable to hold the chassis during screw insertion process

37

5.4

A screw part feeder used to supply screw to the robot

37

5.5

A CAD model that will be load into Workspace 5

TM

Software as

38

worktable hold chassis to make the robot insert screw on it
5.6

Path Planning Created (inserting screw point on car part)

40

5.7(a)

Pendant used to move the robot and GP point will be created

41

5.7(b)

GP Properties Box to modifying the GP

42

5.7(c)

The sequences of the GP created and the explanation of repeated

43

GP
5.8

Comau software used to integrate robot programming

44

5.9(a)

A sign show the complex path programming successfully

46

transferred
5.9(b)

Complex path program in teach pendant and ready to dry run

46

simulation
5.9(c)

The image of robot show that Comau Robot starts to move to the

46

desired location
5.10(a) The work envelope of real Comau Robot NS16

48

5.10(b) The maximum horizontal reach of real Comau Robot NS16 is

48

1650mm
5.10(c) The maximum horizontal reach of Comau Robot NS16 in

49

Workspace 5TM Software is 1739 mm which longer than real
Comau Robot
5.11

The calibrated position (home position) of Comau Robot

52

5.12

Six joint values obtained for the robot position at GP0005

55

5.13

Six joint angle of the Comau Robot NS16

56

xi

5.1.2
Rob
ot

LIST OF ABBREVIATIONS

DOF

-

Degree of Freedom

GP

-

Geometry Point

CAD -

Computer Aided Design

D-H

Denavit Hartenberg

-

xii

CHAPTER 1
INTRODUCTION

This chapter is describing about the history of the robot, the basic programming used
for robot programming, the application of the robot in the industry. Besides, in this
chapter, there are also briefly defined the problem statement involve in this project,
the objectives, the scope of the project, and the project outline.

1.1

Background

In the twenty-first century, robots have come to be known by everyone. However, the
term robot was first introduced to our vocabulary just a few decades ago. The word
originated from the Czech word robot, which means ‘slave laborer’. Isaac Asimov
(1940) coin the term robotics in his short science fiction in which he defined robotics
as a study of robots. In 1988, the word robotics was including in the Webster’s New
World Dictionary. As basically known, robot is a combination of motors, sensors,
mechanical parts and software. Although the word has many different definitions as
seen in different dictionaries and encyclopedias, the Robot Institute of America may
reflect main features of modern robot systems in which a robot is a reprogrammable
multifunctional manipulator designed to move material, parts, tools, or specialized
devices though variable programmable motion of the performance of variety of tasks.
George C. Devol (1953) develops the first robot and further George Devol JR. (1954)
applies for a patent for a programmable transfer device.

In its most basic form, a robot program can be defined as a path in space through
which the manipulator is directed to move. This path also includes other actions such
as controlling the end effectors and receiving signals from sensors. The purpose of

1

robot programming is to teach these actions to the robot. There are two basic
categories of greatest commercial importances nowadays are lead through
programming, and textual language programming. Lead through programming
consists of forcing the robot arm to move through the required motion sequences and
recording the motion into the controller memory. Moreover, lead through method is
used to program playback robot. In the case of point playbacks robots, the usual
procedure is to use a control box which called as a teach pendent to drive the robot
joints to each of desired point in the workspaces, and record the point into memory
for subsequent playback. Textual programming method uses an English-like
language to establish the logic and sequence of the work cycle. A computer terminal
is used to input the program instructions into the controller but a teach pendant is also
used to define the locations of the various points in the workspace. The robot
programming language names the point as symbols in the program and these symbols
are subsequently defined by showing the robot their locations. In addition to
identifying points in the workspace, the robot language permit the use of
calculations, more detailed logic flow, and subroutines in the programs, and greater
use of sensors and communications. Accordingly, the use if the textual language
corresponds largely to the so called intelligent robots.

Robotics has rapidly moved from theory to application and from research labs to
industries over the last 20 or so years. Robotics is going to be a prominent
component of manufacturing industry, which will affect human labour at all level,
from managers of production to shop floor unskilled workers. Robots are useful in
the industries in many ways. In today’s economy, industry needs to be efficient to
cope with the competition. Installing robots in the industry is often a step to be more
competitive because robots can do certain tasks more efficiently than humans. Some
of the tasks robots can do better in handling dangerous materials, assembling
products, spray finishing, polishing and cutting, inspection, repetitive, backbreaking
and unrewarding tasks, and tasks involving danger to human or dangerous tasks.

2

Figure 1.1: A teach Pendant

1.2

Problem Statement

In this project, finding the programming code in off-line programming for complex
path, and analyzing the motion path planning of the robot has need to be done. The
suitable language code of robot programming and the software involving in this
project need to be explored and learn. The most important, the robot programming
has to simulate with the robot as dry run for complex engineering part that has been
identified as an imagination product in simulation.

1.3

Objectives

The primary objectives of this project are:
a. To integrate robot programming into real application (dry run).
b. To determine the accuracy of robot position by simulation.
c. To analyze the robot motion for complex path.

1.4

Scope of The Project

There are several scopes that focused on this project:
a. To study the theory of motion planning.
b. To identify the complex engineering part to be the product for programming.
c. To explore and learn the related software involve in this project.
d. To generate the suitable code for programming language and transfer into real
simulation.
e. To carry out the programming and simulate the Comau Robot.

3

CHAPTER 2
LITERATURE REVIEW

This chapter will describe about the past researches review that related to the project.
From Oxford Advanced Genie dictionary, Literature means the pieces of writing or
printed information on a particular subject. This literature review is important to
make this project relate with the past researches and for the next chapter.

Before proceed in the detail about the researches theory and information that related
to the project, its better we see first the evidence overall past researches about
programming robot for complex path. In this project, we use off line programming
without using online programming. Robot Institute of America (1979) defines a
robot is a reprogrammable, multifunctional manipulator designed to move material,
parts, tools or specialized devices through variable programmed motions for the
performance of a variety of tasks.

2.1

Evidence of Programming Robot for Complex Path

George, Z. et. al: (2008) presents a force control assisted path generation system that
can significantly reduce the time, effort and expertise requirements for programming
complex paths in a typical industrial environment. The basic idea is to let the user
first teach a few approximate positions along the desired path using a force control
lead through method, and then the robot executes a force feedback contour following
task with the guidance of the approximate points. The actual tool path is recorded
during the contour tracking process. Post processing algorithms are applied to make
additional adjustments to the recorded path if needed. Tests using real life
applications have demonstrated the robustness and effectiveness of the presented

4

system in industrial settings. Figure 2.1 shows a water pump cast that needs to be
deburred around its edge in a cell shown in Figure 2.2. As can be seen, the edge is a
complicated 3D contour that requires the deburring tool change its orientation and
depth at different parts of the contour. Programming this contour took the system
integrator almost one week using a position controlled robot and joystick teaching.
The force control assisted path generation system cut this time to half hour, most of
which is spent on teaching the guiding path. Contour following and path program
generation takes less than 1 minute. Figure 2.3 shows the contour following in
action. The guiding path has 66 points. After the contour following and the real-time
path recording with line recovery, the final path contains 454 points (Figure 2.4).

Figure 2.1: A water pump to be deburred (the marked line shows the desired deburring path). The
side (left) and front (right) views are shown as one of the complex part that is need to be program
(George, Z. et. al: (2008).

Figure 2.2: Water pump deburring cell setup (George, Z. et. al: (2008).

5

Figure 2.3: Pictures taken while the tool is in force control mode and programmed to follow the
edge of the water pump (George, Z. et. al: (2008).

Figure 2.4: Guiding path (left) and recorded path (right) (George, Z. et. al: (2008).

George, Z. et. al: (2008) target that this system targets the foundry industry need for
significantly reducing the time, effort and expertise typically required for
programming complex paths. Contour following is the key component of this system,
which enables the robot to learn 3D paths. This system requires the user to teach a
6

number of guiding points in order for the contour following to be executed at a
reasonable speed. Obviously this approach chooses simplicity and economy over the
full autonomy provided by some hybrid force/vision approaches. Because this system
is intended for industrial usage, this approach is justifiable. Real life applications and
customer feedback have confirmed the effectiveness of the presented system.

Stocco, P. et al: (2008) have made a research on the optimization of real time
complex path generation in constrained intelligent motion applications based on IPM
motor drives. The improvements in the constrained real-time path generation for high
performance motion control systems are presented in this paper.

2.2

Programming Robot

There are two categories of robot programming by means to explain the robot
programming its application in industry and real life. The first category is off line
programming and the second is online programming. Dixon, K.R. et al: (2002)
classify robot programming has evolved into two mutually exclusive paradigms,
offline and online programming, each having its advantages and disadvantages.
According to their finding, in offline programming, users move a simulated version
of the robot to each waypoint using a CAD model of the workspace. In online
programming, users move the robot itself to each waypoint using some type of
control device in the actual workspace. Offline programming packages allow users to
design a robot program in simulation without bringing down production and can
optimize according to almost any imaginable criterion. Typical optimizations involve
production speed, material usage, and power consumption. Offline packages
generally require that programs be written in a sophisticated procedural programming
language. The transfer of the offline program to the robot controller requires
translating the offline programming language to a form that the robot can understand.
Not surprisingly, arcane problems can occur during this translation, especially with
the process specific instruction, controller models, and inverse kinematics. To
achieve the high accuracy required in many applications, the physical workspace
must be calibrated with the simulated environment. Otherwise, online fine-tuning

7