劉 昆 ,陳慶盈 ,李世中
(1.中國科學(xué)院 寧波材料技術(shù)與工程研究所,寧波 315201;2.中北大學(xué) 機電工程學(xué)院,太原 030000;3.浙江省機器人與智能制造裝備技術(shù)重點實驗室,寧波 315201)
目前,大多數(shù)的工業(yè)機器人只能通過示教板或者離線編程來使其實現(xiàn)特定的軌跡運動。其中,示教板示教需要操作者具有一定的操作經(jīng)驗并且要特別熟悉機器人操作系統(tǒng),示教效率很低。而離線編程示教需要操作者熟悉機器人開發(fā)商所提供的編程軟件,除此之外,由于機器人存在組裝誤差、自重變形與工件擺放誤差等因素,無法完成高定位精度的要求,使得生產(chǎn)率無法提高。由此引發(fā)了研究學(xué)者對于機器人的人機互動興趣,產(chǎn)生了一種新的示教形式,能夠使人和機器人在同一空間內(nèi)進行人機互動,降低對操作者的要求,并且使機器人快速準確地到達指定位置,即直接示教技術(shù)[1-7]。
直接示教即操作者直接與機器人接觸,通過牽引機器人末端來實現(xiàn)機器人運動,過程中可以記錄機器人運動軌跡然后實現(xiàn)重復(fù)運動。因此,毫無經(jīng)驗的操作者也可以操作機器人來達到期望的目標,實現(xiàn)某一運動軌跡,這樣便提高了機器人示教編程效率。
目前,國外的研究者已經(jīng)開發(fā)了不同的直接示教裝置,其中有些已經(jīng)應(yīng)用于實際生產(chǎn)。文獻[8]研發(fā)了以電阻模型控制表面接觸力的直接示教模型用于拋光機器人。文獻[9]研制直接示教裝置夾于機器手末端,通過2個六維傳感器來控制機器人運動,調(diào)整機器人的位姿,完成去毛刺工作中的示教任務(wù)。文獻[10]介紹了2種應(yīng)用于硬表面接觸的示教裝置,一種是應(yīng)用于感應(yīng)淬火的示教裝置,通過滑動機構(gòu)和位置傳感器,在PC機中處理之后,使工具軸線方向的位移得到補償。在工具末端通過控制移動開關(guān)來保證示教的安全性,由內(nèi)插值法保證等速淬火。而另一種則是應(yīng)用于幕墻玻璃的裝配。而國內(nèi)的機器人技術(shù)起步較晚,直接示教的研究也落后于其他國家,并沒有直接示教機器人用于實際生產(chǎn)應(yīng)用中。
上述提到的國外研發(fā)者雖然將直接示教都應(yīng)用于了實際生產(chǎn)中,但是只是適用于他們自己的機器人系統(tǒng),對于目前大多數(shù)機器人并不適用。鑒于此,本文提出一種直接示教系統(tǒng)的研究,可應(yīng)用于傳統(tǒng)的工業(yè)機器人來實現(xiàn)直接示教。機器人的操作系統(tǒng)一般不對外開放,在其操作系統(tǒng)是封閉的前提下,提出通過借助力/力矩傳感器作為媒介實現(xiàn)力與速度(位置)的轉(zhuǎn)化來實現(xiàn)直接示教。
系統(tǒng)的硬件主要由以下7部分構(gòu)成:
1)示教手柄:操作者用來示教機器人的把手,連接于力/力矩傳感器之上,將操作者的示教力/力矩傳輸?shù)絺鞲衅鳎瑫r用來觸發(fā)記錄示教點以及playback信號。
2)Modbus拓展模塊:用來拓展機械臂I/O口,是實現(xiàn)示教手柄與機械臂控制器的通訊橋梁,用戶通過示教手柄發(fā)出的記錄位置點以及playback命令通過該模塊傳輸給控制器。
3)傳感器:感知部分,用來感知操作者施加于示教手柄的示教力/力矩,并將其轉(zhuǎn)換成模擬電壓信號,傳輸給數(shù)據(jù)采集卡。
4)數(shù)據(jù)采集卡:信號采集部分,主要用于采集力/力矩傳感器感知的力/力矩模擬電壓信號并將其傳輸給PC。
5)上位機(PC):接收來自于采集卡以及機器人控制器的數(shù)據(jù)并進行處理與儲存。
6)UR控制器:機械臂的控制系統(tǒng)主要集成部分,接收來自上位機的用戶命令(或者是用戶通過示教板直接給出的命令),轉(zhuǎn)化成機械臂關(guān)節(jié)力矩電機的控制信號,從而控制機械臂到達用戶指定軌跡點。
7)工業(yè)機器人:執(zhí)行部分,接收來自于控制器的命令,完成一系列的示教動作。
系統(tǒng)硬件構(gòu)成如圖1所示。

