You are on page 1of 40

Module 6

Robot Programming:
Programming methods, Robot language classification, Robot
language structure, elements and its functions.
Motion, End-effecter and Sensor commands in VAL
programming language. E S . I N
O T
Simple programs. KTUN

Industrial applications of Robots in material handling and


assembly. Mobile robots, Recent developments in Robotics.

Ref: Mikell and Groover, Industrial Robotics – Technology, Programming and Application
1
Downloaded from Ktunotes.in
Programming Methods

• Robots can be programmed in different way, depends on


the
type of robot and its complexity.

Broad Classification
Online:
E S . I N
Used in basic applications like spray painting and simple pick
and place. U N O T
K T
On line programming is a record play-back approach where
the Robot plays back a sequence of moves.

Offline:
Here the program uses a high level computer language which
gives the Robot decision making power.
It needs a large amount of computing power and
incorporates the use of sensors on the Robot or within its 2
Downloaded from Ktunotes.in
1. Physical Setup:
The operator setup switches that control the robots motion.

2. Lead Through (Teach Method):


The robots joints are moved by a programmer though the
desired motion path. E S . I N
U
When the desired location N O T
is reached, the location details
K T
and the path followed will be stored in the memory.
Later, during the working, based on the data in the memory,
the robot will move its arm.

3
Downloaded from Ktunotes.in
S . I N
T U N OTE
K

4
Downloaded from Ktunotes.in
S . I N
T U N OTE
K
Manual lead through
Human programmer
physically moves
manipulator Powered lead through uses
teach pendant

5
Downloaded from Ktunotes.in
3. Textual Robot language:
This method is similar to the computer programming. The
movement of the robot will be written in the memory using
some high level English like language

S . I N
T U N OTE
K

6
Downloaded from Ktunotes.in
Robot language classification: (Home work/Assignment)
http://www.roboticsbible.com/robot-programming-languages.html

S . I N
T U N OTE
K

7
Downloaded from Ktunotes.in
Robot Language Structure
Ref: Mikell and Groover, Industrial Robotics – Technology, Programming and Applicatio

S . I N
T U N OTE
K

Diagrammatic representation of robotic system 8


Downloaded from Ktunotes.in
Operating Systems
• Operating system is a mechanism that allows the user
to
write a new program or edit an existing program or to
execute a program.
• It facilitate the operation of the robot by the user and
to
maximize the performance and efficiency and
associated E S . I N
U N O T
peripheral devices. K T
It must contain 3 basic modes of operation:
1. Monitor Mode – Supervisory
2. Run Mode – Execution of program
3. Edit Mode – Debugging

9
Downloaded from Ktunotes.in
• Monitor mode is used to accomplish overall supervisory
control.
• It also known as supervisory mode.
• In this mode, the user can define the location in space using
the
teach pendant.
• user can set the speed, store programs, transfer programs
from
storage memory to control O E
memoryS . I N
and switch between
U N T
other K T
modes such as edit or run modes.

• Run mode is for Execution of a robot program which is


already
written.
• The robot will be performing certain tasks through a
sequence of 10
instructions. Downloaded from Ktunotes.in
• Edit Mode provides an instruction set that allows the user
to
write new programs or to edit the existing programs.
• The editing will be based of the debugging done during the
run
mode.
• Editing includes adding of new instructions, deleting or
changing . I N
the parameter values etc. O T E S
KTU N
• The robot languages can be processed using either an
Interpreter or by a compiler.
Interpreter: Line by line execution of source program: E.g.
VAL
Compiler: Execute the source program as a whole: E.g. MCL

• Processing by interpreter is more easy to debug and edit11


Downloaded from Ktunotes.in
Robot Language Elements & Functions
Various basic elements and function that should be
incorporated into the language to enable the robot to perform
tasks:
• Constants, Variables & other Data Objects
• Motion Commands
• End Effectors & Sensor Commands
• Computations & Operations
E S . I N
• Program Control &T U N O T
Subroutines
K
• Communications & Data Processing
• Monitor Mode Commands

