Nothing Special   »   [go: up one dir, main page]

0% found this document useful (0 votes)
12 views73 pages

CADCAM

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 73

Introduction to CAD/CAM

Definition of CAD:
CAD is the Acronym for computer-aided design/computer-aided manufacturing, computer
systems used to design and manufacture products. The term CAD/CAM implies that an
engineer can use the system both for designing a product and for controlling manufacturing
processes. For example, once a design has been produced with the CAD component, the
design itself can control the machines that construct the part.
Activities of CAD
a) Geometric modeling:
Geometric modeling is concerned with the computer capatible mathematical description of
the geometry of an object to be designed. The mathematical description allows s the image of
the object to be displayed and manipulated on a graphics terminal. The CAD software
provides the geometric modeling capabilities
b) Engineering analysis:
For any engineering design, some type of analysis is required. The analysis may involve
stressstrain calculations heat transfer calculations, the use of differential equations to describe
the dynamic behavior of the system being designed. The computer can be used to aid in this
analysis work.
c) Design review and evaluation:
(i) Dimensioning and tolerance routines
(ii) Layering: Overlaying the geometric image of the final shape of the machine part on the
top of the image of the rough casting. This ensures that sufficient material is available on the
casting to accomplish the final machining operations.
(iii) Interference checking: This involves the analysis of an assembled structure in which
there is a risk that the components of the assembly may occupy the same space.
(iv) Kinematics: The available kinematics packages provide the capability to animate the
motion of simple designed mechanisms such hinged components and linkages.

CAM Definition
Definition: Computer-Aided Manufacturing (CAM) is the use of computer software and
hardware in the translation of computer-aided design models into manufacturing instructions
for numerical controlled machine tools.(Computer-Aided Manufacturing) The automation of
manufacturing systems and techniques, including numerical control, process control, robotics
and materials requirements planning.

History and Evolution of CAD/CAM


Massachusetts Institute of Technology (MIT, USA) is credited with pioneering the
development in both CAD and CAM. The need to meet the design and manufacturing
requirements of aerospace industries after the Second World War necessitated the
development these technologies. The manufacturing technology available during late 40’s
and early 50’s could not meet the design and manufacturing challenges arising out of the
need to develop sophisticated aircraft and satellite launch vehicles. This prompted the US

Page 1 of 11
Air Force to approach MIT to develop suitable control systems, drives and programming
techniques for machine tools using electronic control.

The first major innovation in machine control is the Numerical Control (NC), demonstrated at
MIT in 1952. Early Numerical Control Systems were all basically hardwired systems, since
these were built with discrete systems or with later first generation integrated chips. Early NC
machines used paper tape as an input medium. Every NC machine was fitted with a tape
reader to read paper tape and transfer the program to the memory of the machine tool block
by block. Mainframe computers were used to control a group of NC machines by mid 60’s.
This arrangement was then called Direct Numerical Control (DNC) as the computer bypassed
the tape reader to transfer the program data to the machine controller. By late 60’s mini
computers were being commonly used to control NC machines. At this stage NC became
truly soft wired with the facilities of mass program storage, offline editing and software logic
control and processing. This development is called Computer Numerical Control (CNC).

Since 70’s, numerical controllers are being designed around microprocessors, resulting in
compact CNC systems. A further development to this technology is the distributed numerical
control (also called DNC) in which processing of NC program is carried out in different
computers operating at different hierarchical levels - typically from mainframe host
computers to plant computers to the machine controller. Today the CNC systems are built
around powerful 32 bit and 64 bit microprocessors. PC based systems are also becoming
increasingly popular.

Manufacturing engineers also started using computers for such tasks like inventory control;
demand forecasting, production planning and control etc. CNC technology was adapted in the
development of co-ordinate measuring machine’s (CMMs) which automated inspection.
Robots were introduced to automate several tasks like machine loading, materials handling,
welding, painting and assembly. All these developments led to the evolution of flexible
manufacturing cells and flexible manufacturing systems in late 70’s.

Evolution of Computer Aided Design (CAD), on the other hand was to cater to the geometric
modeling needs of automobile and aeronautical industries. The developments in computers,
design workstations, graphic cards, display devices and graphic input and output devices
during the last ten years have been phenomenal. This coupled with the development of
operating system with graphic user interfaces and powerful interactive (user friendly)
software packages for modeling, drafting, analysis and optimization provides the necessary
tools to automate the design process.

CAD in fact owes its development to the APT language project at MIT in early 50’s.
Several clones of APT were introduced in 80’s to automatically develop NC codes from the
geometric model of the component. Now, one can model, draft, analyze, simulate, modify,
optimize and create the NC code to manufacture a component and simulate the machining
operation sitting at a computer workstation.

Page 2 of 11
If we review the manufacturing scenario during 80’s we will find that the manufacturing is
characterized by a few islands of automation. In the case of design, the task is well
automated. In the case of manufacture, CNC machines, DNC systems, FMC, FMS etc
provide tightly controlled automation systems. Similarly computer control has been
implemented in several areas like manufacturing resource planning, accounting, sales,
marketing and purchase. Yet the full potential of computerization could not be obtained
unless all the segments of manufacturing are integrated, permitting the transfer of data across
various functional modules.

Overview of CAD and CAM


With an increase in the need for quality manufacturing along with the factors of short lead
times and short product lives, and increasing consumer awareness regarding the quality of the
product, it is becoming increasingly important for manufacturers to initiate steps to achieve
all these. View this against the fact that the developments in microelectronics in the recent
past have made higher computational ability available at a low cost. Thus it becomes
imperative that manufacturing has to take advantage of the availability of low cost yet more
powerful computers. Hence the use of Computer Aided Engineering particularly for
mechanical industries should now be a realisable goal.
The role of computer in manufacturing may be broadly classified into two groups:
l. Computer monitoring and control of the manufacturing process.
2. Manufacturing support applications which deal essentially with the preparations for actual
manufacturing and post-manufacture operations.

In the first category are such applications where the computer is directly interfaced with the
manufacturing apparatus for monitoring and control functions in the manufacturing process.
For exarnple, in a continuous process industry (chemical processing}, a number of process
parameters may be monitored. With built-in specifications in the computer trtemory, suitable
actions may be initiated by the computer for the purpose of regulating the process.
Altemately, a human operator looking at the process may initiate the controlling action. This
is not restricted to the chemical process industry but could include any other type as well,
such as packaging.
In the second category, are all the support functions that computers can provide for the
successful completion of manufacturing operations. The types of support that can be
envisaged are:
• CAD— computer aided design. The use of computer methods to develop the
geometric model of the product in three-dimensional form such that the geometric and
manufacturing requirements can be examined.
• CADD— computer aided design and drafting. Combining the CAD function with
drafting to generate the production drawings of the part for the purpose of
downstream processing.
• CAE— computer aided engineering. The use of computer methods to support basic
error checking, analysis, optimisation, manufacturability, etc., of a product design.

Page 3 of 11
• CAM— computer aided manufacturing. Generally refers to the computer software
used to develop the Computer Numerical Control pan programs for machining and
outer processing applications.
• CAPP-computer aided process planning. The use of computer to generate the process
plans for the complete manufacture of products and parts.
• CATD— computer aided tool design. Computer assistance to be used for developing
the tools for manufacturc such as jigs and fixtures, dies, and moulds.
• CAP— computer aided planning. The use of computer for many of the planning
functions such as material requirement planning, computer aided scheduling, etc.
The use of Computer in Manufacturing is a methodological approach to the enterprise in
order to improve industrial performance. This requires a range of broad technologies which
have become realisable thanks to the developments in the computers. The total components
that can be assumed to consist of at number of inter-linked domains as shown in Fig. l.

Product cycle
Now let us consider the manufacturing environment of a given product. How does the
product idea originate? The market forces determine the need for a product. Expertise on the
part of the company estimates the likely demand and probable profitability and decides on the
best mode of designing and manufacturing the desired product. The details of such a design
and the subsequent manufacturing process are depicted in Fig. 2 for the traditional approach
and in Fig. 3 for computer aided manufacturing.

Page 4 of 11
Traditionally, after the design of the product, the part prints are to he released for production.
The production engineering section would first consider the feasibility of production of the
particular product. Having ascertained its feasibility, process planning would have to be done
so that the product would be manufactured at the lowest cost postiible. Any redesign that is
needed for improving the producibility of the product without compromising on its
functionality would have to be done at this stage. Having decided on the process plan for
manufacture, the necessary actions are undertaken for its implementation. These are: -
making of the tooling required, acquiring of new equipment or tools, procurement of the raw
materials, releasing of the detailed operational instructions to the shop floor, etc.
All the operations that can make use of the computer aids that are proliferating these days are
identified in Fig. 3. One of the most important components for getting the various benefits
associated with computer applications in manufacturing is the common databases associated
with all aspects of manufacturing as shown in Fig. 4. In fact, all the modules in the CAM
would actually be sharing the database created in any module. Any module would be able to
modify the data as required for that particular application. This approach helps in reducing
the work involved in maintaining the product database and at the same time includes the
latest modifications for any aspect related to manufacturing. In contrast with the common
database approach, it is possible that sometimes individual modules in the production aspects
may be taken from different vendors, in which case care is needed to be taken to see that
information is properly transmitted between the modules and the data updation in all the
modules takes place properly at the right time.

Page 5 of 11
Computer Aided Design
Design is an activity which needs to he well organised and takes into account all influences
that are likely to be responsible for the success of the product under development. A product
here means a single component, which is functional in itself like a wrench or an assembly of
a large number of components all of which will contribute to the functioning of the part such
as an Automobile engine.
The complexity of the design process certainly increases with the number and diversity of
components present in the final part. Since there are such a large number of influencing
factors, it is impossible to specify it design procedure for each component, in this we are
interested in developing some common guidelines and steps that are needed to proceed for a
successful product design and manufacture. The various faculties that are responsible for a
successful product can be classified under two headings us follows:

Page 6 of 11
Ideally the designer is supposed to consider all these factors while finalising the design. It is
impossible for at single individual to carry out all these functions, except in the case of
simple parts.
Or for complex systems the product design function will be carried out by at team of
specialists who have specified knowledge and experience in the indivitual areas as mentioned
above. Also there are a number of computer assistance available in these areas which are
detailed below. As identified earlier, the design process (Fig. 5), goes through a well-
structured stages so as to reach the stage of actual part production.
Today's CAD technology can provide the engineer/designer the necessary help in the
following ways:
1. Computer aided design (CAD) is faster and more accurate than conventional methods.
2. The various construction facilities available in CAD would make the job of
developing the model and associated drafting a very easy task.
3. In contrast with the traditional drawing methods, under CAD it is possible to
manipulate various dimensions, attributes and distances of the drawing elernents. This
quality makes CAD useful for design work.

Page 7 of 11
4. Under CAD you will never have to repeat the design or drawing of any component.
Once a component has been made, it can he copied in all futher works within seconds,
including any geometric transformation needed.
5. You can accurately calculate the various geometric properties including dimensions of
various components interactively in CAD, without actually making their models and
profiles.

6. Modification of a model is very easy and would make the designer's task of improving
a given product simple to take care of any future requirements.
7. Use of standard components (part libraries) makes for a very fast model development
work. Also a large number of components and subassemblies may bes tored in part
libraries to be reproduced and used later.
8. Several professional CAD packages provide 3D (3 dimensional] visualisation
capabilities so that the designers can see the products being designed from several
different orientation. This eliminates the need of making models of products for
realisation and explaining the concepts to the team.

Not only this several designers can work simultaneously on the same product and can
gradually build the product in a modular fashion. This certainly provides the answer to the
need of today’s industry and the one emerging on the horizon.

Computer Aided Manufacturing


We out broadly categorise the industrial manufacturing activity (for only mechanical
engineering industries i.e. making discrete components) into:

Page 8 of 11
1. Mass Production - large Lots, e.g. Automobiles
In this the volume of production is very high, ranging from a few thousand to millions per
annum. The very high volume justifies the use of special purpose machines and transfer lines
to decrease the cost of production substantially. Also, these ensure that n very high degree of
accuracy can be achieved with these systems. However, these manufacturing methods, once
designed and fabricated, are very inflexible and can only be used for a single product.
Further, the lead time taken from the product design stage to the setting up of the
manufacturing facility is very large, varying with the product. Examples in this category are
the automobiles, typewriters, etc.
2. Batch Production - Medium Lot Sizes, e.g. Industrial Machines, Aircrafts, etc.
Batch production refers to the making of jobs in medium lots, say 100 to 1000, for a
component type. Thus, transfer lines may not be used in their production but special purpose
machines which can be easily modified by the use of jigs and fixtures for such jobs can be
utilised.
3. Job Shop Production - Small Lots or One Off, e. g. Prototypes, Aircrafls, etc.
Job shop production refers to the manufacture of very small lots, often of single jobs. This
may be required in special situations for the purpose of proving a design, making prototypes,
in tool making, or for special purpose applications. In view of the very small lot, no special
purpose machines or tooling can be economically justified. Hence the manufacture has to be
carried on with the general purpose machines and tooling, which is a very lengthy and often
error-prone process.
These are graphically illustrated in Fig. 6.

Where does cam find applicability? Practically in all the ranges of production. However , its
use is more important in categories 2 and 3 by virtue of the added amount of data processing
needed in these. In particular the present trend of large varieties and lower product lives
requires that the total manufactunng lead times be smaller. The only way to ensure this is to
improve manufacturing methods and CAM proves indispensable in this regard.