圖1 基于力/力矩傳感器的示教系統(tǒng)的硬件構(gòu)成Fig.1 Direct teaching system based on F/T sensor hardware configuration
示教手柄是施教者進行示教的牽引裝置。同時在手柄上有記錄示教點的按鈕,當示教者在示教時需要記錄某一個示教點,只要觸發(fā)示教點記錄按鈕即可。而另外一個按鈕是示教者在完成示教,需要機器人重復(fù)剛才的示教軌跡點時,則需要按playback按鈕。2個按鈕都是與數(shù)字輸入模塊相連接用來給UR10機器人傳遞輸入信號,以此作為實現(xiàn)示教點記錄以及playback功能實現(xiàn)的觸發(fā)信號。
Modbus拓展模塊使用的是Beckoff公司的產(chǎn)品,主要包括2部分:
(1)BK9050總線耦合器,用來拓展總線端子模塊以實現(xiàn)外部輸入以及與UR10控制器通過以太網(wǎng)連接實現(xiàn)Modbus通訊。
(2)KL1408數(shù)字量輸入模塊,拓展輸入接口。通過外部輸入接口與示教手柄的按鈕連接用來實現(xiàn)記錄示教路徑點以及playback功能的觸發(fā)信號。
采用ATI公司的六軸力/力矩傳感器,型號為Delta SI-330-30,采用DAQ F/T系統(tǒng)采集操作者示教時x,y,z方向的力與力矩的模擬信號,傳感器的主要參數(shù)如表1所示。

表1 ATI六軸力/力矩傳感器量程與分辨率Tab.1 ATI six-axis F/T sensor range and resolution
采用阿爾泰科技的USB2852數(shù)據(jù)采集卡,通訊方式采用TCP/IP通訊,采樣信道至少要6個,采用連續(xù)異步的方式分別采集 Fx,F(xiàn)y,F(xiàn)z,Tx,Ty,Tz6 個通道的模擬電壓,采樣頻率為31 Hz~250 kHz。
UR控制器是工業(yè)機器人的控制部件,主要是控制系統(tǒng)與電氣輸入輸出的集成。UR控制器連接有一個觸控示教板,可供用戶直接通過觸控板給控制器發(fā)送指令,同時也有各種電氣輸入輸出接口,可以實現(xiàn)控制器與上位機等外部設(shè)備進行通訊,支持的通訊方式為TCP/IP Socket連接,以及Modbus TCP連接。
采用優(yōu)傲公司UR10六關(guān)節(jié)機械臂,負載重量為10 kg,自重為28.9 kg,工作半徑為1300 mm。
通訊示意圖如圖2所示,該系統(tǒng)的通訊方式主要有2種,以太網(wǎng)通訊以及Modbus通訊。以太網(wǎng)通訊提高了數(shù)據(jù)的傳輸速率,能夠加快系統(tǒng)響應(yīng)速度。Modbus通訊拓展了UR10機器人的I/O端口。