12
Downloaded from Ktunotes.in
Constants, Variables & Other Data Objects

• Constant: Value that does not change during the


execution of a program
• Variable: It is a symbol or symbolic name whose value
does changes during the execution of the program
• Constants & Variables are real numbers
• Range of values depends O onT E
the S . I N
computer/language
• The bit capacity K T U N
of the CPU determines the range
• String: Sequence of 8 bit alphanumeric characters or
symbols surrounded by a marker ‘ ’
E.g. ‘robot’

13
Downloaded from Ktunotes.in
Aggregates & Location Variables
• Aggregate: An ordered set of constants or variables
E.g. In AML language, aggregate is written inside <>
symbol and each element is separated by comma
<50.232, 56.211, sample>
<‘hai’, ‘class’, ‘work’ >
S . I N
• TUN
Mainly used to specify OTE
joint coordinate values in robots
K

14
Downloaded from Ktunotes.in
Defining Points in workspace

• For the movement of robot in workspace, programmer


has to define the coordinate points.
• This can be done using the teach pendant and writing
commands in the program.

DEFINE A1 = POINT<50.32, 56.1, 14.2,IN


2.5, 56.7>
T E S .
HERE A1 U N O
KT
DEFINE : For defining the point with name A1. First three
values defines the position of wrist w.r.t to x,y and z
axes and the remaining represents the rotation

HERE : For moving the robot to the defined point A1


15
Downloaded from Ktunotes.in
Path and Frame

• Several points can be connected together to define a path


in workspace.
DEFINE PATH1 = PATH(A1, A2,A3, A4)
MOVE PATH1
• For using the points A1, A2,A3 and A4, it should be
previously defined using the POINT function.
S . I N
• Defining movementT U N
w.r.t
OTE
to a frame
K
DEFINE FRAME1 = FRAME(A1, A2,A3)

16
Downloaded from Ktunotes.in
Motion Commands
• Used for controlling the movement of the manipulator arm.
• Uses “MOVE” Command
• MOVES: S in the command is to move in straight line
• This causes the end effecter to move from present
position to the defined position (Absolute Move)
MOVE A1 VIA A2
• The command tells the robot to move . I its arm to point A1
N
through the point A2. O T E S
K T U N
• APPRO: Used to move the end effector to the vicinity of
the
point along z axis.
• DEPART: Used to move end effector away from the point
A1.

17
Downloaded from Ktunotes.in
• Sample Program: Pick and Place application
APPRO A1, 50
MOVES A1
SIGNAL (to close gripper)
DEPART 50

• Incremental Move: Required to define


E S . I Ndirection and
distance to U N O T
move. K T
Eg:
DMOVE(1,10) joint 1 is moved 10 units

DMOVE(<4,5,6>,<30,-60,90>) move on axes 4,5 and 6 by


o o o
30 , -60 , 90 respectively

DMOVE: IncrementalDownloaded
or Deltafrom
move
Ktunotes.in
18
Speed Control

• Speed command is used to define the velocity of the


robotic
arm movement.
SPEED 60 IPS
Speed of the end effector should be 60 inch per second
S . I N
T
• If no unit is specifiedU N OTE
K for the speed
SPEED 60
Robot will move at a speed of 60% of its normal speed of
operation

