26
A STUDY IN INDUSTRIAL ROBOT PROGRAMMING YUSMARNITA BINTI YUSOP A thesis submitted in partial fulfillment of the requirements for the award of the Degree of Master of Engineering (Electrical) Kolej Universiti Teknologi Tun HusseShhn NOVEMBER 2004

A Study in Industrial Robot Programming

Embed Size (px)

Citation preview

Page 1: A Study in Industrial Robot Programming

A STUDY IN INDUSTRIAL ROBOT PROGRAMMING

YUSMARNITA BINTI YUSOP

A thesis submitted in partial fulfillment of the requirements for the award of the

Degree of Master of Engineering (Electrical)

Kolej Universiti Teknologi Tun HusseShhn

NOVEMBER 2004

Page 2: A Study in Industrial Robot Programming

ABSTRACT

This project is concerned with learning the technology and programming of

servo controlled industrial robots. A Mitsubishi RV-2AJ articulated robot was used in

this project. The project work is divided into two parts: In the first part of the project

the author familiarized herself with the operation and programming of the robot's

manipulator and controller hardware by carrying out some laboratory experiments. A

set of laboratory sheets were produced from this exercise. In the second part, the

author studied the mechanics of software control of the robot. A user-defined

trajectory planning routine based on the cubic spline fitting function has successfully

been developed in this project.

Page 3: A Study in Industrial Robot Programming

CHAPTER 1

INTRODUCTION

1.1 Overview

Multi-axis machines are used in a variety of applications: pick-and-place

operations, welding, machining, etc. Such machines can be divided into two units: the

physical mechanism composed of links and actuators, and the control system. The

number of actuators present in the mechanical system depends on the number of

independent machine axes, or degrees of freedom. For example, a typical articulated

six degree of freedom manipulator contains six rotating actuators. A five-axis high-

speed CNC machining centre would contain three linear actuators and two rotating

actuators.

A motion task given to the machine must ultimately be represented as a

reference signal, which is sent to the control system. The control system acts to make

the machine track the reference signal by activating the appropriate actuators. If the

reference signal changes too quickly, given the dynamic limitations of the machine,

the traclung of the reference signal will be poor, regardless of the control system

Page 4: A Study in Industrial Robot Programming

design. Computer algorithms are designed to calculate an appropriate reference signal

based on the desired task path and time-related limits (such as speed and acceleration).

This reference signal is the trajectory, and can be defied as a locus of points in

operational or joint space on which a time-law has been specified [I]. The generation

of an appropriate trajectory is the problem that is being investigated in this thesis.

The path along which the trajectory is defined can be point-to-point; namely,

the machine is required to move between the two points but is not given any fixed

intermediate path. This type of path is useful in manipulator pick-and-place

operations. A path can also be completely specified through use of geometric

functions. This type of path is commonly used in CNC machining applications or in

manipulator applications when obstacles are present, or when it is necessary to ensure

that the end effector follows a specific path. Herein it is assumed that the path

definition is provided, and the problem of path planning is not specifically addressed.

The control of the machine motion can be divided into two parts: motion

planning and motion tracking. Motion planning involves generating the path and its

time law, providing the controller's reference signal. Motion tracking, on the other

hand, is concerned with improving the tracking of the reference signal. Motion

planning is often done off-line, typically when the trajectory generation algorithms are

computationally intensive. However, it is often desirable to generate trajectories on-

line so that changes can easily be made to the machine's trajectory, increasing the

system's overall robustness and adaptability. For example, a manipulator may require

the ability to recompute its trajectory on-line in order to avoid an unexpected obstacle

that lies along a path on which it is currently moving 121. In an automated robot

workcell, a high level scheduler feeds a series of tasks to a manipulator in terms of

waypoints, approach points and stop points. The manipulator must execute the task by

generating paths and trajectories to these points and then following these trajectories

using a control law. Use of an on-line planner reduces manipulator setup time and

downtime, since the time required to plan the trajectories is shorter.

Page 5: A Study in Industrial Robot Programming

In industrial applications, it is common to use simple PID control laws, which

do not take into account the system's nonlinearities, to track a reference signal. To

compensate for tracking errors introduced by the system's nonlinearities, a more

complicated controller must be used [3,4,5]. Alternatively, it is possible to design a

