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 link0. The first joint in the sequence is joint1. Link0 is the input link for joint1, while the output link from joint1 is link1which leads to joint2. Thus link 1 is, simultaneously, the output link for joint1 and the input link for joint2. 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 Ljoint):

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 Ujoint):

This is also a translational sliding motion, but the input and output links are perpendicular to each other during the move.

·          Rotational joint (type Rjoint):

This type provides rotational relative motion, with the axis of rotation perpendicular to the axes of the input and output links.

·          Twisting joint (type Tjoint):

This joint also involves rotary motion, but the axis or rotation is parallel to the axes of the two links.

·          Revolving joint (type Vjoint, 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.