19
Downloaded from Ktunotes.in
End Effector & Sensor Commands
End effector commands for Grippers
• OPEN and CLOSE commands are used to control the
end effector. Happens during execution of next motion.
• OPENI and CLOSEI, used to control it immediately.
E.g.
• Closing the gripper to an opening of . I 40mm
N
T E S
CLOSE 40 MMTUNO
K
• Closing the gripper to an opening of 1.575 inch
CLOSE 1.575 IN
• Grippers with force sensors can be used to provide a
particular force to the object using command
CLOSE 3.0 LB
Here 3LB gripping force is applied
20
Downloaded from Ktunotes.in
End effector commands for Tools
• Used when powered tools are connected as end effector
instead of grippers.
• OPERATE statement is used for controlling the tool.
Example: powered screw driver
1. OPERATE TOOL (SPEED = 125 RPM)
2. OPERATE TOOL (TORQUE = 5 IN LB)
3. OPERATE TOOL (TIMET=E5S .IN
SEC)
U N O
KTtells the tool to rotate at speed of 125
The first statement
rotation per minute.
Second statement tells it to rotate at a torque of 5 inch lb
Third statement is for rotating the tools for 5 seconds,
after that the operation will terminate.

21
Downloaded from Ktunotes.in
Sensor Operation
• Statements that are used to get the output from sensors
and to
out the signals from microcontroller.
SIGNAL: instruct the robot controller to output a signal
WAIT: instruct the robot to wait at its current location until
it N
S . I
receives a signal. NOTE
K T U
It can be used for getting the feedback signal
E.g. 1
1. Different ports or lines of the robot controller can be
turned ON or OFF using the signal command.
SIGNAL 3, ON output port 3 is turned ON
------------------- execution of different command
------------------- Downloaded from Ktunotes.in 22
E.g. 2:
Setting analog voltages at the ports of the controller.
For this separate ports has to assigned on the controller.

SIGNAL 105, 4.5


This command will set a 4.5 volt analog signal at the 105th
S . I N
port of the controller. NOTE
KTU

23
Downloaded from Ktunotes.in
• It is possible to define the port number using variable
names for easy understanding.
E.g. Port 5 is set as output port and is connected to a
motor and port 15 is set as input port and is connected
to get signal from a sensor.
DEFINE MOTOR1 = OUTPORT 5
DEFINE SENSOR1 = INPORT 15
SIGNAL MOTOR1, ON OTE S . I N
K ONT U N
WAIT SENSOR1,
----------------------------------------
----------------------------------------
SIGNAL MOTOR1, OFF
WAIT SENSOR1, OFF

24
Downloaded from Ktunotes.in
Ques: Write command for providing 4.5V through the port
105 and check the correctness through the port 15. Use
arbitrary names for the ports in the commands

Ans:
DEFINE ANALOG = OUTPORT 105
DEFINE SENSOR = INPORT 15
S . I N
SIGNAL ANALOG, 4.5 UNOTE
WAIT SENSOR 4.5K T

25
Downloaded from Ktunotes.in
REACT statement
• Used to continuously monitor an incoming signal and to
respond to it.
• It can serve as an interrupt command based on the signal
state.
E.g.
REACT 17, SAFETY
Input line 17 is to monitored, when change N occurs to the
value of the input then branch E S . I
itTto a subroutine or program
N O
called SAFETY. KTU
E.g. It is possible to set the priority if different signals are
there. The number after PRIORITY term will decide the
priority value.

REACT 17, SAFETY (PRIORITY 1)


E.g. 26
REACT 17, 4.5, SAFETY (PRIORITY
Downloaded 1)
from Ktunotes.in
Program control & Subroutines
• Used to control the order or sequence in which the program
is executed.
IF : (Logical Expression or condition statement)
GOTO : used to branch the program
E.g. IF (Logical Expression) GOTO 10
if the condition satisfies, then go to the statement 10
otherwise continue to the next statementN
• Nested if conditions T E S . I
T U N O
K
IF (Logical Expression) THEN
-----------------------------------
-----------------------------------
ELSE
-----------------------------------
-----------------------------------
END
Downloaded from Ktunotes.in
DO statements
• Used for continuous execution of the program until a
desired condition is satisfied.
Syntax:
DO
-------------
------------- . I N
O T E S
UN
UNTIL (logical expression)
KT

Downloaded from Ktunotes.in