圖2 通訊連接示意Fig.2 Communication connection diagram
上位機與下位機之間是通過Socket TCP進行數(shù)據(jù)傳輸,通信時PC作為服務(wù)器,而UR10控制器作為客戶端。數(shù)據(jù)采集卡與PC之間的數(shù)據(jù)傳輸也是通過以太網(wǎng)進行,以太網(wǎng)通訊能夠使采集卡采集的傳感器信息迅速傳到PC端進行處理進而反饋給機器人,減小延遲時間,使示教更加順暢。
數(shù)據(jù)采集卡AD端口首先采集到的是源碼數(shù)據(jù),所以首先要將其轉(zhuǎn)化為模擬電壓信號。

式(1)是源碼與模擬電壓轉(zhuǎn)換式,電壓范圍為5000 mV,數(shù)據(jù)采集卡的精度為16位,其中ADBuffer[n]為數(shù)據(jù)采集卡AD端口的源碼值,n的值代表0~5 6個采集通道。
直接用模擬電壓當作標志位判斷力矩會受溫度等因素影響使數(shù)據(jù)波動較大,誤差會加大。因此將模擬電壓轉(zhuǎn)化成力/力矩同時加上溫度補償作為判斷標志位則大大減小了誤差,降低溫度等干擾因素影響。
式(2)為基于溫度補償?shù)哪M電壓轉(zhuǎn)力/力矩公式,其中 R 為 1×6 力/力矩輸出,即(Fx,F(xiàn)y,F(xiàn)z,Tx,Ty,Tz)。式(3)、式(4)為測量的溫度補償電壓 VC與初始校正溫度補償電壓VC0:

式中:BS為偏置斜率向量;GS為增益斜率向量;是 傳感器 溫 度 補 償 校 正 值 ,BS=(7.71569×10-31.88744×10-2-6.46388×10-39.615131×10-32.33153×10-21.82687×10-2);GS=(1.04166×10-34.46070×10-34.96998×10-4-2.46547×10-32.2237×10-33.98426×10-3);V0為傳感器補償估計值,V0=(-0.2102 0.0189-0.2076 0.0058-0.2098-0.0133);VT0為溫度補償估計值,為-2.8748 V;V為當前估計值,V=(-0.3464 0.3158-0.3019-0.0697-0.3522 0.0817);VT為當前溫度估計值,為-2.968 V;C為ATI公司提供的傳感器6×6校準矩陣,是一個常量矩陣,根據(jù)不同傳感器校準矩陣也不同,與傳感器型號有關(guān);CT為C的轉(zhuǎn)置矩陣。

