本發(fā)明涉及串聯(lián)機器人動力學參數(shù)辨識方法,特別涉及一種保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法。
背景技術:
串聯(lián)機器人在制造業(yè)、農業(yè)、娛樂業(yè)等行業(yè)得到越來越廣泛的應用,許多應用場景需要串聯(lián)機器人擁有高速、高精度的運動性能。基于串聯(lián)機器人動力學模型的運動控制能賦予機器人高速、高精度的運動性能,這種方法需要精確的串聯(lián)機器人動力學參數(shù)。
一般情況下,串聯(lián)機器人的動力學參數(shù)不能直接獲得,需要通過實施辨識實驗獲取?,F(xiàn)有的串聯(lián)機器人動力學參數(shù)辨識方法,主要通過最小二乘法或者改進的最小二乘法計算超定的回歸方程組獲得,計算得到的動力學參數(shù)往往無法保證物理可行性,比如可能出現(xiàn)機器人某個連桿質量小于零的計算結果。不合理的動力學參數(shù)可能給基于動力學模型的串聯(lián)機器人運動控制帶來災難性的后果。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法,旨在解決現(xiàn)有串聯(lián)機器人動力學參數(shù)辨識方法無法保證辨識得到的動力學物理可行性的問題。
本發(fā)明的目的通過下述技術方案來實現(xiàn):
一種保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法,包括如下步驟:
S1、機器人按照激勵軌跡進行周期性運動;
S2、在機器人運動過程中,以一定采樣頻率采集各個關節(jié)的角度和力矩;
S3、建立串聯(lián)機器人動力學模型,利用步驟S2采集的數(shù)據(jù),使用帶權最小二乘法計算出機器人動力學參數(shù)βWLS;
S4、在步驟S3計算得到的動力學參數(shù)βWLS的參數(shù)空間鄰域范圍內,使用半正定矩陣規(guī)劃的最優(yōu)化方法,得到一組既滿足物理可行性要求,又與計算的參數(shù)最接近的新動力學參數(shù)βf,βf即為保證物理可行性的串聯(lián)機器人動力學參數(shù)。
進一步地,所述步驟S4包含如下步驟:
S4.1、定義機器人動力學參數(shù)的物理可行性約束表達式:
Dβ(β,δd)≥0, (1)
式(1)中,β為機器人可辨識的動力學參數(shù),δd為不可辨識的動力學參數(shù);
S4.2、定義機器人動力學參數(shù)βWLS的參數(shù)空間鄰域表達式:
v=||βf-βWLS||2, (2)
式(2)中,βf為保證物理可行性的串聯(lián)機器人動力學參數(shù);βWLS為使用帶權最小二乘法計算得到機器人動力學參數(shù);
S4.3、定義最優(yōu)化問題的描述形式:
S4.4、使用半正定規(guī)劃方法求解步驟S4.3所述的最優(yōu)化問題。
進一步地,所述步驟S4.1包含如下步驟:
S4.1.1、定義機器人連桿k的物理可行性約束,主要包括質量和慣性張量的物理可行性約束:
式(4)中,mk是連桿k的質量;Ik是連桿k關于質心的慣性張量,Ik>0表示Ik是正定矩陣,
S4.1.2、用關于連桿k坐標系原點的慣性張量Lk代替Ik,根據(jù)平行移軸定理,它們之間存在如下關系:
式(5)中,rk為以連桿k坐標系原點o為起點,連桿k質心G為終點的矢量,
且有
S4.1.3、使用連桿k的第一慣量矩lk代替連桿k的質心位置rk,它們之間存在如下關系:
S4.1.4、重新定義機器人連桿k的物理可行性約束:
式(7)的第二個不等式重寫為如下的二次矩陣不等式:
式中,e表示3×3的單位陣;
將式(8)改寫成非嚴格的線性矩陣不等式形式:
式中,ε為無窮小的正數(shù),e為單位陣,δk為連桿動力學參數(shù),
δk=[Lxxk Lxyk Lxzk Lyyk Lyzk Lzzk lxk lyk lzk mk]T;
S4.1.5、定義n個連桿的串聯(lián)機器人物理可行性約束:
考慮關節(jié)粘滯摩擦力系數(shù)fv,庫倫摩擦力系數(shù)fc和輸出軸轉動慣量Ia的物理可行性,式(10)進一步擴展為:
D(δ)=diag(D1(δ1),…,Dn(δn),fv1,fc1,Ia1,…fvn,fcn,Ian)≥0, (11)
式中,diag(·)表示對角陣;
S4.1.6、定義串聯(lián)機器人標準動力學參數(shù)δ和可辨識動力學參數(shù)β之間的雙向映射關系:
Gδ=[β δd]T, (12)
式中,則δd為不可辨識的動力學參數(shù);
S4.1.7、定義串聯(lián)機器人可辨識動力學參數(shù)β的物理可行性約束:
Dβ(β,δd)≡D(G-1[βδd]T)≥0。 (13)
進一步地,所述步驟S4.1.6中矩陣Pb,Kd,Pd的計算方法包含如下步驟:
(1)隨機生成S組且滿足S遠遠大于機器人標準動力學參數(shù)δ的個數(shù)。將S組代入回歸矩陣函數(shù)可以得到回歸矩陣HS;
(2)對HS使用QR分解可以得到正則上三角矩陣R:
(3)遍歷矩陣R的對角元素,記錄其中非零對角元素在矩陣中的列號,依次寫入數(shù)組db,定義行列數(shù)等于機器人標準動力學參數(shù)δ個數(shù)的單位矩陣P',依照數(shù)組db記錄的列號,按順序從單位矩陣P'中取出對應的列組成新矩陣,該矩陣為Pb,剩余的列組成新矩陣,該矩陣為Pd,則P=[Pb Pd];
(4)對矩陣Hb,Hd分別使用QR分解,可得:
則有:
則有:
Kd=Rb-1Rd。 (17)
本發(fā)明相對于現(xiàn)有技術具有如下的優(yōu)點及效果:
本發(fā)明使用帶權最小二乘法計算出機器人動力學參數(shù),在計算得到的動力學參數(shù)的參數(shù)空間鄰域范圍內,使用半正定矩陣規(guī)劃方法,得到一組新的動力學參數(shù)。既保證動力學參數(shù)的物理可行性,又保證動力學參數(shù)接近于帶權最小二乘法得到的最優(yōu)動力學參數(shù)。
附圖說明
圖1是本發(fā)明實施例的保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法流程示意圖。
圖2是本發(fā)明實施例的保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法步驟S4的流程示意圖。
圖3是本發(fā)明實施例的保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法步驟S4.1的流程示意圖。
圖4是本發(fā)明實施例的保證物理可行性的串聯(lián)機器人動力學參數(shù)辨識方法步驟S4.1.6的流程示意圖。
具體實施方式
下面結合實施例及附圖對本發(fā)明作進一步的詳細描述,但本發(fā)明的實施方式不限于此。
現(xiàn)以某六自由度垂直關節(jié)串聯(lián)機器人為動力學參數(shù)辨識對象,按照以下步驟進行機器人動力學參數(shù)辨識:
S1、設計激勵軌跡,機器人各關節(jié)按照激勵軌跡進行周期性運動;
S2、在機器人運動過程中,以1000Hz采樣頻率采集各個關節(jié)的角度和力矩;
S3、建立六自由度垂直關節(jié)串聯(lián)機器人動力學模型,利用步驟S2采集的各個關節(jié)角度,計算各個關節(jié)的角速度和角加速度,利用各個關節(jié)的角度、角速度、角加速度和力矩,使用帶權最小二乘法計算出機器人可辨識的動力學參數(shù)βWLS;
S4、在步驟S3計算得到的動力學參數(shù)βWLS的參數(shù)空間鄰域范圍內,使用半正定矩陣規(guī)劃的最優(yōu)化方法,得到一組既滿足物理可行性要求,又與計算的參數(shù)最接近的新動力學參數(shù)βf。βf即為保證物理可行性的串聯(lián)機器人動力學參數(shù)。
具體而言,如圖2所示,所述步驟S4包含如下步驟:
S4.1、定義機器人動力學參數(shù)的物理可行性約束表達式:
Dβ(β,δd)≥0, (1)
式(1)中,β為機器人可辨識的動力學參數(shù),δd為不可辨識的動力學參數(shù);
S4.2、定義機器人動力學參數(shù)βWLS的參數(shù)空間鄰域表達式:
v=||βf-βWLS||2, (2)
式(2)中,βf為保證物理可行性的串聯(lián)機器人動力學參數(shù);βWLS為使用帶權最小二乘法計算得到機器人動力學參數(shù);
S4.3、定義最優(yōu)化問題的描述形式:
S4.4、使用半正定規(guī)劃方法求解步驟S4.3所述的最優(yōu)化問題。
具體而言,如圖3所示,所述步驟S4.1包含如下步驟:
S4.1.1、定義機器人連桿k的物理可行性約束,主要包括質量和慣性張量的物理可行性約束:
式(4)中,mk是連桿k的質量;Ik是連桿k關于質心的慣性張量,Ik>0表示Ik是正定矩陣,
S4.1.2、用關于連桿k坐標系原點的慣性張量Lk代替Ik,根據(jù)平行移軸定理,它們之間存在如下關系:
式(5)中,rk為以連桿k坐標系原點o為起點,連桿k質心G為終點的矢量,
且有
S4.1.3、使用連桿k的第一慣量矩lk代替連桿k的質心位置rk,它們之間存在如下關系:
S4.1.4、重新定義機器人連桿k的物理可行性約束:
式(7)的第二個不等式重寫為如下的二次矩陣不等式:
式中,e表示3×3的單位陣;
將式(8)改寫成非嚴格的線性矩陣不等式形式:
式中,ε為無窮小的正數(shù),e為單位陣,δk為連桿動力學參數(shù),
δk=[Lxxk Lxyk Lxzk Lyyk Lyzk Lzzk lxk lyk lzk mk]T;
S4.1.5、定義n個連桿的串聯(lián)機器人物理可行性約束:
考慮關節(jié)粘滯摩擦力系數(shù)fv,庫倫摩擦力系數(shù)fc和輸出軸轉動慣量Ia的物理可行性,式(10)進一步擴展為:
D(δ)=diag(D1(δ1),…,Dn(δn),fv1,fc1,Ia1,…fvn,fcn,Ian)≥0, (11)
式中,diag(·)表示對角陣;
S4.1.6、定義串聯(lián)機器人標準動力學參數(shù)δ和可辨識動力學參數(shù)β之間的雙向映射關系:
Gδ=[β δd]T, (12)
式中,則δd為不可辨識的動力學參數(shù);
S4.1.7、定義串聯(lián)機器人可辨識動力學參數(shù)β的物理可行性約束:
Dβ(β,δd)≡D(G-1[βδd]T)≥0。 (13)
具體而言,如圖4所示,所述步驟S4.1.6中矩陣Pb,Kd,Pd的計算方法包含如下步驟:
(1)隨機生成S組且滿足S遠遠大于機器人標準動力學參數(shù)δ的個數(shù)。將S組代入回歸矩陣函數(shù)可以得到回歸矩陣HS;
(2)對HS使用QR分解可以得到正則上三角矩陣R:
(3)遍歷矩陣R的對角元素,記錄其中非零對角元素在矩陣中的列號,依次寫入數(shù)組db,定義行列數(shù)等于機器人標準動力學參數(shù)δ個數(shù)的單位矩陣P',依照數(shù)組db記錄的列號,按順序從單位矩陣P'中取出對應的列組成新矩陣,該矩陣為Pb,剩余的列組成新矩陣,該矩陣為Pd,則P=[Pb Pd];
(4)對矩陣Hb,Hd分別使用QR分解,可得:
則有:
則有:
Kd=Rb-1Rd。 (17)
上述實施例為本方面較佳的實施方式,但本方明的實施方式并不受上述實施例的限制,其他的任何背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。