Subroutines
• Subroutine is used to define a branching in the program.
E.g.
BRANCH SAFETY
---------------------
---------------------
END BRANCH
.
Here, BRANCH is used to start a subprogram
E S I N and END is to
indicate the end of the program
U N OT
T
SAFETY is a sampleKname of the subprogram
E.g. Branching or subroutine with arguments
SUBROUTINE SAFETY(X)
---------------------
---------------------
END SUBROUTINE
• Shows a subroutine with only one argument
Downloaded from Ktunotes.in
Computations & Operations

• Used for arithmetic and logical operations.


• The evaluation of an expression will be from left to right
with parenthesis used to indicate that expression inside
the parenthesis should be evaluated first.
Addition +
Subtraction - E S . I N
O T
Multiplication *KTUN
Division /
Exponent **
Equal to =

Downloaded from Ktunotes.in


Computations & Operations
• Trigonometric operations (Some Languages)
SIN(A) - sine of angle A
COS(A) - cosine of angle A
TAN(A) - tangent of angle A
COT(A) - cotangent of angle A
EA S . I N
U O T
ASIN(A) - Arc sine ofNangle
K T
ACOS(A) - Arc cosine of angle A
ATAN(A) - Arc tangent of angle A
ACOT(A) - Arc cotangent of angle A

Downloaded from Ktunotes.in


LOG(X) - Natural Logarithm of X
EXP(X) - Exponential function of X
ABS(X) - Absolute value
INT(X) - Largest integer less than or equal to X
SQRT(X) - Square Root of X
EQ - Equal to
NE - Not Equal to E S . I N
U N O T
GT T
- GreaterKThan
GE - Greater Than or Equal To
LT - Less Than
LE - Less than or Equal To

Downloaded from Ktunotes.in


Logical and Relational operators

• Relational Operators give output of 1 if it is true or 0 if


relation is false
VS Gives -1,0 or +1 as output based on whether the
first argument in the expression is less than, equal
to or greater than the second argument.
AND Logical AND operatorTES.IN
U N O
OR Logical OR KToperator
NOT Logical NOT operator

Downloaded from Ktunotes.in


Communications & Data Processing

1. Communication between robot & operator


2. Communication between robot & other peripherals or
robot based systems
– WRITE (“Enter the time required for painting”)
– READ (TIME) S . I N
U N O TE
KT

Downloaded from Ktunotes.in


Monitor Mode Commands

• Teach pendent usage


• For training purpose
– EDIT (name of program)
– EXIT
– STORE E S . I N
U N OT
– READ K T
– DELETE/ERASE
– EXECUTE
– ABORT

Downloaded from Ktunotes.in


Industrial Application of Robotics

• Industrial Robots were designed for for variety of


applications.
• One main application is in the Material Handling and
assembly.
• Material Handling includes applications like material
transfer, loading and unloading T
O ofE S.IN
machines
KT U N
General Consideration of robotic design for material
handling:
• Part Positioning
• Gripper design
• Minimum distance moved
• Robot work volume
• Weight handling capacity
36
• Accuracy and Repeatability
Downloaded from Ktunotes.in
Material Transfer Applications

• Robots are used to move parts from one location to


another.
• This is also called pick and place
• Normally the material will be presented to the robot
conveyor belts or some mechanical feeder.
• The robot will use grippers for holding
E S . INthe material
KTU NOT

37
Downloaded from Ktunotes.in
• Another application is in the use of Pallets for material
transfer
• Mainly used in warehouses
• Large number of material can be placed on the pallets
and then the pallet is handled.

S . I N
T U N OTE
K

38
Downloaded from Ktunotes.in
Loading and Unloading

• Robots are used for service a production machine by


transferring parts to or from the machine.
• E.g. Robots are used in the following production operations;
Die casting
Plastic molding
Forging and related operations
Machine operations TES.IN
U N O
KT

39
Downloaded from Ktunotes.in

You might also like