19. EGR 345: Dynamic System Modeling and Control

19.1 Resources

• We will make extensive use of texts that should have purchased or own already,

19.1 Bollinger, J.G. and Duffie, N.A., Computer Control of Machines and Processes, Addison-Wesley, 1989.

19.2 Chang, T.-C., Wysk, R.A. and Wang, H.-P., “Computer-Aided Manufacturing second edition”, Prentice Hall, 1991.

19.3 Kalpakjian, S., Manufacturing Engineering and Technology, Addison-Wesley (3rd. ed.), 1995.

19.2 Projects

Objective: Students will learn how to synthesize a control system by selecting and building a complete integrated system from beginning to end.

Method: The basic steps are outlined below,

1. Course begins

2. Students (individuals or groups) will submit a proposal for a project within the first three weeks.

3. The instructor will review the proposal, and suggest changes as necessary.

4. During the term students will design, build and test their proposed projects.

5. In the last week of classes the final project will be demonstrated and formally presented.

19.2.1 Topics

[an error occurred while processing this directive]

• The following topics are some possible topics, in priority,

1. Projects for the workcell

a) Develop a computer program for scheduling.

b) Design and build a material handling station for the lab.

c) Develop a product information database

d) Develop a quality monitoring systems

e) Write a workcell control program (either C or Java)

2. Select a problem from a local company

3. Select a project based on your interests

a) Build a CMM that uses an arm with measured joint angles.

b) Design and build a robot.

c) Develop an idea of your own.

d) Design and build an NC machine.

19.2.2 Project Descriptions

[an error occurred while processing this directive]





19.2.3 Previous Project Topics

[an error occurred while processing this directive]

“GVSU Workcell” (Jenny Agnello, Tom Johnson, Colin Moore, Lisa Nahin, Jeremy Scott) The material handling system at GVSU was designed to produce puzzles. The heart of the system was an Allen Bradley SoftPLC and Devicenet. It controlled a material handling system supplid by Worksmart Systems. The system included a robot for loading/unloading the mill. A CNC mill for cutting the parts. A vision system for inspecting the final parts. Various feeder and fixtures were designed and build by students in EGR450.

“Hole in Sphere Project” (Alex Wong, Robert Krygier, Andre Cargnelli, Ahmed Nensey) A mechanism will be designed and built for orienting spherical balls with small through holes. This will be done with a mechanism that uses three rollers for orientation, and an optical pair to detect the hole. An electromechanical control system will be used.

“Automated Robot Arm” (Lev Mordichaev, Karl Fung, Dennis Ngo, Nikko Chan, Edwin Wen, Elaine Rodrigues) A robot arm will be designed and built that can move up/down, left/right, and has a gripper that will open/close. The robot will be controlled via a computer program, and electrical connections to the robot.

“A Manually Controlled Robot” (Keith Lou, Sue Lee, Richard Dankworth, Phat N. Huynh, Howie Lam, Tarius Makmur) To build a manually controlled robot to perform a certain task using a joystick for control. This small scale robot will be capable of picking up an object, and positioning it in another location. And, for proof of concept, a set of fixtures, jigs or feeders will be constructed for a simple robotic task. Note: This project has too many people for construction of a robot only.

“A Box Sorting System” (Joey Aprile, Don Christie, Gabe Fusco, Mike Poczo) A conveyor based system will be designed and built for sorting boxes by a switched conveyor path. This will include construction of the conveyor, sensors, actuators, and control system.

“Automated Drink Dispenser” (Keith German, Dave Van Den Beld, Jeff Kempson, Brent Rubeli, Michael Staples) Glasses on a conveyor belt will be transported to/from a dispensing station where they will be filled by an automated mechanism. The system will be designed and built, possibly using a PLC, or a PC for control.

“Self Leveling Platform” (Gerard Biasutto, Mario Borsella, Dino Farronato, Marco Gaetano, John Yuem) An actuated system will be designed and built to level a platform under tilting conditions. This will involve actuators positioned at four corners. A control system will be constructed to drive the actuating cylinders.

