張日紅,朱立學※,楊松夏,陳創(chuàng)豪,李燦森
(仲愷農(nóng)業(yè)工程學院,廣州 510225)
隨著國家對互聯(lián)網(wǎng)+智慧農(nóng)業(yè)的政策鼓勵以及機器人技術的快速發(fā)展,運用基于物聯(lián)網(wǎng)的農(nóng)業(yè)機器人成為研究熱點[1]。與工業(yè)機器人在穩(wěn)定可替換的環(huán)境下處理相對簡單、獨立且容易預先定義的任務不同,農(nóng)業(yè)機器人要求能處理復雜多變的環(huán)境和進程,處理對象的不確定性和不可預測的狀態(tài),導致運行在動態(tài)化、非結(jié)構(gòu)化環(huán)境中的農(nóng)業(yè)機器人更復雜,系統(tǒng)開發(fā)的成本更高,且完成復雜農(nóng)業(yè)作業(yè)任務時不易取得預定效果[2,3]。當前國內(nèi)外機器人控制技術獲得了快速的發(fā)展,但要達到完全自主決策的地步,難度還是很大,主要是受人工智能發(fā)展的制約,短時間內(nèi)機器人的應用還是無法脫離人的參與[4]。基于物聯(lián)網(wǎng)的遠程控制機器人具有較為可行的應用前景,而其中的一個關鍵技術便是機器人的隨動控制[5]。機器人與人類的交互協(xié)作可以幫助人在非結(jié)構(gòu)性環(huán)境下進行復雜的操縱作業(yè),交互協(xié)作中機器人對操作者的運動跟蹤是非常關鍵的環(huán)節(jié)。目前基于深度視覺的目標識別與定位跟蹤是主流研究方向,但深度視覺信息采集產(chǎn)生的數(shù)據(jù)量大,而且容易受到周圍環(huán)境的影響,硬件和軟件的實現(xiàn)成本也偏高,限制了其應用。為了改進視覺跟蹤控制的固有缺陷,本文提到了一種基于磁感檢測的空間位姿捕獲方法,可實現(xiàn)低成本的機器人隨動控制。
基于運動追蹤傳感元件的動態(tài)位姿信息對六自由度工業(yè)機器人末端位姿進行實時控制,首先需要獲取到人體手勢的空間位姿信息,而后經(jīng)計算機信息處理后發(fā)送至機器人控制器進行實時響應。運動跟蹤的隨動控制系統(tǒng)由運動跟蹤器、計算機、工業(yè)機器人系統(tǒng)(包含工業(yè)機器人本體、電氣控制箱與網(wǎng)絡通訊卡)等所組成。其中運動跟蹤器選用的是Polhemus公司生產(chǎn)的PATRIOT系列,能夠?qū)崟r測量并記錄位置和方位,連續(xù)不斷地更新數(shù)據(jù)[6]。主要由系統(tǒng)電子單元、發(fā)射器和傳感器三部分組成,發(fā)射器產(chǎn)生磁場,是傳感器測量的參考端,傳感器探測由發(fā)生器產(chǎn)生的磁場,在傳感器移動的時候,它的位置和方位被精確的測量,系統(tǒng)電子單元則計算位置和方向,并通過RS-232和上位機進行通訊。工業(yè)機器人采用國內(nèi)新松機器人公司生產(chǎn)的SR10C,控制軸數(shù)為6軸,工作范圍為1 393 mm,重復定位精度為±0.05 mm,工業(yè)機器人本體通過動力重載連接器和碼盤重載連接器與電氣控制柜進行連接。圖1所示為機器人隨動控制系統(tǒng)的總體組成。計算機通過RIO-LAN信號轉(zhuǎn)換模塊與機器人控制器進行數(shù)據(jù)通信。
圖1 機器人隨動控制系統(tǒng)的總體組成
目前機器人的末端執(zhí)行器軌跡規(guī)劃大部分采用示教盒進行基本操作和編程,比較適合于固定場景的結(jié)構(gòu)化環(huán)境,即需要操作者根據(jù)機器人末端所需達到的位置通過示教盒進行逐點位姿信息輸入,而對于非結(jié)構(gòu)化環(huán)境,此種操控方式則缺乏靈活性[7]。機器人的離線編程控制方式則基本上擺脫了示教盒的束縛,可以通過計算機上位機程序與機器人控制器進行實時信息交互。機器人離線編程控制功能的配置條件為:在啟用上位機的控制程序前,需要先在示教盒上開啟離線使能功能、進行遠程IO配置和主作業(yè)的新建,并將上位機的網(wǎng)關設置為與控制柜在同一網(wǎng)段下,便可實現(xiàn)離線控制功能[8]。上位機機器人離線控制程序需要在Visual Studio環(huán)境下開發(fā),上位機程序的開發(fā)流程如圖2所示。
實現(xiàn)機器人末端TCP點的軌跡控制可利用單點直線型運動控制函數(shù)Movl_P2P_RPY加以實現(xiàn),采用的坐標體系為RPY形式,函數(shù)的調(diào)用格式為:ROBOTSDK_API int Movl_P2P_RPY(RPY*rpy,float*exAxis,int Tool,float Speed,int ConnectID);其中RPY(in)表示位置變量結(jié)構(gòu)體,表示機器人末端TCP點相對世界坐標系的坐標(float px;float py;float pz;float rx;float ry;float rz),位置單位為mm,姿態(tài)單位為度;exAxis(in) 外部軸分量;Tool(in) 使用工具號;Speed(in) 工具末端的執(zhí)行速度,單位:mm/s;ConnectID(in)網(wǎng)絡連接ID;返回值說明:若成功,返回 “0”,否則返回錯誤碼。
圖2 離線編程上位機程序開發(fā)流程
機器人隨動控制程序的實現(xiàn)平臺采用了Visual Studio開發(fā)環(huán)境,將運動捕獲傳感元件的人體操控位姿采集程序與機器人離線控制程序進行高度融合。在程序界面需輸入與機器人端一致的IP地址和端口號,點擊連接IP控制指令建立計算機與機器人端的UDP連接,如果狀態(tài)欄返回“連接成功”,則表明計算機和機器人可以進行正常的數(shù)據(jù)通信。此時啟動運動捕捉傳感器實時獲取到基于人體手勢控制的動態(tài)位置與姿態(tài)信息,并進行周期性提取發(fā)送至工業(yè)機器人的運動控制函數(shù),這樣便可運用人體手勢實現(xiàn)對工業(yè)機器人末端TCP點的位置與姿態(tài)控制,如圖3所示。
圖3 基于運動捕捉傳感器的機器人隨動控制程序流程
在試驗之前,需要首先進行運動追蹤捕捉套件的標定,即將運動捕捉套件的發(fā)射器和傳感器擺放與同一平面內(nèi),并使二者中心連線方向與機器人世界坐標系的X方向保持一致。接著通過計算機控制界面啟動運動捕捉模式,手動移動運動追蹤器的傳感器隨意占據(jù)空間的5個位置點,計算機采集程序按照2 s的采樣周期開始同步獲取運動捕捉傳感器的三維位置信息并將其乘以放大倍數(shù)10后發(fā)送至工業(yè)機器人的運動控制函數(shù),機器人便開始做跟隨運動。為了驗證基于運動捕捉傳感器的機器人隨動控制的準確性,在程序中嵌入了機器人TCP點位置與姿態(tài)查詢函數(shù):ROBOTSDK_API int ReadPOSE_RPY,該函數(shù)的調(diào)用格式為:ROBOTSDK_API int ReadPOSE_RPY(RPY*rpy,float*exAxis,int ConnectID);圖4為運動捕捉套件中傳感器捕獲到的手勢位置信息放大10倍后與通過機器人TCP點位置與姿態(tài)查詢函數(shù)獲取到的位置數(shù)據(jù)的對比結(jié)果,二者之間擬合效果非常理想。
圖4 機器人隨動控制的試驗驗證
在工業(yè)機器人的隨動控制中,機器人運動控制函數(shù)中的參數(shù)數(shù)值來源于運動捕捉傳感器采集手勢動作的位置與姿態(tài)信息。試驗結(jié)果顯示工業(yè)機器人的末端TCP點可以按照人體的動態(tài)手勢放大一定比例做出相應的運動位置響應,機器人受控過程平穩(wěn)而準確,為工業(yè)機器人的位姿隨動控制提出了一種有效地解決方案。