基於Socket通信的工業機器人數字孿生體研究

0引言

近年來,隨着智能製造技術的發展,生產現場的自動化、智能化程度不斷提高,工業現場數據採集技術也不斷增強。然而目前的MES、SCADA等信息系統對現場數據的利用大多停留在數字化或圖形化層面,造成生產製造現場與管理層間的脫節。爲了解決智能製造所要求的物理世界與信息世界的交互與融合的問題,提出了數字孿生的解決方案。

本文以Aubo-i5工業機器人爲對象、工業機器人仿真軟件爲工具,建立單體機器人的數字孿生體。孿生體通過離線仿真功能生成控制程序。PC端應用程序通過Socket與控制櫃通訊,控制機器人並獲取實時數據寫入Buffer文件。孿生模型通過LUA腳本讀取 Buffer文件,獲取實時關節值並驅動模型運動,實現實時監控。實現了單體機器人孿生體的閉環系統。

1系統構成

1.1硬件配置

整個系統包括Auboi5工業機器人、機器人控制櫃、PC機以及網線等設備。機器人控制櫃控制機器人動作並提供與PC通訊的以太網接口。

1.2軟件配置

PC機安裝川思特軟件公司的生產系統仿真軟件HedraSMF建立數字孿生模型以及對機器人進行離線編程。另外在Windows平臺開發實現仿真軟件與機器人控制櫃通訊的控制台應用程序。

1.3系統總體構成

系統總體結構原理如圖1所示。底層爲機器人及其控制器,中間層爲通信應用程序,上層爲工業機器人仿真軟件。通信程序與仿真軟件裝於PC,控制櫃與PC通過網線連接、套接字通訊。仿真軟件離線編程模塊可沿着選定的軌跡生成機器人控制程序,如圖所示,並以XML文檔的形式存於PC硬盤中。應用程序運行邏輯爲:一個線程讀取機器人點位信息發送給控制櫃控制機器人運動;另一個線程獲取機器人實時關節值與事件信息寫入緩存文件中。仿真軟件開始仿真,LUA腳本每三十毫秒讀取一次緩存文件,通過獲取的實時信息驅動孿生模型與實體運動一致,並在消息欄打印機器人發生的事件信息。由此實現數字孿生體與實體機器人的消息閉環。

2數字孿生體的構建

數字孿生模型的建立依賴於仿真軟件。該軟件具有建模、離線編程及豐富的LUA語言的仿真接口,據此可建立機器人的數字模型體並通過二次開發實現需要的功能。

2.1孿生模型的構建

將機器人本體的實際三維模型導入到仿真軟件中進行拆分、建模。根據D-H連桿座標系的原則,對其六個關節進行運動機構的構建,並保證模型關節零點位與實際相對應。

2.2離線編程輸出

軟件的離線編程模塊加入了該機器人的運動逆解算法-根據目標點末端位姿反解出最優六關節值。同時軟件開發人員根據Aubo機器人控制程序的格式開發了後置輸出功能,由此根據目標軌跡線輸出如圖-所示的機器人控制程序。

2.3實時監控實現

爲模型加入LUA線程腳本,通過LUA的io操作讀取本地的Buffer文件,獲取機器人六關節角度值和機械臂事件碼。利用simRMLMoveToJointPositions()接口函數及模型六關節的的句柄控制其運動。在子線程中每30毫秒執行一次,實現了模型對實體的實時映射。

3通信應用程序的實現

應用程序起數據處理、傳輸的功能,採用最簡便的控制台應用程序,只設啓動和停止功能。

程序的實現基於Socket通訊及機器人廠商提供的控制櫃接口。程序通過機器人控制櫃Socket服務器地址與端口建立通信。在初始化機械臂控制平臺後,通過三個子線程實現功能。

首先註冊一個獲取機器人實時關節值的回調函數,循環獲取機器人六個關節的關節角。再註冊一個獲得機器人事件信息的回調函數,在機器人有事件發生時,返回機械臂的事件碼。兩個回調函數在兩個子線程中實時獲取數據,爲了保證輸出的一致性,每間隔30毫秒將獲取的實時關節值數據與事件碼寫入到緩存文件中。

機器人離線編程輸出的程序格式是固定的xml文檔,編寫對應的解析機器人程序的函數,讀取機器人軌跡路線的所有點位後,註冊一個給控制櫃發送運動指令的線程函數,控制機器人開始作業。

從而,三個子線程實現了通過機器人控制程序控制機器人作業、實時獲取關節值與事件碼並寫入Buffer文件的功能。在所有作業點位運行結束後,Socket退出,程序結束。

← 返回新聞列表