You are on page 1of 38

A Process Planning and Optimization System for

Laminated Object Manufacturing Application

by
Anthony PANG
IEEM Dept.,
Hong Kong University of Science & Technology

Presentation Outline
1. Problem Description
2. Geometric Algorithm for Solid Level Process Planning
a.
b.
c.
d.

Convex Cover of the Build Part


Part Orientation Determination
Cutting Plane Generation
Internal Octree-based Grid Generation

3. Optimization of Layer level Cutting Path


a.
b.
c.

Genetic Algorithm
Genetic Algorithm with 3-opt
ATSP-Assign Iteration (Tuckers formulation)

4. Operation Sequence for Proposed System


5. System Architecture
6. Conclusion

LOM Process Description

Problem Description
Build object

Traditional Hatching Grids


Max. Section Area Layer

Problems:
(a) Wasted effort in cutting hatch grids
(b) Wasted time due to poor path planning

Lowest Section Layer

Solid Model Level Optimization


Convex Cover

Cutting Plane Generation


Cutting Plane

Finding Good Parting Planes

1. Orient the part on the machine


2. Find the best parting line
3. Find the parting planes

Part Orientation Determination


Vertical Orientation (assumed as given)
Depends on surface finish considerations

Wmin

Horizontal Orientation
Method:
The minimum projection width algorithm
Algorithm:
Project on XY Plane
Rotating Caliper on CH(projection)
PART

paper advance

pick-up
roll

X-width
Z

feed roll

Y
X

Cutting Plane Determination

Cutting Plane Determination

Parting Line Determination


(a) Flattest Parting Line
vc1
vc6
vc5

v1

vc2
v7

vc4

v6
v5

v2
v9

v4

v8
vc3

v3

Parting Line Determination..


P C t1
PCs
PCr

v1

PCu1
P C t2
PCv1

PCu2

v7

v6
v5

v2
v9

v4

y
PCv2
PCw

v8

v3

Polygons and vertex visibility (Dijkstra)

Cutting Plane Determination ..

Inside the Convex Hull: Octree cuts


Object
Enumeration

Octree

The Geometric Planning Sequence

Solid Model Level Process Planning

Solid Model Level Process Planning

Performance Comparison
Surface Area

TestCase

Traditional
CH with Rect
CH with Octree

Toyplane

Traditional
CH with Rect
CH with Octree

Brake
Casing

Traditional
CH with Rect
CH with Octree

Cover

Traditional
CH with Rect
CH with Octree

Cimplex

Traditional
CH with Rect
CH with Octree

Golf Iron

Traditional
CH with Rect
CH with Octree

Part

Convex
Hull

447.92

0
438.84
438.84

29378.3

0
37479
37479

784413
0

0
6755260
6755260

18171

0
14246
14246

52540

0
48041
48041

2834

0
3045
3045

Bounding
Box

Cutting
Plane

Grids

Total

1114.63

0
87.06
87.06

2675.27
317.51
110.29

4237.82
2405.96
2198.74

43.23
48.12

22.15

116749

0
10530.7
10530.7

221805.0
24699.2
12539.7

367932.3
218813.7
206676.7

40.53
43.83

49.72

12200700

0
450001
450001

3136580
0
1726700
0
3598830

5141063
0
4451709
1
3084892
1

13.41
40.00

19.3

25200

0
1451
1451

49887
20208
13391

93258
79276
72459

14.99
22.30

33.5

73094

0
2544
2544

137018
65325
26929

262652
241544
203148

8.04
22.66

21.75

6818

0
760
760

16825
4267
966

26477
17724
14423

33.06
45.53

30.28

Reduction

SL
V

Laser Path Planning For Each Layer

3
8
9

10

5
15

14

11
1

13 12
10 11

6
13

8
7

14

12

4
6

3
2

Laser Path Planning For Each Layer ..


Problem description
Two decisions at each step:
1. Which is the next arc to be machined
2. What is the sense of drawing arci

vj1
vi2

curve j

- using two variables to depict these decisions:


vi1

Xi =

| 1 if start vertex of arci is vi1


| 0 if start vertex of arci is vi2

Yij =

| 1 if the i-th arc drawn is arcj


| 0 otherwise

Clearly, all Xi' s and Yij' s can either be 0, or 1

curve i
vj2

Laser Path Planning For Each Layer ...


Problem formulation
n

Y
j 1

1j

aij

[ X j a 0 j (1 X j ) a1 j ] +