trajectory that takes the system's nonlinearities into account and thus provides a

reference signal that can be more easily tracked by common industrial controllers

[6,71.

1.2 Industrial Motivation

Increased productivity is an important industrial consideration. When a multi-

axis machine limits the task speed, decreasing the machine's overall motion time will

increase productivity [6,3]. In addtion, improving the tracking accuracy of the

machine is always desirable since it results in more repeatable products or operations.

Traclung a purely time-optimal trajectory with a simple controller will saturate

the actuators resulting in poor tracking, vibrations in the machine and increased

machine wear [8,9,10,11,12,13]. Specialized controllers have been developed in

order to provide better tracking of time-optimal trajectories. However, it is unlikely

that they will be widely implemented in industry due to their complicated form. Purely

time optimal trajectories have been modified to take into account further limitations of

the actuators, for example jerk or torque rate limits, thereby avoiding controller

saturation and resulting in improved tracking accuracy [15,7,14]. Herein, trajectories

that are planned with jerk or torque rate limitations are termed smooth trajectories.

There exists a need for a smooth trajectory generation algorithm that can easily

be integrated into existing industrial systems, that is, be implemented using a typical

Page 6: A Study in Industrial Robot Programming

industrial controller. Such an algorithm should be applicable on-line, provide adequate

dynamic limitations, and allow the specification of the speeds at all the way-points.

1.3 Problem Definition

There are four types of robot operation control included in this system which is

joint interpolation, linear interpolation, circular interpolation and continuous path.

a) Joint interpolation

The robot moves with joint axis unit interpolation to the designated position. The

robot interpolates with a joint axis unit, so the end path is irrelevant.

Figure 1.1 : Joint Interpolation

Page 7: A Study in Industrial Robot Programming

b) Linear interpolation

For the linear interpolation type of control, the end-effector is programmed to

move a sequence of discrete points in the workspace. In between points, no control

required over either speed of the individual axes or the path of the end-effector.

Fig.l.2 shows that the speeds is reduced and almost stop in fiont of the target

position. After moving to the target position, the speed for moving to the next

target position starts to be accelerated.

Figure: 1.2: Linear Interpolation

c) Circular interpolation

The robot moves along an arc designated with three points using three-dimensional

circular interpolation.

- Robot movement

-. R o b a t rnn*msnt

: Movsmnt positiw,

..~-"_._._--.. !4!

Figure: 1.3: Circular Interpolation

Page 8: A Study in Industrial Robot Programming

d) Continuous path

In the continuous operating mode, the speed is reduced in fi-ont of the target

position, but it does not stop completely. The speed for moving to the next target

position starts to be accelerated at that point. Therefore, it does not pass through

each target position, but it passes through the neighborhood position.

@ & t ~ ~ u s . m o . v ~ m e ~ t Trf+k5$'i2 :(tirnsl

T h e abwc graph shown an exampla Qependng on ltle moving dtstsnce andjar

Slart position of speed, acceleratmn and decelerat~on may rnwemmt occur dunng interpolat~on ~onnrctlon

Figure: 1.4: Continuous Movement

The drawback of the existing operation control methods stated in previous

section are does not preserving continuity in the fist and second derivatives at the

interpolation point. The first derivative represents continuity in the velocity and the

second derivative represents continuity in the acceleration. Several trajectory planning

methods can be used in order to provide a method of generating smooth and

continuous path. In practical application, to plan a path for robot's end-effector to

follow, a number of points along the desired path are given by means of a teach-box or

a robot language command. The end-effector is then controlled to move through or

pass by these points smoothly and continuously.

How to control the endeffector to move through the desiredpath smoothly and

continuously?

Page 9: A Study in Industrial Robot Programming

To solve the stated problem, this project proposed an approach to constrain

smoothness and continuity based on cubic spline trajectory planning algorithm. Cubic

splines offer several advantages. First, it is the lowest degree polynomial function that

preserving continuity in the frst and second derivatives at the interpolation points.

Second, low-degree polynomials reduce the effort of computations and the possibility

of numerical instabilities. The feasibility of the method is illustrated by experimental

results with an articulated robot mtsubishi RV-2AJ) located at KUITTHO's

Automation Lab.

1.4 Research Objectives

This project is divided into two parts. For Part I, the objective of this work is to