Page 9 of 11
Pros and Cons of using CAD/CAM sytem

Benefits associated with the 2D drawing process:


- The average statistics indicates that a draftsman will produce drawings three times faster
using CAD systems compared to when using a conventional drawing board
- High drawing accuracy. Every point in a CAD drawing has its precise position
- Perfectly made drawings. CAD’s graphics system and computer printing ensure excellent
lines and text
- Assembling of drawings. Every completed drawing or part of a drawing can be computer
memorised for further use.

Benefits offered by CAD systems for 3D modelling:


- Fast calculations and analysis ensured by modern computer equipment and software
packages
- Superior form of design. Powerful computer modelling techniques, such as finite element
analysis, have freed the designer from the shackles of restrictive conventional formulae
and allowed more inventive shapes to be developed. These shapes may be quickly
modified and optimised for cost savings to an enent which would have previously been
too time consuming.
- Less development required. CAD simulation and analysis techniques can drastically cut
the time and money spent on prototype testing and development - often the costliest stage
in the design process.
- Integration of design with other disciplines. The vastly superior communications
available under all integrated computer network enables CAD to work far more closely
with other engineering departments than was possible under the old type of design
organisation.
- Access to CAD technology means that the marketing personnel can be included in the
concurrent engineering process. When designs are finalised and prototypes developed,
marketing can use these to generate illustrations for packaging

Benefits of using CAM


- Higher production rates with lower workforces
- Less likelihood of human error and the consequences of human unreliability;
- Greater versatility of manufactured form
- Cost savings due to increased manufacturing efficiency (e.g. less material wastage) and
increased efficiency of storage al1d assembly
- Repeatability of production processes via storage of data
- Superior product.

Factors that are likely to cause difficulties in the use of CAD/CAM system
- High Purchase Cost of the System.
- Defective information integration policy.

Page 10 of 11
- Effect on manufacturing flexibility i.e. what would happen with the custom-designed
products?
- Redundancy. This is obviously the principal fear of any employee involved with the
change to new technologies.
- The amount of time required for implementation. Problems may arise because of
different level of technology integration; personnel may be unfamiliar with utilisation.
- Effect on labour relations. Passing of old skills. Some employees may feel resentment
that particular skills in which they may have excelled, such as the ability to produce
hand-printing, or turn fine surfaces are irrelevant to CADCAM

Page 11 of 11
CAD/CAM hardware and software systems
There are two basic components in a computer system used in CAD/CAM. They are:
i. Computer Hardware
ii. Software
Hardware consists of the various types of computers like personal computers, (PCs), graphics
workstations, input devices like mouse, keyboard and digitizer and output devices like plotter
and printer.
Computer software includes:
i. The operating system which controls the basic house-keeping operations in a computer.
ii. Software packages used for conceptual design like Alias and for geometric modeling like
solid modeling (Solid Works, Unigraphics, CATIA, Pro/Engineer etc).
iii. Application software which includes the programs for design analysis, simulation and
synthesis, tool design, process planning, enterprise resource planning, PDM, PLM, CNC
programming, computer aided inspection etc. These also cover finite element analysis,
kinematics analysis, piping design, architecture, PCB design, VLSI design, computational
fluid dynamics, expert systems, and several application-specific software packages.
Computer-Aided Manufacturing software allows data from CAD software to be converted
directly into a set of manufacturing instructions. CAM software converts 3D models
generated in CAD into a set of basic operating instructions written in G-Code. G-code is a
programming language that can be understood by numerical controlled machine tools –
essentially industrial robots – and the G-code can instruct the machine tool to manufacture a
large number of items with perfect precision and faith to the CAD design.

Computer fundamentals
Several computer platforms can be used for running the software packages for computer
integrated manufacturing. Figure 1 shows a typical computer hardware configuration. Usually
a powerful server computer and a number of client nodes will be used. The server will be
usually a high performance computer, configured to meet the specific operational
requirements. The nodes may be a personal computer (PC) or a graphics workstation. The
heart of any computer is a microprocessor, which is designed on the basis of the length of the
word it can handle. Thus, we have 16 bit, 32 bit and 64 bit microprocessors. The
microprocessor carries out arithmetic operations such as addition and subtraction. They also
carry out logic operations and alter the sequence in which instructions are carried out
depending upon the statements contained in the program. The server stores data and the
programs (operating system and application programs) in a part of its primary memory.
The remaining part of this memory acts as the working storage and buffer storage for input
and output. The contents of this memory are lost when the power is switched off and
therefore it is called volatile memory. This memory is called Random Access Memory
(RAM) or read-write Memory. Another type of primary memory is the Read Only Memory
(ROM) in which some programs stay resident. These programs are permanently stored by the
computer manufacturer. The Basic Input/Output System (BIOS) is usually stored in ROM.
The nodes may also have adequate memory and processing capabilities depending on the
application requirements.
The computer will have a number of mass storage devices built into it. Common types of
mass storage devices are floppy discs, hard discs, CD-ROMS and removable storage devices.
Another type of mass storage device is the cartridge tape. Softwares are usually stored in the
hard disc and they can be loaded into the primary memory as and when required. In a
networked environment, the software is stored in the hard disc of the server and the users can
access the software from the different terminals or nodes connected to the server. Hard discs
are also used for storing data files, drawing files and other related files. A magnetic tape is

Page 1 of 10
used to backup the files so that vital files and information are not lost in the event of a disc
failure. Optical discs (CD-ROMs) are widely used nowadays for mass storage.

The display of the programs and drawing is done on the monitor. Several types of monitors or
video display units (VDU’s) are used as display devices. These include monochrome and
color monitors. Super Video Graphics Array (SVGA) is the type of monitor that is widely
used on PC’s today. A number of input devices are also used, the most popular being the
ubiquitous mouse, used for command input, menu selection or pointing on the screen. The
keyboard is indispensable for computer operation and is used for command input. A digitizer
tablet is also a convenient input device, often used in design. Special input devices are used in
laptop computers. Hard copy outputs are usually taken on a plotter. Printed reports and files
and print plot drawings can be obtained using a printer.

Classification of computers
Computers are commonly divided into the following types:
i. Personal Computer or Microcomputers
ii. Mini Computers
iii. Mainframes
iv. Supercomputers
Today the distinction between various types is blurring with advances in microprocessor and
microelectronics technologies and processing approaches. Processing speed, accessible
memory and cost are the factors used to classify computers. Both processing speed and
memory depend on word length.

Data communications
Computers need to communicate with printers, terminals and other computers. This kind of
input/output is typically called data communications, since streams of data are transferred
between sources and destinations. This flow must be synchronized. This is typically done
under the control of “handshaking” conventions that use either dedicated hardware lines or
special character sequences. A simple example of handshaking involves a printer capable of
printing only 120 characters per second, but receiving data at 10 times that rate. When the
printer’s input buffer is full, it sends a busy signal to the data source (by pulling high a line

Page 2 of 10
connecting the two), indicating that it cannot accept any more data for a while. Later it can
accept more data. The “busy” signal here is what is meant by a handshake signal.
Some popular devices for transferring digital data are considered below:
i. Parallel interface
ii. Serial RS 232 data link
iii. IEEE 488 interface bus (also called General Purpose Interface Bus - GPIB)
iv. USB port
v. Modems
vi. Computer to computer communications.

Design work stations


Engineering workstations are computer systems with adequate computing power, based on 32
or 64 bit microprocessors. Workstations are typically divided into two broad categories: Low-
end and high-end.
Low-end work stations generally consist of personal computers. Appropriate software and
special hardware like graphics accelerator cards are added to these for boosting the
performance. Personal computers have the additional advantage of being able to run a
substantial amount of software such as programs for analysis, database management, etc.
The processing capability of personal computers is generally enhanced by the addition of a
co-processor in the microprocessor circuit which increases the processing speed by two or
three times. Special custom-built graphics boards increase resolution and decrease drawing
times. High resolution color monitors and multifunction cards improve the versatility of
personal computers.
High-end workstations are designed around one or more powerful RISC processors.
Examples of such processors are PA-RISC, MIPS, and SPARC etc. Hardware in these
systems generally consists of high resolution graphics display of 1024 X 1024 pixels, or
more, a processor capable of 2 to 4 MIPS or more and 512 MB to 8GB core memory and
mass storage in the range of 36-146 GB (Giga Byte), with optional magnetic tape back up.
These will also have the ability to operate in a computer net work with other workstations or
to work as host computers, to PC nodes which may be intelligent or dumb.
Computers used for high end workstations are optimized for engineering analysis and
graphics work. Many of them use custom-built processors often incorporating hardware
features to boost the speed of processing. However the systems using standard processors
have the advantage of several software packages with practically little customization.
Workstations consist of three basic components:
A primary processor
Associated memory
Graphics display system and software
Leading workstations like SUN, IBM, Silicon Graphics, Hewlett-Packard etc., use special
architecture based on RISC (Reduced Instruction Set Computing) chips and specialized
graphic boards. The graphic features like display manipulation are realized in hardware for
fast response. Workstations typically place emphasis on graphics display and manipulation.
The features of a display system are directly related to the processing power of the display
driver. Functions such as color fill; entity generation and transformation of displays are
controlled by the display processor and associated hardware.
Networking ability is a standard feature often incorporated in Workstations. Workstation can
be used in a variety of ways. First, they can act as dedicated stand alone processors for certain
design or analysis tasks. They can also be networked with each workstation dedicated to a
different task or for a particular use. Another way of use of workstations is as front end
processors for large host computers. An important feature of a workstation is that they

Page 3 of 10
operate in a windows environment using graphic user interfaces like X-Windows or
OSF/MOTIF which enables effective implementation of CAE and concurrent engineering
approaches.

Architecture of a typical graphics workstation


Figure below shows a system level block diagram of a typical high end CAD workstation. A
color (RGB) monitors with 19" screen size and resolution of 1280 x1024 pixels is the
standard.
Some workstations will have monitors with resolution of 1920 x 1200 pixels. Workstations
enable the display of the drawings in several colors.

Selectable palette of 256 colors out of 17.6 million colors is normally available. The
hardware include a CPU board with a RISC (Reduced Instruction Set Computing)
microprocessor with Cache Memory and 512 MB RAM. Many CAD/CAM applications
require at least 24 GB or more of disc capacity. Disc capacity can go up to 140GBytes in a
sophisticated graphics workstation. The communication facilities include two or more serial
ports, one or more parallel ports, and TCP/IP Ethernet controller or other facilities for
networking. A graphic workstation has also to fit into other networking environments like
NFS (Networking File System), IBM Emulation, Hypernet etc.
The distinguishing feature of a graphics workstation is the graphics board which does the
display generation and manipulation. The graphics subsystem is discussed in detail in the
following sections.

Graphics system
Graphics system consists of four subsystems:
a. Geometry engine subsystem
b. Scan conversion subsystem
c. Raster subsystem
d. Display subsystem
These subsystems are shown in Figure below schematically.

Page 4 of 10
Geometry engine
The geometry engine accepts 3-D world co-ordinate data and converts them into X, Y screen
co-ordinates. Depth information is manipulated using Z-buffer. Colors are also processed.
The geometry pipeline facilitates among other functions lighting, clipping, and 3D to 2D
projection, viewing transformations, rotation, scaling and translation.

Scan conversion
The scan conversion subsystem carries out polygon decomposition, edge slope calculations,
span slope calculations and span interpolation. The output of the scan conversion is the pixel
information to the raster subsystem.

Raster subsystem
The raster subsystem will have usually 24 bit planes. This will provide eight bit planes for
each primary color (RGB) so that (28) shades of a single color can thus obtain. Since the
different colors are obtained by the three primary colors a total of (28)3colors are available
on the screen.
In a typical raster engine five 256K X 4D RAM provide 4 bits of Z-depth. The raster
information is stored in the frame buffer. Twenty 64 K X 4 video RAM provide 4 bits for
each pixel of 1280 X 1024 resolution. Entry level systems will have 12 bit planes and high
end systems will have 32 bit planes for the frame buffer. These provide the color and depth
for the images.

Display subsystem
The display subsystem has multi-mode graphics processors which manage the display, send
the Red, Green, Blue color (RGB) data to the respective digital to analog converters as well
as provide a video output.

CAPABILITIES FOR MODELING IN A TYPICAL GRAPHICS WORKSTATION


ENVIRONMENT
The following modeling capabilities are desired in a workstation:
a. 2D and 3D modeling and drafting facilities
b. Display of text
c. Animation
d. Color selection (usually a palette of 256 colors)
e. 3D viewing
f. Z-buffering
g. Gouraud shading
h. Depth cueing
i. Lighting models
j. Anti-aliasing

Page 5 of 10
k. Texture mapping
The RISC based workstations function with UNIX operating system in a Windows
environment. A graphics workstation will also provide a graphics library like OPEN GL
which provides easy to use and flexible high level graphics subroutines with broad
functionalities in a high level language like C or an object orient language like C++ or
graphic modules like ACIS and Parasolid. These can be used for creation of graphic models
including real time interactive solid models. The user can create customized graphic software
with the aid of such a graphics library.

Specifications of typical graphical workstation


Brief specifications of a few typical workstations are given below:
Technical Specifications of a HP Workstation
System Processing Unit
Central processor : PA-8800 or PA 8900 dual core
Clock frequency : 900 MHz
Number of processors : 1 to 4
The above data are given for general information. As technology advances, the specifications
will be continuously ramped up. The readers are advised to refer to the catalogues of
manufacturers to obtain current information on the hardware, performance specifications etc.

