LECTURE ¹15
CNC PROGRAMMING AND INDUSTRIAL
ROBOTICS. CNC PROGRAMMING: FUNDAMENTALS
15.1. CNC
PROGRAMMING: FUNDAMENTALS
CNC part program contains a
combination of machine tool code and machine-specific instructions. It consists of:
·
information
about part geometry;
·
motion
statements to move the cutting tool;
·
cutting speed;
·
feed;
·
auxiliary
functions such as coolant on and off, spindle direction.
In this lecture, first we
will understand the coordinate systems of the machine tools and how they work.
CNC Machine Tool
Figure 15.1.1. Schematic of a CNC machine Tool
Figure 15.1.1 shows a schematic of a machine tool controlled by
a computer. It consists of a Machine Control Unit (MCU) and machine tool
itself. MCU, a computer is the brain of a CNC machine tool. It reads the part
programs and controls the machine tools operations. Then it decodes the part
program to provide commands and instructions to the various control loops of
the machine axes of motion. The details regarding the construction and working
of mechatronics based system have already been studied in last lectures. CNC
systems have a limitation. If the same NC program is used on various machine
tools, then it has to be loaded separately into each machine. This is time
consuming and involves repetitive tasks. For this purpose direct numerical
control (DNC) system is developed. Figure 15.1.2 shows the schematic of a DNC system. It consists of a
central computer to which a group of CNC machine tools are connected via a
communication network. The communication is usually carried out using a
standard protocol such as TCP/IP or MAP. DNC system can be centrally monitored
which is helpful when dealing with different operators, in different shifts,
working on different machines.
Fig. 15.1.2. Direct numerical
control (DNC) system
15.2. AXES OF
CNC MACHINE TOOL
Fig. 15.2.1. Axes of motion of a machine
tool
In CNC machine tool, each
axis of motion is equipped with a driving device to replace the hand wheel of the
conventional machine tool. A axis of motion is defined as an axis where
relative motion between cutting tool and workpiece occurs. The primary axes of
motion are referred to as the X, Y, and Z axes and form the machine tool XYZ
coordinate system. Figure 15.2.1 shows the
coordinate system and the axes of motion of a typical machine tool.
Conventionally machine tools are designated by the number of axes of motion
they can provide to control the tool position and orientation.
If the machine tool can
simultaneously control the tool along two axes, it is classified as a 2-axis
machine. The tool will be parallel and independently controlled along third
axis. It means that machine tool guided the cutting tool along a 2-D contour
with only independent movement specified along the third axis. The Z-axis
control plane is parallel to the XY plane.
15.3. CNC
PROGRAM STRUCTURE
There are four basic terms
used in CNC programming. These are a follows: Character –> Word –> Block –> Program:
Character is the smallest
unit of CNC program. It can have Digit / Letter / Symbol.
Word is a combination of
alpha-numerical characters. This creates a single instruction to the CNC
machine. Each word begins with a capital letter, followed by a numeral. These
are used to represent axes positions, federate, speed, preparatory commands,
and miscellaneous functions.
A program block may contain
multiple words, sequenced in a logical order of processing.
The program comprises of
multiple lines of instructions, ‘blocks’ which will be executed by the machine
control unit (MCU).
Figure 15.3.1 shows a sample
CNC program. It has basically three sections viz. initial commands section;
main section and end commands section. In the initial commands section, the
program number, its ID, initial safety preparatory codes such as «cancel all the activated cycles by previous program» are to be specified.
In the main section,
commands/instructions related the machine tool axes movements, tool change etc.
At the end, the commands instructing cancellation of cycles, homing the tool
and program end are to be provided.
The address G identifies a
preparatory command, often called G-code. This is used to preset or to prepare
the control system to a certain desired condition or to a certain mode or a
state of operation. For example G01 presets linear interpolation at given feed
but does not move any
axis.
The address M in a CNC
program specifies miscellaneous function. It is also called as machine
function. These functions instruct the machine tool for various operations such
as: spindle rotation, gear range change, automatic tool change, coolant
operation, etc.
Fig. 15.3.1. Sample CNC
program
The G and M codes are
controller manufacturers’ specific. In this course, we will be following the G
and M codes used for FANUC, Japan controller. Other controllers such as
SINUMERIC, MITSUBHISHI etc. are also being used in CNC technology.
It is suggested to the
readers to study the following G and M codes for milling and turning
operations.
15.4. INDUSTRIAL ROBOTICS
Introduction
An industrial robot is a
general-purpose, programmable machine. It possesses some anthropomorphic
characteristics, i.e. human-like characteristics that resemble the human
physical structure. The robots also respond to sensory signals in a manner that
is similar to humans. Anthropomorphic characteristics such as mechanical arms
are used for various industry tasks. Sensory perceptive devices such as sensors
allow the robots to communicate and interact with other machines and to take
simple decisions. The general commercial and technological advantages of robots
are listed below:
Robots are good substitutes
to the human beings in hazardous or uncomfortable work environments.
A robot performs its work cycle
with a consistency and repeatability which is difficult for human beings to
attain over a long period of continuous working.
Robots can be reprogrammed.
When the production run of the current task is completed, a robot can be
reprogrammed and equipped with the necessary tooling to perform an altogether
different task.
Robots can be connected to
the computer systems and other robotics systems. Nowadays robots can be
controlled with wire-less control technologies. This has enhanced the
productivity and efficiency of automation industry.
Robot anatomy
and related attributes
The manipulator of an
industrial robot consists of a series of joints and links. Robot anatomy deals
with the study of different joints and links and other aspects of the manipulator’s
physical construction. A robotic joint provides relative motion between two
links of the robot. Each joint, or axis, provides a certain degree-of-freedom
(dof) of motion. In most of the cases, only one degree-of-freedom is associated
with each joint. Therefore the robot’s complexity can be classified according
to the total number of degrees-of-freedom they possess. Each joint is connected to two links, an input link
and an output link. Joint provides controlled relative movement between the input
link and output link. A robotic link is the rigid component of the robot
manipulator. Most of the robots are mounted upon a stationary base, such as the floor.
From this base, a joint-link numbering scheme may be recognized as shown in
Figure 15.4.1. The robotic
base and its connection to the first joint are termed as link – 0. The first joint in the sequence is joint – 1. Link – 0 is the input link for joint – 1, while the output link from joint – 1 is link – 1– which leads to joint – 2. Thus link 1 is, simultaneously, the output link for joint – 1 and the input link for joint – 2. This joint-link-numbering scheme is further
followed for all joints and links in the robotic systems.
Fig. 15.4.1. Joint-link
scheme for robot manipulator
Nearly all industrial robots
have mechanical joints that can be classified into following five types as
shown in Figure 15.4.2.
Fig. 15.4.2. Types of Joints
·
Linear joint
(type L – joint):
The relative movement
between the input link and the output link is a translational sliding motion,
with the axes of the two links being parallel.
·
Orthogonal joint
(type U – joint):
This is also a translational
sliding motion, but the input and output links are perpendicular to each other
during the move.
·
Rotational joint
(type R – joint):
This type provides
rotational relative motion, with the axis of rotation perpendicular to the axes
of the input and output links.
·
Twisting joint
(type T – joint):
This joint also involves
rotary motion, but the axis or rotation is parallel to the axes of the two
links.
·
Revolving joint
(type V – joint, V from
the «v» in revolving):
In this type, axis of input
link is parallel to the axis of rotation of the joint. However the axis of the
output link is perpendicular to the axis of rotation.
Drive systems
Basically three
types of drive systems are commonly used to actuate robotic joints. These are
electric, hydraulic, and pneumatic drives. Electric motors are the prime movers
in robots. Servo-motors or steeper motors are widely used in robotics.
Hydraulic and pneumatic systems such as piston-cylinder systems, rotary vane
actuators are used to accomplish linear motions, and rotary motions of joints
respectively.
Pneumatic drive
is regularly used for smaller, simpler robotic applications; whereas electric
and hydraulic drives may be found applications on more sophisticated industrial
robots. Due to the advancement in electric motor technology made in recent
years, electric drives are generally favored in commercial applications. They
also have compatibility to computing systems. Hydraulic systems, although not
as flexible as electrical drives, are generally used where larger speeds are
required. They are generally employed to carry out heavy duty operations using
robots. The combination of drive system, sensors, and feedback control system
determines the dynamic response characteristics of the manipulator. Speed in
robotic terms refers to the absolute velocity of the manipulator at its
end-of-arm. It can be programmed into the work cycle so that different portions
of the cycle are carried out at different velocities. Acceleration and
deceleration control are also important factors, especially in a confined work
envelope. The robot’s ability to control the switching between velocities is a
key determinant of the manipulator’s capabilities. Other key determinants are
the weight (mass) of the object being manipulated, and the precision that is
required to locate and position the object correctly. All of these determinants
are gathered under the term «speed of response», which is
defined as the time required for the manipulator to move from one point in
space to the next. Speed of response influences the robot’s cycle time, which
in turn affects the production rate that can be achieved.
Stability refers
to the amount of overshoot and oscillation that occurs in the robot motion at
the end-of-arm as it attempts to move to the next programmed location. More
oscillations in the robotic motion lead to less stability in the robotic
manipulator. However, greater stability may produce a robotic system with
slower response times. Load carrying capacity is also an important factor. It
is determined by weight of the gripper used to grasp the objects. A heavy
gripper puts a higher load upon the robotic manipulator in addition to the
object mass. Commercial robots can carry loads of up to 900 kg, while
medium-sized industrial robots may have capacities of up to 45kg.