famili&e with the Mitsubishi RV-2AJ robot operation and control. Instead of to

familiarize with the robot operation and control, a further objective is to produce a set

of laboratory sheets as a reference material to the students or lecturers in future work.

Furthermore is to learn MELFA robot programming languages, MOVEMASTER

Command and MELFA-BASIV IV Command.

For Part II, the objective is to write a user-defmed trajectory planning routine

based on cubic spline fitting function using MATLAB. At the end of this project, this

work aims to produce a cubic spline trajectory that will generate smooth and

continuous path.

Page 10: A Study in Industrial Robot Programming

CHAPTER I1

LITERATURE REVIEW

2.1 Introduction

With a pressing need for increased productivity and the delivery of end

products of uniform quality, industry is turning more and more toward computer-

based automation. At the present time, most automated manufacturing tasks are

camed out by special-purpose machines designed to perform predetermined functions

in a manufacturing process. The inflexibility and generally high cost of these

machines, often called hard automation systems, have led to a broad-based interest in

the use of robots capable of performing a variety of manufacturing functions in a more

flexible working environment and at lower production costs.

The word robot originated from the Czech word robota, meaning work.

Webster's dictionary defines robot as "an automatic device that performs functions

ordinarily ascribed to human being." With this definition, washing machines may be

considered robots. A definition used by the Robot Institute of America gives a more

precise description of industrial robots: "A robot is a reprogrammable multi-functional

Page 11: A Study in Industrial Robot Programming

manipulator designed to move materials, parts, tools, or specialized devices, through

variable programmed motions for the performance of variety of tasks." In short, a

robot is reprogrammable general-purpose manipulator with external sensors that can

perform various assembly tasks. With this definition, a robot must possess

intelligence, which is normally due to computer algorithms associated with its control

and sensing systems.

An industrial robot is a general-purpose, computer controlled manipulator

consisting of several rigid links connected in series by revolute or prismatic joints.

One end of the chain is attached to a supporting base, while the other end is free and

equipped with a tool to manipulate objects or perform assembly task. The motion of

the joints results in relative motion of the links. Mechanically, a robot is composed of

an arm (or mainframe) and wrist subassembly plus a tool. It is designed to reach a

workpiece located within its work volume. The work volume is the sphere of influence

of a robot whose arm can deliver the wrist subassembly unit to any point within the

sphere. The arm subassembly generally can move with three degrees of fieedom. The

combination of the movements positions the wrist unit at the workpiece. The wrist

subassembly unit usually consists of three rotary motions. The combination of these

motions orients the tool according to the configuration of the object for ease in pickup.

These last three motions are often called pitch, yaw, and roll. Hence, for a six-jointed

robot, the arm subassembly is the positioning mechanism, while the wrist subassembly

is the orientation mechanism.

Many commercially available industrial robots are widely used in

manufacturing and assembly tasks, such as material handling, sport/arc welding, parts

assembly, paint spraying, loading and unloading numerically controlled machines,

space and undersea exploration, prosthetic arm research, and in handling hazardous

materials. These robots fall into one of the four basic motion-defining categories

(Fig.2.1):

Page 12: A Study in Industrial Robot Programming

Reclangular Cmrd5nale Robot

- - -.----*--* Cylindricat Coosdinale Robd

c-

--.*- --,--#

Speihl Goordinate Robot Articulaked A m Robot

Figure 2.1 : Motion Defrning Categories

Most of today's industrial robots, though controlled by mini and

microcomputers, are basically simple positional machines. They execute a given task

by playing back prerecorded or preprograrnmed sequences of motions that have been

previously guided or taught by a user with a hand-held control-teach box. Moreover,

these robots are equipped with little or no external sensors for obtaining the

information vital to its working environment. As a result, robots are used mainly in

relative simple, repetitive tasks.

Page 13: A Study in Industrial Robot Programming

2.2 Historical Development

The word robot was introduced into the English language in 1921 by the

