優(yōu)勝從選擇開始,我們是您最好的選擇!—— 中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)
0373-5939925
2851259250@qq.com
我要檢測 我要投稿 合法期刊查詢
您的位置:網站首頁 > 優(yōu)秀論文 > 科技論文 > 正文

基于人體運動建模的逆運動學算法研究

作者:蔡飛,胡寧寧,盧俊蘭來源:《企業(yè)科技與發(fā)展》日期:2019-05-08人氣:2943

逆運動學是給定末端執(zhí)行器的目標位置和姿態(tài),求解機器人各個關節(jié)的關節(jié)角。逆運動學在機器人的研究領域占有重要,它的好壞直接影響到后面的運動分析、運動控制和軌跡規(guī)劃。因此,設計性能優(yōu)越的逆運動學求解算法成為仿生機器人研究中的一個熱點。

針對逆運動學求解問題,國內諸多外學者進行了深入研究,并提出了一系列有效的方法。目前逆運動學求解方法主要分為三大類:代數法、幾何法和數值法。代數法可以求解出所有解,但是這種方法計算復雜,適用于六自由度機器人求逆解。幾何法需要將機器人空間分解為平面來求解幾何參數,適用于機器人連桿參數滿足特定值情況下的求解。數值法可以很好的處理自由度較多的復雜運動鏈,且在關節(jié)約束條件下,也具有很好的通用性和靈活性。由于人體逆運動學問題較為復雜,數值法在反復迭代后所求得的解準確度不高,因此需要對數值法的求解進行優(yōu)化。目前常用的數值法是牛頓法、Newton-Raphson法、粒子濾波法、循環(huán)坐標下降法算法(CCD)等。牛頓法當矩陣有奇異值時無法求解;Newton-Raphson法在初始點離目標點較遠時無法求解;粒子濾波法計算復雜度高,而且會出現奇異值問題;傳統(tǒng)CCD算法在離目標點較遠時求解速度很快,而在近目標點時求解速度急劇下降。針對上述方法只能求得特定情況下的人體運動逆解問題,本文提出了一種更加普遍、快速的逆運動求解算法。

本文的核心思想是將傳統(tǒng)CCD算法和BFGS算法結合,融合它們的優(yōu)點得到一個新的算法,從而達到快速求解的目的,并進行了求解仿真,驗證了所提算法的可行性。

1  人體運動模型的建立

1.1  運動數據獲取

本文用NOKOV三維紅外被動式光學運動捕捉系統(tǒng)來實時捕捉人體的下肢運動數據,所用動作捕捉系統(tǒng)主要由6個相機、上位機、mark點、定位桿、校正桿等組成,每個mark點只要同時被兩個鏡頭捕捉到,便能記錄下mark點的坐標,進而得到特定點隨時間變化的連續(xù)運動軌跡。運動捕捉系統(tǒng)以每秒100幀的速率記錄所有標記點的空間坐標,并且其捕捉精度可達1mm。動作捕捉系統(tǒng)中mark點位置和相機的布置如圖1所示。

(a)mark點位置                  (b)相機布置

圖1  mark點位置和相機布置

1.2  建立關節(jié)模型 

人體下肢是一個極其復雜的系統(tǒng),為了便于研究一般將下肢分為髖關節(jié)、膝關節(jié)、踝關節(jié)、大腿和小腿五部分。這樣就可以把關節(jié)看做為點,大腿和小腿看做是鏈,如圖2所示。每個關節(jié)都固定一個局部坐標系,根據歐拉角的表示方法,從子關節(jié)局部坐標系旋轉變換到父關節(jié)局部坐標系的旋轉矩陣可以表示為

式中分別表示繞軸,軸,軸的旋轉角度。用表示子關節(jié)相對于父關節(jié)在軸,軸,軸的平移。則子關節(jié)相對于父關節(jié)的變換矩陣可以表示為

設子關節(jié)在局部坐標系的坐標表示為,子關節(jié)在父關節(jié)坐標系中的坐標表示為,則有

局部坐標系之間的變換矩陣可以表示為:,這樣人體的運動學問題轉化為關節(jié)模型的運動方程求解問題。

圖2  人體下肢關節(jié)模型

2  逆運動學求解算法的研究

2.1  循環(huán)坐標下降(CCD)算法

循環(huán)坐標下降(CCD)算法是一種啟發(fā)式迭代方法,該方法根據運動鏈末端位置信息,依次調整各個關節(jié)的旋轉角度,逐步使末端位置逼近目標位置。該算法同時考慮了各個關節(jié)的約束條件,對于大范圍運動收斂快速、穩(wěn)定,因此在機器人運動研究領域得到了廣泛應用。