“Raytracing and Animation” (Greg Squires, Ed Hoskins, Marie Malyj, Allan Zander, Tara Hillebrandt) POVray was used to animate a sequence of images to illustrate a pipe layout

“NC Machining with SmartCAM” (Neil Babcock) A fishing reel was designed. The reel was cut on an NC machine using Smartcam software for programming.

“A graphical computer program for flow analysis on PC’s” (James Barr) A computer program was written to do an analysis of a sphere moving through a fluid.

“Manufacturing Database” (K. Beute, M. Mead) A manufacturing database will be developed that allows operators to call up machine configurations based on part numbers. This system uses an HMI to allow easy operator access.

“Construction and control of Stiquito Robot” (T. Cowan and J. Cummings) A kit for a stiquito robot will be purchased and assembled. The appropriate interface electronics and software will be written to control the robot.

“Virtual Reality Modeling” (N. Dunklin) VRML will be explored and used to implement a 3D model of a complex part. This will allow a user to explore the 3D world using a simple internet browser.

“Automatic Generation of CNC Programs” (K. Gehrke) A computer program will be written in C/C++ to automatically generate computer programs in C or C++ to cut initials in keytags.

“Java Programming” (N. Kaye) The Java language will be learned, and a program will be written to cover some aspect of integration or automation.

“Computer Based Analysis of Battery Discharge Data” (R. Sietsema) A computer application will be developed using Excel, and a scripting language, to allow a user to do an analysis of battery discharge data.

“Force Feedback Joystick” (R. Serebryakov) A force feedback joystick will be designed and built. It will be interfaced to a PC and controlled with Labview.

“Design and Construction of Robot” (S. Williams) A robot will be designed and built. The robot will be interfaced to a computer for control.

19.2.4 Problems

[an error occurred while processing this directive]

• The following chapters and problems are suggested, in addition to the laboratory materials and the course notes

• The suggested problems Chang and Wysk are recommended to help you examine the basic properties of the problems. the required problems assigned during the semester must be submitted. Doing only the required problems will leave you at a disadvantage.

Read Description Suggested Required

cww7.1-5,7A,7B PLCs 1,2,3,7,10,11,12

cww8.1-3 Networks 1,2,3,5,6,8,10,11,12,13

cww11.1-10 Robotics 1-4,8-13

cww11.11 Vision

cww9.1-9.4 NC machine tools 1-8,10,12,13,16,17,19

cww10.1-10.6 NC programming 1-4,6-8

cww3.1-3.? CAD systems 3-9,13,15-18

cww3.?-3.9 Splines

cww6.1-6.5 Automation 1

cww1.1-1.5 CAD/CAM/CIM 4-5,7-12

cww15.4-15.7 Integration 5-6

cww15.1-15.3 FMS systems 1-4

cww6.6-6.7 Material Handling 4-7

cww6.8 Automation economics 8

cww11.8 Robot economics

cww8.1-8.3 Networking 1,3,5-6,10,12,13

TBA Databases

cww16.1-16.6 Planning and simulation 1-6,9 - Solutions: Chapter 3: CAD and Splines

3.3 There are three significant levels of solid models. The lowest level is the 2D line based model. To represent any real part with this we need two or three views. Mathematically is can be difficult or impossible to relate the lines in the different views. A 3D line based model is a bit better, the lines are all related, but determining where the inside/outside lies can be a problem. 3D solid models are the highest level and are useful because we can exactly determine what parts of space the geometry occupies. The mathematical exactness of the model makes it well suited to supporting other tasks after geometrical design such as finite element analysis, and automatic generation of NC programs.


3.5 Using the definitions of the book the major divisions include Mechanical, Architectural, Electrical/Electronic and Map Making. This list is not complete and can be expanded to include manufacturing (such as CNC milling), process (pipe layouts, etc.), textiles (clothing design and pattern making), etc.