vi2
vi1

Y
j 1

nj

[ X j a1 j (1 X j ) a 0 j ] +

n 1 n

Y ( Y
i 1 j 1

ij

t 1

i 1,t

vj1

cij
curve j

bij

curve i

dij

vj2

Z jt )

Z jt X j X t a jt X j (1 X t )b jt (1 X j ) X t c jt (1 X j )(1 X t )d jt

Genetic Algorithm Basics


1. Generate a large number of random solutions population
2. Rank, Sort populations based on performance of the solutions
3. Kill a fraction of the worst solution, e.g. Worst 20%
4. Mate the better solutions randomly to create next generation
5. Repeat Step 2-4 until an acceptable solution performance obtained

GA Methodology
Two-chromosome organism
X-chromosome and Y-chromosome
Each chromosome has the same number of genes, nArcs.
Input : nArcs arcs, each with two (possibly coincident) vertices, v1 and v2.
Setup of the genes :
X-chromosome : permutation of [1..nArcs]
ith gene = K implies ith curve to be machined by the tool is curve K.
Y-chromosome : array of [0,1]
if Yi = 0, then the i-th curve machined from v1..to..v2
if Yi = 1, then that curve machined from v2..to..v1.

Layer Level Cutting Path Optimization


Genetic Algorithm Example

Results :
Naive path (Traditional)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Non-cutting distance

14.7547 units
Iteration Time
0 sec
GA path
1 2 3 4 5 6 7 9 8 11 14 12 13 10 19 16 17 18 15 20 21 22

Non-cutting distance

11.2814 units
Iteration Time

12.08 seconds for 100 iterations*

*Real-time optimization can be done

Improving the GA.


Jump-distances:

GA +

2-Opt

e2

[current]
pa + bc + dq

e1

a
q

[2-opt options]
pa + bd + cq
pb + ac + dq
pb + ad + cq
pc + ad + bq
pc + bd + aq
pd + bc + aq
pd + ac + bq

GA +
3-Opt
c

e
f

e3

e2

b
e1

Another way to do the path planning


Assume: Start vertex of each Curve is given
=> Asymmetric Traveling Salesman Problem
Assume: The Sequence of visiting each Curve is fixed
=> Assignment problem
Strategy: Iterate between the ATSP and the Assignment

The ATSP
n 1

minimize:

Z YijDij

22

i 1 j 1

subject to:

ij

1,

j 1, , n

1,

i 1, , n

11
33

j 1
n

ij

i 1

[Tucker]

ui - uj + pYij p-1,

44

i = 1...n; j = 1n; i j

ui, uj arbitrary, p = max no of arcs visited by tool

The Assignment Problem


arct
P

X
X
P

arct+1
t 1

t+ 1

t 2

t 3

t 4

t+ 1

(D x

s.t.

xt 1 + x t 2 + xt 3 + x t 4 = 1

t 1

t+ 2

t+ 2

t+ 1 3

minimize

t1

t+ 1 1

t+ 1 2

n1

t1

arct+2

+ Dt 2 xt 2 + Dt 3 xt 3 + Dt 4 x t 4 )

xt 1 + x t 3 + xt 11 + xt 1 2 1
xt 2 + x t 4 + x t 1 3 + x t1 4 1

t+ 1 4

Performance comparisons

Toy plane, 256 layers

Full part, (GA performance)

Total Jumping Distance

Traditional method

298625

GA with 3-Opt method

243589

% Saving (jump time)

25.6%

Operation sequence for proposed system


Operation Sequence Flowchart:
Load/Design the 3D solid model in the system
Calculate the convex hull of the part
Determine the optimal parting direction
Generate the parting/cutting planes
Generate the internal Octree-based waste grids
Slice the object with all the artifacts into layers
Optimize the laser cutting operation for each layer by 3-Opt GA algorithm

System Architecture

CAD

Solid Model
Surface Model
Tessellation (STL)

Slice data
(uniform)

User

or

APIs

Build direction
Artifacts

Slice data
(adaptive)

System Architecture
Data Flow

Part model

Application Layer

Core Utilities
CAD system

Object Transformations

STL

Design
Tessellation

Part Level Artifacts


Feature-based Model

Slicing
...
Artifact Planning
Geometry Engine

Layer Geometry

Convex Hull
Slice Planning

Minimum box cover


Spline Approximation

Tool Motion Data

...
Tool Motion Planning
Optimization Engine

