王子琪,嚴知宇,武 辰,王正方*
(1.山東大學 控制科學與工程學院,濟南 250003;2.山東大學 物理學院,濟南 250003;3.山東大學 能源與動力工程學院,濟南 250003)
如今,在中國制造2025 背景下,智能制造工程備受關注,數字孿生技術也正在成為受到關注和重視的工業熱點話題,聚焦到工業機械臂問題上,在現實工業機械臂的應用中,示教法是大多數企業對于機械臂采用的控制方法。
當前數字孿生技術已經趨于成熟,在各個領域廣泛適用且效果良好。由于數字孿生技術具有多物理、多尺度、多學科屬性,因而能夠實現物理空間與信息空間交互與融合[1]。在數字孿生技術發展方面,Li 等[2]基于幾何、物理和順序規則描述構建了一個多源模型驅動的數字孿生系統,用于對機器人裝配系統進行精確的實時仿真。Malik 等[3-5]通過案例演示,探索了數字孿生在解決復雜協作生產系統中的應用。李浩等[6]對面向人機交互的數字孿生系統特征進行分析,提出了人機協作的安全控制技術以及孿生系統的態勢感知和監測預警解決方案。鮑勁松等[7]面向人-機-環境共融的數字孿生協同技術,從環境和任務2 個核心來展開數字孿生協同的人機共融科學問題。在數字孿生技術應用方面,陶飛等[8]在數字孿生車間基礎上探討了基于車間孿生數據的車間物理世界和信息世界的交互與共融理論和實現方法。林潤澤等[9]依托智能工廠流水線實驗裝置,構建了智能裝配機械臂數字孿生實驗系統,提出了一種基于多模型融合的數字孿生系統模型集成方法。
針對傳統機理模型的非線性、不確定性問題,本文采用一種基于數字孿生技術的工業機械臂控制方法及系統,通過構建機械臂的數字孿生體實現對工業機械臂的實時、自動化智能控制。
對Aubo-i10 工業機械臂進行建模,該機械臂的結構如圖1 所示。

圖1 Aubo-i10 工業機械臂的結構
該機械臂包括6 個旋轉關節、5 個從動部件、基座和工具端。其中,每個旋轉關節表示一個自由度,包括基 座關節1、肩部關節2、肘部關節3、第一腕部關節4、第 二腕部關節5 和第三腕部關節6;每2 個關節之間設有1 個由轉動帶動的部件即從動部件,共5 個從動部件,基座關節1 和肩部關節2 之間設置第一從動部件,肩部關節2 和肘部關節3 之間設置第二從動部件,肘部關節3 和第一腕部關節4 之間設置第三從動部件,第一腕部關節4 和第二腕部關節5 之間設置第四從動部件,第二腕部關節5 和第三腕部關節6 之間設置第五從動部件;除此以外,該工業機械臂還包括基座7 和工具端8,基座與基座關節1 連接,用于機械臂本體和機器人底座連接,工具端與第三腕部關節6 連接,用于機械臂本體與工具連接。
以上述六自由度工業機械臂為基礎,利用數字孿生技術構建工業機械臂的數字孿生體模型,如圖2 所示,該數字孿生體模型包括6 個旋轉關節和5 個從動部件,以及固定的基座和機械臂末端的工具端,設置旋轉關節和從動部件之間的父子邏輯關系。