3.6 CAD systems can be of benefit for engineering design when the geometry is to be reused. Examples of reuse include CNC program generation, FEA analysis, paper drawings, shipping drawing to customers, drawings imported into other designs, drawing will be revised. New CAD systems not mentioned in the book also allow designs to be treated like a sketchpad. Think of Pro/E that allows a design to change radically by altering one dimension on the screen. When users become proficient, CAD systems will make them more efficient. After a CAD systems has been in use for some time new designs can be done by modifying old CAD files.

3.7 The major difference between a wire frame and solid model is the mathematical representation. The wire frame model only indicates where edge of the model lay in space. This leads to ambiguity, not knowing where the inside of the part lies. Another major problem is that the wire frame models do not allow curved surfaces to be drawn easily. (This can be with done approximately with difficulty using cross section drawings) Solid models contain a closed mathematical surface model, including all geometrical features.

3.8 Solid models contain part models with splined surfaces. These can be used directly to generate NC path programs. Surface modelers are also available, but uncommon these days.

3.9 We can used Euler’s equation, there are no holes in the part faces so the Euler-Poincare equation is not necessary. Counting the geometrical entities shows that F = 4, E = 6, V = 4. Applying the formula shows that F: E + V = 2. Because this equals 2 the solid model is valid.

3.13 See answers for 3.3 and 3.7


3.16 This is a complex solid. A simple count shows V = 10, E = 15, F = 8, L = 9, S = 1, G = 1. A simple calculation shows V-E+F-(L-F)-2(S-G)=0 . This equals 0, therefore the solid is valid.


3.18 For the pros/cons see earlier solutions. The wire frame is shown below. - Solutions: Chapter 6

6.1 The production volume determines the tradeoff between these solutions. Hard automation works quickly, but retooling is expensive and time consuming. If the cost and downtime can be amortized over a larger number of unit cost drops very low. For smaller volumes and mixed product types the flexible automation can be a better choice.

6.4 Each Geneva mechanism can be used to provide a single rate of operation. To get multiple rates we would need multiple mechanisms. - Solutions: Chapter 7: PLCs

7.1 Scan time can be critical to applications that have fast changing inputs or outputs. If the scan time is too long then a fast input may be missed. And, slow scans may prevent the system from responding fast enough for outputs.

7.2 The advantages of a PLC over a relay panel is for larger applications, they are more reliable, less expensive, easier to program/change/debug, smaller, etc.

7.3 The advantages of a PLC over a microcomputer is that the PLC is more compact and rugged, the PLC costs less, PLCs can be repaired and replaced faster, PLCs have features designed for the factory floor, etc.

7.7 I will assume that there is a one second delay for each step.



7.12 - Solutions: Chapter 8: Networks

8.1 (decimal) 77, 65, 67, 48, 49, 78, 69, 32, 49, 32, 79, 70, 70

8.2 The following are shown as full ASCII serial data including start and stop states. The bytes are separated by ... to help reading.

‘ON’ using 1 start, 8 data, even parity, 2 stop = ...1001001111011..1001001110111...

‘OFF’ using 1 start, 7 data, odd parity, 2 stop = ...101001111111..101000110011...101000110011...

‘idle’ using 1 start, 8 data, space parity, 2 stop = ...1001101001011..1001100100011..1001101100011..1001100101011...

8.3 total bits = 8000 * (1start+7data+1parity+2stop) =88000 bits, min time = total bits/baud = 88000 bits / 300 (bits/sec) = 293.3 sec, time = (100% + 10%) min time = 322.7 sec

8.5 These problems will commonly occur when the sending and receiving computers do not have the same settings. The settings that can be baud rate and data bits. By changing baud rate and data bits the machines can be made to work correctly.

8.6 The pro-light mill is built around a normal PC, so it has an RS-232 port, but this is not being used for the CNC machine. The EMCO lathe has an RS-485 port that is connected to a dedicated RS-485 card in a computer. Programs are passed to the lathe using a DNC network.

