Week5 - 211207 AutoPipingArrange
Week5 - 211207 AutoPipingArrange
Week5 - 211207 AutoPipingArrange
Hajime Kimura
Dep. of Marine Systems Engineering,
Kyushu University
CL7: International Environment System Engineering VII
Motivations 3D-CAD systems reduce human efforts,
Disadvantages are …
× The mesh size is restricted to be larger than
pipe’s diameters
× Directions of the pipes are restricted along XYZ axes.
… conventional
methods cannot put
pipes in this case
Start Obstacle
Regular grid methods cannot consider in the following situations:
Ship Hull
Pipe
Pipes are often arranged
along the curved ship’s hull.
D B
【Example 2】
The
【Example 1】 condition:
The condition: Using only 90
AC:CD:DB=1:2:1 degree elbows
Constraints of the real pipe’s shapes
Pipe Bender:
(1) It bends pipes with arbitrary angles,
but there exists a limit of a maximum
angle.
Start Start
Goal
Start
Goal
Electric current flow can
also solve mazes!
Start:
Current exists only on the way to the goal. Connect the + Pole
EXAMPLE:
Find the shortest path (having minimum cost) from C0 to C11 in the following graph:
C3 15 C6
7 10
7 5
C1 3 C9
5 6 10
7
C0 3 5 C7 15 4 C11
10 C4 8
7 10 6
C2 5 C10
8 10
8
C5 10 C8
A program implementation
import numpy as np
for finding the shortest
from scipy.sparse.csgraph import shortest_path
path by Python
To Node j
#To: 0 1 2 3 4 5 6 7 8 9 10 11
graph = [[ 0, 5,10, 0, 0, 0, 0, 0, 0, 0, 0, 0], Adjacency matrix of the
[ 5, 0, 3, 7, 6, 0, 0, 0, 0, 0, 0, 0], directed graph of the example
[10, 3, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0], shown in the previous slide
[ 0, 7, 0, 0, 3, 0,15, 7, 0, 0, 0, 0], Cost = 5 from Node 0 to 1
[ 0, 6, 7, 3, 0, 0, 0, 5,10, 0, 0, 0],
[ 0, 0, 8, 0, 0, 0, 0, 8,10, 0, 0, 0], Cost = 3 from Node 1 to 2
From Node i …
[ 0, 0, 0,15, 0, 0, 0, 5, 0,10,15, 0],
[ 0, 0, 0, 7, 5, 8, 5, 0, 5, 7, 8, 0],
[ 0, 0, 0, 0,10,10, 0, 5, 0, 0,10, 0],
[ 0, 0, 0, 0, 0, 0,10, 7, 0, 0, 4,10],
[ 0, 0, 0, 0, 0, 0,15, 8,10, 4, 0, 6],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 6, 0]] Solver
a = np.array( graph )
(cost, path) = shortest_path( a, return_predecessors=True)
print("cost matrix-------------")
print( cost )
print("predecessors------------")
print( path ) 20
>python graph.py
cost matrix-------------
Results
[[ 0. 5. 8. 12. 11. 16. 21. 16. 21. 23. 24. 30.]
[ 5. 0. 3. 7. 6. 11. 16. 11. 16. 18. 19. 25.] Costs of the shortest path
[ 8. 3. 0. 10. 7. 8. 17. 12. 17. 19. 20. 26.] from Node i to Node J
[12. 7. 10. 0. 3. 15. 12. 7. 12. 14. 15. 21.]
[11. 6. 7. 3. 0. 13. 10. 5. 10. 12. 13. 19.]
[16. 11. 8. 15. 13. 0. 13. 8. 10. 15. 16. 22.] Node matrix immediately
before j on the shortest path
[21. 16. 17. 12. 10. 13. 0. 5. 10. 10. 13. 19.]
starting from node i to node j
[16. 11. 12. 7. 5. 8. 5. 0. 5. 7. 8. 14.]
[21. 16. 17. 12. 10. 10. 10. 5. 0. 12. 10. 16.]
[23. 18. 19. 14. 12. 15. 10. 7. 12. 0. 4. 10.]
The shortest path
[24. 19. 20. 15. 13. 16. 13. 8. 10. 4. 0. 6.]
From Node 0 to 11
[30. 25. 26. 21. 19. 22. 19. 14. 16. 10. 6. 0.]]
predecessors------------
[[-9999 0 1 1 1 2 7 4 4 7 7 10]
[ 1 -9999 1 1 1 2 7 4 4 7 7 10]
[ 1 2 -9999 1 2 2 7 4 4 7 7 10] There are
[ 1 3 1 -9999 3 7 7 3 7 7 7 10] two routes
leading to
[ 1 4 4 4 -9999 7 7 4 4 7 7 10] node 8, 4
[ 1 2 5 7 7 -9999 7 5 5 7 7 10] and 7, but
[ 1 4 4 7 7 7 -9999 6 7 6 7 10] only 4 is
displayed.
[ 1 4 4 7 7 7 7 -9999 7 7 7 10]
[ 1 4 4 7 8 8 7 8 -9999 7 8 10]
[ 1 4 4 7 7 7 9 9 7 -9999 9 9]
[ 1 4 4 7 7 7 7 10 10 10 -9999 10]
[ 1 4 4 7 7 7 7 10 10 11 11 -9999]] 21
Correct Answer 12 21
C3 15 C6
7 10
5 23
7 5
C1 3 C9
5 6 10
16 7
C0 3 11 5 C7 15 4 C11
10 C4 8
8 7 10 6
C2 5 C10
8 10 24
16 8 21
C5 10 C8
G G
Obstacle
Pipe B
S G
Pipe C
Obstacle
S S
Order of Routing
G G
Obstacle
Pipe B
S Pipe A G
Pipe C
Obstacle
S S
Order of Routing
G G
Obstacle
Pipe B
S Pipe A G
Pipe C
Obstacle
S S
Order of Routing
G G
Obstacle
Pipe B
S Pipe A G
Pipe C
Obstacle
S S
Largely different solutions depending on the order of arranging pipes
ΦA = Φ B
30
Path selection of one pipe
ΦA < Φ B
Re-arrange to overlap
with the same pipelines.
Touch and Cross Method for Branches
First, the system arranges Re-arrange to overlap
the shortest pipes without with the same pipelines.
considering interference.
Re-arrange to overlap
with the same pipelines.
Touch and Cross Method for Branches
First, the system arranges Re-arrange to overlap
the shortest pipes without with the same pipelines.
considering interference.
Re-arrange to overlap
with the same pipelines.
Re-arrange to overlap
with the same pipelines.
Touch and Cross Method for Branches
First, the system arranges Re-arrange to overlap
the shortest pipes without with the same pipelines.
considering interference.
Re-arrange to overlap
with the same pipelines.
Re-arrange to overlap
with the same pipelines.
Computer Simulations
54
Discussion
Branch
Branch
Branch
58
Path Planning of Multiple Flying Drones
Design Points: 2000
Obstacle Boxes: 7
Computation time: 25min.
Conclusion
On the routing problem for one pipe, to deal with supports and
arrangement along curved structure, a new approach is proposed:
Design points that indicates direction and position are arranged in advance
as candidates of waypoints of the pipe, and generate weighted graph
checking whether two design points can connect by a pipe which satisfies
the constraint of the pipe bender. After that, generate piping path from
the shortest path search in the weighted graph.
Arranged along
the structures
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: