方方聞怡,梁 醫(yī),馮虎田
(南京理工大學機械工程學院,江蘇 南京 210094)
隨著信息技術的不斷進步、社會經(jīng)濟的不斷發(fā)展,越來越多的電視節(jié)目制作單位使用了虛擬演播室[1]。為了使制作出的電視節(jié)目具有更好的表現(xiàn)力,往往需要大量的場景及道具,這會增加各項成本,而虛擬演播室可以將真實的人與物合成到虛擬的場景中,這無疑更加快捷與經(jīng)濟[2]。為了將虛擬演播技術與攝像畫面實時完美結合,需要將攝像機拍攝軌跡完美再現(xiàn),而這依靠人工操作是無法實現(xiàn)的。多層單一原始素材混合成復合畫面的過程即為視覺特效與拍攝畫面完美結合的合成技術[3]。這一技術的實現(xiàn)需要得到機器人準確的位姿信息,這一點非常重要。
D-H法是Denavit和Hartenberg在1955年提出的一種通用方法,即在機器人的每個連桿上都固定一個坐標系,然后用4×4的齊次變換矩陣來描述相鄰兩連桿的空間關系[4-6]。通過依次變換可最終推導出末端執(zhí)行器相對于基坐標系的位姿,從而建立機器人的運動學方程。Waldron和Pail、Craig修正的D-H法應用已經(jīng)非常普遍[7],工業(yè)機器人的分析與控制中也大量使用了D-H法;PTZ云臺姿態(tài)測量和配套的虛擬演播室合成的應用在國內也有了一定成果[8]。
本文對軌道搖臂攝影機器人底盤運動進行分析,并采用D-H法分析軌道搖臂攝影機器人的運動學關系,得到攝影機器人準確的運動學正逆解。在已知關節(jié)變量和桿件參數(shù)的情況下,通過機器人運動學正解可以求得末端執(zhí)行器的位姿;在已知末端執(zhí)行器位姿和桿件參數(shù)時可以運用運動學反解求得桿件的關節(jié)變量。
圖 1為軌道搖臂攝影機器人三維示意圖。攝影機器人由云臺部分、搖臂(俯仰)部分、旋轉部分、行走部分組成。除去行走部分,其他部分統(tǒng)稱為上層結構。云臺部分承載攝像機,并完成攝像機本身的俯仰與旋轉運動;搖臂(俯仰)部分和旋轉部分完成搖臂機器人的俯仰與旋轉運動;搖臂(俯仰)部分是一個平行四邊形的結構,無論搖臂在什么位姿,都能保證云臺呈水平放置;機器人的行走由行走部分以輪軌運動的方式完成。底盤4個輪腿中,主動輪和其對角線的輪在轉軸的軸向方向上沒有空隙,而另一對角線上的兩組輪子在轉軸的軸向上可以竄軸;鏡頭編碼器安裝在攝像機鏡頭的變焦/聚焦齒輪上,從而能夠測量其轉過的角度。
圖1 軌道搖臂攝影機器人結構示意圖
攝影機器人的運動具有5個自由度,通過5個軸的運動,鏡頭可以到達指定的位置和拍攝角度。通常,操作人員通過分別控制各軸的轉動來達到控制鏡頭位姿的效果,同時觀察拍攝畫面來調整拍攝效果。
在自動控制時,攝影機器人根據(jù)預先設定的腳本運行指定的軌跡,這就需要對給定位置點時各關節(jié)的運動進行反解。
為適應不同演播室的拍攝需要,軌道的布置可能為純直線、純圓弧、圓弧與直線相接的形式。預想中底盤在軌道上運行時,沿著雙軌的中心線運動。但實際情況并非如此。
一般情況下,攝影機器人的軌道都布置在水平面上。因此本文只考慮底盤在水平面上運動的模型。由于實際應用中軌道曲率較小且移動速度較慢,故機器人向心加速度較小,機器人在軌道直徑方向上的偏移距離忽略不計。
根據(jù)第1節(jié)中所述,底盤4個輪腿中,主動輪和其對角線的輪在轉軸的軸向方向上沒有空隙,而另一對角線上的兩組輪子在轉軸的軸向上可以竄軸,因此在建立運動學模型時,可以假定一個約束條件,即主動輪所在底盤對角線上的兩組輪中心與所在單軌重合。
底盤在軌道上的運動情況如圖2所示。圖中:P為底盤幾何中心;P1為主動輪中心點;P2,P3,P3為從動輪中心點;Lp為輪腿縱向距離;Lt為輪腿橫向距離;ltri為內側軌道中心線;ltro為外側軌道中心線;l為雙軌中心線;Rtri為內側軌道中心線半徑;Rtro為外側軌道中心線半徑;R為雙軌中心線半徑;O′為軌道圓心;Otri為x軸與ltri的交點;θ為主動輪中心點與軌道圓心的連線轉過的角度。
圖2 底盤在軌道上的運動情況
世界坐標的原點為雙軌中心線l上圓弧與直線的交界處。x軸指向O′,y軸與l重合。
根據(jù)假定的約束條件,顯然底盤幾何中心與雙軌中心線l重合。則點P(x,y)的坐標為(0,y1-Lp/2)。
根據(jù)圖2中的幾何關系可以得出:
(1)
由于等式右邊為一常數(shù),因此該方程為圓心在O′點的圓的方程。由此可見,軌道為圓弧時,底盤的幾何中心軌跡為軌道的同心圓,且軌道半徑|O′P|為:
(2)
(3)
根據(jù)圖2中的幾何關系可以得到
(4)
于是點P的坐標為
(5)
當主動輪逆時針行走路程為s時,有
(6)
2.1和2.2節(jié)分析了底盤主動輪與其對角線輪同時在直線軌道和圓弧軌道上的情況。但當兩輪分別處于直線與圓弧時,情況又有所不同。
根據(jù)圖 2中幾何關系可以得到
(7)
因此
(8)
(9)
將實際參數(shù)代入式(1)~(9),通過MATLAB計算可得理想軌跡與理論軌跡,如圖3所示。由圖可以看出,底盤在直軌部分時,理想軌跡與理論軌跡重合;當?shù)妆P進入彎軌時,兩者的偏差越來越大;底盤完全進入彎軌后,兩者的偏差保持恒定。
圖3 底盤理想軌跡與理論軌跡
根據(jù)D-H法,對于系統(tǒng)中任意連桿,有以下規(guī)定[6]:1)坐標系{i-1}的z軸zi-1與關節(jié)軸(i-1)共線,指向任意。2)坐標系{i-1}的x軸xi-1與連桿(i-1)公垂線重合,指向由關節(jié)(i-1)到關節(jié)i,當ai-1=0時,取xi-1=±zi×zi-1。
根據(jù)所設定的連桿坐標系,相應的桿件參數(shù)定義如下:1)ai-1為從zi-1到zi沿xi-1測量的距離;2)αi-1為從zi-1到zi繞xi-1旋轉的角度;3)di為從xi-1到xi沿zi測量的距離;4)θi為從xi-1到xi繞zi旋轉的角度;5)規(guī)定ai-1≥0。
根據(jù)上述標記方法,搖臂攝影機器人的各關節(jié)坐標如圖4所示。搖臂機器人各連桿參數(shù)見表1、表2。
圖4 搖臂攝影機器人的各關節(jié)坐標和連桿參數(shù)
表1 攝影機器人上層結構D-H參數(shù)
表2 D-H參數(shù)取值范圍 單位:(°)
(10)
式中:cθi表示cosθi,sθi表示sinθi。
由表1及表2可以得到本搖臂攝影機器人第1,2,4關節(jié)桿件的變換矩陣:
(13)
式中:c1表示cosθ1,s1表示sinθ1,以此類推。
(14)
(15)
(16)
式中:c13表示cos(θ1+θ3),s13表示sin(θ1+θ3)。
將搖臂機器人連桿具體參數(shù)代入MATLAB計算,并令4個關節(jié)同時轉動45°,可以得到圖 5所示的轉動軌跡。其中連桿末端的正交線段為攝像機坐標系,箭頭即為鏡頭所指方向。由此可知,運動過程符合預期,所求得的運動學正解矩陣正確。
圖5 轉動軌跡
為了求解底盤的運動學問題,假設底盤是剛性的,并且在水平面內運動。在運動平面上建立一個任意的慣性坐標系OB-xByBzB,而在移動平面上建立坐標系Om-xmymzm。在坐標系Om-xmymzm內,將坐標平面xmOmym定義為與xByBzB平行,原點Om為攝影機器人上層結構各連桿坐標系中z0軸和x0軸的交點。這樣,移動平臺的運動學方程就可以由點Om(x,y)的位置和方向角φ確定[9]。
由于攝影機器人上層機構安裝在移動底盤上,因此規(guī)定本文中建立的坐標系Om-xmymzm和計算上層結構運動學矩陣時設定的基坐標系{0}之間的相對位置是完全重合的。
(17)
式中:h為上層結構連桿坐標系中z0軸和x0軸的交點離地面的高度,假設底盤在平面上運動且攝影機器人各部分為剛性時,此項為常量。
由于攝影機器人在軌道上移動,因此底盤運動學矩陣中各參數(shù)是實際布置的軌道的函數(shù),結合第2節(jié)的分析,將實際參數(shù)代入可求得x,y,h和φ。
建立攝影機器人整體正向運動學模型,即是要在已知底盤位置、方向角以及上層機構各關鍵的轉角(φ,x,y,θ1,θ2,θ3,θ4)的情況下,得到攝影機器人最末端位置。
(18)
為了在實際應用中能夠對攝影機器人進行控制,需要得到攝影機器人的運動學逆解[10]。這樣可在已知需要到達的拍攝位置和角度時,能夠通過控制底盤和上層結構各個關節(jié)的轉角,使攝像機到達預期位置,從而拍攝到令人滿意的畫面。
對于軌道搖臂攝影機器人這一整體,底盤和上層結構互相配合可以到達許多拍攝位置和角度。但底盤在軌道上行走,其位置取決于依據(jù)實際情況布置的軌道,且當?shù)妆P移動時,針對某一特定的拍攝位置,可以產(chǎn)生無窮多的運動學逆解。因此,為了簡化攝影機器人的運動學逆問題,這里假設底盤位置固定,只分析上層結構的運動學逆問題。
由各關節(jié)變換矩陣可以得到
(19)
由此可以得到:
(20)
令式(20)中兩端元素(2、4)對應相等,得-s1px+c1py=0。由此求得:
(21)
再令式(20)中兩端元素(1、4)和(3、4)對應相等,可得:
c1px+s1py=L2c2+L3
(22)
pz-L1=L2s2+L4
(23)
式(22)與(23)平方和為:
(24)
變換可得:
(25)
式中正負號取決于(α-θ2)的符號。
(26)
(27)
式中:3nx=(-s1nx+c1ny)s3+(nxc1+s1ny)c3;3ny=(-nxc1-s1ny)s3-(s1nx-c1ny)c3;3nz=nz;3ox=(-s1ox+c1oy)s3+(oxc1+s1oy)c3;3oy=(-oxc1-s1oy)s3-(s1ox-c1oy)c3;3oz=oz;3ax=(-s1ax+c1ay)s3+(axc1+s1ay)c3;3ay=(-axc1-s1ay)s3-(s1ax-c1ay)c3;3az=az;3px=(-L2c2+s1py+pxc1-L3)c3-s3(s1px-s1py);3py=(L2c2-s1py-pxc1+L3)s3-c3(s1px-c1py);3pz=pz-L2s2-L4-L1。
根據(jù)式(13),有
(28)
令式(28)中兩端元素(3、1)和(3、2)對應相等,得s4=nz,c4=oz,則
(29)
由此求得了給定末端連桿的位姿時機器人各關節(jié)的逆解。需要注意的是θ2雖然得出了兩個解,卻要在實際計算中根據(jù)(φ-θ2)的符號舍去一個。
驗證正解時通過MATLAB所求得的4個關節(jié)均為45°時的末端關節(jié)位姿矩陣:
(30)
將式(30)中數(shù)值代回逆解公式(21)、(25)、(26)與(29)中,得到:θ1=0.785 4,θ2=0.990 5/θ2=0.785 4,θ3=0.785 4,θ4=0.785 4。
由此可以看出,求得的逆解是正確的。
本文以軌道搖臂攝影機器人作為研究對象,對機器人底盤在軌道上行走的理論軌跡進行分析,并將得到的理論軌跡與理想軌跡進行對比,得到兩者的誤差;將底盤假設為一個特殊關節(jié)來建模,結合上層結構的關節(jié)參數(shù),運用D-H法得到機器人整體的運動學正解;最后簡化運動學逆問題,假設底盤固定不動,得到機器人上層結構的運動學逆解,并通過MATLAB計算驗證了正解與逆解的正確性,為軌道搖臂攝影機器人的控制提供了依據(jù)。