999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

手機組裝數字化車間設計與實現

2022-02-25 06:44:56張小文李吉平
軟件導刊 2022年1期
關鍵詞:模型

張小文,李吉平

(1.華南農業大學數學與信息學院,廣東 廣州 510642;2.佛山智能裝備技術研究院,廣東 佛山 528234)

0 引言

制造業是國家的重要支柱產業,是核心實力的重要體現。近年來,智能制造成為各國在制造業的主流發展方向,如我國提出《中國制造2025》,以智能制造為主攻方向,建設世界制造強國;德國提出“工業4.0”戰略,旨在打造以智能制造為核心的智能工廠;《美國先進制造領先戰略》指出要發展智能制造技術、人工智能增材制造等15 個重點領域[1-2]。

數字化車間能有效提高生產效率,是智能制造的重要體現。近年來,隨著數字孿生車間概念的提出,數字化車間在智能制造中受到越來越多關注。為提高手機組裝車間的智能化程度,本文基于自研仿真軟件框架進行二次開發,實現手機組裝車間的數字化,通過數字化車間建模、數據采集、視圖優化等方面描述數字化車間構造的全過程,最后對構造的數字化車間進行演示。仿真結果顯示,通過數字化車間能實時了解車間運行狀況,回溯車間歷史運行狀況,提高了生產智能化水平。

1 相關研究

通過物聯網技術采集連接信息、過程信息,可使物與物、物與人之間建立聯系,從而實現對制造過程的感知,為決策和預警提供支持。例如,陳偉興等[3]基于數據驅動的制造過程事件感知模型,提出了基于制造物聯的生產過程關鍵事件主動感知技術架構;Dai 等[4]提出一種知識驅動的自主服務管理,為自管理和自適應工業信息物理系統提供了設備級智能控制;Tao 等[5]提出一種基于信息與物理融合的數字孿生產品設計、制造和服務方法;陶飛等[6]提出數字孿生車間的概念,闡述了數字孿生車間的系統組成、運行機制、特點、關鍵技術等;Zhuang 等[7]提出一種基于數字孿生的復雜產品裝配過程的智能生產管理和控制框架,闡述了裝配車間數字孿生模型的構建方法,并結合數字孿生和大數據提出一種預測機制,實現了對裝配車間的管理和控制;胡祥濤等[8]設計了基于Unity3D 的虛擬車間三維監控系統。

不同于常見的直接利用Unity3D 實現數字車間,本研究基于仿真軟件,結合數字孿生研究成果與Unity3D 實現了三維數字車間,為基于OSG 視圖的仿真軟件實現具有數據驅動和視圖優化的三維車間提供了參考,這也是本文的創新點所在。

2 產線仿真軟件介紹

該產線仿真軟件為企業自主研發,其通過導入模型,根據相對位置進行模型布局,設置模型動作,并由信號量控制動作的先后邏輯以實現車間仿真。該軟件暫時只能導入常見的STL 格式模型,不能設置模型材質貼圖。軟件界面基于C#語言的Winform 開發,視圖顯示基于開源三維引擎OpenSceneGraph。該軟件可通過組件式方法快速構建虛擬車間,其優點為快速導入模型并構建虛擬車間,具備完善的交互功能;缺點為導入模型格式單一,無法對模型進行優化,顯示效果不佳。圖1 為該軟件界面。

Fig.1 Production line simulation software interface圖1 產線仿真軟件界面

3 手機組裝數字車間系統

