劉圭圭,樊炳輝,王傳江,張凱麗
(山東科技大學 機器人研究中心,山東 青島 266590)
摘要:為幫助上肢活動不便的老人、殘疾人完成自主進食等行為,開發了一套基于雙目視覺的助老助殘機器人定位系統。通過藍色激光引導實現對雙目相機視野范圍內任意物體的定位。采用多自由度助老助殘機器人和Bumblebee2立體視覺系統構建定位實驗系統,定位誤差在1.2 cm范圍內,滿足對助老助殘機器人定位精度的要求。
關鍵詞:雙目視覺;助老助殘;機器人;定位
0引言
助老助殘機器人即為幫助那些身體功能缺失或嚴重喪失的老人、殘疾人實現獨立生活的一類機器人。雙目視覺即為通過位于不同視角的兩個相機模擬人類視覺原理,實現對空間中三維物體的定位。雙目視覺已廣泛應用于機器人導航、場景重建、虛擬現實等領域[13]。
本文簡單介紹了雙目視覺原理,利用多自由度助老助殘機器人和Bumblebee2立體視覺系統構建的定位系統,進行了空間三維定位實驗。
1雙目視覺原理
本文采用平行光軸雙目視覺,其原理如圖1所示。左右兩臺完全相同的相機精確位于同一平面上,主光線嚴格平行,相對位置固定,主點(clx,cly)和(crx,cry)在左右兩幅圖像上具有相同的像素坐標。T(基線長度)為兩臺相機中心之間的距離。左右相機成像平面坐標系分別為OlXlYl和OrXrYr,雙目相機坐標系為OXYZ。坐標系OXYZ中任一點P(x,y,z)在兩成像平面坐標系中分別對應為點Pl(xl,yl)和點Pr(xr,yr)。點P在兩幅圖像中的y坐標值是一樣的,即yl=yr=ylr。根據三角幾何原理和小孔成像原理可得式(1):
假設d=xl-xr,d稱之為視差(即為同一個空間點在兩幅圖像中位置的偏差),代入式(1)即可計算出點P在相機坐標系下的三維坐標,如式(2):
2實驗平臺
實驗平臺主要包括多自由度助老助殘機器人和Bumblebee2雙目視覺系統兩個部分。整個實驗平臺的硬件結構如圖2所示。
2.1助老助殘機器人系統
多自由度助老助殘機器人如圖3所示。結構圖中1、2、3為伺服電機,PC通過USB轉CAN總線的方式對其發送控制命令;4、5為數字舵機,通過USB轉RS485的方式對其施行控制;6為直流電機,通過USB轉RS232與CortexM3底層控制器進行通信,之后由底層控制器對其進行控制操作。機械臂的DH[4]參數模型如表1所示。
2.2雙目視覺系統
Bumblebee203s2c是Point Grey Research公司的一款立體視覺產品。采用兩個Sony CCD芯片,分辨率為640×480,具有高速1394A接口,全視場深度測量,實時3D數據轉換(3D點100萬像素/s),相機位置偏差和鏡頭畸變可以自動校正,配套有靈活的軟件開發工具。
Bumblebee2左右兩相機之間的基線長度為12 cm,每個相機的視場角為66°。根據上述兩個參數,可得雙目相機視場范圍。圖4為實測坐標系OXYZ的位姿。
2.3二者之間的位置關系
圖5為雙目相機坐標系odxdydzd與世界坐標系oxyz之間的位置關系,圖中相機可繞xd軸旋轉(θ)。由圖中幾何關系及坐標變換公式[5]可知,在相機坐標系下的坐標P=[pxpypz1]T,轉換到世界坐標系下的坐標為[153-py×sin(θ)-pz×cos(θ),px+568,pz×sin(θ)-py×cos(θ)-286,1]T。
3助老助殘機器人定位實驗
3.1雙目視覺定位精度實驗
將Bumblebee2相機固定,在其正前方沿垂直于相機平面的直線移動目標物來測量Z的值,測量范圍為260 mm~1 000 mm,相鄰兩次測量位置間隔為20 mm。同樣的,在Z=750 mm,垂直于Z軸的平面上對X、Y值分別進行測量。為防止偶然誤差的出現,采用同一位置測量10次取平均值的方式來確定測量結果。真實值與測量值(部分)如表2所示,各分量誤差關系曲線如圖6所示。由表2可知,雙目視覺定位誤差在5 mm范圍內。
3.2助老助殘機器人末端定位精度實驗
室內環境下,通過鼠標選擇目標物的方式進行了3組實驗,目標位置在相機坐標系、世界坐標系中的坐標以及通過運動學逆向求解[67]獲得的各關節實際坐標,如表3所示。表3中誤差計算公式為:
由表3可知,助老助殘機器人末端定位誤差在1.2 cm范圍內,滿足實驗要求。
3.3實驗效果
實驗過程中通過藍色激光筆的引導來選擇定位目標,通過閾值分割等方法[89]進行數字圖像處理,主動確定激光點所指目標點位置。實驗效果如圖7所示。圖中目標位置在相機坐標系下的坐標(單位:mm)為(-37.21,-17.03,264.33),在世界坐標系下的坐標為(270.41,530.79,-523.43),而手臂末端在世界坐標系下的實際坐標為(262,532,-520),誤差為9.16 mm,滿足實驗精度要求。除此之外,可以通過人嘴部識別[10]
對嘴部進行定位,還可以通過模板匹配方式來定位某一特定物體。
4結論
本文應用雙目視覺對助老助殘機器人的操作目標位置進行定位,并對定位精度進行了實驗,精度限定在5 mm范圍內。配合機械臂的運動,末端定位精度在1.2 cm范圍內,滿足實驗要求。但系統仍有需要改進的地方,比如控制器攜帶不方便,激光斑指引方法易受環境光照的影響等。
參考文獻
[1] 丁良宏,王潤孝,馮華山,等.立體視覺測程研究進展[J].機器人,2011,33(1):119128.
[2] 李丹程,劉景明,姜琳穎,等.基于柵格模型的雙目移動機器人三維場景重建[J].小型微型計算機系統,2012,33(4):873877.
[3] 徐宇杰,管會超,張宗衛,等.基于人眼視覺原理的虛擬現實顯示模型[J].計算機應用,2015,35(10):29392944.
[4] DENAVIT J, HARTENBERG R S. A kinematic notation for lowerpair mechanisms based on matrices[J].Journal of Applied Mechanics ASME Transactons, 1965,22(2): 215221.
[5] 蔡自興.機器人學(第三版)[M].北京:清華大學出版社,2015.
[6] 馬漢波,顏鋼鋒.基于DSP和FPGA的多軸運動控制系統設計[J].電子技術應用,2013,39(3):3436.
[7] 蔡自興.機器人學基礎[M].北京:機械工業出版社,2009.
[8] KRSTINIC D, SKELIN A K, MILATIC I, et al. Laser spot tracking based on modified circular hough transform and motion pattern analysis[J]. Sensors, 2014, 14(11):2011220133.
[9] 曹世康,李東堅,許瑞華,等.基于最優弧的激光光斑中心檢測算法[J].紅外與激光工程,2014,43(10):34923496.
[10] 勒薇,張建奇,張翔.基于局部梯度算子的嘴部檢測與定位[J].光電工程,2009,36(10):135140.