Interactive display devices


Interactive graphic terminals
Interactive graphics is an important component of CAD providing a window through which
the communication with the computer can be realized. Such systems which enable
communication between the human operators and the computer are called “userfriendly” or
simply friendly computers. In an interactive graphics session, the user constructs a geometric
model by specifying points, lines, arcs and circles on the screen.
When each command is issued, the software will request additional data often supplying
some of the information needed. There is always a “HELP” feature which the designer can
consult if he is in doubt. Technically the model is the mathematical representation of the
diagram in the computer data base. The operator uses the display screen almost in the same
manner as a drawing board to create various projections or views of the object. But unlike
manual drafting, CAD incorporates several features to speed up drafting and increase drafting
productivity. The display devices can be classified into two groups:
i. Display devices based on CRT principle
ii. Flat screens
Most interactive CAD systems use CRT based graphic monitors. CRT is a glass enclosed
tube in which a finely focused electron beam is deflected to a phosphor coated screen. The
screen then glows to produce a visible trace when excited by impinging electrons.

Input devices
For interactive graphic tasks more often several input devices are used. These allow entering
data in an easily interpretable graphic form. The task is usually accomplished by controlling
the position of a set of cursor cross hairs on the screen. Some devices like light pen are
touched on the screen for more direct interaction. Some of the input devices which are
employed for graphic applications are:
(i). Keyboard
(ii). Touch screens
(iii). Joysticks
(iv). Track Balls

Page 6 of 10
(v). Mouse
(vi). Digitizer boards or tablets
(vii). Thumb wheels
(viii). Automated entry

Output devices
A CAD system is not complete unless it can make hard copies of designs or analysis created
on the computer. Determining the best output device for a typical CAM application is a three-
step process: specifying how hard copies will be used, identifying quality and cost criteria
and selecting equipment most suitable for the application.
Hard copies are used for a variety of purposes, including shop use, file storage, reports and
presentations. Design iterations can be reduced by making hard copies at crucial stages and
distributing them to key personnel for review. Documents and drawings are required for
archival purposes, to be used in proposals, reports, as well as illustrations. Quality of the hard
copy depends on the resolution of the hard copy unit. Speed and frequency of operation of
hard copy equipment are also of importance.

Output devices
Plotters
Plotters are classified based several factors. Depending on the maximum size of the drawing
plotters are designated as A0, A1, A2, A3 and A4. There are plotters capable of creating
drawings larger than A0 size. Generally plotters plot drawings on cut sheets. Some special
plotters are capable of creating drawings on rolls also. Drawings are created through a series
of short vectors which requires movement to the pen in X and Y direction. Plotters can be
classified on the basis of their construction. A flat bed plotter has the pen moving on a flat
surface on which the drawing paper is fixed. The linear movements in the X and Y direction
generate the required drawing. In the case of a drum plotter, the paper is wound around on a
cylindrical drum. The pen holder is attached to a moving slide.
The co-ordinated motion generated by the rotation of the drum and linear movement draws
the pictures on the paper. In the third type, i.e. the pinch roller plotter, the paper is tightly
held between two sets of rollers. One roller in each pair has a rough surface and the linear
motion to the paper in one direction is imparted by the rotation of the roller. The movement
in the other direction is through a linear motion imparted to the pen holder. Plotters can also
classify as pen plotters and electrostatic plotters. Pen plotters use 1, 4, 8 or more different
color pens. The drawings thus can be made in several colors. Pencil plotters are also
available. Electrostatic plotters are faster but there is no color variety.
They are also cheaper.
Plotters have high resolution which is specified by dots/mm. The pen speed and pen pressure
are programmable. Various line thicknesses can be obtained by using pens of different tip
sizes. Generally fibre tip pens are used.
Pen plotters are slow and shading is difficult. Pen plotters also require more maintenance and
the ink or fibre tip or ball point pens should be changed frequently to keep line quality high.
Inkjet plotters are the ones that are now commonly used. These are available in color or
monochrome versions. These are fast, reliable and more accurate than pen plotters.

Page 7 of 10
Printers
Several types of printers are available:
(i) Impact printers: They use small hammers or print heads containing small pins to strike a
ribbon to form dot matrix images. Colors are introduced through the use of multiple ribbons
or single ribbons with different color bands. Color intensity is fixed and creating shades is
almost impossible. Because of the low resolution, copy quality is poor. Impact printers are
suitable for high speed, low cost, high volume hard copies.
(ii) Inkjet printer: Inkjet printers produce images by propelling fine droplets of ink on to the
medium to be printed. Droplets can be generated in continuous streams or pulses. Some of
the droplets get charged and are returned to the reservoir, while uncharged droplets attach to
the printing surface to form graphics. The laser jet printers are capable of giving good quality
colour prints with shading at reasonable cost.
(iii) Laser printer: Laser printer is one of the most widely used output devices. This type
combines high speed with high resolution and the quality of output is very fine.

SOFTWARE
Software represents that segment of the computing system which deter mines the way the
computer is to be used. Better software makes for a better utilization of the computing
system. Various software items, which form part of any computing system, are shown in Fig.
below.

System Software
This represents the essential part of the software without which no computer system can
operate. The operating system generally forms part of the hardware, and together with it
provides for the use of all the hardware elements in an optimal manner. The operating
systems are generally proprietary with the hard ware that is being used. Examples are, VM
for IBM computers, VMS for DEC computers, CP/M, PC-DOS (MSDOS), Windows 95 and
Windows 98 for microcomputers, Windows NT, UNIX and LINUX. UNIX and LINUX are
the operating systems, which are generally considered independent of hardware.
The editors are meant, as the name indicates, for creating and modifying disk files; a linker is
to be used for linking the object modules that are developed into a coherent executable
module; a debugger is to be used in program development to identify the logic and run-time
errors.

Page 8 of 10
Programming Languages
The next major segment of software is the programming languages, through which software
development takes place. Various languages have been developed to meet the different
requirements of the applications.
The programming languages are essentially translators and can be broadly classified into
interpreters and compilers. Interpreter is a system in which the language is translated and then
executed immediately. Thus, if the same statement is encountered a number of times during
the execution of a given program, it has to be translated on every occasion. However, in a
compiler, the complete program is translated once into the machine language and it can be
executed any number of times. Interpreters are good for program development since the
execution can take place immediately, but they are slow in view of the repeated translations
that are needed. It is preferable to develop the program using an interpreter, and when it is
bug-free it may be compiled to generate the directly executable machine language code for
faster usage. The present trend in most of the programming languages is to provide an
integrated environment consisting of an interpreter, compiler and context-sensitive editor for
the particular language. This would help in the rapid development of programs since no
compilation and linking of the programs takes place during the development stage.
Traditionally, FORTRAN (FORmula TRANslation) has been used as a programming
language by the scientific community from the beginning. But now, BASIC (Beginner’s All
purpose Symbolic Instruction Code), PASCAL and C are being used for CAD/CAM program
development with C being the one used for system development in view of its tight code and
faster execution on various systems. With artificial intelligence being increasingly used by
the scientific community, LISP (LISt Processing) and PROLOG have also been used for
some modules related to CAD/CAM.
Object Oriented Programming (OOP) has now become the norm of most of the programming.
The objects are basically reusable code that can be used in many of the programs. By the
careful designing of objects, it is possible to reduce the system-development time greatly,
particularly for large programming projects.
Utilities
The utilities refer to a set of small programs which the applications developer can incorporate
in his program for performing any specific task. Examples could be the numerical
procedures, matrix operations, etc. These are essentially the many repeated applications
which can once for all be made available as utilities and linked with any particular program,
rather than trying to develop them anew every time they are needed.

Page 9 of 10
Applications
Finally, these refer to the application programs, which are generally stand-alone programs
that are meant for doing specific tasks. Examples are, word processing, database
management, computer aided design, etc.

Page 10 of 10
COMPUTER GRAPHICS
One of the important elements in any CAD/CAM system is the component of software related to
the manipulation of geometric elements. The functionality of the user interaction of the CAD/CAM
system is greatly affected by this component.
Raster-Scan Graphics
It has been discussed earlier that raster-scan displays are the most widely used monitors and,
therefore, the graphic software has to provide the necessary components of that as part of the
software. This involves the conversion of the vectorial information of the drawing into its
equivalent raster format such that the frame buffer can be filled with that information. This process
is termed as rasterization and involves one of the most important basic components of a graphic
software suit. The two most common forms of geometric elements present in a graphic display are
straight lines and circles. The other geometric elements can be converted into either of these forms.
Hence, the algorithms are developed for these elements only.
Converting a line vector into its equivalent pixel positions is an arduous task involving a large
amount of computation. Each drawing consists of a large number of vectors to be displayed. Hence,
there is need to have a simplified method by which these could be done at a faster rate with little
computing overhead.
DDA Algorithm
DDA or Digital Differential Analyzer is one of the first algorithms developed for rasterizing the
vectorial information. The equation of a straight line is given by

Using this equation for direct computing of the pixel positions involves a large amount of
computational effort. Hence, it is necessary to simplify the procedure of calculating the individual
pixel positions by a simple algorithm.
For this purpose, consider drawing a line on the screen as shown in Fig. 1, from (x1, y1) to (x2, y2).
Then,
The line-drawing method would have to make use of the above three equations in order to develop
a suitable algorithm. Equation 1, for small increments can also be written as

By taking a small step for ∆X, ∆Y can be computed using Eq. 4. However, the computations
become unnecessarily long for arbitrary values of ∆X. Let us now work out a procedure to simplify
the calculation method.
Let us consider a case of line drawing where m > 1. Choose an increment for ∆X as unit pixel.
Hence ∆X = 1
Then from Eq. 4,
yi + 1 = yi + m (5)
The subscript i takes the values starting from 1 for the start point till the end point is reached.
Hence, it is possible to calculate the total pixel positions for completely drawing the line on the
display screen. This is called the DDA (Digital Differential Analyser) algorithm.
If m ≤ 1 then the roles of x and y would have to be reversed.
Choose ∆Y = 1 (6)
Then from Eq. 4, we get

The following is the flowchart showing the complete procedure for the implementation of the
above procedure.
From the above values now we can compute the necessary pixel values based on the above
algorithm as shown in the following table:
Bresenham’s Algorithm
The above DDA algorithm is certainly an improvement over the direct use of the line equations
since it eliminates many of the complicated calculations. However, still it requires some amount
of floating-point arithmetic for each of the pixel positions. This is still more expensive in terms of
the total computation time since a large number of points need to be calculated for each of the line
segments as shown in the above example.
Bresenham’s method is an improvement over DDA since it completely eliminates the floating-
point arithmetic except for the initial computations. All other computations are fully integer
arithmetic and thus is more efficient for raster conversion.
As for the DDA algorithm, start from the same line equation and the same parameters. The basic
argument for positioning the pixel here is the amount of deviation the calculated position is from
the actual position obtained by the line equation in terms of d1 and d2 shown in Fig. 3.
Hence, from Eq. 17, when Pi is negative then the next pixel location remains the same as the
previous one and Eq. 19 becomes valid. Otherwise, Eq. 20 becomes valid.
Using these equations, it is now possible to develop the algorithm for the line drawing on the
screen as shown in the following flowchart. The procedure just described is for the case when m >
1. The procedure can be repeated for the case of m < 1 by interchanging X and Y similar to the
DDA algorithm.
Anti-Aliasing Lines The rasterization algorithms discussed earlier will be generating the pixel
points by rounding off to the nearest integer. As a result, the inclined lines have the jagged effect
often called the staircase effect as shown in Fig. 5. The effect will be more pronounced in the case
of the lines with small angles as shown in Fig. 5. It is possible to improve the appearance by
increasing the screen resolution as shown in Fig. 6.