手機組裝數字車間系統能夠實現數字車間實時數據驅動與車間歷史狀況回溯功能,總體設計框架如圖2 所示。首先在物理車間觀察車間運行細節,對車間場景與設備進行取景,根據車間布局確定設備相對位置。從廠家直接獲取車間設備的三維模型,利用Solidwork 構建車間場景模型(廠房墻壁、窗戶、地板等)。將STL 格式的場景模型、設備模型和產品模型導入產線仿真軟件中,通過產線仿真軟件搭建虛擬產線與車間場景布局,然后將虛擬車間項目導出。采用3D MAX 軟件對機器人、手機殼、手機電池模型進行貼圖,導出為fbx 格式。在Unity3D 中導入廠房墻壁、窗戶、地板等模型,構建車間廠房并嵌入貼圖后的機器人和產品模型到該項目中,發布為可執行程序。開發采集器程序,獲取實際產線數據,進行數字車間驅動。現有仿真軟件視圖效果較差,嵌入之前發布的Unity3D 可執行程序至產線仿真軟件Winform中,將OSG 圖元信息發送到Unity3D 可執行程序中,利用嵌入的Unity3D 實現視圖顯示,可達到良好的視圖效果。

手機組裝數字車間系統的構建共有6 個階段:①建立模型階段;②產線仿真軟件中虛擬產線搭建與車間場景布局階段;③Unity3D 車間廠房構建階段;④視圖優化階段;⑤數據驅動階段;⑥測試驗證階段。圖3 為手機組裝數字車間系統開發流程。

Fig.2 Overall design of the mobile phone assembly digital workshop system圖2 手機組裝數字車間系統整體設計

Fig.3 System development flow圖3 系統開發流程

4 模型建立

車間產線設備模型、手機殼以及手機電池模型均為生產廠家直接提供的STL 格式的三維模型,廠房、窗戶、地板等車間場景模型通過Solidwork 建模軟件制作。機器人、手機電池、手機殼等模型需要在3D Max 中進行貼圖,圖片為各自照片。模型貼圖后導出為fbx 格式留作后續嵌入Unity3D 車間場景項目中[9]。在3D Max 中對廠房、窗戶、燈等用于在Unity3D 中構建車間場景的模型進行格式轉換,導出為fbx 格式,之后導入Unity3D 構建車間場景。在Unity3D 中構建車間場景的廠房與宏觀環境,廠房內的電腦、產線圍欄、桌椅等可以直接由產線仿真軟件導入。

車間模型主要分為3 個部分,分別為車間宏觀場景、主機設備和工件。車間宏觀場景主要包括地板、窗戶、墻壁等,主機設備主要包括機器人、傳送帶、加工設備、生產裝置等,工件為待組裝的手機殼等產品。為達到較為真實的仿真效果,還需要對模型貼圖。貼圖通常選用拍攝的實物照片,在3Dmax 中將照片貼到對應的三維模型上,再導出模型及其貼圖后圖像,將其打包嵌入到Unity3D 中,用于后期視圖顯示[10]。圖4 為模型分類圖。

Fig.4 Model classification圖4 模型分類

5 產線搭建與車間配套環境布置

在產線仿真軟件中導入模型,并搭建好產線,設置好各個機器人與傳動帶的具體運動軌跡,以及各個運動之間的先后邏輯。搭建好產線后,導入電腦、桌椅、圍欄等模型,構建車間內部環境。在產線仿真軟件中搭建的產線與車間內部環境分別如圖5 所示。將搭建好的車間項目導出,用于后續導入二次開發后的產線仿真軟件中進行顯示。

6 Unity3D 車間場景構建與模型嵌入

在Unity3D 中導入廠房、窗戶、地面模型,并設置模型材質。根據實際車間搭建數字車間場景,并設置光照情況[11-12]。圖6 為Unity3D 中構建的車間廠房遠視圖。在Unity3D 中構建好車間宏觀場景后,需要將貼圖后的3 種機器人模型、手機殼、手機電池模型嵌入該項目中,并將其發布為可執行程序[13]。

Fig.5 Workshop built by production line simulation software圖5 產線仿真軟件構建的車間

Fig.6 Workshop building constructed in Unity3D圖6 Unity3D 中構建的車間廠房

7 視圖優化

將前述Unity3D 的可執行程序嵌入產線仿真軟件的界面控件中,并調整嵌入后的窗口大小至合適狀態。以下為Unity3D 可執行程序嵌入控件的部分代碼:

privatevoidEmbedProcess(Processapp,Controlcontrol)

