姓名 |
顧詠文(Yung-Wen Ku)
查詢紙本館藏 |
畢業系所 |
資訊工程學系 |
論文名稱 |
基於深度學習與線性規劃之刮銅與移線CAM編輯自動化
|
相關論文 | |
檔案 |
[Endnote RIS 格式]
[Bibtex 格式]
[相關文章] [文章引用] [完整記錄] [館藏目錄] 至系統瀏覽論文 (2027-8-3以後開放)
|
摘要(中) |
PCB廠在接到上游客戶所給的原始設計時,必須根據自己的生產規範,在不影響PCB原始功能的條件下,以CAM(Computer-Aided Manufacturing)軟體進行編修。此步驟是為了避免製造過程的瑕疵產生。
其中一種常見的規範,是線路之間的最小間距限制。一片PCB的設計圖上存在許多圓形的Pad,以及線狀的Line物件,這些物件代表著線路的配置,以導通之後要焊接在PCB上的各種電子元件。工程師常須削切Pad的外型(此動作又稱刮銅),或者移動Line的位置,來取出電路之間的間距,避免生產精細度不足,造成兩邊相連而導通的情況。這種圖形化的編修過程常是長時間、瑣碎、單調而重複性高的,工程師平均需花3至5小時以上處理一片PCB的編輯與修正。然而,這些過程非常仰賴工程師人工地判斷及繪製,因此不易以機器自動化取代。
本論文以CAM軟體—Genesis2000為平台,針對兩種常見的間距問題,提出自動化的解決方案。
對於Pad物件間間距不足的情況,我們使用影像辨識的深度學習模型VGG16,判斷軟體螢幕畫面中Pad物件配置情況,預測刮銅的長度與方向。
至於Line物件與其他物件間距不足的情況,我們蒐集配置上與該物件相關的所有物件資訊,以線性不等式描述這些物件的間距關係,以及線性函數來代表欲優化的目標,將整個問題轉換為線性規劃問題。 |
摘要(英) |
When the PCB factory receives the original design from the upstream customer, it must be edited with CAM (Computer-Aided Manufacturing) software to meet the production specifications of the factory, without affecting the original function of the PCB. This step is to avoid defects in the manufacturing process.
One of the common specifications is the limit of minimum spacing between circuits. On a PCB, there are many circular pads and line objects. These objects represent the configuration of electronic circuits, conducting various electronic components soldered on the PCB. Engineers often have to cut the shape of the pads, or move the lines to make space between the circuits, to prevent short circuit. This graphical editing process is often long, trivial, monotonous and highly repetitive. Engineers spend an average of 3 to 5 hours on editing a piece of PCB. However, these processes heavily rely on manual judgment and operation by engineers. Therefore, it’s not easy to replaced human by machine automation.
Based on the CAM software Genesis2000, this paper proposes an automatic solution for two common spacing problems.
For the case of insufficient spacing between pads, we use the deep learning model VGG16 for image recognition to judge the configuration of pad objects in the software screen, and predict the length and direction of the cutting operation.
For the case of insufficient spacing between pad and line, we collect all the related object information, describe the distance relationship of these objects with linear inequalities, and use a linear objective function as the target we want to optimize. Namely, we convert the entire problem to a linear programming problem. |
關鍵字(中) |
★ 電路板 ★ 可製造性設計 ★ 電腦輔助設計 ★ 深度學習 ★ 機器人流程自動化 ★ 線性規劃 |
關鍵字(英) |
|
論文目次 |
目錄
摘要........................................................................................................................i
Abstract .................................................................................................................ii
目錄..................................................................................................................... iii
圖目錄..................................................................................................................vi
表目錄..................................................................................................................xi
一、 緒論.........................................................................................................1
二、 研究背景.................................................................................................6
2-1 Genesis2000............................................................................................6
2-1-1 物件類型與極性.........................................................................7
2-1-2 Info 功能與物件資訊解讀.........................................................9
2-1-3 Signal Layer Checks 與 Results viewer....................................11
2-1-4 C Shell 腳本與 API ..................................................................13
2-2 DFM 問題類型.....................................................................................15
2-3 VGG16..................................................................................................16
2-4 Robotiive...............................................................................................17
2-5 線性規劃與 SciPy solver.....................................................................18
三、 PCB CAM 編輯刮銅與移線之問題描述與分析................................20
3-1 Pad 與 Line 的刮銅與移動限制..........................................................20
3-2 Pad-to-Pad 的處理方式 .......................................................................21
3-2-1 自動化方法分析.......................................................................21
3-2-2 資料集生成...............................................................................21
3-2-3 自動化操作 Genesis2000 .........................................................23
3-3 移線問題的處理方式.........................................................................24
3-3-1 自動化的困難點.......................................................................25
3-3-2 自動化方法分析.......................................................................25
3-3-3 自動化操作 Genesis2000 .........................................................26
四、 結合深度學習與 RPA 作 Pad-to-Pad 自動刮銅 .................................28
4-1 螢幕放大率與座標轉換......................................................................28
4-2 Genesis2000 的視窗位置.....................................................................29
4-3 執行分析並取得問題個數..................................................................30
4-4 資料集與自動生成方法......................................................................31
4-5 資料預處理(Data preprocessing).........................................................33
4-6 模型架構 ..............................................................................................34
4-7 損失函數(Loss function)......................................................................36
4-8 自動刮銅之流程 ..................................................................................37
五、 以線性規劃解決移線問題...................................................................39
5-1 相關物件與資訊蒐集 ..........................................................................39
5-2 線性規劃之數學式 ..............................................................................41
5-3 使用 Genesis2000 腳本自動修正 .......................................................44
六、 自動刮銅與移線之成效討論與評估...................................................46
6-1 Pad-to-Pad 自動刮銅之正確性與效能評估 .......................................46
6-2 移線問題自動移線與刮銅之執行效能評估.....................................49
七、 結論與未來展望...................................................................................62
八、 參考資料...............................................................................................63 |
參考文獻 |
[1]Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).
[2]李資瀚。「利用多影像平均值以及高斯濾波方法提升RPA軟體的影像辨識準確度」。碩士論文,國立中央大學資訊工程學系,2021。<https://hdl.handle.net/11296/7vzm98>。
[3]Boyd, Stephen, Stephen P. Boyd, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
[4]線性規劃(Linear programming),方述誠 著https://web.math.sinica.edu.tw/math_media/d171/17104.pdf
[5]Dantzig, George. "Linear programming and extensions." Linear programming and extensions. Princeton university press, 2016.
[6]VGG16 – Convolutional Network for Classification and Detection https://neurohive.io/en/popular-networks/vgg16/
[7]Keras API reference / Keras Applications / VGG16 and VGG19
https://keras.io/api/applications/vgg/
[8]Feature scaling
https://en.wikipedia.org/wiki/Feature_scaling#Rescaling_(min-max_normalization)
[9]Dantzig, George Bernard, and Mukund N. Thapa. Linear programming: Theory and extensions. Vol. 2. New York: Springer, 2003.
[10]Dantzig, George B. "Linear programming." Operations research 50.1 (2002): 42-47.
[11]Shin, Hoo-Chang, et al. "Deep convolutional neural networks for computer-aided detection: CNN architectures, dataset characteristics and transfer learning." IEEE transactions on medical imaging 35.5 (2016): 1285-1298.
[12]O′Shea, Keiron, and Ryan Nash. "An introduction to convolutional neural networks." arXiv preprint arXiv:1511.08458 (2015).
[13]Shorten, Connor, and Taghi M. Khoshgoftaar. "A survey on image data augmentation for deep learning." Journal of big data 6.1 (2019): 1-48.
[14]Brownlee, Jason (8 January 2019). "A Gentle Introduction to the Rectified Linear Unit (ReLU)". Machine Learning Mastery. Retrieved 8 April 2021.
https://machinelearningmastery.com/rectified-linear-activation-function-for-deep-learning-neural-networks/
[15]Nelder, John A., and Roger Mead. "A simplex method for function minimization." The computer journal 7.4 (1965): 308-313.
[16]Mehrotra, Sanjay. "On the implementation of a primal-dual interior point method." SIAM Journal on optimization 2.4 (1992): 575-601.
[17]Virtanen, Pauli, et al. "SciPy 1.0: fundamental algorithms for scientific computing in Python." Nature methods 17.3 (2020): 261-272.
[18]Chong, Edwin KP, and Stanislaw H. Zak. An introduction to optimization. John Wiley & Sons, 2004.
[19]Gill, Philip E., Walter Murray, and Margaret H. Wright. Practical optimization. Society for Industrial and Applied Mathematics, 2019.
[20]Van der Aalst, Wil MP, Martin Bichler, and Armin Heinzl. "Robotic process automation." Business & information systems engineering 60.4 (2018): 269-272. |
指導教授 |
鄭永斌(Yung-Pin Cheng)
|
審核日期 |
2022-8-4 |
推文 |
facebook plurk twitter funp google live udn HD myshare reddit netvibes friend youpush delicious baidu
|
網路書籤 |
Google bookmarks del.icio.us hemidemi myshare
|