圖2 Aubo-i10 工業機械臂的數字孿生體
上述父子邏輯關系是指,當設置一個物體為另一個物體的子對象時,該物體即為子物體,另一個物體為父物體,子物體隨著父物體的轉動變化而變化,相對點位置不發生改變,而子物體轉動變化時父物體并不主動跟隨發生改變。一個父物體可以有多個子物體,但一個子物體只能有一個父物體,子物體可以再成為其他物體的父物體。
數字孿生體模型上述11 個部件(6 個旋轉關節和5個從動部件)分別兩兩構成父子邏輯關系,具體為基座關節1 和第一從動部件為父子邏輯關系、第一從動部件和肩部關節2 為父子邏輯關系,以此類推,最終,基座關節1、第一從動部件、肩部關節2、第二從動部件、肘部關節3、第三從動部件、第一腕部關節4、第四從動部件、第二腕部關節5、第五從動部件和第三腕部關節6 按順序依次兩兩構成父子邏輯關系。此外,該工業機械臂還包括基座和工具端,基座和基座關節1 構成父子邏輯關系,第三腕部關節6 和工具端構成父子邏輯關系。
在上述建模過程中,使用的數據參數還包括:基于工業機械臂的實際參數,設置該模型的基本參數,包括關節靈敏度、關節活動范圍(在本實施例中為-175~175°)、各關節的線性速度和加速度的上限等,保證該數字孿生體模型的運動軌跡更貼近實際工業機械臂的運動。
Modbus[10]是一種串行通信協議,其已經成為工業領域通信協議的業界標準(De facto),并且現在是工業電子設備之間常用的連接方式。允許多種電子接口,屬于一種一主多從的通信協議。選擇Aubo-i10 作為主機,Unity3D 平臺中的數字孿生體作為從機。使用基于Socket 的Modbus-TCP 通信建立連接。在通信過程中,通過C#代碼控制Aubo-i10 的運動,同時將運動參數發送至Unity3D 平臺。在Unity3D 平臺中的數字孿生體中,進行強化學習后得到最優參數,再返回至Aubo-i10實體。
強化學習是一種針對不同的agent(代指數字孿生體)采取相應動作的機器學習方法。動作at∈A 是基于狀態st∈S 和當時的環境t 做出的選擇,其中動作空間A 是給定環境中所有有效操作的集合,并且S 是一組狀態,針對不同的選擇,agent 會收到不同的獎勵Rt,這取決于其導致下一狀態的行為的影響st+1∈S,選擇行動的策略稱為策略π。agent 的目標是學習最優策略,即從長遠來看使累積獎勵最大化的策略。該原理基于馬爾可夫決策過程(MDP)模型,該模型依賴于描述過程記憶缺失的馬爾可夫特性,即未來狀態的概率st+1 僅取決于當前狀態和操作st和at而不是基于過去的狀態和行為。
強化學習算法主要分為基于價值的算法和基于策略的算法。基于價值的方法通過優化動作值函數來確定強化學習算法的最優策略?;诓呗缘乃惴ú皇莾r值函數的近似,而是使用基于梯度的方法直接近似策略,因此是學習最優策略的更直接的方法。使用這類方法的算法包括普通策略梯度算法(VPG)、可信區域策略梯度算法(TRPO)和近端策略優化算法(PPO)。
這3 種算法具有相同的操作原理,但PPO 使用的技術解決了其他方法的一些缺點,如方差問題和計算復雜性。在基準任務集合上的PPO 方法優于TRPO 和VPG,并且更容易實現。
鑒于以上提出的與使用基于值的算法相關的各種缺點,本項目決定使用PPO 算法對數字孿生體進行學習訓練。
PPO 算法是在TRPO 算法(PG 系算法)基礎上進行的改進。TRPO 算法的每次迭代都嘗試從當前的策略中選擇一個合適的步長,使新策略得到的累計回報單調遞增,其目標函數如式(1)所示
式中:Aπθ(st,at)=Qπθ(st,at)-Vπθ(st)是優勢函數是重要性采樣權重,πθ~(at|st)表示新策略的概率分布,πθ(at|st)表示舊策略的概率分布,st表示當前狀態,at表示當前所采取的動作,π 表示策略,為關于狀態s的函數,且在深度強化學習中,策略π 由神經網絡構成,神經網絡的參數為θ,表示為πθ,KL 表示KL散度。
在強化學習中,用π 表示策略,表示在當前狀態下機械臂(agent)從動作(action)集合中選擇一個動作的概率分布,進而期望存在函數f,當輸入目前的狀態(state)時,輸出策略π,獲取機械臂(agent)的下一步動作(action),即π=f(state)。若agent 的action 能夠促進agent盡快到達目標值的動作,則需要增加這個action 獲得更多被選擇的幾率,即增大獎勵(reward);反之,則這個action 被選擇的幾率將會減少,即減少獎勵(reward)。在以此構建的神經網絡模型的基礎上,估算出動作(action)的期望收益,通過上述目標函數求解更新模型的參數θ,使得期望收益更高,輸出機械臂動作。
為了控制策略的更新幅度,PPO 算法采用了截斷的代理目標函數,實現重復性采樣,加快訓練速度。該算法將新舊策略的比值kt(θ~)限制在一個區域中,通過控制區域的大小來限制更新的步幅。相比TRPO 中使用KL散度進行限制,PPO 中kt(θ~)的限制更加簡單,也更容易實現。PPO 算法的目標函數如式(2)所示
PPO 算法還運用了優勢函數估計方法和增加額外熵獎勵的優化方法來進一步提升其性能。使用泛化優勢估計構造優勢函數能夠降低方差,使算法不會產生較大的波動。泛化優勢估計GAE 的計算式如式(3)所示
式中:δt=rt+γV(st+1)-V(st)。
將PPO 算法應用在策略和值函數共享參數的網絡結構上時,除了截斷回報之外,目標函數還加上了關于值函數估計的誤差項以及策略模型的熵正則項,用于鼓勵探索。因此,優化后的目標函數如式(4)所示
式中:c1和c2為2 個常數超參數;c1(Vθ(s)-Vtarget)2是狀態值函數的均方誤差,誤差越小越好;H(s,πθ)表示策略πθ的熵值,熵越大越好。
利用PPO 算法,基于上述優化后的目標函數不斷進行迭代,最終能夠快速完成訓練并輸出機械臂當前狀態下最優的策略,根據該策略執行相應的動作,通過自學習規劃出數字孿生體模型運動的最優軌跡。
本文提出了一種基于數字孿生技術的工業機械臂控制方法,應用數字孿生技術構建機械臂的數字孿生體,連接數字世界和物理世界,使得物理對象與虛擬對象之間實現上下行的物理信息數據交互,解決傳統機理模型無法解決的非線性、不確定性問題,大大提高了機械臂的實時性和泛化能力。通過強化學習訓練使機械臂實現自學習自適應轉動,解決傳統機械臂運動過程不連續問題,實現對機械臂的智能控制,提高自動化程度和工業生產效率。