機械臂末端執(zhí)行器在空間中的位姿是各關節(jié)協(xié)調運動的結果,由于串聯機構的誤差放大效應,實際的末端位姿與通過各關節(jié)計算的理論末端位姿之間具有偏差[1],為了解空間機械臂末端執(zhí)行器的控制及運動精度,地面試驗需直接測量末端位姿的真實值。
空間機械臂末端執(zhí)行器位姿測量需要利用動態(tài)測量技術,目前常見的大尺寸動態(tài)測量技術主要有全站儀動態(tài)測量技術、數字攝影動態(tài)測量技術、激光跟蹤儀動態(tài)測量技術和室內GPS動態(tài)測量技術等[2]。由于空間機械臂完全展開后長度超過10m,空間動態(tài)測量的點位精度要求優(yōu)于±0.1mm,動態(tài)測量頻率要求大于100Hz,對比分析各動態(tài)測量技術后中最終選擇測點精度高,動態(tài)性能好的激光跟蹤儀動態(tài)測量技術[3]。如圖1所示為空間機械臂結構示意圖,圖中1、2、3、4依次為空間機械臂腰關節(jié)、肩關節(jié)、肘關節(jié)和腕關節(jié),5、6分別為大臂和小臂,7代指空間機械臂末端執(zhí)行器。
圖1 空間機械臂結構示意圖
空間機械臂末端執(zhí)行器位姿測量需動態(tài)跟蹤測量末端數據,測量頻率高,測量數據量大,目前對于空間機械臂末端執(zhí)行器位姿的解算、分析和評價,主要通過傳統(tǒng)的Office Excel來實現,操作復雜,且操作重復性極高。因此本文在激光跟蹤儀動態(tài)測量空間機械臂末端位姿的基礎上,通過MATLAB GUI開發(fā)可視化人機交互界面,為空間機械臂末端位姿數據處理提供新的手段,準確、高效地解決動態(tài)測量后的數據處理問題。
激光跟蹤儀測量空間機械臂的末端位姿,即將激光跟蹤儀配合目標(靶球)固定在空間機械臂末端執(zhí)行器上,激光跟蹤儀通過激光發(fā)生器產生激光束,在空間機械臂展開過程中跟蹤測量配合目標在空間的三維坐標值,通過坐標轉換及數據處理最終得到末端執(zhí)行器軸線實時的位姿及軌跡等動態(tài)參數信息。
圖2 空間機械臂末端位姿測量示意圖
如圖2所示,O1為激光跟蹤儀儀器坐標系,O2為空間機械臂基準坐標系,O3為空間機械臂末端靶球臨時坐標系。激光跟蹤儀測量出O2后,激光跟蹤儀儀器坐標系O1就表示在O2下。設O1相對于O2的旋轉變換矩陣為R1,平移矢量為T1,則激光跟蹤儀測量靶球數據P、Q在基準坐標系O2下的坐標為:
事先標定兩個靶球與空間機械臂末端軸線兩端點的關系,以靶球P、Q建立臨時坐標系O3,導出末端軸線端點的坐標為D1、D2。實時求解靶球臨時坐標系O3相對于基準坐標系O2下靶球P、Q坐標的旋轉變換矩陣R2和平移矢量為T2,即設旋轉前向量為A,旋轉后為B,則A、B間的夾角為:
旋轉軸須垂直于向量A、B所構成的平面,因此旋轉軸C(c1c2c3)為:
則由羅德里格旋轉公式可得旋轉變換矩陣為:
平移矢量T2=P,帶入可解得末端軸線端點在基準坐標系O2下的坐標為:
以D1為例,利用構造其速度V矩陣:
其中,i表示開始采樣的第i毫秒,vi為第i毫秒D1處的速度,(xi,yi,zi)為第i毫秒D1在空間機械臂基準坐標系O2下的坐標,mi、ni表示相對第i毫秒的偏移量。
同理,可構造其加速度矩陣及末端軸線與各基準坐標軸的夾角,從而確定各時刻下空間機械臂末端的位姿等信息。
MATLAB具有強大科學計算功能的同時,通過軟件自帶的圖形用戶界面開發(fā)環(huán)境GUIDE(Graphical User Interface Development Environment)可以開發(fā)友好的人機交互界面,為科學研究、工程設計提供全面高效的解決方案[4]。如圖3所示,MATLAB GUI設計分為以下步驟[5]。
圖3 MATLAB GUI設計步驟
根據空間機械臂末端動態(tài)參數解算的需要,本界面需要實現的主要功能為根據激光跟蹤儀實時測量數據,解算空間機械臂末端軸線端點在基準坐標系下的坐標,并得到空間機械臂末端的軌跡、速度及姿態(tài)等信息。為實現以上功能,在界面中設置相應的菜單選項及控件??臻g機械臂末端動態(tài)參數解算界面中主要菜單的屬性及作用如所示,主要控件的屬性及作用如表1所示。
表1 主要菜單屬性功能
空間機械臂位姿評價系統(tǒng)主界面為三個部分:數據輸入、參數設置及結果顯示部分,GUI設計界面如圖4所示??臻g機械臂位姿評價系統(tǒng)界面中主要控件的屬性及作用如表2所示。最后,將包含菜單及主界面的圖形保存至.fig文件中。
圖4 空間機械臂位姿評價系統(tǒng)界面
表2 主要控件屬性功能
設置菜單及控件的回調函數,實現數據輸入的文件格式支持txt、xlsx以及csv后綴文檔。導入數據后,首先將兩臺激光跟蹤儀的時間信息同步,并繪制同步確認波形。動態(tài)參數解算前需要在參數選擇部分選擇儀器采樣頻率、現場采集基準坐標系及解算分辨率,設置保存路徑后點擊“計算并分析”按鈕,會在相應路徑下生成解算結果及圖形。計算完成后,結果查看部分可以快速查看解算結果,點擊選項相應的圖形結果會顯示在右下方的面板控件中。將組件界面布局控制代碼和回調函數保存至.m文件。
最后通過編譯,生成可單獨運行的.exe可執(zhí)行文件,并命名為空間機械臂位姿評價系統(tǒng)。
為驗證空間機械臂位姿評價系統(tǒng)的正確性及實用性,以某次空間機械臂動態(tài)試驗為例,利用本文設計的位姿評價系統(tǒng)對測量數據進行分析,分析結果如圖5所示。該計算結果的正確性經利用Excel手工計算結果進行對比,對比結果顯示該評價系統(tǒng)計算結果與Excel計算結果完全相符。
圖5 空間機械臂位姿評價系統(tǒng)應用實例
由于空間機械臂末端位姿動態(tài)測量數據量大,單臺設備測量數據由50~100M不等,使用Excel處理需3~4h。使用本文設計的空間機械臂位姿評價系統(tǒng),100M測量數據的處理均可在3min之內完成,極大地縮短了數據解算時間,提升了空間機械臂末端動態(tài)位姿的測量效率。如圖6所示為某此數據處理用時提示。
圖6 數據處理用時提示
本文以MATLAB GUI為軟件開發(fā)平臺,設計了一個可以實現空間機械臂末端位姿評價及動態(tài)參數解算的系統(tǒng)。該系統(tǒng)以激光跟蹤儀動態(tài)測量為理論基礎,通過梳理空間機械臂末端位姿測量計算流程,設計了空間機械臂動態(tài)參數測量數據處理界面,充分將MATLAB強大的矩陣運算、圖形處理及可視化界面設計應用到工程實際中,為空間機械臂動態(tài)參數數據處理提供了一個方便、高效的集成環(huán)境和友好的用戶界面,實現了對測量信息的有效整合,為空間機械臂動態(tài)參數數據處理及自動化分析提供了良好的操作平臺。該數據處理評價系統(tǒng)可以作為一類典型數據處理方法,具有在其他型號產品動態(tài)測量中推廣的價值。
參考文獻:
[1]于世淼.月壤表層采樣機械臂及末端執(zhí)行器運動規(guī)劃與位姿檢測[D].哈爾濱:哈爾濱工業(yè)大學,2013.
[2]潘廷耀,范百興,易旺民,等.大尺寸動態(tài)測量技術綜述[J].測繪與空間地理信息,2015,38(8):70-72.
[3]王為農,蘇永昌,任國營.激光跟蹤儀的動態(tài)特性研究[J].計量學報,2007,28(1):34-37.
[4]陳垚光,毛濤濤,王正林,等.精通MATLAB GUI設計[M].北京:電子工業(yè)出版社,2013.
[5]秦浩,李同春,唐繁,曾祥磊.基于MATLAB GUI的水電工程安全監(jiān)測數據處理界面設計[J].水利水電技術,2016,47(4):70-74.