楊明 劉洋 李少衛

摘 要:隨著互聯網技術以及人工智能的不斷發展,機器人能夠模仿人的動作正越來越受到科技界重視,怎樣將人體各關節夾角計算出來并傳給機器人成為一個難點。本文基于Kinect提出了一種骨骼關節夾角計算方法,實現了人體關節夾角的計算。通過實驗驗證,最終證明該方法可行,具有較好的實際應用價值。
關鍵詞:Kinect 關節夾角 人工智能
中圖分類號:TP391.4 文獻標識碼:A 文章編號:1672-3791(2018)06(c)-0102-02
隨著社會和科技的進步,機器人的用途越來越廣泛,它的發展也越來越受到人類重視。一種能夠代替人類在危險環境中作業的機器人正變的越來越受重視。這種機器人能夠遠程操作,還能獲取周圍環境信息,使人能根據這些信息做出應對方法。在突發狀況需要臨場應變的情況下,機器人能夠捕捉人的反應,應對處理各種事情。本文基于Kinect傳感器,通過對人體姿態的實時識別,獲取人體各個關節的三維數據,然后利用本文提出的方法將人體各個關節夾角計算出來并最終傳給控制器,實現機器人模仿人的動作。
1 Kinect骨骼提取
Kinect是一款可以通過USB接口與PC相連接的攝像頭,比一般攝像頭更加智能。它的外設是由三個鏡頭組成:左側是紅外線發射器,中間是用來獲取RGB彩色圖像攝像頭,最右邊是紅外線CMOS攝像機所構成的三維結構的光深度感應器。Kinect不能直接通過攝像頭追蹤大骨骼點,也不能直接實現骨骼追蹤,因此需要通過深度圖像獲取得到骨骼數據,而骨骼點的提取則是通過特征值來進行快速分類。將人體從背景中分離出來后要開始識別人體的不同部位,比如頭部、手臂、四肢等相關聯的肢體,用不同的顏色標注出人體的不同部位然后尋找圖像中較可能是人體的目標物體,通過機器學習對深度圖像進行評估,來判別出目標身體的各個部位,整個流程如圖1所示。最后根據Kinect追蹤到的21個骨骼點來生成一幅完整的骨架系統。Kinect通過評估彩色攝像頭和紅外攝像頭所得到的每一個像素點來判斷是否為關節點,是哪一部分的關節點。通過這樣的方法,Kinect通過所有可靠信息對人體各個部位實際所在的位置進行精確評估分析。
2 人體骨骼夾角計算
要實現機器人模仿人體動作就要計算出人體關節旋轉角度。利用Kinect可以獲得人體各關節的三維坐標,利用這些坐標計算人體各關節旋轉角度。如圖2是Kinect的空間坐標系。常用的計算角度法有解析幾何,但其有一個問題:邊界條件問題。使用其進行計算時,需考慮各種特殊情況:平行、重疊、垂直、相交等,直接導致了軟件代碼量爆炸性增長,由此帶來編程和調試異常困難。這里采用空間向量法計算角度,從而有效避免以上問題。
2.1 手臂夾角計算
本文所用機器人如圖3所示,機器人手臂是由三個舵機組成,分別控制手臂向前、張開、肘關節的張合。
先計算手臂肘關節的張合角度,以肘關節為基本點連接肘關節和手、肘關節和肩膀,組成兩條向量。按照向量計算夾角公式(1)所示,計算肘關節夾角。其中n1代表肘關節和肩膀的連接向量,方向指向肩膀,n2代表肘關節和手的連接向量,方向指向手。Kinect掃描會得到相應骨骼點的三維坐標,利用三維坐標即可得到相應空間的向量。
手臂張開角度則按照投影法將n1和n2的向量投影到XOY面上,然后計算其和Y軸的計算夾角。這里需要有一個判斷,當手的Y坐標小于肩膀的Y坐標時需要180°減去該夾角,這是由于舵機計算角度是從中間位置加上傳過來的夾角差值得到的。
手臂前后角度的計算將兩條法向量投影到YOZ平面內,計算其和Z軸的夾角,同樣當角度大于90°時候需要180°減去該數值算出差值傳給舵機。
2.2 腿部夾角計算
本文機器人腿部由5個舵機組成,共有5個自由度。將膝蓋和腳踝當做基本點,連接膝蓋和胯部,膝蓋和腳踝,得到兩個向量,方向分別指向胯部和腳踝,其中胯部與手臂的大臂類似,也是兩個舵機分別控制腿部向前和張開運動,按照空間向量法將向量投影到相應坐標平面即可計算出相應的夾角。同樣將腳踝和膝蓋,腳踝和腳分別相連得到兩條向量,方向分別指向膝蓋和腳,這里計算腳踝的夾角,按照公式(1)計算夾角,但是此刻腳踝夾角初始位置是90°,得到相應的度數之后需要將初始90°減掉然后傳給舵機。
3 實驗驗證及結論
3.1 實驗驗證
連接Kinect設備,在Kinect代碼中加入角度計算方法,先屏蔽腿部代碼,檢驗手臂各個角度,手臂依次張開特殊角度,如45°、90°、135°等,控制臺打印相關角度。然后屏蔽手臂計算角度代碼,打開腿部代碼,腿部依次做出特殊角度,打印臺打印相關角度,如圖4所示。最終計算角度和實際角度偏差不超過5°,滿足要求。
3.2 結論
本文基于Kinect提出了一種骨骼關節夾角計算方法,實現了人體手臂和腿部關節夾角的計算。最終通過Kinect實驗驗證,證明該方法可行,將其傳給機器人相關部位舵機,可實現機器人對人體動作的模仿。
參考文獻
[1] 陳家順.基于人機交互的機器人動作模仿學習[D].華南理工大學,2015.
[2] 馬瓊雄.基于視覺的服務機器人人機交互技術研究[D].華南理工大學,2014.
[3] 陳雪鋒.基于人體姿態識別的機器人控制技術研究[D].武漢科技大學,2014.
[4] 林云漢.智能機器人“人—機—環境”交互及系統研究[D].武漢科技大學,2017.
[5] 王梅,盧熙昌,屠大維,于遠芳,周華.基于人體動作姿態識別的機器人仿人運動[J].機械工程學報,2016, 52(21):26-34.