一種基於深度學習的端到端的機械臂控制的方法與流程
2023-05-20 13:22:01
本發明屬於深度強化學習領域,尤其涉及一種端到端的運動控制方法,極大地減少了訓練所需的樣本數據。
背景技術:
近年來,深度學習在學術界發展迅猛,尤其在模式識別方面表現不俗。在很多傳統的識別任務中,識別率都獲得了顯著的提高。許多其他領域也嘗試用深度學習來解決一些本領域的問題。
深度學習應用在控制領域的應用已經有了一些研究,尤其是與強化學習的結合,展現了其獨特的優勢。深度強化學習是深度學習與強化學習相結合的一個領域,它能夠實現從感知到動作的端對端學習的一種全新的算法。簡單的說,就是和人類一樣,輸入感知信息比如視覺,然後通過深度神經網絡,直接輸出動作。深度強化學習具有使機械臂實現完全自主的學習一種甚至多種技能的潛力。
深度學習之所以發展迅速,一個很重要的因素就是大數據時代的到來,大量的數據即訓練樣本可以更容易的獲得,這為深度學習的發展提供了重要保障。然而在控制領域,有些時候數據並不容易獲得或者獲得數據的代價較高。比如本文提到的機械臂的運動控制數據,這就使得深度學習的應用受到一定的局限。如何提高數據的利用率或如何採集重要樣本數據成了一個關鍵的挑戰。
網絡的訓練包括直接獲取大量的樣本數據,然後一次性訓練獲得參數;先獲取一些樣本對網絡進行初始化,然後採集數據進行參數調整,本文所用的方法是後者。
技術實現要素:
本發明所要解決的技術問題是提供基於深度學習的端到端的機械臂控制的方法,使得能提高數據的有效性和利用率。為此,本發明提供以下技術方案:
一種基於深度學習的端到端的機械臂控制的方法,包括如下步驟:
步驟一,以一定頻率採集機械臂運動時的圖像信息和機械臂的控制指令與狀態信息;
步驟二,對於步驟一中採集的所述圖像信息、控制指令與狀態信息進行網絡處理:
網絡包括圖像處理網絡和控制策略網絡,圖像處理網絡用於對原始圖像進行降維,以使圖像輸入和機械臂的狀態輸入維度在一個量級上;
控制策略網絡輸出對機械臂執行的控制指令,初始化圖像處理網絡的權重,圖像信息作為輸入,機械臂的狀態信息作為輸出,訓練初始化圖像處理網絡;初始化控制策略網絡的權重,機械臂的狀態信息作為輸入,控制指令作為輸出,訓練初始化控制策略網絡的網絡權重;
步驟三,在有障礙物的場景中,在採集數據的階段得到障礙物的位置信息,人工示教機械臂繞過障礙物同時到達目標位置;移動障礙物,改變障礙物的位置,重複上述操作多次,採集多條避障的軌跡;在執行軌跡的過程中記錄圖片和控制指令;對步驟二所獲的網絡進行調參訓練,該過程實際上是對網絡的權重進行調整優化;
步驟四,對於步驟三採集的每條避障軌跡加入一定的噪聲,使機械臂能夠在示教軌跡的周圍進行探索,探索到一條最優路徑。最優軌跡是基於一個目標函數的評價,目標函數由機械臂當前位置與目標位置的偏差以及機械臂控制指令組成。目標函數將對大的控制指令進行懲罰,對位置偏差進行懲罰。在執行最優軌跡的過程中記錄圖片和控制指令;
然後將採集的圖片和控制指令當作訓練數據,對步驟二所獲得初始網絡進行進一步調參訓練。
在上述技術方案的基礎上,本發明還可以採用一下進一步的技術方案:
在訓練過程中,端到端的訓練是指從圖像獲得機械臂控制控制指令的方式。
步驟三中,將目標物體放置在幾個不同的位置,控制機械臂對物體進行抓取,以一定的頻率記錄機械手臂的狀態信息,包括關節角、機械臂的執行機構的位置、末端執行機構姿態及機械臂的控制力矩,將機械臂的關節角及末端控制器的位姿作為輸入,機械臂的力矩信息作為輸出來訓練控制策略網絡,以此作為控制策略網絡的初始化。
步驟四中,將圖片信息所表達的環境進行降維,將低維表達作為控制策略網的一部分輸入,構建出網絡的端到端模式,對機械臂的執行設置一個目標函數,在運動過程中,反覆對機械臂的運動軌跡進行優化,在該優化過程中採集到的數據作為網絡的訓練數據,從而實現對已經初始化的網絡進行參數調整,即軌跡優化過程中採集的數據仍然可以作為訓練數據。
由於採用本發明的技術方案,本發明的有益效果為:本發明無需採集龐大的數據樣本,利用軌跡控制,先將一個目標物體放置在不同的初始位置,對不同的位置記錄物體的位姿,並對其進行採圖,用幾百個這樣的數據進行離線訓練前面部分的神經網絡,由此可以獲得圖像處理部分網絡權重的初始化。整個過程只需要在線採集幾條針對不同目標位置的軌跡,即可實現一定的泛化能力。
本發明在機械臂的抓取過程中,在環境中加入障礙物,在初始採樣過程中,必須已知障礙物的具體位置信息。在抓取過程中要考慮基於避障的抓取,用這樣的數據對網絡進行參數調整,可以實現一定的避障能力,同樣只需要幾條避障的軌跡。因此本發明無需大量的樣本數據,同時又兼顧了機械臂的基於避障的目標抓取任務。
附圖說明
圖1為基於深度學習的端到端的機械臂控制的方法流程示意圖。
具體實施方式
本發明公開了一種基於深度學習的端到端的機械臂控制的方法,
步驟一,以一定頻率採集機械臂運動時的圖像信息和機械臂的控制指令與狀態信息;
步驟二,對於步驟一中採集的所述圖像信息、控制指令與狀態信息進行網絡處理:
網絡包括圖像處理網絡和控制策略網絡,圖像處理網絡用於對原始圖像進行降維,以使圖像輸入和機械臂的狀態輸入維度在一個量級上;
控制策略網絡輸出對機械臂執行的控制指令,初始化圖像處理網絡的權重,圖像信息作為輸入,機械臂的狀態信息作為輸出,訓練初始化圖像處理網絡;初始化控制策略網絡的權重,機械臂的狀態信息作為輸入,控制指令作為輸出,訓練初始化控制策略網絡的網絡權重;
步驟三,在有障礙物的場景中,在採集數據的階段得到障礙物的位置信息,人工示教機械臂繞過障礙物同時到達目標位置;移動障礙物,改變障礙物的位置,重複上述操作多次,採集多條避障的軌跡;在執行軌跡的過程中記錄圖片和控制指令;對步驟二所獲的網絡進行調參訓練;
步驟四,對於步驟三採集的每條避障軌跡加入一定的噪聲,使機械臂能夠在示教軌跡的周圍進行探索,探索到一條最優路徑,在執行最優軌跡的過程中記錄圖片和控制指令;
然後將採集的圖片和控制指令當作訓練數據,對步驟二所獲得初始網絡進行進一步調參訓練。
圖1為實施例舉例,具體步驟如下:
(1)機械臂的執行機構抓取目標物體,控制機械臂運動,使得運動停止時,目標物體在相機的視野內;當運動停止後,記錄機械臂執行機構坐標繫到基座坐標系的位姿關係,採集相機視野內的圖片;
(2)控制機械臂運動n若干次,得到第n+1運動停止時的狀態數據;
(3)使機械臂的執行機構抓取著障礙物體,重複(1)(2)步驟的工作
(4)根據(1)到(2)步獲得的數據,採集的圖像信息作為輸入,機械臂的位姿作為輸出,離線訓練網絡1,對其進行初始化;根據步驟(3)所獲得數據,圖像信息作為輸入,機械臂位姿作為輸出,離線訓練網絡2,實現對網絡2的初始化;
(5)桌面上同時放置一個目標物體和一個障礙物,該過程中,物體的放置均使用機械臂來放置。因此,該階段的目標物體與障礙物的位置均是已知量。控制機械臂繞過障礙物抓取目標物體,在該過程中以一定頻率記錄機械臂的控制力矩,並同時記錄機械臂的關節角,末端的位姿信息,以及目標物體的位置和障礙物的位置。移動目標物體或障礙物,使其相對關係發生變化,重複上述操作;
(6)用目標物體的位置及障礙物的位置,機械臂的關節角,末端的位姿信息作為輸入,機械臂的控制力矩作為輸出,離線訓練控制策略網絡,如圖1的網絡3,對其進行初始化;
(7)如同步驟(5)一樣,桌面上同時放置目標物和障礙物,控制機械臂繞過障礙物抓取目標物體,該過程中以一定頻率用相機採圖,並記錄機械臂控制力矩、關節角、末端位姿;
(7-1)將採集的圖片、機械臂關節角、末端位姿作為輸入,控制力矩作為輸出,訓練整個端到端的網絡;
(7-2)設置一個代價函數,用於實現軌跡優化。使得軌跡在避障的基礎上抓取目標物體,優化後重複(7-1)的任務,直到代價函數小於一定值;
(7-3)改變障礙物、目標物的放置位置,重複(7-1),(7-2)的任務;
以上例舉的僅是本發明的優選實施方式,本發明並不限於以上實施例。