The effect can be decreased by anti-aliasing based on the sampling theory. Each of the geometric
elements has a certain thickness compared to the size of the pixel. As can be seen in Fig. 7, the
finite line thickness is overlapping the pixel with different areas. In this method, the intensity of
the pixel is made proportional to the area of the pixel covered by the line thickness. Though this
improves the appearance of the line, it is computationally more intensive.
Raster display of lines utilizes unequal number of pixels to represent lines depending upon their
orientation in space. For example, from Fig. 8, it can be seen that the same number of pixels are
representing a small length when it is horizontal or vertical while the length of an inclined line is
more for the same number of pixels. This makes the horizontal or vertical lines more bright
compared to the inclined lines. This can also be taken care of by making the brightness of the
pixels different depending upon the inclination of the line. For example, the pixels on lines at 45°
will be made with the highest brightness while the horizontal or vertical lines will be drawn with
approximately 50% of the brightness.
TRANSFORMATION OF GEOMETRY
The geometry traditionally followed is the Euclidean geometry. In the traditional sense, we follow
the Cartesian coordinate system specified by the X, Y and Z coordinate directions. The three axes
are mutually perpendicular and follow the right-hand system.
In the handling of geometrical information, many a times it becomes necessary to transform the
geometry.
The transformations actually convert the geometry from one coordinate system to another.
The main types of pure transformations with which we are likely to come across are
• Translation
• Scaling
• Reflection or mirror
• Rotation
These transformations are symbolically shown in Fig. 22.
DATABASE STRUCTURES FOR GRAPHIC MODELLING
The database of the graphical representation of the model is present in the computer system in a
form convenient for use. The major functions of a database are to manipulate the data on screen,
such as zooming and panning; to interact with the user, essentially for the purpose of editing
functions like trimming, filleting, stretching, etc.; to evaluate the properties like areas, volumes,
inertias, etc.; and to provide additional information like manufacturing specifications.
The complexity of the database depends to a very great extent, on the type of modelling and
information retrieving capabilities built into it. Graphic databases may contain graphical
information such as point coordinates, alphanumerical information as manufacturing
requirements, or some procedural type wherein the concerned data is to be fitted in a certain form,
for example, like that of a parametric macro. Most of the information contained in the database is
inter dependent and often makes use of labels or pointers for the purpose of accessing data in the
various interconnected files. In view of this the general-purpose database modelling systems are
not used, but special procedures are to be developed for the particular modelling system under
development.
Typical data that would normally be contained in a geometric model file is
1. Organizational data
Identification number
Drawing number
Design origin and status of changes
Current status
Designer name
Date of design
Scale
Type of projections
Company
2. Technological data
Geometry
Dimensions
Tolerances
Surface finishes
Material specifications or reference
Manufacturing procedures
Inspection procedures
There is a lot of data pertaining to the geometric model and it is to be read and manipulated during
the process of modelling and drawing generation. One may have to fetch the data a number of
times from the same database, so it becomes necessary to devise a database structure, which is
simple and also easy to amend. The data structure that is envisaged will have to fulfil a number of
functions to be most effective for the given application. In the case of geometric modelling, the
database structure should provide some of the following functionalities:
• Allow for greater interaction of the user with the modelling system. This should allow the user
to add, delete and modify the data in the form of geometric entities as required during the process
of modelling and other associated functions.
• Support a large variety of types of data to be represented in the database as explained earlier. The
types of data may be in the form of real and integer values, geometric information, textual
information such as manufacturing notes or finishes, CNC tool paths, finite element meshes, etc.
• The data structure should be able to allow for associating the data with the modelling process
such that the design intent can be effectively captured by the data and can be utilized later for any
of the modifications as required during the lifecycle of the product.
• The data should allow for storing information in the most compact form possible such that less
data storage and transmission speeds would be required for working in group environments. For
example, multiple instances of geometry may only be stored once and then simply the instant
information be used for manipulating that to generate the models or drawing as required.
• Data should maintain complete associativity with all the downstream and upstream applications
such that modification done at any stage should be able to percolate through all the databases as
required.
The above requirements are fairly indicative of the complexities that are associated with the design
of data structures for the geometric modelling systems. Unfortunately, the geometric elements
involved in the model have different geometric requirements, and the data model will have to
accommodate all such variations.
For example, a line can be simply represented by means of two vertices (points) in terms of the x,
y, and z coordinate values. On the other hand, a spline curve may have to be specified by means
of a number of vertices and other parameters depending upon the number of knots utilized. So that
variation will have to be efficiently handled by the data structure adopted.
Data Structure Organisation
A database can be defined as a collection of data which is shared throughout a given process for
multiple applications. In our particular case, the given process is the modelling and associated
functions such as analysis, manufacturing, planning, etc. The main purpose of a database is the
ability for sharing the data by a number of processes and users. Before we proceed with developing
the database-structure concepts, it is necessary to understand some of the terminologies that are
used with databases.
Data Record Data record consists of a series of facts or statements that may have been collected,
stored, processed and/or manipulated together to represent the information about a particular item.
Data File A file is a collection of data items put together. For example, all the necessary
information required to completely draw a part in two dimensions can be organised into a file such
as a drawing file. The information present in a data file normally has some structured relationship
to decode it properly. On the other hand, flat files are data files that contain records with no
structured relationships. Additional knowledge is required to interpret these files such as the file-
format properties.
Data Field A field is a single unit of data stored as part of a database record. Each record is made
up of one or more fields that correspond to the columns in a database table.
Data Model Data model is concerned with what the data in the database is represented. The data
model is used by the database designers as the basis for their designing work. It generally uses
three types of relationships: one-to-many, many-to-many, and one-to-one.
A lot of information needs to be stored in the system for the purpose of generating any meaningful
information about a product. For example, the product may consist of a number of sub-assemblies,
and each of the sub-assembly consists of a number of parts, some of which are standard
components such as fasteners, while others need to be completely defined. Each of the parts will
have individual characteristics such as material, form, shape, treatment, structure, etc., all of which
needs to be stored inside the database for the product. This is only when we consider a simple part-
modelling application. But if the same structure has to be made to use all downstream applications
such as drafting, analysis, manufacturing planning and manufacturing information generation then
it is necessary to provide all the proper information and handles will have to be taken care of.
Data Models
The more common data models used in database management systems are
• the hierarchical model,
• the network model, and
• the relational model.
Hierarchical Model The data in this model is arranged in the logical hierarchy with each data
element containing a pointer to only one element in the level above it. This is often represented as
a tree structure in a manner similar to a bill of material (Fig. 14), and a complete database may
consist of a number of separate structures. Though this was one of the first type of database models
implemented, its use is coming down in recent times. The main reason for its declining popularity
is that it is rare to find a complete set of data that is purely hierarchical, even though some parts
may be. This method can express the one-to-many relationship easily while the many-to-many
relationship is extremely difficult to implement. Therefore, imposing a hierarchical structure on
the database calls for unnecessary coding complications and could be avoided.

Network Model The network model does not use the tree structure as shown in Fig. 15 and hence
avoids the problems as faced by the hierarchical data model. In order to describe associations
between the records in a database, the network model utilizes a ‘connection record’ that links
records together to form data sets.
Unlike a hierarchical model, the network model does not allow a record type to be both the owner
and member of a set. As a result, modelling a hierarchy requires a level of indirection to be
introduced through programming, which should not be too difficult to achieve. The network model
allows the user to store and retrieve many-to-many relationships in an efficient manner and is more
flexible. However, it requires a more complex data dictionary or schema together with detailed
data-access procedures. This has a better performance compared to the hierarchical model and is
generally used in finance and business institutions and rarely for engineering applications.
Relational Model This is more recent compared to the other models, but widely used in
engineering applications. In this model, the data is represented in the form of tables each of which
is then linked by means of relations. A table is a collection of records. In a database system, the
records are considered as rows in a table, and the fields are the columns (Fig. 16). In academic
terminology, the rows are referred to as tuples, and columns within a record as attributes.

In a relational database there are no predefined connections between the data tables. The fields that
need to be connected are simply duplicated in all the data tables and the actual connections are
done dynamically.
The dynamic joining capability means that the structure of any individual table can be modified
without affecting the other data tables. This aspect is very important and is useful for developing
the applications in modular form.
Structured Query Language (SQL) developed by IBM and standardized by ANSI (American
National Standards Institute) is used for the data manipulation in a relational data model. It utilizes
English-like words such as SELECT, FROM, and WHERE to develop the necessary relations in
the database.
Relational Database Management Systems (RDBMS) are widely used in the industry for a variety
of applications due to their simplicity and flexibility. The greatest disadvantage of RDBMS is that
it is slower compared to the other models described above. However, because of the developments
in computer hardware and software developments in the last decade, this limitation is not of much
consequence.
Geometric Model Data
One of the possible ways in which graphic data can be stored is in the sequential form. In sequential
form, the data as is being generated is stored, and the disadvantage is that whenever one has to
access certain data, the retrieval is not simple. The problem is further complicated by the fact that
one may not be retrieving the data in sequential form, and as a result, the sequential form of data
storage proves inefficient from the graphic manipulation point of view. It is, therefore, necessary
in most of the geometric modelers to opt for a combination of random and sequential form so as
to get the best out of both the forms.
Hence, records that are contained in a graphical database are maintained as random access files
and all the files present are linked by means of pointers. The main record may be termed ‘head
record’ to and from which a number of pointers link the entire data required for the component in
a coherent form. Another important advantage that can be derived from this form is that there is a
possibility of reducing the data storage by making use of some form of referencing where the same
data required at a number of places is stored only once, somewhat similar to subroutines or
procedures in the programming languages. In view of the slow access times of the secondary
storage devices (floppies and hard disks), some portion of the active drawing database is stored in
the RAM itself by a suitable arrangement of paging of the data. This increases the response time
of the system for modifications.
To get an idea of how the data for a component may be stored, refer to Fig. 17 showing a job
modelled. The solid is first broken into edges, which are further broken into surfaces and the
vertexes for completely defining the object. A face meets another face to form an edge. The edge
meets the points (vertices) at the end. Faces may be multiple connected and one bound by one or
more loops of edges as shown in Fig. 17.
This is one method of representation of the solid data, which is called the boundary representation
or B-rep.
A boundary is formed by faces. A face is formed by a combination of edges. Edges may be
considered as curves such as lines and arcs. Edges, in turn, are formed by a combination of vertices,
with each vertex being indicated by means of its Cartesian Coordinates X, Y and Z. Thus, a typical
database structure of a product may consist of a number of component parts as shown in Fig. 18.
The data when organized in a database will have to ensure the basic integrity of the data in terms
of eliminating redundancy and security problems while maintaining the standards and ease of use.
The most common form in which the graphical database is organized is in terms of the number of
tables that are interlinked by relations as described earlier.
Geometric Modelling
Introduction
Product development activity starts with the design of the product. This is a very critical
activity which will influence the cost, performance, service life, quality, manufacturability,
maintainability etc. The challenges before the product designers today are listed below:
• Higher customer quality expectations
• Need to have innovation and originality in design
• Need for global collaboration across and beyond the enterprise among designers,
customers and vendors to reduce development lead times
• Need to evaluate feasibility throughout the design process
• Ability to react quickly to design changes as and when change requests are made
• Ability to express the design intent in terms of shape and function using the tools
available as well as the ability of the tools to transfer data back and forth seamlessly.
Manufacturing of machine parts and components is carried out with the help of drawings.
The machine operator is provided with the drawing of the finished part and an operation sheet
which gives step by step instructions to produce the part. Drawings are also required for
process planning, tool design, production planning, and CNC programming, inspection,
assembly, costing and vendor development. Thus, drawings are essential documents for
product development as well as for regular production.
However, with the introduction of computer integrated manufacturing the importance of
drawing as the basic document for product development and manufacture has diminished. In
addition to production drawings of components, the design department has to create layout
drawings, assembly drawings, and tool drawings (Jigs, fixtures, templates, special tools,
inspection fixtures etc). The number of drawings required for a product varies with the
complexity of the product. In the case of the development of a centre lathe, it may be
necessary to create about 400-500 drawings. For an aircraft, the number of drawings will be
of the order of 30,000 to 60,000. In addition to component drawings, it is necessary to create
hundreds of tool drawings and jig and fixture drawings for manufacture, assembly and
inspection. Considerable manpower and time will be required to create such a large volume
of drawings and the time required for this task represents a significant portion of the lead time
required for product development.
Computer aided design and drafting (CADD) is a powerful technique to create the drawings.
Traditionally, the components and assemblies are represented in drawings with the help of
elevation, plan, and end views and cross sectional views. In the early stages of development
of CADD, several software packages were developed to create such drawings using
computers. Fig. 1 below shows four views (plan, elevation, end view and isometric view) of a
part. Since any entity in this type of representation requires only two co-ordinates (X and Y)
such software packages were called two-dimensional (2-D) drafting packages. With the
evolution of CAD, most of these packages have been upgraded to enable 3-D representation.

Page 1 of 10
Geometric modelling
Computer representation of the geometry of a component using software is called a geometric
model. Geometric modelling is done in three principal ways. They are:
(i). Wire frame modelling
(ii). Surface modelling
(iii). Solid modelling
These modelling methods have distinct features and applications.

Wire frame modelling


In wire frame modelling the object is represented by its edges. In the initial stages of CAD,
wire frame models were in 2-D. Subsequently 3-D wire frame modelling software was
introduced. The wire frame model of a box is shown in Fig. 2 (a). The object appears as if it
is made out of thin wires. Fig. 2(b), 2(c) and 2(d) show three objects which can have the same
wire frame model of the box. Thus in the case of complex parts wire frame models can be
confusing. Some clarity can be obtained through hidden line elimination. Though this type of
modelling may not provide unambiguous understanding of the object, this has been the
method traditionally used in the 2-D representation of the object, where orthographic views
like plan, elevation, end view etc. are used to describe the object graphically.

Page 2 of 10
Surface modelling
In this approach, a component is represented by its surfaces which in turn are represented by
their vertices and edges. For example, eight surfaces are put together to create a box, as
shown in Fig. 3. Surface modelling has been very popular in aerospace product design and
automotive design. Surface modelling has been particularly useful in the development of
manufacturing codes for automobile panels and the complex doubly curved shapes of
aerospace structures and dies and moulds.

Page 3 of 10
Apart from standard surface types available for surface modelling (box, pyramid, wedge,
dome, sphere, cone, torus, dish and mesh) techniques are available for interactive modelling
and editing of curved surface geometry. Surfaces can be created through an assembly of
polygonal meshes or using advanced curve and surface modelling techniques like B-splines
or NURBS (Non-Uniform Rational B-splines). Standard primitives used in a typical surface
modelling software are shown in Fig. 4. Tabulated surfaces, ruled surfaces and edge surfaces
and revolved are simple ways in which curved geometry could be created and edited.

All physical objects are 3-dimensional. In a number of cases, it is sufficient to describe the
boundary of a solid object in order to specify its shape without ambiguity. This fact is
illustrated in Fig. 5. The boundary is a collection of faces forming a closed surface. The space
is divided into two parts by the boundary - one part containing the points that lie inside and
forming the object and the other the environment in which the object is placed. The boundary
of a solid object may consist of surfaces which are bounded by straight lines and curves,
either singly or in combination.

