賀京杰
(北京電影學院 未來影像高精尖創(chuàng)新中心,北京100088)
本實驗室開發(fā)攝影機器人為PRRPR-S 型雙冗余度機器人,主要用于攝像機的運動控制。由于冗余機器人位置級運動學反解有無窮個,故優(yōu)化反解算法不唯一,且優(yōu)化結(jié)果不穩(wěn)定。對于不同的反解算法,需要測試算法是否可以收斂,算法的運行速度以及收斂程度。通過一定精度的遍歷算法,可確定單個目標位姿全局最優(yōu)解的所在小區(qū)間。以此為基準,可判定其他算法的收斂效果。算法效率的驗證,一般采用實驗例。在位置級空間中,第一種實驗例是目標位姿,即使用不同的算法反解同一個特定的目標位姿;第二種實驗例是目標軌跡,但是軌跡只是工作空間的一個較小子集。位置級實驗例方法在一定程度上可以了解算法性能,但是缺少對完整工作空間的全面認識。
在速度級空間中,除了上述兩種位置級空間的實驗例形式外,還有一種實驗例是目標球面,即在選定機器人初始狀態(tài)后,以當前末端點為圓心,半徑為r的球面上以平均分布概率選取目標方向。這種方案主要用于速度級反解性能評價,無法全面反應位置級目標空間。
面向完整工作空間的位置級算法性能描述主要有三種方式:第一種是人為設置多目標位姿樣本,使其盡可能布滿工作空間,由于本機型工作空間大,不僅有位置信息,還有姿態(tài)信息,故該方法無法在較短時間內(nèi)得到全面性結(jié)果,如果人為設置少量目標位姿樣本,測試方法有失全面性;第二種是通過數(shù)學論證,該方法可以精確描述反解算法性能,但是缺少對性能直觀感受;第三種采用蒙特卡洛法,即在工作空間內(nèi)隨機生成多個目標位姿樣本,記錄不同算法的結(jié)果空間距離,通過統(tǒng)計計算判定算法性能,該方法具有直觀性和一定程度的全面性。但是目前只有隨機生成位置目標樣本的算法。本文基于蒙特卡洛法,詳細論述隨機生成位姿目標樣本(空間坐標系)的數(shù)學分析,通過編寫程序在攝影機器人工作空間中生成隨機位姿樣本空間,為位置級運動學反解算法評價提供目標空間的全面描述。
本文第2部分論述了如何生成一個隨機三維坐標系。首先給定坐標系的數(shù)學描述,之后按照重要度排序,考慮向量之間的約束關系,依次對坐標系原點、關鍵姿態(tài)軸、第二關鍵姿態(tài)軸以及第三姿態(tài)軸進行數(shù)學分析。同時有推論結(jié)果與實際情況匹配,佐證論述的正確性。第3部分通過計算機編程,在攝影機器人工作空間內(nèi)隨機生成了多目標位姿樣本。第4部分對文章進行了總結(jié)。
設N、O 和A 分別是坐標系X 軸、Y 軸和Z軸的單位向量,P為坐標系原點位置。記,
則用4×4矩陣表示空間坐標系。記,
隨機生成笛卡爾坐標系過程分為四步。第一步,隨機生成坐標系原點位置;第二步,隨機生成關鍵姿態(tài)向量A;第三步,隨機生成姿態(tài)向量N;第四步,隨機生成姿態(tài)向量O。
坐標系原點位置的三個坐標之間沒有約束條件,只需要控制原點坐標在工作空間約束范圍內(nèi)隨機選取。
攝影機器人應用環(huán)境中,攝像機的拍攝方向為關鍵方向,用Z軸的單位向量A 表示。
約束1:A 向量長度為1。有,
在滿足式 (1)時,隨機確定A。由于A和A尚未確定,有,
選定A后,隨機確定A,在滿足式 (1)時,有,
選定A后,在滿足式(1)時,有,
其中,A正負值各有50%的選擇概率。
在確定Z軸單位向量A 之后,X 軸單位向量N必過P點,且與Z軸垂直。所以X 軸只有一個自由度。只要確定一個參數(shù),X 軸就確定。
約束1:N 向量與A 向量相互垂直。有,
約束2:N 向量長度為1。有,
當A≠0時,在滿足式(5)條件下,有,
代入式(6),有,
整理得,
為保證N有實數(shù)解,根號內(nèi)參數(shù)有限制,
整理得,
在此范圍內(nèi)隨機選取N。
由式(8)得,
在N和N沒有確定的情況下,上述推論結(jié)果符合實際情況。同時,N的取值受限于A,也符合實際直觀感受。同理其他兩個分量,N和N,也有同樣的結(jié)論。
隨機選定N后,由式 (7),N正負取值概率各為50%。這個結(jié)果符合直觀感受,單位向量A 確定后,N確定后,N 向量只有兩種對稱的可能情況。再根據(jù)式(5),可以唯一確定N。有,
當A=0時,由式(1)有,
同時,由式(5)有,
當A=0 時,那么由式 (1),必有A=±1。由于在隨機生成關鍵姿態(tài)向量步驟中,A 向量已經(jīng)確定了,故無需討論此時A的取值概率。由式(5),有,
由式(6)有,
通過式(13),在N隨機選定后,可確定N。N正負選取概率各為50%。
為保證N有實數(shù)解,根號內(nèi)參數(shù)有限制,
整理得,
在此范圍內(nèi)隨機選取N。
對于N 向量,在N和N沒有確定的情況下,N的取值范圍與上述此推導取值范圍一致。
當A≠0時,由式(11)有:
代入式(6),有,
聯(lián)立式(10),有,
整理得,
通過式(16),在N隨機選定后,可確定N。N正負選取概率各50%。
為保證N有實數(shù)解,根號內(nèi)參數(shù)有限制,
整理得,
在此范圍內(nèi)隨機選取N。
同樣的,對于向量N,在N和N沒有確定的情況下,N的取值范圍與上述此推導取值范圍一致。
Y 軸的單位向量O 可通過Z軸向量A 和X 軸向量N 獲得(右手坐標系),
綜上,通過公式 (2)、公式 (3)、公式 (4),可以隨機生成向量A。
當A≠0時,根據(jù)式 (9)、式 (8)和式 (7),可以隨機生成向量N。
當A=0,A=0 時,根據(jù)式 (14)、式 (13)和式(12),可以隨機生成向量N。
當A=0,A≠0 時,根據(jù)式 (17)、式 (15)和式(16),可以隨機生成向量N。
根據(jù)式(18),可以隨機生成向量O。
在攝影機器人項目中,隨機生成目標位姿的空間為長方體。具體為,在軌道方向1到10米,寬7米,高6米的工作空間內(nèi)隨機生成滿足均勻分布的500個目標位姿坐標系。算法采用Matlab軟件環(huán)境實現(xiàn),為降低圖像顯示復雜度,目標位姿顯示Z軸(實線)和X 軸(虛線),不顯示Y 軸。程序結(jié)果如圖1所示。
圖1 隨機生成目標位姿樣本
為采用蒙特卡洛法描述多軸機器人運動學反解算法性能,首先需要得到工作空間內(nèi)的目標位姿的隨機樣本。本文對隨機生成笛卡爾坐標系進行了詳細的數(shù)學分析,通過編寫程序獲得了攝影機器人工作空間內(nèi)的目標位姿隨機樣本。本文的成果可以作為基礎元素應用到其他研究中,提高程序編寫效率。