算法的基本思想如下:

假設當前位置的世界坐標和姿態(tài)分別為:和,其中為各個旋轉角度組成的向量。設要達到的末端位置和姿態(tài)為:和,這樣問題就轉化為找到一個合適的向量,使當前位姿到達目標位姿,即,。

定義位置誤差為:

定義姿態(tài)誤差為:

總的誤差為:

從而轉化為求合適的向量,使得總的誤差最小。關節(jié)的優(yōu)化目標函數為:

設和為加權因子,取值為任意正實數,,,為當前坐標原點的位置矢量,為第個關節(jié)相對于基坐標的單位向量,則常系數和可以表示為:

取得極大值的條件為

由,結合上式可以求出關節(jié)的最優(yōu)調整值,從而獲得合適的向量,并得到各個關節(jié)的旋轉角度,由于每個關節(jié)有一定的關節(jié)約束,即關節(jié)旋轉范圍,如果,則旋轉角度取;如果,則旋轉角度為;如果,則旋轉角度取。這樣得到的旋轉角度可以滿足實際要求,由新的旋轉角度得到新的人體運動模型。

2.2  BFGS算法

BFGS算法是一種應用最為廣泛的擬牛頓算法,不需要計算二階導數,而且保存了牛頓算法的超線性收斂性。本文將BFGS算法融入到循環(huán)坐標下降算法中,BFGS算法的校正公式為:

BFGS算法應用二階導數信息具有更快的收斂速度,接近目標點時收斂速度很快,而當目標點較遠時則速度較慢。本文將2種算法的優(yōu)點結合起來。首先利用循環(huán)坐標下降算法進行大范圍的移動,在目標點小范圍內采用BFGS算法。

3  實驗流程及結果分析

本文所用實驗的具體流程如下:

Step1:輸入人體下肢運動的骨架模型和人體運動的初始值,設定人體運動的目標位置和局部坐標系、迭代停止閾值和轉向BFGS算法的閾值;

Step2:計算出人體各個關節(jié)的世界坐標,運用式計算出總的誤差,如果總誤差小于閾值,轉到Step5,否則執(zhí)行下一步,直到總誤差小于閾值,轉到Step4,執(zhí)行BFGS算法;

Step3:對當前模型運用改進循環(huán)坐標下降算法,更新人體運動數據,轉到Step2;

Step4:對當前模型執(zhí)行BFGS算法,直到誤差小于設置閾值,轉到下一步;

Step5:繪制人體運動圖形。

為了驗證算法的有效性,設目標點位姿為:=[161.5614,965.4743,-5.0585],=[0.0990,-0.9951,0],=[-0.9951,0.0990,0],=[0,0,1],一個精確解。圖3為傳統(tǒng)CCD算法和CCD-BFGS算法平均執(zhí)行時間的對比,從圖中可以看出本文提出的CCD-BFGS算法明顯優(yōu)于傳統(tǒng)CCD算法。

圖3  傳統(tǒng)算法與CCD-BFGS算法對比

4  結語

針對人體運動建模中逆運動學求解問題,提出一種CCD算法和BFGS算法結合的新的算法,并通過仿真驗證了算法的性能。仿真結果表明,CCD-BFGS算法不僅克服了傳統(tǒng)CCD算法近目標點收斂慢的缺點,而且具有較強的魯棒性。本算法思想還可以應用于運動壓縮和合成等方向,同時在推動仿生機器人的運動仿真研究有一定的借鑒意義。



本文來源:《企業(yè)科技與發(fā)展》:http://m.00559.cn/w/qk/21223.html

網絡客服QQ: 沈編輯

投訴建議:0373-5939925????投訴建議QQ:

招聘合作:2851259250@qq.com (如您是期刊主編、文章高手,可通過郵件合作)

地址:河南省新鄉(xiāng)市金穗大道東段266號中州期刊聯(lián)盟 ICP備案號:豫ICP備2020036848

【免責聲明】:中州期刊聯(lián)盟所提供的信息資源如有侵權、違規(guī),請及時告知。

版權所有:中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)

關注”中州期刊聯(lián)盟”公眾號
了解論文寫作全系列課程

核心期刊為何難發(fā)?

論文發(fā)表總嫌貴?

職院單位發(fā)核心?

掃描關注公眾號

論文發(fā)表不再有疑惑

論文寫作全系列課程

掃碼了解更多

輕松寫核心期刊論文

在線留言