Page 4 of 10
Fig. 6 is typical of several components; one comes across in engineering. The surface of this
component can be produced by revolving a profile about an axis of rotation. A surface model
is defined in terms of points, lines and faces. This type of modelling is superior to wire frame
modelling discussed earlier in this chapter. A major advantage of surface modelling is its
ability to differentiate flat and curved surfaces. In graphics, this helps to create shaded image
of the product. In manufacture, surface model helps to generate the NC tool path for complex
shaped components that are encountered in aerospace structures, dies and moulds and
automobile body panels.

A surface can be created in several ways:


(i). Creating a plane surface by the linear sweep of a line or series of lines.
(ii). Revolving a straight line about an axis. Cylindrical, conical surfaces etc. can be
generated by this technique.
(iii). Revolving a curve about an axis.
(iv). Combination of plane surfaces.
(v). Analytic surfaces: Planes, cylinders, cones, ellipsoid, parabolic hyperboloid etc can be
defined by mathematical equations in terms of X, Y and Z co-ordinates.

Page 5 of 10
(vi). Sculptured surfaces: These are also called free form surfaces. These are created by
spline curves in one or both directions in a 3-D space. These surfaces are used in the
manufacture of car body panels, aircraft structures, mixed flow impellers, telephone
instruments, plastic containers and several consumer and engineering products.
Modelling of curves and surfaces is essential to describe objects that are encountered in
several areas of mechanical engineering design. Curves and surfaces are the basic building
blocks in the following designs:
(i). Body panels of passenger cars
(ii). Aircraft bulk heads and other fuselage structures, slats, flaps, wings etc.
(iii). Marine structures
(iv). Consumer products like plastic containers, telephones etc.
(v). Engineering products like mixed flow impellers, foundry patterns etc
A curve has one degree of freedom while a surface has two degrees of freedom. This means
that a point on a curve can be moved in only one independent direction while on surfaces it
has two independent directions to move. This is shown in Fig. 7.

SOLID MODELING
The representation of solid models uses the fundamental idea that a physical object divides
the 3-D Euclidean space into two regions, one exterior and one interior, separated by the
boundary of the solid. Solid models are:
• bounded
• homogeneously three dimensional
• finite
There are six common representations in solid modelling.
i. Spatial Enumeration: In this simplest form of 3D volumetric raster model, a section of
3D space is described by a matrix of evenly spaced cubic volume elements called
voxels.
ii. Cell Decomposition: This is a hierarchical adaptation of spatial enumeration. 3D space
is sub-divided into cells. Cells could be of different sizes. These simple cells are glued
together to describe a solid object.

Page 6 of 10
iii. Boundary Representation: The solid is represented by its boundary which consists of a
set of faces, a set of edges and a set of vertices as well as their topological relations.
iv. Sweep Methods: In this technique a planar shape is moved along a curve. Translational
sweep can be used to create prismatic objects and rotational sweep could be used for
axisymmetric components.
v. Primitive Instancing: This modelling scheme provides a set of possible object shapes
which are described by a set of parameters. Instances of object shape can be created by
varying these parameters.
vi. Constructive Solid Geometry (CSG): Primitive instances are combined using Boolean
set operations to create complex objects.
In most of the modelling packages, the approach used for modelling uses any one of the
following three techniques:
i. Constructive solid geometry (CSG or C-Rep)
ii. Boundary representation (B-Rep)
iii. Hybrid method which is a combination of B-Rep and CSG.

Constructive Solid Geometry (CSG)


In a CSG model, physical objects are created by combining basic elementary shapes known
as primitives like blocks, cylinders, cones, pyramids and spheres. The Boolean operations
like union (∪), difference (–) and intersection (∩) are used to carry out this task. For example,
let us assume that we are using two primitives, a block and a cylinder which are located in
space as shown in Fig. 8.

A “union” operation (A ∪ B) will combine the two to convert them into a new solid. (Fig. 8
(c)) The difference operation (A – B) will create a block with a hole (Fig. 8. (D)). An
intersection operation (A ∩ B) will yield the portion common to the two primitives. (Fig. 8
(E)).

Boundary Representation
Boundary representation is built on the concept that a physical object is enclosed by a set of
faces which themselves are closed and orientable surfaces. Fig. 9 shows a B-rep model of an

Page 7 of 10
object. In this model, face is bounded by edges and each edge is bounded by vertices. The
entities which constitute a B-rep model are:

A solid model is a 3-D representation of an object. It is an accurate geometric description


which includes not only the external surfaces of part, but also the part’s internal structure.
A solid model allows the designer to determine information like the object’s mass properties,
interferences, and internal cross sections.
Solid models differ from wire frame and surface models in the kind of geometric information
they provide. Wire frame models only show the edge geometry of an object.
They say nothing about what is inside an object. Surface models provide surface information,
but they too lack information about an object’s internal structure. Solid models provide
complete geometric descriptions of objects.
Engineers use solid models in different ways at different stages of the design process. They
can modify a design as they develop it. Since computer-based solid models are a lot easier to
change and manipulate than the physical mock-ups or prototypes, more design iterations and
modifications can be easily carried out as a part of the design process. Using solid modelling
techniques, a design engineer can modify a design several times while optimizing geometry.
This means that designers can produce more finished designs in less time than by using
traditional design methods or 2-D CAD drafting tools.
Solid models can be used for quick and reliable design analysis. Solid models apart from
geometric information provide important data such as volume, mass, mass properties and
centre of gravity. The designer can also export models created to other applications for finite
element analysis (FEA), rapid prototyping and other special engineering applications.
Finally, designers can generate detailed production drawings directly from the solid model.
This capability increases design productivity considerably. Another important feature of solid
modelling is associativity. Detailed drawings are linked to solid model through the
associativity feature. This is a powerful function - as an engineer modifies a design, the

Page 8 of 10
drawings get updated automatically. In bidirectional associativity, any modifications made to
geometry in the drawing are reflected in the model. In more advanced design and
manufacturing environments, solid models are used for rapid prototyping and automated
manufacturing applications.

Modelling tools
When a 3-D model is built the designer describes the features that make up a part. Parts are
put together to make an assembly, and then documentation is made.

Sketching
The first step in creating many 3-D features is sketching a 2-D section. Then by using
appropriate instructions the design conveys the information regarding how far to extend this
section in a space. The third dimension is created this way. For instance, a 30 mm circle
extruded 50 mm through space produces a cylinder 30 mm diameter and 50 mm high. The
circle is the sketched section of the cylinder.

Creating Parts
As mentioned earlier solid modeller uses features such as cuts, protrusions, holes, chamfers,
and other basic shapes to build part geometry. The designer gets the information about the
geometry of a feature (like the size and shape of cuts and protrusions), from a sketcher
window.
As the features are added the geometry of the part is enhanced. By adding to geometry one
feature at a time, parts with very complex geometry can be created as shown in Fig. 10.
Many tools for modifying geometry, establishing relations between features, and defining or
modifying feature attributes are provided in solid modelling softwares. Regardless of whether
simple parts or complex ones are designed, part geometry is created and modified in the same
way.

Building Assemblies
Designs usually consist of several parts. Solid modellers can put two or more parts together in
an assembly. All the tools a designer needs to build, modify, and verify assemblies are
available in solid modelling software.

Page 9 of 10
Documenting Designs
The final step of designing a part or assembly is communicating it in a medium other than the
computer monitor’s display. For some operations this means plotting out design drawings.
Solid modellers provide tools to produce finished drawings complete with geometric
tolerance and text annotation.
Drawings may not be the final step for everybody. Many users export designs to other
applications for analysis, manufacturing, and other forms of post-processing. Modelling
software also will incorporate a variety of tools for exporting designs to other software.

Page 10 of 10
CNC MACHINE TOOLS
Introduction
After the Second World War, there was a big spurt in the design and development of
aerospace products like satellites, launch vehicles, civil and military aircraft etc. The
hydraulic copying and electrical program controlled machines used at that time could not
meet the manufacturing challenges posed by the complex aerospace designs. The
manufacturing engineers were therefore looking for a better way of automating the machining
operations. Numerical control (NC) was developed in early 50’s to meet the critical
requirements of aerospace Industry. Many components used in aircraft and space vehicles are
machined from solid raw materials, often involving removal of considerable stock and
requiring several hundred positioning movements of the machine tool slides.
Manual operation under these circumstances is not only tedious but also less efficient and
unproductive. Often the part after several hours of machining is liable to be rejected due to
machining errors.
Digital technology developed for communication purposes became very handy for designers
of control of machine tools. Since the information required to actuate and control slides was
coded numerically, this technology came to be known as numerical control.
Early numerically controlled machines were fully hardwired machines as the entire control
logic was implemented in hardware. This posed several difficulties in the operation of NC
machines apart from serious limitations on reliability of operation. The designers of NC
machines achieved a major breakthrough during mid-six tees when they could integrate a NC
machine tool with a mini-computer. The technology was then renamed as computer
numerical control. The integration of computers with NC machine tools resulted in the
following advantages:
• Increase in the memory for part program processing
• Increase in capacity for storing large part programs
• Easy editing of part programs on the control console
• Realization of control logic through software
• Significant improvement in the reliability of operation of the machines
• Integration of N.C. machines in the manufacturing system as a whole.
Further developments in large scale integration resulted in the development of
microprocessors around which computers could be designed. This naturally led to the
development of CNC systems based on microprocessors. Today all CNC machines are
microprocessor based and both NC and CNC mean computer numerical control.

Principle of operation of a numerical controlled machine


The CNC machine differs from a conventional manual machine in several respects. The
principle of operation of a numerical controlled machine can be explained with the help of
Fig. below. The figure shows a vertical milling machine. For carrying out an operation like
end milling the spindle head is to be positioned in Z- axis and the table in X and Y coordinate
axes. The feed movement is to be realized by the individual or simultaneous movement of X
and Y axes. Thus the milling machine requires three slide movements, which are usually
referred as axes feed drives. A special feature of a CNC machine is that a separate motor
called a servomotor individually drives each axis. AC servomotors are the preferred choice
for this purpose today. DC servomotors were widely used earlier. The slides are driven by the
servomotors through recirculating ball screw and nut assemblies. The use of re-circulating
ball screw reduces friction, backlash and wear. The low friction reduces the torque required at
the motor and the lost motion through torsional deflection of the screw. The use of ball
screws also improves the dynamic response of the system. In some modern designs,

Page 1 of 13
particularly in the case of high-speed machines, linear motors are used in the place of
servomotor ball screw combination.

In order to carry out the milling operation on the workpiece the coordinate information (X,
and Y coordinates) of the starting point and the ending point has to be coded in the NC
program. Similarly, the information regarding the direction of rotation and speed of the
spindle, use of coolant, and the feed rate is also coded suitably. The CNC controller decodes
the positioning information coded in the NC program and the slide is moved to the
programmed position at the required feed rate. Each slide is fitted with a feedback transducer,
which continuously monitors the slide position and compares with the programmed position
as well as the feedrate. The feedback transducer is mounted either on the slide or on the
servomotor and measures the displacement or position of the slide.
For example, let us assume that a hole is to be drilled at the location X = 100.0 and Y =
150.0. The corresponding block of the program is read by the control system and the
necessary inputs are sent to the X and Y-axis servomotors. These motors drive the respective
slides to the commanded position. When the distance information from the feedback devices
equals the programmed values, the slide movement stops. The input is then given to the
Z-axis servomotor to perform the drilling operation. The system switches on the motor
driving the spindle carrying the drill and commands the Z-axis servomotor to move at the
programmed feedrate into the workpiece till the programmed depth is reached. The Zaxis
feedback transducer ensures the correct depth and feedrate. The drill is then withdrawn to the
desired height and the machine starts the positioning movements to the next location of the
drill. This procedure thus ensures production of accurate workpieces.
The feedback transducer used may be analog (synchro resolver) or digital (encoders).
Another classification of feedback transducer is based on their nature of measurement
absolute or incremental. They are also classified as linear or rotary depending upon their
construction. Linear feedback devices include optical scales, inductosyn etc. Rotary feedback
devices are mounted either on the ball screw or on the motor shaft and measure the slide
position indirectly. Rotary encoders, optical scales, and synchro resolvers are the commonly
used rotary feed back devices.

Page 2 of 13
The measured and the targeted positions are compared and the servo system ensures that the
correct positioning is achieved to make this error (difference between targeted and measured
positions) zero. The resolution of axis feed drive is usually one micrometre. Since positioning
is done electronically, it is possible to achieve accuracy and repeatability of the order of 5-10
micrometres even under heavy-duty cutting conditions. Two servo loops are incorporated in
feed drive - one for the position and the other for the feed. In addition to this, the selection of
spindle speed is also under servo control.

Coding of information in NC machines


NC as described earlier is control by numbers. NC is control by information contained in a
part program, which is a set of coded instructions given as numbers for the automatic control
of a machine in a pre-determined sequence.
Figure below shows the machining a taper on a cylindrical component. To carry out this
operation on a CNC lathe, we write a program block as follows:
N005 G01 U20 W-50 S1200 F0.2 M08;

The program block codes the information necessary to operate the lathe, and is given below:
N005 Block number
G01 Linear interpolation
U20 X increment in slide movement
W-50 Z increment in slide movement
S1200 Spindle speed, 1200, rpm
F0.2 Feed, 0.2mm/rev
M08 Coolant on
; End of block
Each of the above consists of an alphabet or a word address (N, G, U, W, S etc.) and a
numeric value (005, 01, 20, -50, 1200), which represents a function or a slide displacement
position or machining data. These alphanumeric data is digitally coded either in the ISO
(International Standardization Organization) system or EIA (Electronics Industries
Association, USA) system. The symbol ’;’denotes end of the block.

