李元豐 張萬欣
(中國航天員科研訓(xùn)練中心人因工程重點(diǎn)實(shí)驗(yàn)室 北京 100094)
?
一種執(zhí)行機(jī)構(gòu)工作空間邊界提取方法
李元豐張萬欣
(中國航天員科研訓(xùn)練中心人因工程重點(diǎn)實(shí)驗(yàn)室北京 100094)
工作空間邊界的提取在機(jī)械臂等執(zhí)行機(jī)構(gòu)的設(shè)計(jì)及功能評(píng)價(jià)中是非常重要的處理操作。將執(zhí)行機(jī)構(gòu)工作空間點(diǎn)云轉(zhuǎn)化為圖像,結(jié)合灰度圖像處理方法提出一種新型的執(zhí)行機(jī)構(gòu)工作空間邊界提取方法。首先提出柵格密度算法,作為點(diǎn)云轉(zhuǎn)化為灰度圖像的轉(zhuǎn)化算子,柵格密度描述了空間點(diǎn)云的分布情況,可用于分析機(jī)構(gòu)靈巧度;然后采用數(shù)學(xué)形態(tài)學(xué)處理方法對(duì)灰度圖像進(jìn)行平滑處理和邊緣檢測(cè);最后,利用坐標(biāo)對(duì)應(yīng)關(guān)系反算邊界的坐標(biāo)位置信息。以人體上肢可達(dá)域作為實(shí)驗(yàn)對(duì)象進(jìn)行了算法驗(yàn)證,結(jié)果表明該算法可以快速、準(zhǔn)確地提取人體上肢可達(dá)域的邊界,且與其他算法相比在運(yùn)算速度與精確度上具有優(yōu)勢(shì)。
執(zhí)行機(jī)構(gòu)工作空間邊界提取柵格密度數(shù)學(xué)形態(tài)學(xué)
準(zhǔn)確的計(jì)算工作空間對(duì)于機(jī)械臂等執(zhí)行機(jī)構(gòu)來說是確定其工作范圍、評(píng)價(jià)工效性能的重要前提。正向算法是一種計(jì)算工作空間的有效算法,在執(zhí)行機(jī)構(gòu)每個(gè)自由度的活動(dòng)范圍內(nèi)采樣一定的步進(jìn),以數(shù)值試驗(yàn)的方式計(jì)算末端執(zhí)行器的空間可達(dá)位置,從而構(gòu)成空間點(diǎn)云表征的機(jī)構(gòu)工作空間。相比于解析法,數(shù)值試驗(yàn)方法操作簡單,可以規(guī)避解析法可能遇到的奇異解問題[1]。但由于正向算法獲得的工作空間是由空間散亂點(diǎn)云表征的,包含了過多的信息,無法直觀地讀取有價(jià)值的特征信息,如工作空間的邊界,因此對(duì)點(diǎn)云的后期處理就顯得尤為重要。
工作空間的邊界是工作空間的首要特征,通過對(duì)散亂點(diǎn)云進(jìn)行處理,提取其曲面或者曲線邊界包絡(luò)是點(diǎn)云工作空間處理的重要研究內(nèi)容。Rastegar[2]等人采用蒙特卡洛法計(jì)算工作空間邊界;Ceccarelli[3]等人提出二值矩陣法;另外研究人員提出的邊界提取算法還包括柵格法[4]、分段極值法[5]、局部點(diǎn)象限法[6]等。然而各算法都存在一定局限性,尤其是無法表征工作空間點(diǎn)云的分布密度情況,體現(xiàn)執(zhí)行機(jī)構(gòu)的靈巧度。機(jī)構(gòu)的靈巧度是指執(zhí)行機(jī)構(gòu)從各個(gè)角度到達(dá)某一位置的難易程度。陳文斌[7]在研究中提出了點(diǎn)云的距離權(quán)重概念可部分解決該問題,然而該算法在計(jì)算速度、邊界提取的精確度上存在一定的局限性。
本文提出一種新的執(zhí)行機(jī)構(gòu)工作空間邊界提取方法。首先提出柵格密度概念,并以此作為算子將工作空間點(diǎn)云轉(zhuǎn)化為灰度圖像,從而將點(diǎn)云問題轉(zhuǎn)化為圖像處理問題。柵格密度可充分描述點(diǎn)云的空間分布情況,從獲得的灰度圖像中的灰度分布即可獲得執(zhí)行機(jī)構(gòu)在空間內(nèi)的靈巧度情況;利用數(shù)學(xué)形態(tài)學(xué)原理對(duì)灰度圖像進(jìn)行光滑處理和邊緣檢測(cè),最終通過坐標(biāo)對(duì)應(yīng)關(guān)系獲得執(zhí)行機(jī)構(gòu)工作空間邊界。為驗(yàn)證算法的性能,對(duì)文獻(xiàn)[8]中提出的人體上肢可達(dá)域進(jìn)行了邊界提取實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了該方法的有效性。
1.1柵格密度算法
圖1 柵格法原理示意圖
傳統(tǒng)柵格法提取邊界的原理是將平面離散成一定大小的網(wǎng)格,根據(jù)各個(gè)柵格中是否包含數(shù)據(jù)點(diǎn)判斷其是否位于工作區(qū)域內(nèi);再依據(jù)相鄰柵格的拓?fù)浣Y(jié)構(gòu)關(guān)系判斷此柵格是邊界網(wǎng)格還是內(nèi)部網(wǎng)格,據(jù)此確定邊界點(diǎn)[1],如圖1所示。
柵格密度算法是在柵格法將平面劃分為一定數(shù)量的網(wǎng)格基礎(chǔ)上引入了點(diǎn)密度概念,分別計(jì)算各網(wǎng)格中數(shù)據(jù)點(diǎn)的數(shù)量,從而獲得各個(gè)網(wǎng)格中的點(diǎn)密度情況,組成密度矩陣。利用數(shù)據(jù)矩陣與灰度圖像轉(zhuǎn)化算法將密度矩陣轉(zhuǎn)化為灰度圖像,從而將點(diǎn)云問題轉(zhuǎn)化為圖像處理問題。
具體做法可表述為:選取一定柵格尺寸將平面劃分為m×n個(gè)網(wǎng)格,分別計(jì)算各個(gè)網(wǎng)格中數(shù)據(jù)點(diǎn)的數(shù)量,對(duì)矩陣中元素進(jìn)行歸一化處理獲得相對(duì)密度矩陣W:
(1)
密度矩陣中元素?cái)y帶有數(shù)值和位置信息,表示的是相應(yīng)位置柵格內(nèi)數(shù)據(jù)點(diǎn)的相對(duì)密度。
進(jìn)一步采用數(shù)據(jù)矩陣與灰度圖像轉(zhuǎn)化算法將密度矩陣W轉(zhuǎn)化為灰度圖像P:
(2)
灰度圖像矩陣P中元素同樣攜帶有數(shù)值和位置信息,表示的是相應(yīng)位置像素點(diǎn)的灰度值。灰度值大小代表執(zhí)行機(jī)構(gòu)到達(dá)對(duì)應(yīng)位置的難易程度,灰度值大表示容易到達(dá),機(jī)構(gòu)在此的靈巧度好,灰度值小表示不容易到達(dá),機(jī)構(gòu)在此的靈巧度低,灰度值為零則表示該位置不可到達(dá)。
密度矩陣W與灰度圖像P為相互對(duì)應(yīng)關(guān)系,即某柵格內(nèi)相對(duì)密度wij唯一且與相應(yīng)像素點(diǎn)上的灰度pij對(duì)應(yīng),而密度矩陣與灰度圖像轉(zhuǎn)化的過程實(shí)際就是建立起這樣一種對(duì)應(yīng)關(guān)系。
1.2數(shù)學(xué)形態(tài)學(xué)方法
1.2.1數(shù)學(xué)形態(tài)學(xué)基本理論
數(shù)學(xué)形態(tài)學(xué)是一種應(yīng)用于圖像處理的新方法,是在集合論的基礎(chǔ)上發(fā)展而來的[9]。它以嚴(yán)格的數(shù)學(xué)理論和幾何學(xué)為基礎(chǔ)而又密切聯(lián)系著實(shí)際,與其他的空域或頻域圖像處理和分析方法相比具有一系列明顯的優(yōu)勢(shì)[10-12]。數(shù)學(xué)形態(tài)學(xué)方法處理圖像的基本思想是利用結(jié)構(gòu)元素作為“探針”,對(duì)目標(biāo)圖像進(jìn)行“探測(cè)”,保留符合要求的信號(hào)而剔除其他信號(hào)[13,14]。數(shù)學(xué)形態(tài)學(xué)處理圖像的核心內(nèi)容是結(jié)構(gòu)元素的選擇,結(jié)構(gòu)元素實(shí)際上是衡量圖像信息的“標(biāo)尺”,標(biāo)尺標(biāo)準(zhǔn)的選定將直接影響圖像處理的效果。
數(shù)學(xué)形態(tài)學(xué)定義了膨脹和腐蝕兩種基本的運(yùn)算。設(shè)A為目標(biāo)圖像,B為結(jié)構(gòu)元素。
膨脹運(yùn)算的定義為:
(3)
(4)
膨脹是一個(gè)擴(kuò)張的過程,可以填充圖像中的小孔及在圖像邊緣處的小凹陷部分。
腐蝕運(yùn)算的定義為:
AΘB={x|Bx?A}
(5)
腐蝕是一個(gè)收縮的過程,可以消除圖像中細(xì)小無意義的點(diǎn)。
通過膨脹和腐蝕的組合,獲得開運(yùn)算和閉運(yùn)算兩種擴(kuò)展運(yùn)算。采用相同的結(jié)構(gòu)元素先進(jìn)行腐蝕運(yùn)算,后進(jìn)行膨脹運(yùn)算定義為開運(yùn)算:
A°B=(AΘB)⊕B
(6)
開運(yùn)算可以平滑圖像輪廓,去除圖像中的細(xì)小點(diǎn)。
與開運(yùn)算相反,采用相同的結(jié)構(gòu)元素先進(jìn)行膨脹運(yùn)算,后進(jìn)行腐蝕運(yùn)算定義為閉運(yùn)算:
A·B=(A⊕B)ΘB
(7)
閉運(yùn)算可以填補(bǔ)圖像的空洞和缺陷。
1.2.2灰度圖像處理方法
利用數(shù)學(xué)形態(tài)學(xué)方法提取邊界是借鑒于其在圖像邊緣檢測(cè)中的應(yīng)用。為排除灰度變化給邊界提取帶來的干擾,首先將灰度圖像二值化?;叶葓D像二值化的關(guān)鍵在于分割閾值的確定,根據(jù)實(shí)際情況合理地選擇閾值是準(zhǔn)確提取圖像信息的關(guān)鍵。常用的閾值確定方法有P片法、峰谷法[14]以及迭代法[15]等。
二值圖難免會(huì)有缺陷或者噪聲,因此選取結(jié)構(gòu)元素B1,對(duì)圖像進(jìn)行開、閉運(yùn)算濾波,平滑圖像去除噪聲。
依據(jù)數(shù)學(xué)形態(tài)學(xué)的基本運(yùn)算,主要有以下幾種典型的邊緣檢測(cè)算子[16]:
假設(shè)A為原圖像,B2為結(jié)構(gòu)元素,B(A)表示圖像邊緣。
(1) 腐蝕型
B(A)=A-AΘB2
(8)
(2) 膨脹型
B(A)=A⊕B2-A
(9)
(3) 膨脹腐蝕型
B(A)=(A⊕B2)-(AΘB2)
(10)
當(dāng)然也可以通過基本運(yùn)算的組合獲得其他形式的形態(tài)學(xué)邊緣檢測(cè)算子。在本文中,以上基本檢測(cè)算子已經(jīng)可以滿足要求。
1.3坐標(biāo)對(duì)應(yīng)關(guān)系
如前文所述,密度矩陣和灰度圖像(包括二值化后的二值圖像)中的元素均攜帶有位置以及數(shù)值信息,其中元素的位置信息是在柵格劃分過程由平面坐標(biāo)空間轉(zhuǎn)化為矩陣中的位置參數(shù)。
假設(shè)平面點(diǎn)云的橫縱坐標(biāo)下限分別為xfloor和yfloor,柵格邊長為Δlx和Δly,則灰度圖像(或二值圖)中的元素pij與平面坐標(biāo)空間的坐標(biāo)位置對(duì)應(yīng)關(guān)系可描述為:
xp=xfloor+(j-1)·Δlx
(11)
yp=yfloor+(i-1)·Δly
(12)
式中,xp與yp表示圖像元素對(duì)應(yīng)于平面坐標(biāo)空間的橫縱坐標(biāo)位置。
通過此對(duì)應(yīng)關(guān)系可以實(shí)現(xiàn)圖像像素位置與空間坐標(biāo)位置參數(shù)的轉(zhuǎn)化。因此,通過形態(tài)學(xué)處理運(yùn)算提取后的灰度圖像(二值圖)的邊界可以轉(zhuǎn)化到坐標(biāo)空間,反算點(diǎn)云邊界的空間坐標(biāo)位置。
為驗(yàn)證本文邊界提取算法的有效性,采用文獻(xiàn)[8]中所述的人體右手臂上肢可達(dá)域模型作為處理對(duì)象開展實(shí)驗(yàn)驗(yàn)證。人體坐標(biāo)系定義如圖2所示,X軸沿人體冠狀軸方向,Y軸沿人體矢狀軸方向,Z軸沿人體垂軸方向,坐標(biāo)原點(diǎn)定義在左右肩關(guān)節(jié)中心連線中點(diǎn)[7]。
圖2 人體坐標(biāo)定義
人體上肢可達(dá)域模型包含6個(gè)關(guān)節(jié)旋轉(zhuǎn)自由度,分別為內(nèi)肩關(guān)節(jié)活動(dòng)角度φrp和φde,外肩關(guān)節(jié)活動(dòng)角度φA、φF、φR以及肘關(guān)節(jié)屈/伸運(yùn)動(dòng)角度φEF。依據(jù)表1中各個(gè)角度的活動(dòng)范圍,計(jì)算獲得由4 278 655個(gè)點(diǎn)組成的人體上肢可達(dá)域空間點(diǎn)云。
表1 關(guān)節(jié)角度活動(dòng)范圍
算法過程及結(jié)果如下:
圖3 平面點(diǎn)云分布
(1) 空間點(diǎn)云降維處理。以10 mm作為步長,將三維空間點(diǎn)云劃分為103個(gè)平面點(diǎn)云組成。圖3所示為選取的某一層點(diǎn)云分布。
(2) 計(jì)算柵格密度矩陣W。柵格設(shè)定為邊長8 mm的正方形,計(jì)算每個(gè)柵格中的點(diǎn)分布密度情況,獲得柵格密度矩陣W。
(3) 柵格密度矩陣轉(zhuǎn)化為灰度圖像。將密度矩陣歸一化處理,設(shè)定矩陣中最大值元素為單位1,通過轉(zhuǎn)化算法將密度矩陣轉(zhuǎn)化為灰度圖像,結(jié)果如圖4(a)所示。灰度圖像中的各處灰度并不相同,體現(xiàn)出人體上肢到達(dá)各個(gè)位置的難易程度的區(qū)別,即人體上肢的靈巧度,(b)為二值圖邊界。從圖中可以看出,上肢在人體前部的靈巧度要好于在身體側(cè)面和后面的靈巧度,該結(jié)論符合人體上肢的活動(dòng)特性。
圖4 數(shù)學(xué)形態(tài)學(xué)處理圖像
(4) 灰度圖像數(shù)學(xué)形態(tài)學(xué)平滑及邊緣檢測(cè)。首先根據(jù)灰度圖像以及人體上肢可達(dá)域特點(diǎn)選取合適的閾值,將灰度圖像二值化。
選取結(jié)構(gòu)元素B1對(duì)二值圖進(jìn)行開、閉運(yùn)算平滑處理,濾波去噪:
(13)
選取鉆石形結(jié)構(gòu)元素B2,通過腐蝕性邊緣檢測(cè)算子提取二值圖像邊界,提取結(jié)果如圖4(b)所示。
(14)
(5) 利用坐標(biāo)對(duì)應(yīng)關(guān)系,計(jì)算獲得邊界空間坐標(biāo)位置,圖5(a)所示為提取的邊界與點(diǎn)云圖。實(shí)驗(yàn)結(jié)果表明,本文提出的提取算法可以有效地提取點(diǎn)云的邊界,且精確度較好。
為了驗(yàn)證柵格密度算法的優(yōu)越性,同時(shí)依據(jù)文獻(xiàn)[7]提出的距離權(quán)重算法提取平面點(diǎn)云邊界,進(jìn)行對(duì)比驗(yàn)證,距離權(quán)重算法提取平面點(diǎn)云邊界結(jié)果如圖5(b)所示。首先定性比較兩種方法的提取效果,兩者邊界均能描述邊界特征。為了進(jìn)一步定量對(duì)比點(diǎn)云邊界精度,對(duì)比兩種算法提取邊界包絡(luò)的上肢平面可達(dá)域的面積,如表2所示。由定性比較可知,兩種算法提取的邊界均實(shí)現(xiàn)對(duì)點(diǎn)云輪廓的包絡(luò),所以相比較而言,平面可達(dá)域面積較小的算法所提取的邊界與點(diǎn)云的真實(shí)邊界符合程度更高,點(diǎn)云與提取的邊界間的空隙更少。因此可知,柵格密度算法更能準(zhǔn)確地表述點(diǎn)云邊界的特征,邊界提取精度更好。另外,柵格密度算法在運(yùn)算效率上也更具優(yōu)勢(shì),在相同配置計(jì)算機(jī)上,兩種算法的運(yùn)行時(shí)間如表3所示,可見柵格密度算法的運(yùn)算效率是距離權(quán)重算法效率的近14倍。
圖5 平面點(diǎn)云邊界提取結(jié)果
算法平面可達(dá)域面積(m2)柵格密度算法0.4851距離權(quán)重算法0.5084
表3 算法運(yùn)行時(shí)間對(duì)比
依次完成對(duì)各個(gè)高度等級(jí)的平面點(diǎn)云的邊界提取,分別擬合連線,最終獲得人體上肢可達(dá)域空間的包絡(luò)邊界,如圖6所示。計(jì)算人體上肢可達(dá)域空間的體積為0.631 m3,結(jié)果與文獻(xiàn)[7]中及文獻(xiàn)[8]所述一致,證明本文提出的工作空間邊界提取算法是有效的。
圖6 上肢可達(dá)域邊界提取結(jié)果
本文提出了一種針對(duì)執(zhí)行機(jī)構(gòu)的工作空間邊界提取方法。創(chuàng)新地提出了柵格密度算法,將點(diǎn)云問題轉(zhuǎn)化為灰度圖像處理問題,結(jié)合數(shù)學(xué)形態(tài)學(xué)圖像處理方法提取工作空間邊界。所提出的柵格密度算法可應(yīng)用于機(jī)構(gòu)靈巧度分析。通過對(duì)人體上肢可達(dá)域模型工作空間點(diǎn)云邊界的提取實(shí)驗(yàn),驗(yàn)證了本文算法的有效性。同時(shí)通過對(duì)比實(shí)驗(yàn),證明本文算法與其他算法相比在運(yùn)算效率和提取精度等方面的優(yōu)勢(shì)。本文詳細(xì)描述了算法的執(zhí)行過程,可為相關(guān)的研究人員提供參照。
[1] 文劍.艙外航天服活動(dòng)性能關(guān)鍵技術(shù)研究[D].北京交通大學(xué),2011.
[2] Rastegar J,Perel D.Generation of manipulator workspace boundary geometry using the Monte Carlo method and interactive computer graphics[J].Journal of Mechanical Design,1990,112(3):452-454.
[3] Ceccarelli M,Angeles J.A numerical evaluation of the workspace of a seven-axis, redundant manipulator[C]//IEEE International Conference on Robotics and Automation,2000:2551-2556.
[4] Alciatore D,Ng C.Determining manipulator workspace boundaries using the Monte Carlo method and least squares segmentation[C]//23rd ASME Mechanisms conference,1994:141-146.
[5] 曹毅,李秀娟,寧祎.三維機(jī)器人工作空間及幾何誤差分析[J].機(jī)械科學(xué)與技術(shù),2006,25(12):1458-1461,1502.
[6] 印峰,王耀南,余洪山.基于蒙特卡羅方法的除冰機(jī)器人作業(yè)空間邊界提取[J].控制理論與應(yīng)用,2010,27(7):891-896.
[7] Wenbin Chen,Caihua Xiong,Xiaolin Huang,et al.Manipulator Workspace Boundary Extraction and Its Applicationin Workspace Analysis of the Human’s Upper Extremity[J].Advanced Robotics,2009,23(10):1393-1410.
[8] Klopcar N,Tomsic M,Lenarcic J.A kinematic model of the shoulder complex to evaluate the arm-reachable workspace[J].Journal of Biomechanics,2007,40(1):86-91.
[9] 楊丹,趙海濱,龍哲.MATLAB圖像處理實(shí)例詳解[M].清華大學(xué)出版社,2013.
[10] 吳一全,宋昱,周懷春.基于各向異性數(shù)學(xué)形態(tài)學(xué)的火焰圖像邊緣檢測(cè)[J].儀器儀表學(xué)報(bào),2013,34(8):1818-1825.
[11] 彭智浩,楊風(fēng)暴,王志社,等.基于數(shù)學(xué)形態(tài)學(xué)和自動(dòng)區(qū)域生長的紅外目標(biāo)提取[J].紅外技術(shù),2014(1):47-52.
[12] 趙明波,何峻,田軍生,等.基于改進(jìn)的漸進(jìn)多尺度數(shù)學(xué)形態(tài)學(xué)的激光雷達(dá)數(shù)據(jù)濾波方法[J].光學(xué)學(xué)報(bào),2013(3):285-294.
[13] 黃海龍,王宏,郭潘,等.一種基于數(shù)學(xué)形態(tài)學(xué)的多形狀多尺度邊緣檢測(cè)算法[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2010,31(10):1483-1486.
[14] 張偉偉,劉學(xué)峰.基于數(shù)學(xué)形態(tài)學(xué)的圖像邊緣檢測(cè)研究[J].計(jì)算機(jī)與數(shù)字工程,2006,34(9):59-60.
[15] 沈世旻,盛翊智.基于邊緣檢測(cè)的車牌圖像分割技術(shù)[J].自動(dòng)化技術(shù)與應(yīng)用,2004,23(3):24-26.
[16] Maragos P.Tutorial on advances in morphological image processing and analysis[J].Optical Engineering,1987,26(7):623-632.
A MANIPULATOR WORKSPACE BOUNDARY EXTRACTION ALGORITHM
Li YuanfengZhang Wanxin
(National Key Laboratory of Human Factors Engineering,China Astronauts Research and Training Center,Beijing 100094,China)
The boundary extraction of workspace is a significant operation in design and performance evaluation of actuator such as manipulators. In the paper we transform the point cloud of manipulator workspace to image, and propose a novel manipulator workspace boundary extraction algorithm in combination with greyscale image processing method. First we define the grid density algorithm, which is employed as the transform operator for transforming the point cloud to greyscale image. Grid density describes the distribution status of space point cloud, and can be used to analyse the dexterity of manipulators. Then we use mathematical morphology processing method to smooth the greyscale image and detect its boundary. Finally, by making use of the coordinate correspondence we obtain the coordinates location information of boundary through backcalculation. The accessible domain of human’s upper extremity is taken as the experimental object to verify the proposed algorithm, result indicates that the novel algorithm is fast and accurate in the extraction of accessible domain of human’s upper extremity, and has the advantages in operation speed and accuracy than some other algorithms.
ManipulatorWorkspaceBoundary extractionGrid densityMathematical morphology
2015-02-03。載人航天領(lǐng)域預(yù)先研究項(xiàng)目(040301)。李元豐,碩士生,主研領(lǐng)域:航天服工程。張萬欣,研究員。
TP30
A
10.3969/j.issn.1000-386x.2016.09.047