{//Get the main handle

if(app == null || app.MainWindowHandle ==IntPtr.Zero||control== null)return;

try

//Put it into this form

SetParen(tapp.MainWindowHandle,control.Handle);

catch(Exception)

{}

try

//Remove border and whatnot

SetWindowLong(newHandleRef(this,app.MainWindowHandle),GWL_STYLE,WS_VISIBLE);

SendMessage(app.MainWindowHandle,WM_SETTEXT,IntPtr.Zero,strGUID);

catch(Exception)

{}

try

{//Move the window to overlay it on this window

MoveWindow(app.MainWindowHandle,0,0,control.Width,control.Height,true);

catch(Exception)

{}

Unity3D 嵌入后,每次啟動可執行程序前都需要檢查OSG 至Unity 的TCP 連接是否成功,若成功,則開始由OSG端發送模型信息至Unity3D 可執行程序端,并啟動可執行程序。

OSG 端主要發送兩類信息,一類是模型的變換矩陣、位置坐標和姿態矩陣,以及模型的顏色信息,另一類是模型三角片圖元的頂點信息,這些數據可以通過調用OSG 的有關庫函數直接獲取。視圖界面的模型顯示主要有3 種情況:①添加新模型;②已有模型進行運動等導致姿態與位置變化;③刪除已有模型[14-15]。每次添加新模型后,獲得該模型的三角片頂點、坐標位置、姿態、顏色等信息,將該模型信息打包后以socket 的方式發送至嵌入的Unity3D 端,用于顯示新加入的模型。對于已有模型的位置、姿態變化,只需將變化后的位置與姿態信息打包后發送給Unity3D端。對于刪除模型而言,只需將被刪除模型對應的序列號發送給Unity3D 端,將該序號對應的模型刪除即可[16]。

8 數據驅動實現

數據驅動是數字車間的重要組成部分,用于獲取物理車間數據并對其進行解析,以實現數字車間模型驅動。數據驅動主要分為兩個部分:①采集物理車間實時數據,實現數字車間的模型驅動,達到虛實映射的效果;②通過歷史數據實現車間歷史狀態回溯。

物理車間的數據經設備傳感器采集后統一放至可編程邏輯控制器(PLC),數據采集器通過TCP 通信將PLC 處存放的物理車間實時數據發送至Redis 和InfluxDB,經解析后保存。InfluxDB 為時間序列數據專門編寫的自定義高性能數據存儲,用于儲存車間歷史數據[17]。Redis 作為內存數據庫,具有讀寫速度快的特點,用于儲存實時數據[18]。根據Redis 發送的實時數據實現數字車間實時數據驅動,將InfluxDB 中存儲的歷史數據寫至Redis,通過接收Redis發送的歷史數據實現數字車間歷史狀態回溯。圖7 為數據驅動實現流程。

Fig.7 Data-driven implementation process圖7 數據驅動實現流程

導入前述構建的工程文件,產線仿真軟件讀取文件后在視圖界面顯示靜態車間。若要進行實時仿真,需根據界面操作執行實時仿真的程序。首先從服務器端發送數據至Redis 和influxDB,解析配置文件,讀取從Redis 發送的數據后更新內存,同時根據讀取的數據變化調用相關視圖函數以更新視圖界面的顯示。

Redis 作為緩存數據庫,其數據以Key-Val 的形式存儲,需通過其Key 值讀取。用于實現模型驅動的有關變量需與Redis 中的Key 對應起來,方可將從Redis 接收的數據用于模型驅動。將Redis 中的數據與本地模型驅動程序中的相關變量對應起來則是通過編寫和讀取配置文件實現。

配置文件主體格式為數組嵌套,最外層數組定義了從Redis 進行TCP 連接的相關信息,包括發送實時數據的Redis 端的IP 地址和端口號,以及進行歷史回溯時Redis 端的IP 地址和端口號。最外層數組嵌套了設備數組,設備數組嵌套了各個產線的運動模型數組,產線運動模型數組中為該模型相關屬性名稱與Redis 中Key 值構成的鍵值對,或屬性名稱與數據驅動程序中相關名稱構成的鍵值對。

以下為配置文件中前屏機器人的相關配置信息:

“note”:“2 號工作站--前屏工作站”,

“name”:“CS6_DT6020S-5”,

“type”:“Robot”,

“isAngle”:1,

“axisKeys”:[“CY_d2_j_1”,“CY_d2_j_2”,“CY_d2_j_3”,“CY_d2_j_4”],

“workObject”:[

“modelName”:“M615_Q11”,

“grabOnKey”:“CY_d2_air==1&&CY_SHELF_MODEL==1”,

“grabOffKey”:“CY_d2_air==0”

},

“modelName”:“M645_Q11”,

“grabOnKey”:“CY_d2_air==1&&CY_SHELF_MODEL==2”,

“grabOffKey”:“CY_d2_air==0”

},

“modelName”:“BA520_Q11”,

“grabOnKey”:“CY_d2_air==1&&CY_SHELF_MODEL==3”,

“grabOffKey”:“CY_d2_air==0”

],