Page 3 of 13
Coding of information
Early NC systems coded only numeric data and they did not use any alphabetic characters.
Since all the information necessary to carry out the machining operation is passed on to the
control system through these coded numerical data, the control came to be known as
numerical control (NC).
The numeric data is usually represented in decimal format. For the purpose of the
convenience in processing in a digital computer, the data is to be converted (coded) into
binary form. A decimal number is represented in binary form as a power of 2.
To represent large number a binary coded decimal (BCD) system is employed. Consider the
4-track coding system shown below. Rightmost track is 20 (least significant) and leftmost
track is 23 (most significant). For example the number 358 can be represented as:
23 22 21 20
0 0 1 1 3 (2+1)
0 1 0 1 5 (4+1)
1 0 0 0 8 (8)
There are two standards for coding, one proposed by ISO (International Standardization
Organization) and the other by EIA (Electronics Industries Association of USA). There are
several other codes popular with the designers of NC systems.

Generations of cnc machines


Development of CNC machines closely followed the developments in computer technology.
Therefore the generations of CNC technology bear a close resemblance to generations of
digital computers.
First Generation: The control system of the first generation numerically controls machines
was built with vacuum tubes and associated devices. The system was bulky, consumed lot of
power and reliability was poor.
Second Generation: Second Generation machines were built with transistors. The size of the
control elements was reduced. However, all the functions had to be realized through
electronic circuits. The number of printed circuits boards was large. Since there were
thousands of components and connections involved, the reliability was again poor.
Third Generation: Third generation NC machines were built with integrated circuits. The
IC’s with medium scale integration improved the reliability of the system. Drive technology
also made considerable progress. Thyristor controlled DC drive become popular during this
period. Reliable and compact DC controllers were developed both for main drives and for the
control of servomotors for axes feed drive.
The various logic functions in the early NC systems (during 50’s and 60’s) were realized
through fixed circuitry and hence were called hard-wired systems. The integration of
minicomputers with NC machines that led to the development of CNC machine tools was one
of the two major significant developments during mid 60’s. Initially minicomputers were
interfaced with NC machine tools. This development helped to introduce the much needed
flexibility. From the totally hardwired design, the design of the NC machine tools became
soft-wired. Instead of reading and executing programs block by block it was now possible to
store the program in the computer memory and execute the program. Several limitations of
the NC systems could also be overcome by CNC systems. Program editing became much
easier and several NC functions could be implemented in software. The other development
was the evolution the concept of Direct Numerical Control (DNC) technique by which
several NC machine tools could be controlled from a single computer.
This technology enabled the NC user to by-pass the tape reader and control a number of NC
machine tools from a single computer. DNC system manufacturers also introduced the

Page 4 of 13
concept of NC data transfer from a computer or remote station using telecommunication
wires.
Fourth Generation: Towards the end of 70’s the computer design underwent changes and
microprocessor came to be used as the CPU of computers. This change also influenced the
design of NC machines. The designers started developing NC systems around
microprocessors. This simplified the logic and control and design and instead of several
PCB’s in the case of NC machines, the entire control could be implemented with just one
PCB for CNC machines. Initially 8 and 16 bit microprocessors were used. Later control
systems with several processors (Multi-processing Systems) were introduced. The reliability
of the system was considerably improved. The developments in CNC systems still continue.
Today many CNC systems are based on 32 bit as well as 64 bit microprocessors. Several
personal computer based CNC systems are also available in the market.

Types of CNC machines


Computer numerical control is applied to a variety of machines. Most of these find ready
application in aircraft, automobile and general engineering industry. Some of them are listed
below:
i. Machining Centre
• Horizontal
• Vertical
• Universal
ii. CNC Lathes
iii. CNC Turning Centres
iv. Turn-mill Centres
v. CNC Milling/Drilling Machines, Plane Milling Machines
vi. Gear Hobbing Machines
vii. Gear Shaping Machines
viii. Wire Cut EDM/EDM
ix. Tube Bending
x. Electron Beam Welding
xi. Laser/Arc/Plasma Cutting
xii. Co-ordinate Measuring Machines
xiii. Grinding Machines
• Surface Grinder
• Cylindrical Grinder
• Centreless Grinder
xiv. Tool and Cutter Grinder
xv. CNC Boring and Jig Boring Machines
xvi. PCB Drilling Machines
xvii. Press Brakes
xviii. CNC Guillotines
xix. CNC Transfer Lines, SPM’s
xx. Electrochemical Milling Machines
xxi. Abrasive Water Jet Cutting Machines
xxii. Flow Forming Machines
xxiii. Roll Forming Machines
xxiv. Turret Punch Press

Page 5 of 13
Features of CNC systems
The brain of a CNC machine is the control system. This is designed around one or more of
the advanced microprocessors. Because of the advancement in the hardware technology,
CNC systems are highly reliable with a very high mean time between failures.
Several control systems, which are dedicated to different families of machines, are available
today. Each model will have several variations to cater to the various requirements of
machine tool builders and users. Several new CNC systems are fitted with PC based CNC
systems too. A CNC system can be fitted to machine tools in order to effect control over
several machine functions. In order to perform these functions, a CNC system is
characterized by a number of features. These functions can be broadly classified as follows:
i. Control system features
ii. Memory features
iii. Programming features
iv. PLC features
v. Diagnostic features
Control system features
These features provide information about the characteristics of the CNC system and its
capabilities. Important features are given below:
Technology of System
Currently two types of architectures are being used in CNC systems
(i) Single microprocessor based systems
(ii) Multi microprocessor based systems (Multiprocessor systems)
Single microprocessor architecture: In this type of system a 16, 32 or 64 bit microprocessor is
used.
Multiprocessor architecture: This type of the architecture is widely used in many CNC
systems today. The control functions are carried out by a set of microprocessors, each doing
an assigned task. This concept helps to implement various functions faster. Both hardware
and software structures are modular thereby enhancing the flexibility of the system.
Executive Program
The executive program contains the intelligence needed to carry out different tasks in CNC
system. The executive program is resident usually in EPROM/Bubble memory.
Other System Features
Other features of CNC system are:
• C R T display and alphanumeric keyboard
• Manual data input (M D I) and operator programming
• System resolution, ex: 0.1 μm, 0.5 μm, 1 μm or 10 μm
• Feed and rapid traverse rates
• Spindle Speeds - directly programmable or through S codes
• Modes of operation like M D I, Single step, Auto etc.
• Operating controls like Jog, feedrate and spindle speed override, axis select switch,
edit, reference, dry run, test mode
Axis Calibration
This is a very useful feature for obtaining higher positioning accuracy. The error in the pitch
of the lead screw can be compensated with this feature.
Reversal Error (Backlash) Compensation
Backlash is due to the play between the screw and nut. Backlash will cause lost motion when
the slides are reversed. Even pre-loaded ball screws may develop backlash in the course of
time. This feature effects automatic compensation every time the slide is reversed. Error due
to backlash in the lead screw can thus be minimized.

Page 6 of 13
Pitch Error Compensation
There are several classes of accuracy for ball screws. There will always be some error from
pitch to pitch, however accurate the screw may be. Pitch error will cause error in positioning
as well as thread cutting. Hence there is a need to compensate pitch error. The positioning
errors that might arise due to error in pitch are compensated through software.
Tool Nose Radius Compensation
The radius of the tool will introduce positioning errors in contouring. This error is
compensated by the tool nose radius compensation function.
Machine Setup Data (MSD)
MSD or machine tool parameters indicate the machine tool characteristics, specifications and
functions. The contents of each parameter should be set according to the parameter list
annexed to the machine. The end user must not change the contents on the parameters. The
OEM can use one standard control on several machine sizes and/or types.
Entering machine parameters: These are three methods of entering machine parameters.
i. Setting through parameter CD-ROM-each block contains a machine set up data code to
identify the machine parameter followed by data for that parameter.
ii. Setting data through MDI - the machine data can be input through the operator’s control
panel by following the procedure for the control system.
iii. Setting data in EPROM’s - machine parameters can be entered in the erasable
programmable read only memories. The data is permanently stored in specific locations in the
memory chip. To enter the set up data in EPROM, an EPROM programmer is necessary.

Programming features
Some standard programming features include:
• Absolute/Incremental programming
• Decimal point programming
• Diameter/Radius Programming
• Linear, circular and helical interpolation
• Multiple part program storage
• Sequence number search
• Feed/min or feed/rev Programming
• Dwell programming (In block containing dwell code, there is no slide movement)
• Tool length and diameter compensation - The control has a storage area (tool buffer)
for making modification to the program due to errors in tool setting length and
diameters
• Position preset.
Subroutine Programming / Macro Programming
Repetitive operations can be written as subroutines and main program can call these
subroutines. An example of subroutine is dressing program for a grinding wheel. The
advantage of using this subroutine is that it eliminates the need for rewriting a repetitive
operation, thereby saving the memory space.
Parametric Programming
Parameters are freely assigned by the control for the purpose of arithmetic calculation in a
part program. Trigonometric operations are also possible with R parameters.
Canned Cycles (Fixed Cycles)
This is a powerful control feature intended to shorten the length of the part program thereby
conserving memory space. Canned cycles are single block multi pass fixed cycles. Examples:
Canned cycles for rough turning and peck drilling in CNC Lathes. Canned cycles for drilling,
boring and tapping in machining centres.

Page 7 of 13
Programmable logic controller
Programmable logic controller is a software oriented machine interface between the CNC
system and machine tool functions such as miscellaneous functions (coolant on / off, pallet
operation, spindle speed functions (M00, M01, M03, M04, etc) and tool functions). Signals
from CNC to PLC are on /off type. The programmable logic controllers available today are
microprocessor-based units, which are integrated into the CNC system.
The programmable logic controllers have memory space to store interface programs.
Some of the common P L C features are listed below:
• Number of inputs and outputs 24, 32, 48 etc., (Both analog and digital)
• Memory capacity 4 k, 8 k etc.
• High-speed microprocessor to execute sequence program processing time of the order
of milliseconds
• Software timers and counters
• Data exchange between CNC and PLC
Diagnostic features
The CNC systems have diagnostics features for faults or error conditions. Diagnostics are
software programs, which check the functioning of the CNC system at various levels. The
control system manufacturer gives detailed use and applications of these diagnostic programs.
Diagnostics can be grouped as follows:
i. Real time diagnostics
ii. On-line diagnostics
iii. Off-line diagnostics
Real Time Diagnostics:
D C power supply voltages, low voltage and real time clock are monitored. In case of failure
of any one of these, control system automatically assumes the emergency stop conditions and
shuts down the drives.
On-line Diagnostics:
On-line diagnostics are active during machine operation. Diagnostic messages are either
readable from C R T screen or from LED Indicators. Program diagnostics detect
programming errors. (Syntax, Parity etc.)
Off-line Diagnostics:
It is provided in the form of a CD-ROM or ROM board (PCB). Following a malfunction, the
off-line diagnostic programs are to be loaded which check the different areas of the system
and respond with error codes / error description on C R T Display. Diagnostics are very
powerful features of CNC systems. To be productive, the system should have a low MTTR
(Mean Time to Repair).
Remote Diagnostics:
It is now possible to send diagnostic programs through Internet to check the errors in CNC
Machines. This enables manufacturers to locate faults even if the machine is located in a
remote place in another country.

Some features of modern cnc systems


(i) Advanced hardware architecture: Custom built very large scale integrated circuits (VLSI)
which can handle several functions in a single chip are used in modern CNC systems. This
way, the benefits of reduced component count and improved reliability are realized.
(ii) Software modularity: Each function is written as a discrete module - (structured
programming). Additional software features can be added at any time to upgrade the control
without affecting the software.

Page 8 of 13
(iii) Adaptive control: Reduces the production time by maximizing the utilization of the
machine tool. It acts on measurement taken from external sensors (In-process measurement)
and modifies the cutting conditions suitably.
(iv) Conversational programming: The system featuring conversational programming are
termed “user friendly” since they are designed with the operator in mind. One example of
such a friendly feature is graphic display. With this feature, the operator can create the part
drawing on screen and simulate the tool paths in the preparatory phase (Prior to machining).
The operator can program in complete safety and be sure that nothing is omitted. The
operator can also check the correctness of the part program on graphic display.
(v) Programming flexibility: In addition to conversational part programming language, high
level language commands like IF-THEN ELSE, GO TO etc., can be used to extend the
program’s power. Higher mathematical functions can be used to calculate square roots,
trigonometric functions etc.
(vi) DNC link.
(vii) Colour graphics: This provides visual interface between the operator and CNC. Part
cross sections can be highlighted. Operating instructions and warning display can be colour
coded for more clarity.
(viii) Machine interface: A high-level language like C is used for programming the machine
logic in PC (example: GE 2000 MC). In AB8600, high-level language SIPROM (System
Interface-Programming) is used.
(ix) Automatic selection of cutting speeds: If we specify the tool material and work material,
C N C System selects cutting speed and feed from cutting condition technology database.
(x) Automatic selection of tools and sequencing of tools: If operation is specified, system
selects corresponding tools and sequence of tools. Systems like Mazak Fusion 640 provides
this knowledge based approach.
(xi) Optimization of machine program: This feature will be useful for components with large
number of drilling, tapping operations, or repetitive end milling tool paths as in the case of
machining of dies and molds etc.
(xii) Display of finished component: Today CNC systems offer a feature to display the
finished component together with dimensions. Sectioning and rotation of the model of the
finished part are also possible.
(xiii) Background programming: It is a common facility available in CNC systems. The user
can run, edit and simulate another program while a program is being executed on the machine
tool.
(xiv) Digital CNC: The new breed of CNC controls use digital technology. The introduction
of digital CNC has brought increased speed and precision to machine tool builders. The PC
based open architecture controls incorporate such features like acceleration with jerk
limitation, direct NURBS interpolation, use of high level languages, execution of large CNC
programs from hard disc and increased number of zero offsets. In some of the systems the
CNC and drive amplifiers are on the some board at the digital level.
(xv) Look ahead feature: The control system scans 150 or more blocks ahead of the block that
is being executed and carries out interpolation and calculates the acceleration and
deceleration requirements in the case of generation of complex tool paths. This helps to
produce accurate profiles in high speed machining.

