楊世華,王秀敏,沈建明,任建新
(1.中國計(jì)量學(xué)院信息工程學(xué)院,浙江杭州310018;2.杭州專用汽車有限責(zé)任公司,浙江杭州310018)
橋梁檢測車是用于橋梁檢測的專用車輛,主要用于各種橋梁的檢測,但是由于其機(jī)械臂較長,在檢測過程中需要較大的旋轉(zhuǎn)空間,同時(shí)機(jī)械臂部分處于橋梁的下方,故視頻監(jiān)控系統(tǒng)不能給出整體畫面.由于駕駛室內(nèi)操作人員不能整體把握機(jī)械臂的姿勢,會(huì)導(dǎo)致危險(xiǎn)情況出現(xiàn)時(shí),無法及時(shí)地制動(dòng)防側(cè)翻裝置,從而引起事故[1].國內(nèi)針對(duì)橋梁檢測車安全監(jiān)控的研究還處于起步階段,主要通過人與人之間的對(duì)講作為橋梁檢測車的安全監(jiān)控保障;而由于國內(nèi)橋檢車與國外的機(jī)械臂在形狀結(jié)構(gòu)上有很大差異,所以其監(jiān)控系統(tǒng)對(duì)國內(nèi)車輛作用不大,因此針對(duì)國內(nèi)橋檢車設(shè)計(jì)一種安全監(jiān)控系統(tǒng)非常必要.同時(shí)可以節(jié)約操作時(shí)間,減少橋檢車對(duì)道路的占用時(shí)間,對(duì)緩解交通壓力起極大的作用.文中以8自由度三關(guān)節(jié)機(jī)械臂的混合式臂架橋檢車作為研究對(duì)象,首次提出并設(shè)計(jì)了一種基于ARM的安全監(jiān)控系統(tǒng),結(jié)合正運(yùn)動(dòng)學(xué)原理通過傳感器采集的回轉(zhuǎn)角度和機(jī)械臂長度進(jìn)行空間定位,利用Qtopia[2]對(duì)機(jī)械臂狀態(tài)進(jìn)行圖形繪制,并顯示第二回轉(zhuǎn)角度.
圖1為系統(tǒng)硬件構(gòu)架框圖,S3C2440[3]為ARM9結(jié)構(gòu)的數(shù)據(jù)處理平臺(tái),傾角傳感器為三個(gè),其中2個(gè)雙軸傾角傳感器置于兩個(gè)回轉(zhuǎn)角處,1個(gè)單軸傾角傳感器置于二臂三臂之間(為方便機(jī)械臂的空間運(yùn)動(dòng)建模,傾角傳感器[5]采用磁敏傳感器),同時(shí)使用三個(gè)直線位移傳感器對(duì)機(jī)械臂伸展長度采集信息,通過多轉(zhuǎn)一串口輸出電路將六路傳感器采集的信號(hào)分時(shí)讀取(每路信號(hào)只能分時(shí)占用總線),將待處理信號(hào)發(fā)送給處理器,再通過軟件實(shí)現(xiàn)動(dòng)畫模擬部分.
圖1 系統(tǒng)硬件設(shè)計(jì)圖Figure 1 Hardware strcutual design drawing
系統(tǒng)軟件部分由數(shù)據(jù)處理模塊、通信模塊和動(dòng)畫顯示模塊三部分構(gòu)成,采用多線程編程;其流程圖如圖2所示.實(shí)時(shí)監(jiān)控系統(tǒng)每6 ms從串口0讀取并發(fā)送數(shù)據(jù)一次,串口0接收來自多轉(zhuǎn)一端口的數(shù)據(jù),端口地址為01到06,采用輪詢方式,六次為一周期.傳感器工作頻率為25 Hz,根據(jù)接收到的數(shù)據(jù),首先判斷傳感器發(fā)送數(shù)據(jù)是否正常,異常情況主要采用對(duì)角速度變化率進(jìn)行判別,若是數(shù)據(jù)合理,進(jìn)行相應(yīng)的數(shù)據(jù)處理.
橋梁檢測車的機(jī)械臂由四部分組成:一臂、二臂、三臂以及工作平臺(tái),而工作平臺(tái)采用了自動(dòng)調(diào)平技術(shù),使其總是保持水平平衡,可以將模型簡化為三關(guān)節(jié)模型.通常機(jī)械臂是結(jié)合機(jī)器人靈巧手三關(guān)節(jié)手指結(jié)構(gòu)進(jìn)行建模,常用Denavit-Hartenberg法建立坐標(biāo)系.
圖2 應(yīng)用程序流程圖Figure 2 Application flowchart
但該方法僅能實(shí)現(xiàn)繞 x、z軸旋轉(zhuǎn)以及z軸必須沿關(guān)節(jié)軸線方向旋轉(zhuǎn)[6],且同時(shí)要求每個(gè)關(guān)節(jié)僅具有一個(gè)自由度;而機(jī)械臂回轉(zhuǎn)角處各具有兩個(gè)自由度,同時(shí)三個(gè)臂又具有伸縮功能,因此每個(gè)關(guān)節(jié)的自由度≥2,系統(tǒng)采用如圖3所示的方法建立空間模型,O1,O2,O3,O4為機(jī)械臂的關(guān)節(jié)端點(diǎn);坐標(biāo)系O1為定坐標(biāo)系(參考坐標(biāo)系),O2,O3,O4為動(dòng)坐標(biāo)系;li表示 i臂的臂長;α為 x軸與L1在 XOY平面內(nèi)投影夾角,β為L與XOY平面的夾角,即α,β表示關(guān)節(jié)轉(zhuǎn)動(dòng)的角度.
圖3 空間建模Figure 3 Space modeling
經(jīng)計(jì)算坐標(biāo)原點(diǎn)Oi在Oi+1坐標(biāo)系內(nèi)的坐標(biāo)為 Pi,i+1(li· cosα· cosβ,li· cosα·sinβ,li·sinα),即也是位移向量 ti,i+1=(tx,ty,tz)的坐標(biāo).T12由坐標(biāo)系O1平移到O2的變換矩陣可簡單表示為
同理可求的其次變換T2,3,T3,4;根據(jù)坐標(biāo)的復(fù)合變換可證明Pi,i+1=Ti,i+1·Pi+1,經(jīng)迭代可求的 P1,j=T1,j-1·Pj-1,j即 :
其中Pi,j表示在坐標(biāo)系Oj內(nèi)的點(diǎn)相對(duì)參考系i的坐標(biāo).li的回轉(zhuǎn)角 θ2·i-1,θ2·i分別對(duì)應(yīng)α,β.
系統(tǒng)通信采用RS-485串行口通信協(xié)議.串口參數(shù)作如下設(shè)置:速率11920波特、8位數(shù)據(jù)位、起始位1b、停止位1b和無流控協(xié)議.為實(shí)現(xiàn)系統(tǒng)的多任務(wù)、實(shí)時(shí)性,使用Linux提供的POSIX thread線程標(biāo)準(zhǔn),拋棄qtopia提供的qthread[7]線程,需要將qmake配置文件內(nèi)的libs文件庫改為由Linux提供的線程libs文件;同時(shí)在項(xiàng)目文件.pro內(nèi)添加CONFIG+=thread;表示這是一個(gè)多線程應(yīng)用程序.通信模塊主要負(fù)責(zé)將接收到來自多轉(zhuǎn)一電路的信號(hào),然后經(jīng)過處理把對(duì)應(yīng)空間坐標(biāo)傳遞給繪圖函數(shù).
部分代碼如下:
Qt的二維圖形引擎是與平臺(tái)無關(guān)、基于Qpainter類的,采取幀緩存作為底層圖形接口,可以直接畫在繪圖設(shè)備上如QWidget,Image,Qpixmap,OpenGL等設(shè)備上.繪圖模塊主要實(shí)現(xiàn)圖形顯示功能,當(dāng)機(jī)械臂擺動(dòng)姿勢不同時(shí),系統(tǒng)會(huì)以不同的觀察視角顯示.部分實(shí)現(xiàn)代碼如下:
本文提出并設(shè)計(jì)了一種基于ARM的安全監(jiān)視系統(tǒng),該監(jiān)控系統(tǒng)通過對(duì)機(jī)械臂關(guān)節(jié)的空間定位、力矩計(jì)算,利用Qtopia強(qiáng)大的繪圖功能,使用幀緩存作為底層圖形接口,直接對(duì)“設(shè)備”讀寫,克服了視頻監(jiān)控需要多攝像頭才能完成任務(wù)的弊端,并且所給出機(jī)械車的整體姿勢完全,達(dá)到實(shí)時(shí)快速的要求,而且經(jīng)濟(jì)實(shí)用.同時(shí)該平臺(tái)具有可持續(xù)開發(fā)性,添加對(duì)機(jī)械臂的無線控制模塊等.
[1]崔文毅,潘夏表.橋梁檢測車在橋梁檢測中的應(yīng)用[J].筑路機(jī)械與施工機(jī)械化,2006(12):42-44.
[2]NOKIA.Qtopia Reference Documentation[EB/OL].(2010-01-10)[2009-10-06].http://doc.qt.nokia.com/qtopia2.2/html/index.html.
[3]SAMSUNG.S3C2440 user's manual[EB/OL].(2010-03-05)[2009-11-06].http://www.arm9home.net/read.php?tid-2765.html.
[4]陳錫愛,許 宏,張 星,等.CAN總線的機(jī)器人傳感網(wǎng)絡(luò)設(shè)計(jì)[J].中國計(jì)量學(xué)院學(xué)報(bào),2009,20(3):247-250.
[5]王學(xué)影,巖君芳,葉樹亮,等.關(guān)節(jié)臂式機(jī)器人測量系統(tǒng)關(guān)鍵技術(shù)研究[J].中國計(jì)量學(xué)院學(xué)報(bào),2010,21(1):12-15.
[6]SAEED B.機(jī)器人學(xué)導(dǎo)論:分析、系統(tǒng)及應(yīng)用[M].孫富春,朱紀(jì)洪,劉國棟,等譯,北京:電子工業(yè)出版社,2004:34-42.[7]JASMIN B.MA RK S.C++GUI QT 4編程[M].2版.閆鋒欣,譯.北京:電子工業(yè)出版社,2008:256-269.
[8]NICHOLAS V,FREDY Y.SVG deployment embeded Linux systerm[J].IEEE International Symposium on Consumer Electronics,2008,15(1):1-4.
[9]黃詠梅,趙偉國,李文軍.ARM 的遠(yuǎn)程流量監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中國計(jì)量學(xué)院學(xué)報(bào),2007,18(1):22-25.
[10]CHEN Z J E,ZHANG Z X.Design and implementation of video player sy stem based on embedded system and Qt/E[J].The Institution of Engineering and Technology,2008,30(3):468-472.
[11]許 明,金 波.基于能量調(diào)節(jié)的電液變轉(zhuǎn)速系統(tǒng) ARM控制器設(shè)計(jì)[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2009,43(2):202-207.