“AGV”:0,

“postionOffset”:{

“xKeyName”:“xPostion”,

“yKeyName”:“yPostion”,

“initX”:133.3,

“initY”:133.3

}}

由構建的數字車間可知,運動模型可分為3 類,分別為機器人模型、工藝設備模型和傳送帶模型,故模型驅動也分為上述3 類[19]。定義管理內存的數據庫主要實現了獲得模型樹根節點、獲得工具路徑信息、獲得模型信息(圖元信息、變換矩陣等)、更新數據庫的功能。定義數據節點,實現樹狀組織數據節點的基本操作接口,如獲取和設置節點id 等。

機器人模型驅動主要分為兩類:一類是非AGV(Automated Guide Vehide)機器人(前屏機器人、中殼機器人、擰釘機器人、后殼機器人、下料機器人)模型驅動,另一類是AGV 機器人模型驅動。機器人數據結構封裝了機器人姿態設置和獲取、機器人末端執行器設置和獲取、指向機器人指針獲取的函數。機器人節點繼承于數據節點類,綁定了機器人數據結構,并定義了返回指向機器人指針的函數,可以實現由節點返回綁定模型的指針。工件數據結構定義了工件的模型信息、模型路徑、模型名稱、模型顏色、模型id 以及以上信息的獲取和設置函數。工件節點綁定了節點數據結構,能夠通過節點獲取綁定的模型信息并對模型進行設置。

首先獲得模型樹根節點,遍歷模型樹,根據節點名稱獲得所有工件節點,再由工件節點獲得內存中所有工件模型的信息,同法獲得所有機器人模型的信息。然后逐次獲得所有機器人模型的名稱,當機器人模型名稱與配置文件中機器人模型名稱相同時,將配置文件中該機器人的相關屬性值賦值給機器人驅動程序中的變量。例如前述前屏工作站中的"isAngle":1,"AGV":0,中的1 和0 分別賦值給機器人驅動程序中的nIsAngle 和nIsAGV。將axisKeys":["CY_d2_j_1","CY_d2_j_2","CY_d2_j_3","CY_d2_j_4"]中Redis 的Key 值賦值給機器人驅動程序中的角度數組。遍歷獲得的工件模型,并根據模型名稱將工件模型和配置文件中該機器人下的工件模型配對,將“grabOnKey”“grabOffKey”賦值給模型驅動程序變量,其他變量的配對同理。通過上述方法實現配置文件中機器人及其關聯工件與模型驅動程序之間的配對以及機器人的初始化。Redis 以TCP 的方式發送數據,首先獲得機器人的軸關節數據,如果是AGV 機器人,還要獲取機器人移動后的位置數據。利用指向OSG 視圖接口的指針調用OSG 視圖函數更新視圖顯示,然后更新工件模型的夾緊狀態值(該部分實現了工件在夾具上夾緊狀態的視圖更新)[20]。根據獲得的機器人軸數據判斷機器人是否發生運動,若機器人軸數據有變化,則根據軸數據的變化更新機器人動作,使機器人做插值運動、更新工件位置等。該過程通過指向OSG 視圖接口的指針調用視圖更新函數,同時通過指向數據庫接口的指針更新內存。通過以上方式實現機器人模型的數據驅動,工藝設備模型和傳送帶模型的數據驅動原理與上述方法類似。

