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