Machine Control Data


Machine Control Planning

Genetic Algorithm
...

Conclusion
Accomplishments:
Developed an Process Planning, Optimization-Driven,
CAD/CAM support system for Laminated Object Manufacturing
Main Features:
1. Geometric Based
2. Reduced waste cut
3. Optimized laser cutting motion
4. Open-Architecture system

Journal:

Publications

Anthony Pang, Katta G. Murty, Ajay Joneja, Leung Chi Chiu, Tool Path Optimization in Layered
Manufacturing, IIE Transactions, 34(4):335-347, April 2002 .
Anthony Pang, Ajay Joneja, David C.C. Lam, Matthew Yuen, A CAD/CAM system for process
planning and optimization in LOM, IIE Transactions, 33(4): 345-355, April 2001
Ajay Joneja, Anthony Pang, David Lam, Matthew Yuen, A CAD/CAM system for vector-based layered
manufacturing systems, Int. J. of Computer Integrated Manufacturing, 2000, vol. 13, no. 5, 388-400.

Conference:
Ajay Joneja, Anthony Pang, Some geometric techniques to Reduce Build time in LOM, ASME DETC,
DFM conference, Pittsburgh, PA, Sept 7-9, 2001

Ajay Joneja, Anthony Pang, Matthew Yuen, David Lam, A New Architecture for CAD/CAM Systems for
Rapid Prototyping, Proceedings of International CIRP Design Seminar, June 6-8, 2001, Stockholm,
Sweden.
Ajay Joneja, Anthony Pang, Matthew Yuen, David Lam, A Genetic Algorithm for Path planning in
rapid prototyping , Proceedings of DETC98 ASME Conference, September 1316, 1998, Atlanta, GA.
Ajay Joneja, Anthony Pang, Matthew Yuen, David Lam, An Integrated CAD/CAM System for Rapid
Prototyping Applications, Proceedings of the Intl Conference on RP and Mfg, TsingHua Univ, Beijing,
July 21-23, 1998.

Future Work
1. LOM methods improvement: multiple parts
2. Extension to other RP technologies (SLS)
3. Improved disassembly method (Automated Disassembly
Checking)
4. Nonlinear programming optimization for the path planning
problem

Some thoughts on Direct Slice Formats


Sample Slice Geometry

Corresponding .DSL File


!1
1 0.00100
!2
(L1 (L2),L3 (L4), L5, L6)
!3
!L1
0 0.7500 4.2500 3.2500 4.2500
0 3.2500 4.2500 3.2500 6.500
0 3.2500 6.500 0.7500 6.500
0 0.7500 6.500 0.7500 4.2500
!L2
0 1.7500 4.500 2.7500 4.500
0 2.7500 4.500 2.7500 5.500
0 2.7500 5.500 1.7500 5.500
0 1.7500 5.500 1.7500 4.500
!L3
0 0.7500 1.7500 3.7500 1.7500
1 1 2.2500 1.7500 3.7500 1.7500 0.7500 1.7500
!L4
0 1.7500 2.000 3.2500 2.000
0 3.2500 2.000 3.2500 2.7500
0 3.2500 2.7500 1.7500 2.7500
0 1.7500 2.7500 1.7500 2.000
!L5
1 1 5.2500 3.7500 3.7500 3.7500 3.7500 3.7500
!L6
0 3.7500 1.2500 6.7500 2.500
0 6.7500 2.500 6.7500 1.2500
0 6.7500 1.2500 3.7500 1.2500

http://iesu5.ust.hk/dfaculty/ajay/projects/rp.html

The TsingHua Machine

Result of the tested sample parts

Illustration of the Tuckers formulation


[Tucker]

ui - uj + pYij p-1,

i = 1...n; j = 1n; i j

ui, uj arbitrary, p = max no of arcs visited by tool


l2
l1
l3

u1 u2 + 3Y12 2
u1 u3 + 3Y13 2
u2 u3 + 3Y23 2

u2 u1 + 3Y21 2
u3 u1 + 3Y31 2
u3 u2 + 3Y32 2
Assume cutting l1 then go to l2
Y12 = 1
u1 u2 -1
Y21 1
u2 u1 -1

Assume cutting l1 then go to l2 and finally go to l3


Y12 = 1 & Y23 = 1
If Y31 = 1

u1 u2 -1 & u2 u3 -1

u3 u1 -1

u1 u3

u3 u2 & u2 u1

Contradictory condition

You might also like