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

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

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

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

式(1)是源碼與模擬電壓轉換式,電壓范圍為5000 mV,數據采集卡的精度為16位,其中ADBuffer[n]為數據采集卡AD端口的源碼值,n的值代表0~5 6個采集通道。
直接用模擬電壓當作標志位判斷力矩會受溫度等因素影響使數據波動較大,誤差會加大。因此將模擬電壓轉化成力/力矩同時加上溫度補償作為判斷標志位則大大減小了誤差,降低溫度等干擾因素影響。
式(2)為基于溫度補償的模擬電壓轉力/力矩公式,其中 R 為 1×6 力/力矩輸出,即(Fx,Fy,Fz,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校準矩陣,是一個常量矩陣,根據不同傳感器校準矩陣也不同,與傳感器型號有關;CT為C的轉置矩陣。

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

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

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

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

圖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
本文介紹的直接示教系統,借助于一個六軸力/力矩傳感器作為媒介,能夠在傳統的非直接示教機械臂上實現直接示教,通過上位機的數據處理將傳感器的模擬電壓信號轉化為力/力矩信號作為示教力/力矩的判斷標志,客戶端通過標志位的變化來實現機器人的移動,進而實現直接示教。然而,由于傳感器感知的信號沒有進行處理,所以信號存在較大的干擾,加上人的示教力波動較大,所以在示教過程中會存在一定的位置偏移,同時,在進行x,y,z夾角方向判斷時不夠精確,示教精度沒有那么高,該系統沒有設計到機器人系統,是在外環的間接變量轉換,會稍微有一點延遲,所以本系統有待進一步的優化,使示教更加流暢,精度更高。
[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.