當將傳感器安裝到機械臂末端時,由于傳感器的自重會在z軸方向產(chǎn)生一個力,所以會影響示教力的判斷,因此需要進行重力補償,補償?shù)闹亓χ禐?3 N,即 z-3 N。
UR機器人向PC發(fā)送的TCP點坐標只能是以字符串形式發(fā)送,而接收時只能識別數(shù)值型數(shù)據(jù),如圖3所示。所以PC接收的數(shù)據(jù)首先要轉(zhuǎn)換成浮點數(shù)據(jù),存儲到一個緩沖數(shù)組中,便于之后發(fā)送給UR 機器人。 而坐標為 p(x,y,z,Rx,Ry,Rz)形式,所以要將 x,y,z,Rx,Ry,Rz從中提取出來并存儲到一個浮點數(shù)組中。
如下代碼使用sscanf函數(shù),運用正則表達式將recvbuf中接收的數(shù)據(jù)轉(zhuǎn)換成浮點數(shù)據(jù)存儲到databuf中。
sscanf(recvbuf,“%*[^09]%f%*[,]%f%*[,]%f%*[,]%f%*[,]%f%*[,]%f”,&databuf[6*i],&databuf[6*i+1],&databuf[6*i+2],&databuf[6*i+3,&databuf[6*i+4],&databuf[6*i+5])。
整個示教系統(tǒng)的運行理論首先是六軸力/力矩傳感器用來感知示教者的示教力/力矩,并且將其轉(zhuǎn)化成模擬電壓信號,并用數(shù)據(jù)采集卡來采集這些模擬電壓信號,將其上傳到PC。由于模擬電壓信號受溫度等干擾因素影響波動大,所以在PC端將模擬電壓信號轉(zhuǎn)變成力/力矩,并進行溫度補償。在機械臂末端加作用力,就會有相應(yīng)的位移,但是機械臂處于靜止狀態(tài)時各個關(guān)節(jié)都是鎖住狀態(tài),要使機械臂產(chǎn)生位移需要很大的推動力,這樣直接示教也就沒有意義了。本文提出的系統(tǒng),不需要進行復(fù)雜的動力學(xué)換算,而是以轉(zhuǎn)換的力/力矩信號作為標志位判斷操作者在哪個方向施加了力/力矩,然后通過客戶端不斷地循環(huán)給該方向加單位速度(m/s),從而轉(zhuǎn)化成了該方向的位移,實現(xiàn)直接示教。根據(jù)以上系統(tǒng)運行理論,直接示教系統(tǒng)的程序主要分為服務(wù)器 (PC)端程序和客戶端(UR10機器人)程序兩大部分。
服務(wù)器端主要進行力/力矩傳感器的模擬電壓信號與力/力矩信號轉(zhuǎn)化、數(shù)據(jù)處理以及示教軌跡點的存儲。首先要配置數(shù)據(jù)采集卡,設(shè)置采樣頻率為20000 Hz,采樣通道數(shù)為 6,分別采集 x,y,z,Rx,Ry,Rz 6個通道的數(shù)據(jù)上傳到PC。PC將接收到的數(shù)據(jù)進行處理,轉(zhuǎn)換成力/力矩存儲到一個浮點數(shù)據(jù)組當中,而服務(wù)器與客戶端之間是通過Socket TCP進行通信的,所以在發(fā)送數(shù)據(jù)之前首先是建立兩者之間的連接。同時,服務(wù)器還要接收來自客戶端傳來的示教軌跡點并且存儲到一個浮點數(shù)組中。當playback信號發(fā)出后,服務(wù)器會重新將這些數(shù)據(jù)6個為1組發(fā)送給客戶端,實現(xiàn)playback。服務(wù)器端程序是在VC6.0環(huán)境中編寫完成,服務(wù)器端程序運行流程如圖4所示。

圖4 服務(wù)器端程序運行流程Fig.4 Running flow chart of server program
客戶端程序包含了示教手柄功能實現(xiàn)程序以及直接示教執(zhí)行程序。示教實現(xiàn)流程主要是先判斷從服務(wù)器發(fā)送來的標志數(shù)據(jù),即 x,y,z,Rx,Ry,Rz 6個方向的數(shù)據(jù)。首先是最基本的x,y,z方向,當x位的數(shù)據(jù)大于4時,循環(huán)給x方向加單位速度,但是這樣會出現(xiàn)一個問題,機械臂會出現(xiàn)運動卡頓的情況。所以經(jīng)過多次實驗將單位速度設(shè)為0.012 m/s,對應(yīng)的力為4 N,機器人運動會更加流暢。當力增大時,需要加快速度,體現(xiàn)出示教力增大,機械臂移動速度加快。式(5)即為x方向的步長增量公式:

以此類推,設(shè)置完y和z方向。然后當力施加于x,y,z夾角方向時,就需要兩兩進行判斷,同時2個方向上進行位移處理。而在進行力/力矩判斷的同時,通過Modbus模塊拓展了2個輸入,1個輸入作為示教標志位,1個輸入作為playback標志位。當標志位1處于高電平時,接收來自PC的示教軌跡點,完成playback。而標志位2處于低電平時,完成直接示教。程序編寫主要是根據(jù)URScript的語法以及函數(shù)在UR10示教板編寫完成,程序流程如圖5所示。

圖5 示教手柄功能實現(xiàn)程序流程Fig.5 Flow chart of teach handle
客戶端程序是按照2個線程進行的,一個線程用來實現(xiàn)直接示教的運動軌跡點執(zhí)行,一個線程用來記錄示教點,將軌跡點發(fā)送到PC儲存。
當操作者對機器人示教完之后,需要機器人重復(fù)執(zhí)行剛才的示教軌跡,這就是直接示教的重復(fù)執(zhí)行過程。服務(wù)器會將每個記錄位點的坐標重新發(fā)送給客戶端,然后客戶端會依次執(zhí)行movej指令,從而實現(xiàn)直接示教的重復(fù)執(zhí)行。

圖6 URScript movej指令Fig.6 URScript movej order
如圖7所示為以一個正方形工件輪廓作為示教軌跡進行示教,選取特征點進行記錄,圖8為對示教軌跡的playback過程。

圖7 沿工件輪廓進行直接示教Fig.7 Direct teaching along the contour of the workpiece

圖8 示教軌跡的playbackFig.8 Playback process of the teaching trajectory
本文介紹的直接示教系統(tǒng),借助于一個六軸力/力矩傳感器作為媒介,能夠在傳統(tǒng)的非直接示教機械臂上實現(xiàn)直接示教,通過上位機的數(shù)據(jù)處理將傳感器的模擬電壓信號轉(zhuǎn)化為力/力矩信號作為示教力/力矩的判斷標志,客戶端通過標志位的變化來實現(xiàn)機器人的移動,進而實現(xiàn)直接示教。然而,由于傳感器感知的信號沒有進行處理,所以信號存在較大的干擾,加上人的示教力波動較大,所以在示教過程中會存在一定的位置偏移,同時,在進行x,y,z夾角方向判斷時不夠精確,示教精度沒有那么高,該系統(tǒng)沒有設(shè)計到機器人系統(tǒng),是在外環(huán)的間接變量轉(zhuǎn)換,會稍微有一點延遲,所以本系統(tǒng)有待進一步的優(yōu)化,使示教更加流暢,精度更高。
[1]Gil M S ,Kang M S,Yu S N.Proposal of intuitive manipulation device for heavy construction material handling based on human-robot cooperation[C]//12th Symposium on Construction Robotics,Japan,2010:128-130.
[2]LiC J,LeeS H,Kim D H.Proposal for the automated robotic deburring for SME using direct teaching and playback method[C]//International Conference on Mechatronics and information Technology,2009:145-147.
[3]Fukuda T,Nakaoka M,Ueyama T,et al.Direct teaching and error recovery method for assembly task basedon a transition process of a constraint condition[C]//International Conf.on Robotics&Automation,2001:1518-1523.
[4]Flood S J,Burks T F.Studies in the optimization of harvesting motion mechanics using a 7-DOF manipulator and a 6-axis Force/Torque Sensor[C]//American Society of Agricultural and Biological Engineers,2006:63-83.
[5]Albu-Sch?ffer A,Haddadin S.The DLR lightweight robot:design and control concepts for robots in human environments[J].The IndustrialRobot,2007,34(5):376-385.
[6]Choi T Y,Park C H,Do H M,et al.Feature based direct teaching trajectory correction[C]//International Symposium on Power Electronics,Electrical Drives,Automation and Motion,2012:1193-1198.
[7]Park D I,Park C H,Kyung J H.Design and analysis of direct teaching robot for human-robot cooperation[C]//IEEE International Symposium on Assembly and Manufacturing,2009:220-224.
[8]ChoiM H,LeeW W.Quantitative evaluation of an intuitive teaching method for industrial robot using a force/moment direction sensor[J].International Journal of Control,Automation and Systems,2003,1(3):395-400.
[9]Lee S H,Li C J,Kyung J H.The direct teaching and playback method for robotic deburring system using the adaptive force-control[C]//IEEE International Symposium on Assembly and Manufacturing,2009:235-240.
[10]Lee S C,Song C Y,Kim K H.Design of robot direct-teaching tools in contact with hard surface[C]//IEEE International Symposium on Assembly and Manufacturing,2009:231-234.