Programming of CNC machine tools


CNC programming is a term that refers to the methods for generating the instructions that
drive the CNC machine tool. For two dimensional components with little geometric
complexity, CNC instructions can be written manually. However, as the geometrical

Page 9 of 13
complexity increases more sophisticated techniques are required, particularly for 3-axis, 4-
axis and 5-axis CNC machining.
There are three distinct techniques adopted for creating CNC programs:
i. Manual CNC Programming
ii. Programming using CAM software (CAD/CAM based programming systems)
Manual programming is recommended for simple workpieces which require only a few
blocks of program. Programming of complex workpieces requires the help of a CAM
software. CAD/CAM based systems have become popular recently and are now being widely
adopted. Detailed description of these techniques is given in the following section.
Manual part programming
This technique is widely used for workpieces of relatively simple geometry. The steps in
manual programming are:
i. Careful study of component drawing- materials, tolerances, surface finish etc
ii. Select the raw material or blank if not specified.
iii. Select the number of set ups necessary and the machine/s on which the part is machined.
iv. Deciding the workpiece datum for each set up.
v. Designing the fixtures or holding of the job.
vi. Deciding the process and sequence of processes to achieve the desired accuracy and
tolerances
vii. Selecting the tools and cutting parameters.
viii. Writing the program
ix. Input the program and dry run; correct mistakes if any.
x. Produce the first part and inspect.
xi. Correct the program if necessary and progress to lot production.
xii. Create documentation for future reference.
xiii. Archive the program and documentation.
It was mentioned earlier that an NC program will consist of a number of lines called blocks.
Each block will consist of a number of words. Each word will have two components: a word
address and a numeric code representing information. The common word addresses are:
N-G-X-Y-Z-A-B-C-F-S-T-M
where
N = sequence number of instructions
G = preparatory function
XYZABC = co-ordinate and angular data
F = feed
S = spindle speed
T = tool code
M = miscellaneous function
The program is directly input into the machine’s memory through the following methods:
i. Manual data input through the keyboard of the NC console.
ii. A floppy disc and disc drive or magnetic tape.
iii. DNC mode - directly from the computer used for programming or storage of program to
the memory of the CNC machine.
iv. The program can be transferred to the machine through a LAN or through Internet.
Today, another form of programming built in the CNC control itself is gaining acceptance.
Using CNC programming software, the programmer can generate a set of instructions at the
machine control itself. Using basic tool motion commands combined with canned cycles and
custom or user defined macros the programmer can enter component geometry information
on the front panel CRT, provide supplementary information about tool path and cause the
CNC program to be produced automatically within the machine tool control.

Page 10 of 13
Nomenclature of the cnc machines axes
The co-ordinate system for designating the axes is the conventional right hand coordinate
system. Some possible dispositions of these co-ordinates are shown in the Fig below.

One could use his right hand (as shown in Fig. below) to get these alternative relative
positions of the same right hand co-ordinate system.

Designating the motions


i. Location: First of all, Z-motion shall be designated. This shall be followed by X and Y
motions respectively. Z-axis motion is either along the spindle axis or parallel to the spindle
axis.
ii. Direction: For NC machines the positive (+) Z-motion increases the clearance between the
work surface and the tool holder.
iii. When there are several spindles and slides: In such cases, one of the spindles, preferably
perpendicular to the work holding surface may be chosen as the principal spindle. The
primary Z-motion is then related to the primary spindle. The tool motion of other spindle
quills or other slides, which are termed as secondary and tertiary motions, may be designated
as U, V, W and P, Q, R respectively.
Rotary Motions:
A, B and C defines the primary rotary motions.
i. Location: These motions are located about the axis parallel to X, Y and Z respectively. If in
addition to the above mentioned primary rotary motions, there exist secondary rotary
motions, whether parallel or not to A, B and C those should be designated as D or E.
ii. Direction: Positive (+) A, B and C are in the directions which advance a right hand screw
in the positive (+) X, Y and Z directions respectively.

Page 11 of 13
Programming of all CNC machine tools are done more or less on similar lines though there
are several variations due to the type of machining involved.
Programming codes
Programs are written using the standard word addresses given below:
N Sequence number (1 to 9999)
G Preparatory function: Up to 4 G functions in a block are permitted. Some systems
use G codes in three digits too.
X
Y Dimension mode in each axis, up to 3 decimal place
Z
I
J Arc centre offset in X, Y, Z axis + or – Axis direction
K
P, Q Word address codes, meaning depending on G function
B Rotation axis about Y axis
F Feed rate mm/min; eg.F300.0
S Spindle speed; e.g. S630
T Tool function (TXX to TYY), say depending on number of tools in the magazine
M Miscellaneous function
H Offset number
E Dwell function
D Cutter radius offset
L No. of repetitions of fixed cycle and sub program
Example of a program block:
A typical block of program may be written as:

Datum setting
Before preparing a program, the origin or the program (machining) origin must be
determined. This datum is the reference point for programming and cutting.
The selection of machining origin depends on:
• Workpiece shape
• Use/non-use of fixtures
• Convenience in programming
• Workpiece preparation
Some examples of locating datum on a horizontal machining centre are shown in Fig. below.

Page 12 of 13
Figure above is an example of how multiple work coordinate systems can be set by G92
command.
Position 1 G92 X0Y0 G92 Z0
Position 2 G92 X-40Y-20 G92 Z-120
Position 3 G92 X50Y30
In Fig above setting the values of X=0, Y=0 sets the program datum at the preset tool
position as 0.0. The Z-axis datum is fixed at present position with z = 0. The work coordinate
system can be redefined as shown for positions 2 and 3.
In addition, there are six work co-ordinate datum setting code (G54 to G59). These can be
called in the program. This facility is very useful for programming complex box shaped
components.