若Redis 中的數據為從PLC 接收的物理車間實時數據,則實現實時數據驅動,此時數字車間的運行狀況與物理車間同步。若Redis 接收的是從InfluxDB 發送的歷史數據,則再現車間歷史生產狀況。

9 運行效果

基于仿真軟件框架開發的手機組裝數字車間運行效果良好,完成了預期目標,能夠滿足日常需要。圖8 為數字車間運行狀況。

Fig.8 Operation effect of digital workshop圖8 數字車間運行效果

10 結語

本文基于產線仿真軟件框架開發了手機組裝數字車間,利用3D Max 和Unity3D 快速構建產線的優勢,實現了數據驅動且優化了視圖顯示,可實時遠程監控車間運行狀況并對歷史運行狀況回溯,具有良好的使用體驗,方便操作人員對車間進行管理,提高了生產效率。然而,該數字車間系統還存在以下需要改進之處:①可以開發VR 功能,增強交互的真實感;②可以開發設備信息描述模塊,點擊設備模型可顯示設備屬性和當下運行狀態;③缺乏由數字車間到物理車間的驅動,可嘗試從數字車間向物理車間發送指令,遠程操控物理車間運行。后續可在本文研究結果的基礎上從以上方面進行優化。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产精品九九视频| 免费a级毛片视频| 日本精品中文字幕在线不卡| 亚洲无线国产观看| 久久久久人妻一区精品| 国产在线观看精品| 天堂中文在线资源| 日韩AV无码免费一二三区| 在线播放国产一区| 欧美成人免费午夜全| 日韩国产综合精选| 日韩免费成人| 免费全部高H视频无码无遮掩| 久久黄色免费电影| 欧美高清国产| 国产主播喷水| 91在线无码精品秘九色APP| 91色综合综合热五月激情| 久99久热只有精品国产15| 国产欧美专区在线观看| 高清色本在线www| 99尹人香蕉国产免费天天拍| 在线观看亚洲国产| 欧美成人一级| 日韩精品毛片| 欧美一区精品| 亚洲精品国产首次亮相| 成年A级毛片| 国产成人凹凸视频在线| 精品三级网站| 天天操天天噜| 亚洲Av激情网五月天| 国产亚洲精品97在线观看| 精品国产一区91在线| 99久久精彩视频| 国产凹凸一区在线观看视频| 久久这里只有精品8| 免费国产黄线在线观看| 国产成人免费高清AⅤ| 91青青视频| 精品国产免费观看一区| 久久香蕉国产线看观看式| 国产精品久久久久久久伊一| 欧洲日本亚洲中文字幕| 亚洲成人一区二区三区| 免费无码网站| 亚洲狼网站狼狼鲁亚洲下载| 国产一区二区三区夜色| 91区国产福利在线观看午夜 | 色综合激情网| 凹凸精品免费精品视频| 国产99热| 91在线播放国产| 国产一二视频| 精品国产成人高清在线| 亚洲欧美日韩中文字幕在线一区| 国产精品久久久精品三级| AV不卡无码免费一区二区三区| 人妻21p大胆| 亚洲成综合人影院在院播放| 免费毛片a| 免费jizz在线播放| 亚洲无码视频一区二区三区| 色播五月婷婷| 国产精品永久不卡免费视频| 毛片一级在线| 欧美成人区| 欧美亚洲国产视频| 999在线免费视频| 最新国产麻豆aⅴ精品无| 国产精品入口麻豆| 五月婷婷综合色| 久草中文网| 97se亚洲综合不卡| 特级精品毛片免费观看| 婷婷六月色| 免费a级毛片18以上观看精品| 91精品国产综合久久香蕉922| 亚洲美女一区二区三区| 99re在线免费视频| 亚洲国产日韩一区| 人妻一区二区三区无码精品一区|