playwright Karel Capek in his satirical drama, R. UR. (Rossum's Universal Robots).

In this work, robots are machines that resemble people, but work tirelessly. Initially,

the robots were manufactured for profit to replace human workers but, toward the end,

the robots turned against their creators, annihilating the entire human race. Capek's

play is largely responsible for some of the views popularly held about robots to this

day, including the perception of robots as humanlike machines endowed with

intelligence and individual personalities. This image was reinforced by the 1926

German robot f11m Metropolis, by the walking robot Electro and his dog Sparko,

displayed in 1939 at the New York World's Fair, and more recently by the robot CP30

featured in the 1977 film Star Wars. Modern industrial robots certainly appear

primitive when compared with the expectations created by the communications media

during the past six decades.

Early work leading to today's industrial robots can be traced to the period

immediately following Worl War 11. Dunng the late 1940s research programs were

started at the Oak Ridge and A r g 0 ~ e National Laboratories to develop remotely

controlled mechanical manipulators for handling radioactive materials. These systems

were of the "master-slave" type, designed to reproduce faithfully hand and arm

motions made by a human operator. The master manipulator was guided by the user

through a sequence of motions, while the slave manipulator duplicated the master unit

as closely as possible. Later, force feedback was added by mechanically coupling the

motion of the master and slave units so that the operator could feel the forces as they

developed between the slave manipulator and its environment. In the mid-1950s the

mechanical coupling was replaced by electric and hydraulic power in manipulators

such as General electric's Handyman and the Minotaur I built by General Mills.

Page 14: A Study in Industrial Robot Programming

8

The work on master-slave manipulators was quickly followed by more

sophisticated systems capable of autonomous, repetitive operations. In the mid-1950s

George C. Devol developed a device he called a "programmed articulated transfer

device," a manipulator whose operation could be programmed (and thus changed) and

which could follow a sequence of motion steps determined by the instructions in the

program. Further development of this concept by Devol and Joseph F. Engelberger led

to the first industrial robot, introduced by Unimation Inc. in 1959. The key to this

device was the use of a computer in conjunction with a manipulator to produce a

machine that could be "taught" to cany out a variety of tasks automatically. Unlike

hard automation machines, these robots could be reprogrammed and retooled at

relative low cost to perform other jobs as manufacturing requirements changed.

While programmed robots offered a novel and powerful manufacturing tool, it

became evident in the 1960s that the flexibility of these machines could be enhanced

significantly by the use of sensory feedback. Early in that decade, H.A.Ernst [I9621

reported the development of a computer-controlled mechanical hand with tactile

sensors. This device, called the MH-1, could "feel" blocks and use this information to

control the hand so that it stacked the blocks without operator assistance. This work is

one of the first examples of a robot capable of adaptive behavior in a reasonably

unstructured environment. The manipulative system consisted of an ANL Model-8

manipulator with 6 degrees of fieedom controlled by a TX-0 computer through an

interfacing device. This research program later evolved as part of project MAC, and a I

television camera was added to the manipulator to begin machine perception research.

During the same period, Tomovic and Boni [I9621 developed a prototype hand

equipped with a pressure sensor which sensed the object and supplied an input

feedback signal to a motor to initiate one of two grasp patterns. Once the hand was in

contact with the object, information proportional to object size and weight was sent to

a computer by these pressure sensitive elements. In 1963, the American Machine and

Foundry Company (AMF) introduced the VERSATRAN commercial robot. Starting

in the same year, various arm designs for manipulators were developed, such as the

Roehampton arm and the Edinburgh arm.

Page 15: A Study in Industrial Robot Programming

In the late 1960s, McCarthy [I9681 and his colleagues at the Stanford Artificial

Intelligence Laboratory reported development of a computer with hands, eyes, and

ears (i.e., manipulators, TV cameras, and microphones). They demonstrated a system

that recognized spoken messages "saw" blocks scattered on a table, and manipulated

them in accordance with instructions. During this period, Pieper [I9681 studied the

kinematics problem of computer-controlled manipulator using bang-bang (near

minimum time) control.

Mean while, other countries (Japan in particular) began to see the potential of

industrial robots. As early as 1968, the Japanese company Kawasaki Heavy Industries

negotiated a license with Unimation for its robots. One of the more unusual

developments in robots occurred in 1969, when an experimental wallung truck was

developed by the General Electric Company for the U.S Army. In the same year, the

Boston arm was developed, and in the following year the Stanford arm was developed,

which was equipped with a camera and computer controller. Some of the most serious

work in robotics began as these arms were used as robot manipulators. One

experiment with the Stanford arm consisted of automatically stacking blocks

according to various strategies. This way very sophisticated work for an automated

robot at that time. In 1974, Cincinnati Milacron introduced its first computer-

controlled industrial robot. Called "The Tomorrow Tool," or f, it could lift over 100

lb as track moving objects on an assembly line.

During the 1970s a great deal of research work focused on the use of external

sensors to facilitate manipulative operations. At Stanford, Bolles and Paul [1973],

using both visual and force feedback, demonstrated a computer-controlled Stanford

arm connected to a PDP-10 computer for assembling automotive water pumps. At

about the same time, Will and Grossman [I9751 at IBM developed a computer-

controlled manipulator with touch and force sensors to perform mechanical assembly

of a 20-part typewriter. Inoue [I 9741 at the MIT Artificial Intelligence Laboratory

worked on the artificial intelligence aspects of force feedback. A landfall navigation

search techniques was used to perform initial positioning in a precise assembly task.

Page 16: A Study in Industrial Robot Programming

At the Draper Laboratory Nevins et al. [I9741 investigated sensing techniques based

on compliance. This work developed into the instrumentation of a passive compliance

device called remote center compliance (RCC) which was attached to the mounting

plate of the last joint of the manipulator for close parts-mating assembly. Bejczy

[1974], at the Jet Propulsion Laboratory, implemented a computer-based torque

control technique on his extended Stanford arm for space exploration projects. Since

then, various control methods have been proposed for servoing mechanical

manipulators.

2.3 Robot Programming

One major obstacle in using manipulators as general-purpose assembly

machines is the lack of suitable and efficient communication between the user and the

robotic system so that the user can direct the manipulator to accomplish a given task.

There are several ways to communicate with a robot, and the three major approaches

to achieve it are discrete word recognition, teach and playback, and high-level

programming languages.

Current state-of-the-art speech recognition is quite primitive and generally

speaker-dependent. It can recognize a set of discrete words from a limited vocabulary

and usually requires the user to pause between words. Although it is now possible to

recognize words in real time due to faster computer components and efficient

processing algorithms, the usefulness of discrete word recognition to describe a task is

limited. Moreover, it requires a large memory space to store speech data, and it usually

requires a training period to build up speech templates for recognition.

Page 17: A Study in Industrial Robot Programming

Teach and playback, also known as guiding, is the most commonly used

method in present-day industrial robots. The method involves teaching the robot by

leading it through the motions the user wishes the robot to perform. Teach and

playback is typically accomplished by the following steps:

1 . Leading the robot in slow motion using manual control through the

entire assembly task and recording the joint angles of the robot at

appropriate locations in order to replay the motion

2. Editing and playing back the taught motion

3. If the taught motion is correct, then the robot is run at an appropriate

speed in a repetitive mode.

Leading the robot in slow motion usually can be achieved in several ways,

using a joystick, a set of pushbuttons (one for each joint), or a master-slave

manipulator system. Presently, the most commonly used system is a manual box with

pushbuttons. With this method, the user moves the robot manually through the space,

and presses a button to record any desired angular position of the manipulator. The

manipulator has traversed the set-points of the trajectory from the set of angular

positions that was recorded. These position set-points are then interpolated by

numerical methods, and the robot is "played back" along the smoothed trajectory. In

the edit-playback mode, the user can edit the recorded angular positions and make sure

that the robot will run repeatedly according to the edited and smoothed trajectory. If

the task is changed, then the above three steps are repeated. The advantages of this

method are that it requires only a relatively small memory space to record angular

positions and it is simple to learn. The main disadvantage is that it is difficult to utilize

this method for integrating sensory feedback information into the control system.

High-level programming languages provide a more general approach to

solving the human-robot communication problem. In the past decade, robots have

been successfully used in such areas as arc welding and spray painting using guiding

(Engelberger [1980]). These tasks require no interaction between the robot and the

Page 18: A Study in Industrial Robot Programming

environment and can be easily programmed by guiding. However, the use of robots to

perform assembly tasks requires high-level programming techniques because robot

assembly usually relies on sensory feedback, and this type of unstructured interaction

can only be handled by conditionally programmed methods.

Robot programming is substantially different fiom traditional programming.

We can identify several considerations which must be handled by any robot

programming method: The objects to be manipulated by a robot are three-dimensional

objects which have a variety of physical properties; robots operate in a spatially

complex environment; the description and representation of three-dimensional objects

in a computer are imprecise; and sensory information has to be monitored,

manipulated, and properly utilized. Current approaches to programming can be

classified into two major categories: robot-oriented programming and object-oriented,

or task-level programming.

In robot-oriented programming, an assembly task is explicitly described as a

sequence of robot motions. The robot is guided and controlled by the program

throughout the entire task with each statement of the program roughly corresponding

to one action of the robot. On the other hand, task-level programming describes the

assembly task as a sequence of positional goals of the objects rather than the motion of

the robot needed to achieve these goals, and hence no explicit robot motion is

specified.

Page 19: A Study in Industrial Robot Programming

2.4 Cubic Spline

Many researchers have proposed the use of polynomial functions in terms of

time for real time Cartesian space trajectory generation. The simplest method in this

approach has been proposed by Luh [17], Paul [IS] and Brock [8]. In this method, two

end points are joined by a combination of linear segment with constant speed and the

transition with parabolic, fourth order polynomials or with the combination of constant

acceleration and squared sinus functions for smooth portion above trajectory. The

major two disadvantages in this method are:

1 . The trajectory does not pass through the via points and deviates fiom them by

an unknown amount.

2. Due to the fixed path geometry, we cannot reproduce circles, skew curves or

any curve with any accuracy other than a piece-wise straight line.

Kant [I91 has proposed the formation of first geometrically defined trajectory

and then to define trajectory and then to defme the velocity law for this trajectory. The

major advantage of this method is that the manipulator can traverse the same path with

different velocities. Wu [20] has used the same approach by defining the orientation of

end effector in Frenet axes whereas Froissart [4] uses Quartenion representation to

reduce the burden of computation. Montillet [21] has shown the difficulties in

calculating the tangents at the end points in this last method. Haddad [5] has also

presented the same approach using B-Spline for geometrically constrained path. These

methods have heavy computation due to the numerical methods involved. Shafaat

Ahmed Bazaz [3] has proposed a new concept of trajectory planning method so that

the trajectory generation may be possible on-line and interactively using 3-Cubic

spline method. In this paper, Shafaat Ahrned Bazaz has solved the same problem of

generating first the geometrically defined path and then defining a velocity law for it

in such a manner that the whole planning may be done on-line and interactively.

Page 20: A Study in Industrial Robot Programming

2.5 MATLAB Programming

In this research, we intend to write user-defied function based on cubic spline

fitting using MATLAB. This is because, MATLAB@ is a high-performance language

for technical computing. It integrates computation, visualization, and programming in

an easy-to-use environment where problems and solutions are expressed in familiar

mathematical notation. Typical uses include:

Math and computation

Algorithm development

Data acquisition

Modeling, simulation, and prototyping

* Data analysis, exploration, and visualization

Scientific and engineering graphics

Application development, including graphical user interface building

MATLAB is an interactive system whose basic data element is an array that

does not require dimensioning. This allows us to solve many technical computing

problems, especially those with matrix and vector formulations, in a fraction of the

time it would take to write a program in a scalar noninteractive language such as C or

Fortran. The name MATLAB stands for matrix laboratory. MATLAB was originally

written to provide easy access to matrix software developed by the LINPACK and

EISPACK projects. Today, MATLAB engines incorporate the LAPACK and BLAS

libraries, embedding the state of the art in software for matrix computation. MATLAB

has evolved over a period of years with input from many users. In university

environments, it is the standard instructional tool for introductory and advanced

courses in mathematics, engineering, and science. In industry, MATLAB is the tool of

choice for high-productivity research, development, and analysis. MATLAB features a

family of add-on application-specific solutions called toolboxes. Very important to

most users of MATLAB, toolboxes allow you to learn and apply specialized

Page 21: A Study in Industrial Robot Programming

technology. Toolboxes are comprehensive collections of MATLAB functions (M-

files) that extend the MATLAB environment to solve particular classes of problems.

Areas in which toolboxes are available include signal processing, control systems,

neural networks, fuzzy logic, wavelets, simulation, and many others.

MATLAB0 provides interfaces to external routines written in other

programming languages, data that needs to be shared with external routines, clients or

servers communicating via Component Object Model (COM) or Dynamic Data

Exchange (DDE), and peripheral devices that communicate directly with MATLAB.

Much of this interf'ace capability was formerly referred to under the title of the

MATLAB Application Program Interf'ace, or API.

MATLAB serial port interface provides direct access to peripheral devices

such as modems, printers, and scientific instruments that you connect to your

computer's serial port. This interface is established through a serial port object. The

serial port object supports functions and properties that allow you to Configure serial

port communications Use serial port control pins Write and read data Use events and

callbacks Record information to disk If you want to communicate with PC-compatible

data acquisition hardware such as multifunction I/O boards, you need the Data

Acquisition Toolbox. If you want to communicate with GPIB- or VISA-compatible

instruments, you need the Instrument Control Toolbox. Note that this toolbox also

includes additional serial I/0 utility functions that facilitate object creation and

configuration, instrument communication, and so on.

Page 22: A Study in Industrial Robot Programming

CHAPTER I11

METHODOLOGY

Referring to Fig. 3.1 and Fig. 3.2, there were two stages involved in this

research which equivalent to the research scope. The figure was intended to feature the

entire research process. Initially, the first stage was highlighting the preparation and

familiarization level. The familiarization stages were carried out by several practical

experiments with a help by Mitsubishi robot instruction manual. Basically, the

experiment is divided into four categories:

1) Familiarization with the robot controller(CR1-571)

2) Familiarization with the teach pendant(R28TB)

3) Familiarization with the personal computer support software (MELFA)

4) Familiarization with the robot programming language.

Instead of to familiarize with the robot operation control, a set of laboratory

sheets were produced from this exercise. Since the instruction manual given by the

suppliers or manufacturer does not specialize to the Mitsubishi RV-2AJ robot, lab

sheets will serve as a reference material to the students or lecturers so that there will

be no problem in future work.

Page 23: A Study in Industrial Robot Programming

The second stage is regarding to MATLAB programming. At this stage, a user-

defined trajectory planning routine based on the cubic spline fitting function was

developed. MATLAB@ is a high-performance language for technical computing. It

integrates computation, visualization, and programming in an easy-to-use environment

where problems and solutions are expressed in familiar mathematical notation.

START (7 Controller

Familiarization with Teaching Pendant

Familiarization with MELFA PC TOOL Personal Computer Support Software

(OFF-LINE PROGRAMMING)

Familiarization with robot programming language:

1 .MELFA BASIC-IV

Figure 3.1 : PART I - Familiarization

Page 24: A Study in Industrial Robot Programming

START 5' MATLAB

Programming (Cubic Spline)

b

v 7

Simulation the program

Alter the program accordingly

4

Position of robot end effector

Figure 3.2: PART 11 - MATLAB Programming

Page 25: A Study in Industrial Robot Programming

CHAPTER IV

RESEARCH FINDING & DISCUSSION PART I

This chapter explains the functions and operation methods of the controller CR1-571,

teach pendant (R28TB), programming language, and the functions and specification of

the Personal Computer Support Software (MELFA PC TOOL).

4.1 Components of Robot System

Figure 4.1 below show the component of robot system that was used in this

research. An articulated Mitsubishi RV-2AJ five axis robot contains five degree of

freedom manipulator or five rotating actuator. The system of the robot has been

designed to allow control of the robot from the manual control pendant called teaching

box (R28TB). Teaching box is used to control the various joint motors, and to power

drive the robot arm and wrist through a series of point in space. Each point is stored in

memory for playback during the work cycle. The CR1-571 controller can support 1

standard RS-232C, 2 optional expansion serial cards (2 port per card), totaling 5 ports.

Page 26: A Study in Industrial Robot Programming

Standard RS-232C port normally connects to a PC for robot program transferring and

debugging done with the PC support software.

&F--- Robot c , . t RV-24J (5-)

E*_ - CRl -S

Contml

t' . 2

4A-HPB1 E

Standard Device Machine cable " " C0mposKIon S e

Electric. hand set 4A-H MLS1

Teaching box R28TB Personal computer

{supplied by customer)

Figure 4.1 : Components Of Robot System

Optional cards can link with vision sensor and external devices for data

communication as shown in Fig.4.2. Communication is performed using the

communication instructions (OPEN, CLOSE, PRINT, INPUT, etc.) in the robot

program. This is referred to as data link. The controller cannot be controlled fiom

external devices such as a PC (i.e., automatic execution or status monitoring).