Page 13 of 13
ROBOTS IN COMPUTER AIDED MANUFACTURING
Introduction
Robots perform several tasks in factories. Some of them are:
i. Movement of materials on the shop floor
(Automated guided vehicles (AGV) or rail guided vehicle (RGV)
ii. Loading and unloading of components in machines
(Gantry robot, machine mounted robot, free-standing robot)
iii. Inspection using vision sensors
iv. Manufacturing operations like painting, welding, component insertion in printed
circuit boards, sorting, automatic assembly, deburring, sampling, dispensing, marking,
etc.
Robots are programmable machines with some human like capabilities. They are made up of
mechanical components, a control system and a computer. These elements can be arranged in
different ways and can vary in size and complexity to perform different tasks.
Thus robots are available in a wide variety of types, which vary in their mechanical
configuration, degrees of freedom of motion and type of drive and control systems. The
degrees of freedom and working envelope provided by its geometric configuration are the
two major selection factors of a robot. A number of different types of drive systems, each
having its own advantages in cost and performance are used in robot technology. Robots are
controlled by a variety of hardware and software systems. The more complex tasks usually
require servo-control systems, which use sensors and microprocessors. The control system
carries out the functions, which govern the robot’s motion.
Robotic systems are used in a CAM environment because of they have a number of economic
and performance advantages over human labor or hard automation in many manufacturing
applications, particularly in batch manufacturing. The major advantages are due to their re-
programmability. Robots can be programmed by several techniques.
Robot programs can be very simple or extremely complex, depending on the nature of the
tasks and type of motion control involved. Robot programming is often done in high-level
languages that provide functions for data processing, computation, sensing and manipulation.
Robot manufacturers have developed different robot languages.

Definition of a robot
Many formal definitions have been developed to distinguish robots from other forms of
automation. In general robots can be defined as “Programmable and Automatic
Manipulators”. It is a special type of computer-controlled machine that can perform a wide
variety of tasks. Two definitions, which are popular in industry, are quoted here. The first is
by Computer Aided Manufacturing-International (CAM-I), USA:
It states that a robot is “a device that performs functions ordinarily ascribed to human beings,
or operates with what appears to be almost human intelligence.”
The second definition is by Robotics Institute of America (RIA), USA. RIA defines a robot
as a “programmable, multifunction manipulator designed to move materials, parts, tools, or
special devices through variable programmed motions for the performance of a variety of
tasks.”

Elements of a robotic system


A robot is a system made up of several elements of hardware and software. These elements
are illustrated in Fig. below. They are briefly described below:

Page 1 of 10
Mechanical Components:
They provide the physical robot motions and perform the various tasks. They include:
(i) Components of the robot manipulator:
(a) A manipulator (the base and arm assembly)
(b) End-of-arm tooling, such as a gripper or end effecter
(c) Actuators (motors or drives that move the links of the robot) and associated equipment
(d) Transmission elements like belts, pulleys, ball screws, gearing and other mechanical
components.
(ii) Control system:
The control system is used to generate the necessary signals co-ordinate the movements of
the robot. It includes:
(a) Mechanical, hydraulic, pneumatic, electrical, or electronic (either open loop or closed
loop) controls.
(b) Sensors including cameras, amplifiers, and related hardware.
(c) Equipment interfaces.
(iii) Computer system:
This provides the data processing capability necessary to interpolate the intermediate
positions and control the movement of the links or arms the robot.
It includes:
(a) Microprocessor or a programmable logic controller or a personal computer
(b) User interfaces (e.g. keyboard, display, teach pendant)
(c) Control software to manipulate the robot for various applications.
Robots can be configured in many different ways by using various combinations of the above
elements. Since robots are designed to perform tasks that might otherwise require humans,
many of their basic features are like those of a human arm. For example, an articulated robot
has arm, hand, wrist and gripper to reach, grasp and manipulate objects.
They are driven by a power source, which provides the energy necessary for their
movements. They can be programmed or can have an intelligent control system, controlled
by neural, fuzzy or fuzzy neural techniques, which can acquire, store, process and perform on
the basis of the data collected by sensors attached to the robot.

Need for using robots


Robots are being used increasingly in manufacturing applications for many reasons. In many
situations, they have a number of advantages over employing humans or special purpose,
hard or fixed automation. The important benefits from the use of robots are listed below:
(i) Robots can be built with performance capabilities superior to those of human beings in
terms of strength, size, speed, accuracy and repeatability.

Page 2 of 10
(ii) Robots are better than humans to perform simple and repetitive tasks with better quality
and consistency.
(iii) Robots can replace humans in performing tasks that are difficult and hazardous because
of factors such as size, weight, reach, precision or environment (e.g., heat (as in pressure die
casting), dust (as in foundries), chemicals (detection of mines), nuclear radiation, and
pollution).
(iv) Robots do not have the limitations and negative attributes of human workers, such as
fatigue, need for rest, diversion of attention, absenteeism, need for refreshments etc.
(v) Robots can be used to perform tasks which human operators do not like to do - jobs that
are considered unskilled, demeaning, or low-paying or that involve poor working conditions.
(vi) Robots can lower costs, through reduction in usage of materials, through their efficiency
and consistency.
(vii) Robots become more economical as labor costs increase.
(viii) Robots are flexible compared to hard automation since they can be reconfigured and
reprogrammed. This permits them to be reused in new or modified applications, and they are
less likely to become obsolete. The output of the humans will depend upon the learning curve
every time the job is changed.
Thus robots can do jobs easier and faster to implement automation since they are more
flexible. The flexibility is due to their reprogrammability. One can expect generally less
down time with robots than complex hard automation in batch manufacturing operations.
Although robots may have all these advantages, they are not always the best choice for all
manufacturing applications. Even though they may have a wide range of capabilities, they
still cannot match the unique combination of mental skill and alertness and physical dexterity
of a human operator. Robots, however, can supplement human operators to enhance their
productivity.

Types of robots
Industrial robots are designed in a variety of shapes and sizes. They can be classified based
on a few basic characteristic features. These are listed below:
(i) The physical geometry of the manipulator arm and base unit and their degrees of freedom
(DOF) (Movements along different axes).
(ii) The complexity of the path in which the manipulator can move. (Point to point in the case
of a pick and place robot, continuous in the case of a welding robot).
(iii) The type of power source used to move the manipulator. (Electrical, hydraulic,
pneumatic etc.).
(iv) The techniques and systems used to control the motion of the manipulator. (Servo and
non-servo).
(v) Depending on whether the robot is stationary or mobile.

Classification of robots based on mechanical configuration


Four basic robot arm geometries are used for industrial applications. These are illustrated in
Fig. below.

Page 3 of 10
Rectangular Co-ordinate Robots
This is also known as the Cartesian co-ordinate robots. A robot with this geometry has three
linear axes using sliding joints, which are typically arranged in a cantilever configuration
whose motion traces a box like shape. This type of configuration is ideal for straight-line and
side-to-side movements. These robots can be used for tasks involving pick and place
operations like material handling and loading and unloading of work pieces in machines.
Cylindrical Co-ordinate Robots
This is also referred to as a rectilinear co-ordinate robot. A robot with this geometry has three
axes of motion that trace the shape of a cylinder. It has a base unit, which rotates, a vertical
extension, and a horizontal arm that moves in a line. This type is best suited for movements
around a base.
Spherical Co-ordinate Robots
This is also known as the polar co-ordinate robot. A robot with this geometry has three axes
of motion that trace the shape of a sphere. It has a base unit that rotates, a main body that tilts,
and arm that slides in and out.
Revolute Co-ordinate Robots
This configuration is also known as anthropomorphic (i.e. like a human arm) or articulated
arm or jointed arm. Such a robot has three axes of motion involving a base, a shoulder, and
an “elbow” that rotate.

Several variations of these basic geometries have also been developed to provide optimum
performance for certain applications. Two of these are:

i. “Gantry” or “box frame”


This is a rectangular co-ordinate configuration with all three linear axes of motion suspended
above the work space (Fig. below). It can be made very rigid, which allows high precision
and high acceleration. It also lends itself to modularity in design for a variety of
configurations, including multiple arms.
This type of robots is used for loading work pieces in CNC turning centres in flexible turning
installations.

Page 4 of 10
ii. Selective Compliance Assembly Robot Arm (SCARA)
This configuration shown in Fig. below is horizontally revolute. A robot of this type moves
by sweeping over the workspace at a fixed horizontal distance before moving a vertical arm
down. This permits a compact and relatively low cost design for small assembly tasks.

Freedom of motion
The primary function of the manipulator is to position the arm of the robot such that it can
perform its intended tasks. This requires precise and sometimes complex control of the
motions of each of the mechanical elements (i.e., base and joints). To perform useful tasks,
however, the robot must also grip and apply force to objects. This requires the addition of
end-of-arm tooling, such as a robot hand or gripper, whose motions must also be controlled.
The motion ability of a robot is usually expressed in terms of the number of “degrees of
freedom” it has. The number of axes it uses or independent moves it can make. An axis of
motion can be either linear or rotational. Six geometric parameters or axis coordinates are
required in order to completely specify the location and orientation of an object. Three co-
ordinates can locate the centre of gravity of an object (e.g., x, y, and z co-ordinates in a
rectangular co-ordinate system). Three more axes determine its orientation (e.g., angles of
rotation i.e., roll, pitch and yaw). Therefore, a robot requires six degrees of freedom in order
to be completely versatile in its motions.
Since all of the basic mechanical configurations of manipulators provide only three degrees
of freedom, additional axes must be added if more flexibility in motion is required. This is
normally achieved by adding wrist and hand movements with the end-of-arm tooling (Fig
below). There are three basic types of wrist motions:
i. Roll: Rotational or swivel movement in a plane perpendicular to the end of the arm.

Page 5 of 10
ii. Pitch: Rotational or bending movement in a plane vertical to the arm.
iii. Yaw: Rotational or twisting movement in a plane horizontal to the arm.

The motion ability of a robot is also described in terms of its “working envelope”. This is the
volume that can be reached by the maximum movements of the end of the robot arm. Each
manipulator configuration has a different shape for its working envelope, which also varies in
size with the size of the robot (Fig. below).

Drive systems
The mechanical linkages and joints of a manipulator are driven by actuators, which can be
various types of motors or valves. The energy for these actuators is provided by some power
source (electric, hydraulic, or pneumatic). In some cases special technologies are used. For
example, shape memory alloys are used in some specialized robotic applications.
Actuators may be directly coupled to the links or joints that they drive, or through screw and
nut mechanisms. There are three major types of drive systems for industrial robots:
i. Pneumatic Actuator System: These systems are driven by compressed air.
Pneumatic-drive robots are usually small and have limited flexibility, but they are
relatively inexpensive to build and use. The weight of the payload they can carry and
the speed of their motion are limited by the compressibility and low operating pressure
of air. These are also particularly suitable in certain application like nuclear reactors
and places were fire hazards are likely to occur.
ii. Hydraulic Actuator System: These systems are driven by a fluid that is pumped
through motors, cylinders, or other hydraulic actuator mechanisms. Hydraulically
driven robots can be relatively compact yet provide high levels of force, power, and

Page 6 of 10
speed with accurate control. They can also be made very large for heavy payloads and
large working envelopes. Because the power supply (hydraulic pump) can be isolated
from the robot and no electric power is required in the manipulator, hydraulic robots are
safe and reliable in wet, dusty, and potentially explosive environments. These types of
robots are suitable for operations in foundries.
iii. Electric Actuator System: These systems are driven by rotational electric motors
(various types of AC Servos, DC Servos etc.). Electrically driven robots are best suited
for applications involving light payloads, which require high accuracy and fast
response. They do not have some of the maintenance and reliability problems
associated with pneumatic or hydraulic systems. However, they require more
sophisticated electronic controls and can fail in high temperature, wet, or dusty
environments. AC Servo drives are preferred now because of their ruggedness.

Control systems
The motions of a robot are controlled by a combination of software and hardware that is
programmed by the user. There are two basic types of robot control systems – servo
controlled and non-servo controlled. These are described in subsequent sections.
i. Robot control through non-servo operation: This is the simplest and least
expensive type of control system, but it is also very limited in its flexibility and
performance. It can be a purely mechanical system of stops and limit switches, which
are pre-programmed or positioned for specific repetitive movements. This can provide
accurate control for simple motions at low cost.
Such a system can also use some type of electro- mechanical logic, such as pneumatic
valves or electrical relays, to control fixed sequences of movements.
The motions of non-servo controlled robots are controlled only at their endpoints, not
throughout their paths. Due to the nature of the types of controls used, the number of
points, which can be programmed into a sequence of movements, is also limited.
ii. Servo-controlled Robots: This system is capable of controlling the velocity,
acceleration, and path of motion, from the beginning to the end of the path. It uses
complex control programs. Servo-controlled systems use electronic controllers (PLC’s)
or computers and sensors to control the motions of robots. They are more flexible than
non-servo systems, and they can control complicated motions smoothly. Their
capabilities and cost will vary depending on the type and sophistication of the controller
and sensors involved.
Sensors are used in servo-control systems to track the position of each of the axes of motion
of the manipulator. These sensors may be located internally, in the robot joints, or externally,
in the workspace. Many different types of sensors can be used depending on the nature of the
task and performance requirements involved. The major functions of a control system
involve:
(i) Generating the path of motion for the manipulator: Assume that a robot link has
to execute an angular movement. The link starts from zero angular velocity and
accelerates until reaches a maximum velocity. It then continues at that velocity until it
begins to approach the position it is programmed to reach. It then decelerates until it
stops at that position. The control system must provide the commands for this motion.
(ii) Feedback devices: Servo-control requires feedback from sensors, which track the
movements and actions of the manipulator. The signals from these sensors are read by
the controller and used to make any adjustments required in the motion of the robot to
achieve its task.
(iii) Co-ordinate transformation: The position of the robot can be expressed in terms
of the angles of its joints and the lengths of its arms. This is the “joint co-ordinate

Page 7 of 10
system” with which the robot must be controlled. However robot motions are usually
programmed in terms of the rectangular co-ordinates of the real world (i.e. the “world
co-ordinate system”). The control system must therefore convert the programmed path
from one co-ordinate system to the other (Fig. below). This can involve considerable
amount of computation. The translated path may not be precisely the same as the one
described in the original co-ordinate system program.

(iv) Safety controls: To assure that failures or errors are detected before any damage or
harm is done, the actual motion of the robot must be constantly monitored and
compared to allowable limits. This can involve a variety of monitoring or measuring
techniques.
(v) Interfaces: The control system must communicate with the user or programmer.
This can be done through terminals, keyboards, control pendants, or switches (Fig.
below). The system controller must have interfaces to the sensors and actuators that
control the motion of the robot. In some applications, the system must also
communicate with other equipment, such as production machines, materials handling
devices or even other robots. The communication channel provides all these interfaces
to the control system.

Programming robots
The major advantage that robots have over fixed automation is their ability to be
reprogrammed. They can perform complex tasks under the control of stored programs, which
can be modified at will. In addition they can move in response to real time inputs from
sensors. Programming is an important feature of robots, and it is also a significant component

Page 8 of 10
in their design and application. The process of robot programming involves “teaching” it the
task to be performed, storing the program, executing the program, and debugging it. A
number of different techniques and software approaches are used to program robots.
The kinematic analysis of a robot means the determination of position, velocity and
acceleration of the various links of the robot. This can be of two types - direct kinematics and
inverse kinematics. Direct kinematics involves determination of position of the end effectors
for specified displacement of links. Inverse kinematics deals with the problem of the
calculation of link movements to achieve a desired position of the end effectors.
The inverse kinematics problem is important in most of robotic applications. The
programming of the robot involves the coding of the data obtained from direct/inverse
kinematic analysis so that the end effector of the robot is positioned suitably for the required
applications.
The principal task of the robot program is to control the motions and actions of the
manipulator. However, due to the inaccuracies and uncertainties involved in the positions and
movements of robots, much of the programming involved deals with the detection and
correction of errors. Programs must also be written to deal with both user and machines.
The user may include professional programmers, as well as operators, maintenance
personnel, and application engineers.

Programming methods
The following methods are commonly used to program robots:
i. Guiding: This is also known as the “Walk through” or “Playback” method. It involves
manipulating the robot arm so that it can be moved manually through the intended motions
while its link movements are being recorded by the control system. This is the simplest
technique and does not require the operator to write any program code, but it is limited to
relatively short and simple motions. With this method, the operator physically guides the
robot through its movements. The stored “program” of robot motion can then be played back,
during the actual performance of the task. It is also possible to edit this program to optimize
it.
ii. Teach pendant: This is also known as the “lead through” method. It uses a control panel,
called a “teach pendant”, which has buttons or switches that control the motion of the robot.
The operator or programmer can lead the manipulator through the task one step at a time,
recording each incremental move along the way. Only the major points in the path of the
robot’s movements are recorded, so the intermediate points must be interpolated or calculated
by the control system. The control system then generates a program for the complete path of
the robot. Like the walk through method, this technique does not require code writing, but it
can be used for more complex and precise tasks. It is often used for developing applications
or training.
iii. Off-line programming: This is the most common method of robot programming in
which a high-level language is used to write a control program. This program describes all
the movements and actions of each of the links of the robot. The program may involve many
steps, requiring a large number of lines of program code. In addition, a great deal of
computation is normally associated with the translation and generation of path of motion.
This method of control is the most flexible and can also enable the robot to respond to signals
from external sensors to modify its movements.
iv. On-line programming: A variation of the above programming method is online
programming. This requires the availability of a robot, but it also gives the programmer the
ability to see the motions of the robot actually executing the program as it is being developed.
In most cases, this approach is used either as a substitute for a teach pendant or to debug
programs that have been written off-line.

Page 9 of 10
v. Comparison of off-line and on-line programming: On-line and off-line programming
are used on different control levels of the robot cell. Off-line programming supports the
integration of robots into a CAM system. It allows the manipulation of CAD system data to
reduce the programming time by eliminating the interaction with the physical devices. The
programming method, however, has difficulty in handling sensor information, and this
obliges the programmer to use simulation, which allows modeling of the sensor input in
critical situations and its interpretation. In general, an off-line programming system needs a
software development environment to specify the application requirements, to analyze the
tasks, and to decompose the global task to subtasks. Program test facilities are needed, as
well. An on-line programming system provides tools for debugging and testing the program.
Here the use of the physical robot system is required.
An on-line language is more convenient to non-expert users.

Robot programming functions


A robot programming system involves major functions to make the execution of the actual
task possible.
(i) Modeling the work space: A significant part of specifying the robot’s task is defining the
positions of the elements and constraints involved in the application.
When the task environment is not known precisely, the position of the robot must be
specified relative to the objects. Position data may be obtained from several sources, such as
robot sensors, geometric models, or external sensing systems.
(ii) Path generation: The path of motion is normally specified by interpolating intermediate
points from a sequence of motions and positions identified in the program. As mentioned
earlier, the position specifications must be translated from world co-ordinates to joint co-
ordinates, which the robot control system can understand. The type of path generated may not
be coordinated between the joints. That is, each joint may move independent of the others.
This will normally result in a non-uniform, curved path. If straight line motion is desired, the
motions of the joints must be coordinated.
(iii) Sensing: The use of sensors permits the robot to deal with uncertainties, which may
include:
(a) The detection of errors.
(b) The identification of objects or positions, using a vision system.
(c) The initiation or termination of actions, using limit switches, proximity switches or
feedback devices.
To use sensors, the robot control system must be able to connect and interpret sensory data
from internal or external sources and generate control signals that will modify the actions of
the manipulator. The data acquisition, computation, and output signal generation activities
must be built into the control program. A sensor-based robot must have a program that allows
it to choose between alternative actions on the basis of data from the sensors and its model of
the environment.
(iv) Programming support: Some of other functions that are necessary in a programming
system for robots include:
(a) Editing tools for modifying programs.
(b) Debugging tools for finding problems during program development.
(c) Diagnostic tools for finding problems during operation.
(d) Simulators for trying out robot programs without actually operating the robot.
(e) Interfaces to controllers, peripheral equipment, and other computers.

Page 10 of 10

You might also like