刁子健, 張壽明
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院, 云南 昆明 650500)
近幾年來(lái),國(guó)內(nèi)外傳感器技術(shù)得到了迅速發(fā)展,機(jī)器人的控制操作及數(shù)據(jù)反饋等工作也越來(lái)越依賴(lài)傳感器技術(shù)[1]。傳感器已經(jīng)成為了機(jī)器人不可或缺的“感官器官”。機(jī)器人在執(zhí)行高復(fù)雜性工作的過(guò)程中,對(duì)各個(gè)環(huán)節(jié)的協(xié)調(diào)工作要求比較高,各個(gè)環(huán)節(jié)出現(xiàn)的故障也很難察覺(jué)。因此傳感器技術(shù)的發(fā)展越來(lái)越受到科技工作者的重視,對(duì)傳感器信號(hào)的采集及數(shù)據(jù)分析需求也明顯增加,但現(xiàn)有的傳感器信號(hào)采集處理方法檢測(cè)效率差,實(shí)時(shí)性不高,是當(dāng)前行業(yè)內(nèi)亟待解決的問(wèn)題。
六維力傳感器可以同時(shí)檢測(cè)力在空間作用下的全部信息[2],獲取X、Y、Z方向的力分量Fx、Fy、Fz和力矩分量Mx、My、Mz,可以有效提升機(jī)器人精密作業(yè)的能力,在機(jī)器人接觸操作、裝配、打磨及機(jī)器人雙手協(xié)調(diào)任務(wù)中有著重要應(yīng)用[3-4]。
從陜西電器研究所研制的一種基于Stewart結(jié)構(gòu)的六維力傳感器[5],解決了傳統(tǒng)Stewart抗耦合性差的問(wèn)題及耦合因素對(duì)傳感器精度的影響,再到呂志鵬等[6]研制的無(wú)線(xiàn)式六維力傳感器,張韜等[7]對(duì)Stewart型六維力傳感器的標(biāo)定研究,六維力傳感器的耦合性、線(xiàn)性度及解耦特性[8]有了很大的進(jìn)步。牛文舉等[9]基于FPGA設(shè)計(jì)了一套微傳感器信號(hào)采集系統(tǒng),劉永永等[10]基于STM32設(shè)計(jì)了一套力傳感器信號(hào)采集與處理系統(tǒng),從硬件角度層面解決了對(duì)傳感器信號(hào)的處理及分析。
基于以上背景,本文設(shè)計(jì)一套六維力傳感器信號(hào)采集系統(tǒng)。通過(guò)數(shù)據(jù)采集卡,對(duì)采集到的傳感器信號(hào)進(jìn)行調(diào)理與采集,自動(dòng)把采集到的信號(hào)送到上位機(jī)中進(jìn)行處理,得到3個(gè)力分量和3個(gè)力矩分量的實(shí)時(shí)變化曲線(xiàn),從而實(shí)時(shí)監(jiān)控機(jī)器人在工作過(guò)程的狀況,以預(yù)防因故障問(wèn)題造成不可控的損失。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
設(shè)計(jì)的基于TCP/IP協(xié)議的六維力傳感器信號(hào)采集系統(tǒng)整體可分為硬件模塊和軟件模塊,其中硬件部分由六維力傳感器、低噪聲放大模塊、數(shù)據(jù)采集卡和上位機(jī)等4部分組成;軟件部分具有系統(tǒng)設(shè)置、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)及實(shí)時(shí)曲線(xiàn)顯示等功能。系統(tǒng)的組成框圖如圖1所示。在實(shí)際獲取傳感器的信號(hào)時(shí),是先把采集到的力信號(hào)轉(zhuǎn)換成電信號(hào),通過(guò)低噪聲放大模塊進(jìn)行信號(hào)調(diào)理,然后由數(shù)據(jù)采集卡把信號(hào)通過(guò)網(wǎng)線(xiàn)傳輸?shù)姆绞?,送到上位機(jī)進(jìn)行分析處理,以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)曲線(xiàn)顯示、數(shù)據(jù)存儲(chǔ)等功能。
1.1.1 低噪聲放大與數(shù)據(jù)采集卡模塊
本文低噪聲放大和數(shù)據(jù)采集卡模塊選用俊德科技公司的M8128數(shù)據(jù)采集儀,分別對(duì)信號(hào)進(jìn)行調(diào)理和采集。該數(shù)據(jù)采集儀集成了兩大模塊,可以進(jìn)行六通道模擬信號(hào)輸入,同時(shí)也支持以太網(wǎng)TCP/IP協(xié)議通信、RS232和CAN總線(xiàn)通信。主要參數(shù)見(jiàn)表1。
表1 M8128數(shù)據(jù)采集儀的主要技術(shù)參數(shù)
圖2 M8128數(shù)據(jù)采集儀工作原理
M8128數(shù)據(jù)采集儀的工作原理如圖2所示,主要包括主控模塊、通信模塊及電源模塊,具有低噪聲放大(信號(hào)調(diào)理)和數(shù)據(jù)采集兩種功能,可以實(shí)現(xiàn)對(duì)采集系統(tǒng)的簡(jiǎn)化,并且具備體積較小方便攜帶、性?xún)r(jià)比高、精度高且適應(yīng)各種復(fù)雜環(huán)境等特點(diǎn)。
在工業(yè)場(chǎng)景下,一般對(duì)力傳感器的信號(hào)采集分析處理,主要是運(yùn)用PLC作為中轉(zhuǎn),然后傳送給計(jì)算機(jī)進(jìn)行分析處理。張新聚等[11]就設(shè)計(jì)出了PLC遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),對(duì)傳感器信號(hào)進(jìn)行采集。本實(shí)驗(yàn)則是以數(shù)據(jù)采集卡為基礎(chǔ),直接獲取六維力傳感器信號(hào),無(wú)需通過(guò)PLC等設(shè)備中轉(zhuǎn),完成系統(tǒng)的硬件配置。
1.1.2 信號(hào)采集系統(tǒng)的上位機(jī)選擇
上位機(jī)是指可以直接發(fā)出操作、控制的計(jì)算機(jī),一般是PC電腦屏幕上顯示的各種信號(hào)變化,其具體功能是把控制命令傳送給下位機(jī),下位機(jī)依據(jù)上位機(jī)的程序命令,解釋相應(yīng)的時(shí)序信號(hào)用于直接控制相應(yīng)的設(shè)備[12]。
本設(shè)計(jì)選用一臺(tái)商用微型計(jì)算機(jī),利用所設(shè)計(jì)的軟件控制整個(gè)系統(tǒng),用于數(shù)據(jù)信號(hào)的處理,支持網(wǎng)線(xiàn)通信,體積較小方便攜帶,可以適應(yīng)狹小空間的信號(hào)處理顯示工作,能夠處理較大的數(shù)據(jù)量,可以滿(mǎn)足實(shí)驗(yàn)要求。
1.2.1 系統(tǒng)軟件程序分析
信號(hào)采集系統(tǒng)主要是對(duì)機(jī)器人運(yùn)動(dòng)過(guò)程中各個(gè)節(jié)點(diǎn)的力信號(hào)和力矩信號(hào)實(shí)時(shí)采集,再運(yùn)用網(wǎng)線(xiàn)通信方式將采集到的數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中進(jìn)行分析處理。程序基于Visual studio 2019平臺(tái)開(kāi)發(fā),用C#語(yǔ)言編寫(xiě),主要實(shí)現(xiàn)了系統(tǒng)設(shè)置、數(shù)據(jù)分析、數(shù)據(jù)存儲(chǔ)及曲線(xiàn)繪制的功能。具體程序流程如圖3所示。
圖3 程序流程圖
圖4 Socket通信框架
首先,在程序中系統(tǒng)初始化設(shè)置。主要是設(shè)置定時(shí)器的時(shí)間間隔,定義數(shù)組結(jié)構(gòu),初始化力、力矩的實(shí)時(shí)曲線(xiàn)圖,并分別對(duì)3個(gè)力分量Fx、Fy、Fz和3個(gè)力矩分量Mx、My、Mz設(shè)置不同曲線(xiàn)顯示顏色等,以方便用戶(hù)在實(shí)時(shí)曲線(xiàn)圖中觀(guān)察。
在程序運(yùn)行時(shí),需要對(duì)服務(wù)器端與客戶(hù)端的IP和端口進(jìn)行設(shè)置,完成設(shè)置后才能夠運(yùn)行程序?qū)Σ杉男盘?hào)進(jìn)行處理。TCP服務(wù)器連接成功后,會(huì)對(duì)采集到的數(shù)據(jù)進(jìn)行進(jìn)制轉(zhuǎn)換,方便處理,最后將經(jīng)過(guò)計(jì)算F/M,把F/M的結(jié)果實(shí)時(shí)顯示在計(jì)算機(jī)屏幕上。
關(guān)于客戶(hù)端與服務(wù)器端之間的通信,服務(wù)器的主要功能是負(fù)責(zé)網(wǎng)絡(luò)通信與數(shù)據(jù)庫(kù)讀寫(xiě),其中應(yīng)用服務(wù)器按其監(jiān)聽(tīng)的Socket對(duì)象,可分為面向終端設(shè)備的Socket通信和面向客戶(hù)端的Socket通信。本文選用Socket通信方式,兩種類(lèi)型的Socket都基于TCP/IP協(xié)議進(jìn)行通信,所采用TCP服務(wù)應(yīng)用相對(duì)UDP服務(wù),比較安全,不易造成數(shù)據(jù)丟失,其中TCP協(xié)議[13]是一個(gè)面向流的協(xié)議,不用擔(dān)心最大傳輸量,而UDP協(xié)議[13]主要是用來(lái)支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用[14]。整個(gè)網(wǎng)絡(luò)連接可以分為3個(gè)部分:服務(wù)器監(jiān)聽(tīng)、客戶(hù)端請(qǐng)求連接、確定連接[15],其中TCP/IP協(xié)議是網(wǎng)絡(luò)層最重要的協(xié)議。有關(guān)Socket通信的框架可以用圖4簡(jiǎn)潔表示。
對(duì)采集的數(shù)據(jù)分析處理主要是對(duì)采集到的力與力矩信號(hào)進(jìn)行運(yùn)算,運(yùn)算公式為
Fxyz(N)=Fxyz×Scale Factor[w1]/CPF,
(1)
Mxyz(N·m)=Mxyz×Scale Factor[w2]/CPT,
(2)
式中w1的取值是0、1、2,w2的取值是3、4、5,分別表示3個(gè)力分量和3個(gè)力矩分量,然后實(shí)時(shí)傳送出去。
1.2.2 上位機(jī)軟件設(shè)計(jì)
圖5 軟件結(jié)構(gòu)框圖
六維力傳感器信號(hào)采集系統(tǒng)的上位機(jī)軟件的編寫(xiě)采用的是C#語(yǔ)言。C#語(yǔ)言結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性及安全性較高,被廣泛應(yīng)用在應(yīng)用程序創(chuàng)建及開(kāi)發(fā)等領(lǐng)域[16]。系統(tǒng)軟件結(jié)構(gòu)框架如圖5所示。其中上位機(jī)軟件系統(tǒng)主要分為客戶(hù)端和服務(wù)器端兩部分,服務(wù)器端是由面向數(shù)據(jù)采集卡與客戶(hù)端的通信服務(wù)器和數(shù)據(jù)庫(kù)組成,通信服務(wù)器主要有數(shù)據(jù)收發(fā)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)解析等功能[17]。數(shù)據(jù)庫(kù)則是主要負(fù)責(zé)對(duì)通信服務(wù)器完成工作之后的數(shù)據(jù)進(jìn)行儲(chǔ)存,以供客戶(hù)端訪(fǎng)問(wèn)。
從圖5可知,該系統(tǒng)軟件具有數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)曲線(xiàn)顯示等功能。其中上位機(jī)是通過(guò)以太網(wǎng)方式進(jìn)行通信,進(jìn)行數(shù)據(jù)的傳輸,只需要設(shè)置IP和端口地址,就可以進(jìn)行連接,可以實(shí)時(shí)檢測(cè)六維力傳感器的力與力矩的變化情況。圖6所示為上位機(jī)軟件前面板,為上位機(jī)的客戶(hù)端??蛻?hù)端應(yīng)具有簡(jiǎn)潔、美觀(guān)的操作界面[18],該客戶(hù)端可以實(shí)現(xiàn)多通道實(shí)時(shí)曲線(xiàn)顯示的功能,在實(shí)時(shí)曲線(xiàn)中可以直觀(guān)地看到各個(gè)力分量與力矩分量的值,更易于觀(guān)察機(jī)器人的運(yùn)動(dòng)狀態(tài),判斷機(jī)器人操作是否正常,并及時(shí)對(duì)有可能發(fā)生的意外做出制止。
圖6 軟件前面板
本系統(tǒng)采用的俊德科技M8128數(shù)據(jù)采集儀滿(mǎn)足正常的工作需求,比同類(lèi)型的數(shù)據(jù)采集儀精度高,且通過(guò)國(guó)家質(zhì)量監(jiān)管,在產(chǎn)品質(zhì)量、效率方面有著很大的優(yōu)勢(shì)。所以在本實(shí)驗(yàn)中,只需對(duì)設(shè)計(jì)的上位機(jī)軟件系統(tǒng)驗(yàn)證及相應(yīng)的對(duì)比測(cè)試即可,就能判定所設(shè)計(jì)的系統(tǒng)是否達(dá)到要求。
在對(duì)六維力傳感器進(jìn)行驗(yàn)證的時(shí)候,無(wú)法對(duì)六維力傳感器的受力情況做評(píng)估,所以為了驗(yàn)證設(shè)計(jì)的上位機(jī)軟件系統(tǒng)的可行性,在本實(shí)驗(yàn)中,采用卓嵐調(diào)試工具進(jìn)行服務(wù)器端模擬向客戶(hù)端發(fā)送數(shù)據(jù),工作模式選擇TCP服務(wù)器。本次仿真實(shí)驗(yàn),IP地址設(shè)置為127.0.0.1,端口號(hào)設(shè)置為49151。
在啟動(dòng)程序時(shí),需提前設(shè)置好服務(wù)器端和客戶(hù)端IP地址和端口號(hào),打開(kāi)服務(wù)器的鏈接,并對(duì)發(fā)送、接收的數(shù)據(jù)進(jìn)行16進(jìn)制的轉(zhuǎn)換。在卓嵐調(diào)試工具中手動(dòng)輸入數(shù)據(jù)模擬傳感器數(shù)據(jù),首先發(fā)送24字節(jié)的轉(zhuǎn)換參數(shù)指令(12 34 02 03 00 01 00 1B 1A 12 1A 12 FF 1A 12 1A 12 FF 1A 12 22 22 11 11),然后發(fā)送16字節(jié)的參數(shù)(12 34 FF 1A 12 1A 12 FF 1A 12 1A 12 FF 1A 12 1A),可以得到圖7的仿真結(jié)果;最后輸入16字節(jié)的參數(shù)(12 34 1A CF 13 1D 15 FF 1C 13 1D 1F FD 1C 12 1B),可以得到圖8的仿真結(jié)果。
圖7 仿真結(jié)果(1)
圖8 仿真結(jié)果(2)
根據(jù)力與力矩的計(jì)算公式可以分別求得上述兩次輸入相應(yīng)的力與力矩,結(jié)果如表2所示。計(jì)算所得的第1組結(jié)果和第2組結(jié)果,與其實(shí)時(shí)曲線(xiàn)圖匹配,可以得知圖上數(shù)值與計(jì)算數(shù)值相吻合,可得知,設(shè)計(jì)的軟件系統(tǒng)是有效的。
表2 力與力矩計(jì)算值
為了進(jìn)一步驗(yàn)證軟件系統(tǒng)的有效性和實(shí)時(shí)性,不斷改變發(fā)送指令中F/M的數(shù)據(jù)值,可以觀(guān)察到實(shí)時(shí)曲線(xiàn)也是不斷改變的,輸入16字節(jié)的參數(shù)(12 34 1C 1C 12 1C 12 CC 1C 12 1A 14 FF 1F 11 11),可以得到圖9的仿真結(jié)果。其與表2中的第3組計(jì)算結(jié)果相匹配,可以說(shuō)明所設(shè)計(jì)的系統(tǒng)是有效的,且實(shí)時(shí)性高。
圖9 仿真結(jié)果(3)
為了驗(yàn)證所研究的六維力傳感器力與力矩信號(hào)數(shù)據(jù)采集系統(tǒng)在采集精度方面的性能,引入一種無(wú)線(xiàn)信號(hào)采集系統(tǒng)進(jìn)行對(duì)比實(shí)驗(yàn)[19-20]。在測(cè)試中,兩種數(shù)據(jù)采集系統(tǒng)的精確度結(jié)果見(jiàn)圖10。從圖中可以看出,兩者之間的精度都在80%附近,但本實(shí)驗(yàn)研究的系統(tǒng),相對(duì)于對(duì)比測(cè)試的系統(tǒng)表現(xiàn)效果較好,其主要優(yōu)勢(shì)表現(xiàn)在穩(wěn)定性方面;隨著實(shí)驗(yàn)次數(shù)的不斷增加,其測(cè)試精度的波動(dòng)范圍不是很大,且有著很高的測(cè)試精度。
圖10 實(shí)驗(yàn)采集精度結(jié)果
本文以C#語(yǔ)言為開(kāi)發(fā)語(yǔ)言,運(yùn)用數(shù)據(jù)采集卡,設(shè)計(jì)了一套六維力傳感器信號(hào)采集系統(tǒng)。從硬件選擇和軟件設(shè)計(jì)兩個(gè)方面做了簡(jiǎn)要介紹,并通過(guò)模擬驗(yàn)證、對(duì)比測(cè)試,證實(shí)了設(shè)計(jì)的力信號(hào)采集系統(tǒng)的有效性,完善了當(dāng)前對(duì)六維力傳感器信號(hào)采集方面的不足。與傳統(tǒng)的測(cè)力表相比,此系統(tǒng)能夠?qū)崟r(shí)顯示力、力矩的變化曲線(xiàn),及時(shí)反饋給用戶(hù),具有價(jià)格低廉、操作簡(jiǎn)單等優(yōu)點(diǎn),為后續(xù)的機(jī)器人故障分析及運(yùn)動(dòng)狀態(tài)分析提供了研究基礎(chǔ)。