8.8 A LAN, such as ethernet, can be compared to simple serial/parallel communication as below,

networks connect all machines with minimal wiring

networks allow high speed communication

serial/parallel communication costs less

networks allow longer distances

serial/parallel communications do not need a server

8.10 definitions

base band: a network data transmission method that uses a voltage or current switched on/off to indicate bits.

broadband: a network data transmission schemes that uses multiple carrier frequencies to simultaneously transmit multiple data streams over a single wire.

medium-access control: this covers a variety of methods for controlling which network client can talk. If the clients all share a common wire this requires some effort to decide when to listen and when to be quiet.

packet: This is a collection of bits that is transmitted. In simple schemes a packet will hold a single byte. In more complex methods, the packet will consist of hundreds or thousands of bits that can transmit hundreds of bytes.

8.11 CSMA/CD: When multiple clients share a common data wire. When a client sends a message it will also listen to make sure that what was sent is what it hears back. If they don’t match there is a conflict with another client. When this happens they stop for a random time and then start again. When the network is being used lightly this is efficient, but as the network traffic become heavy the conflicts tend to interrupt transmissions more often, and then network slows down quickly.

8.12 The ISO/OSI model for networking layers allows networking software to be split into logical levels. It can be applied when specifying network standards, formats, protocols, and software. It is especially useful when comparing or interfacing different network standards.

8.13 A bridge will simply pass similar data packets between different subnets of the same types of LANs. A gateway will pass packets between dissimilar network types. - Solutions: Chapter 9: CNC Machines

9.1Major components of a CNC system are listed below,

frame: this is a large rigid mechanical frame that reduces flexing during cutting.

ways: these guide the motion of the carriage and tool in a straight line.

spindle: rotates the tool

tool changer/turret: this is on most machines and allows multiple tools to be quick changed

axis drives: these are typically motors and ball screws that move the work or cutting tool

control system: this moves the axes of the in coordination so that they follow the user program

user terminal: a place where programs can be run, tools changed, etc.

enclosure: an enclosure protects users

cooling/cutting fluid: a system for cooling the work and removing chips

9.2 Point-to-point motion is used for cutting longer straight lines. Contouring motions allow nonstraight paths that are often used for complex rounded surfaces.

9.3 The program below allows circular interpolation of a surface.

9.4 CNC machines can be controlled by a number of power sources. The typical sources are electric motors. Servo motors allow fast positioning with high torques. Stepper motors are used for smaller machines. They allow accurate positioning without feedback, but they are quite weak. Hydraulics and pneumatics are also used, but they are not well suited to positioning, so they are typically used for opening/closing doors, tool holders, etc.

9.5 The incremental coordinates are (19,0,-19), (-38,17,20), (13,-11,-5). This assumes we are starting at the first point.

9.6 The absolute coordinates would be (10,4,9), (29,4,-10), (-9,21,10), (4,10,5).

9.7 Accuracy indicates the precision with which we can specify a location of the tool. Repeatability is a measure of the random variation of the tool about that point.



9.12 An open loop CNC system does not use feedback. If the system uses stepper motors then this is typical. If the system uses servo motors, then an encoder is needed to measure the position, thus closing the loop (a closed loop feedback system).



9.19 Sources of error in NC machining include: tool/machine/work/fixture deflection, tool wear, circular interpolation, backlash and friction in the machine, etc. - Solutions: Chapter 10: CNC Programming



10.6 - Solutions: Chapter 11: Robotics

11.1 a) cartesian = PPP, b) cylindrical = RPP, c) spherical = RRR, d) articulated = RRR, e) SCARA = RRP

11.2 The three first dof in a robot primarily provide positioning. The last three degrees of freedom provide orientation. This sound quite definite, but in truth these interact, and changes in the last three will often change position slightly, and changing position often changes orientation.

11.3 To find the inverse kinematics, we should first find the forward kinematics. By inspection we can find the inverse kinematics.

11.4 Here we will assume that the origin of the robot is at the center of the shoulder. Again the inverse kinematics will be found by inspection.



a) Palletizing of 3 lb boxes: I would recommend a servo motor based system with point to point positioning (the book defines point to point in a more restricted manner). I would look for a Cartesian robot with built in palletizing functions.

b) Spray painting in flammable environment: The robot should provide continuous path functions. For a drive system I would suggest either a servo motor system with sealed motors (to prevent sparking). Another alternative (not common) would be to use pneumatic actuators. Programming should also provide the ability to follow continuous smooth paths.

11.9 A compliant robot will help implementing this application, but a significant problem will be the necessity to mate the square shoulders of the pegs and holes. This would require that the peg be brought in at an angle and then stood up. This motion is difficult for a robot, even a compliant one. It is recommended that the pegs and holes be chamfered to allow self location.

11.10 Consider the task. The pallet sets out a 2 dimensional array, for this we need 2 dof. The orientation of the boxes on the conveyor and the pallet are rotated by 90deg., thus requiring 1 dof. If we assume the task is all performed on a single plane we can use a minimum of 3 dof total.

11.11 An accumulator will store hydraulic power (like a capacitor) when the fluid flow is low, and then deliver it when required. A hydraulic robot will not use power continuously, and the accumulator allows power in the robot to be more continuous, and make the robot more efficient.

11.12 As a task I select a record/CD changing arm in a juke box. For this task the arm must move to a linear rack position, pick a disc from the rack, lift it out rotate it and place it on a turn-table. A cylindrical robot can perform the task easily. The height can go to the rack position, the radial distance can move in then out to pick the disk, and the rotation can be used to turn from the rack to the turntable. The tooling could be in a few forms. A set of curved fingers could hold the edges of the disc, with care not to touch the face. The disc could also be picked up with a suction cup. This would only cause trouble when it is closely packed with other discs in the rack.

11.13 In terms of economic cost a juke box will probably cost $1-5K, and is mass produced. The cost of the robot would be $20-50K. This is clearly not justifiable.

19.3 Tutorial - Pro/Engineer


If you have done drafting by hand, or used simple CAD programs such as Autocad you are used to a different approach to technical drawing. In drafting based programs you picture the part in your mind, and then draw lines and arcs for two, three or more views that represent the edges of the part. For example to draw a cube you draw three squares (front, top, right side views) using four lines for each square. The line dimensions must be correct, and then dimensions can be added after. When you are done the only major use is to print/plot the drawings.

With solid modeling based systems you start by entering the geometry of the object. For example a cube is a cube, not a set of lines. The solid modeler stores this geometry internally as a mathematical model of the surface and volume of the part. After entering the geometry it can be used for various tacks such as creating 3 view drafted drawings, creating NC codes so that it may be machines, doing finite element analysis. Most CAD packages now offer some level of solid modeling, including Autocad.

Pro/Engineer has its own method for entering the geometry that tends to focus on cross section profiles. You draw a profile of the part and then extrude or rotate it. This approach is well suited to parts that will be manufactured. The creation of the profile is the most like traditional drafting. For example to create a cube, you would first draw a square, and then extrude it into a cube. If the same square was rotated it would produce a cylinder. After the base part has been created, it can be added to or features can be cut out. The geometry of the part is not fixed, and it can be changed and manipulated at any time.

Note: When using the solid modeler be prepared to use 3D coordinate systems to define and manipulate parts.

1. Use the book “Pro/Engineer Tutorial and Multimedia CD” by Toogood and Zecher. Insert the CD and follow through a few until you feel comfortable. Then work through the book up to and including lesson 8.

2. Create a geometry for a die cavity (a simple box shaped cavity is sufficient). Use the Pro/E machining module to convert this to CL values. Look at the text file that was produced. This file is not yet ready for an NC mill. It requires post processing, which we will do later.


[an error occurred while processing this directive]