專利名稱:基于Android系統(tǒng)的橋梁檢測車3D模擬監(jiān)控方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式安全監(jiān)控領(lǐng)域。涉及一種基于Android操作系統(tǒng)的智能橋梁檢測車安全監(jiān)控設(shè)備。
背景技術(shù):
橋梁檢測車在橋梁檢測、道路維修方面發(fā)揮著越來越重要的角色,其廣闊的應(yīng)用需求使得橋梁檢測車的安全性以及操作人員的安全也顯得越來越重要。國內(nèi)的橋梁檢測車在工作中主要靠人與人之間進(jìn)行對講得到橋面危險(xiǎn)情況、橋下機(jī)械臂的狀態(tài),并以視頻監(jiān)控系統(tǒng)作為輔助。然而通過人與人之間相互對講的方式來獲得信息具有很大的主觀性和危險(xiǎn)性。并且由于橋梁檢測車體積巨大,機(jī)械臂跨度很長,普通的視頻監(jiān)控?zé)o法達(dá)到全局監(jiān)控的效果。因此國內(nèi)的橋梁檢測車急需一款有效的安全監(jiān)控設(shè)備。
發(fā)明內(nèi)容
本發(fā)明所需要解決的技術(shù)問題在于提供一種基于Android系統(tǒng)的橋梁檢測車3D 模擬監(jiān)控方法。本發(fā)明解決技術(shù)問題所采取的技術(shù)方案如下
在Android應(yīng)用程序中,給橋梁檢測車?yán)L制3D模型,以及障礙物3D模型。在Android 應(yīng)用程序中加載雙軸傾角傳感器驅(qū)動程序驅(qū)動。通過獲取傾角傳感器傳來的角度數(shù)據(jù)來控制橋梁檢測車3D模型的運(yùn)動。并且在應(yīng)用程序中編寫碰撞檢測算法,檢測機(jī)械臂與障礙物之間的碰撞。如果檢測到了碰撞發(fā)生,將觸發(fā)Android應(yīng)用程序中用SoundPool類實(shí)現(xiàn)的聲音警報(bào)。本發(fā)明相對于現(xiàn)有技術(shù)具有以下有益效果本發(fā)明通過3D模型模擬機(jī)械臂的運(yùn)動,可以達(dá)到橋梁檢測車全局監(jiān)控的目的。并且具有碰撞警報(bào)功能,大大提高了橋梁檢測車的安全性。該發(fā)明結(jié)構(gòu)簡單,具有實(shí)用性、可靠性和有效性等優(yōu)點(diǎn)。
圖I是本發(fā)明的流程圖。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明作進(jìn)一步說明。如圖I所示,基于Android系統(tǒng)的橋梁檢測車3D模擬監(jiān)控方法包括如下步驟 步驟一在橋梁檢測車的三個(gè)機(jī)械臂上分別安裝三個(gè)雙軸傾角傳感器。并將這些傳感
器正確的連接到搭有Android系統(tǒng)的開發(fā)板上,具體是
Android系統(tǒng)開發(fā)板采用友善之臂的mini6410 ;三個(gè)雙軸傾角傳感器的型號均為 BQ-1XN-TTL,量程為O 360度,通信方式為RS-232 ;傳感器與開發(fā)板之間的數(shù)據(jù)傳輸依靠串口通信實(shí)現(xiàn);首先需要正確地將雙軸傾角傳感器連接到開發(fā)板的串口上;即將雙軸傾角傳感器的+5V、GND引腳分別接串口的+5V和GND引腳;將傳感器的TXD引腳接串口的RXT 引腳;然后把這三個(gè)雙軸傾角傳感器分別安裝到橋梁檢測車的三個(gè)機(jī)械臂上。步驟二 在Android應(yīng)用程序中加載雙軸傾角傳感器驅(qū)動程序來采集雙軸傾角傳感器的角度數(shù)據(jù),具體是
利用Android NDK將由C語言編寫的雙軸傾角傳感器驅(qū)動程序編譯成可直接運(yùn)行于 Android平臺上的本地代碼,編譯好的代碼以后綴名為.so形式的文件存在。在Android應(yīng)用程序中調(diào)用以后綴名為.so的動態(tài)鏈接庫中包含的雙軸傾角傳感器操作API,來采集雙軸傾角傳感器的角度數(shù)據(jù)。具體操作過程如下
首先調(diào)用 int open_Port ( String devName, long baud, int dataBits, int stopBits )函數(shù)打開串口,然后調(diào)用 int select (int fd, int sec, int usee)函數(shù)判斷串口中有無數(shù)據(jù),如果有數(shù)據(jù),將調(diào)用int read (int fd, byte[] data)函數(shù)讀取串口中雙軸傾角傳感器的數(shù)據(jù);
步驟三在Android應(yīng)用程序中對橋梁檢測車以及障礙物進(jìn)行3D建模,具體是
橋梁檢測車以及障礙物的3D建模需要調(diào)用Android系統(tǒng)中的OpenGL ES函數(shù)庫;
對于橋梁檢測車的建模第一步調(diào)用carBody. drawSelf (gl)方法繪制車身;第二步調(diào)用carHead. drawSelf (gl)繪制車頭;第三步調(diào)用wheel. drawSelf (gl)繪制四個(gè)輪子;第四步調(diào)用carPlateform. drawSelf (gl)函數(shù)繪制機(jī)械臂支架;第五步調(diào)用 arm I. drawSelf (gl)、arm2. drawSelf (gl)、arm3. drawSelf (gl)方法繪制三段機(jī)械臂;
對于障礙物的建模由用戶界面輸入兩橋墩間的間距L、橋面離水面的距離H以及橋體的寬度W ;利用這些輸入的參數(shù)調(diào)用barrier. drawSelf (gl)函數(shù)繪制障礙物,這里的障礙物用缺少前面與背面的六面體等效;
步驟四通過雙軸傾角傳感器傳來的數(shù)據(jù),控制橋梁檢測車機(jī)械臂3D模型的轉(zhuǎn)動來模擬橋梁檢測車機(jī)械臂真實(shí)的狀態(tài);并且在屏幕上顯示,具體是
用由雙軸傾角傳感器傳來的角度數(shù)據(jù)控制各段機(jī)械臂模型的角度變量,實(shí)現(xiàn)機(jī)械臂3D 模型的轉(zhuǎn)動;
整個(gè)模型通過GLSurfaceView顯示在IXD屏幕上;
步驟五檢測機(jī)械臂3D模型是否與障礙物模型之間發(fā)生碰撞。如果檢測到了碰撞發(fā)生,將觸發(fā)聲音警報(bào),具體是
通過遍歷機(jī)械臂模型坐標(biāo)頂點(diǎn)的最大值點(diǎn)和最小值點(diǎn),判斷這些點(diǎn)是否位于障礙物模型之中;如果有一個(gè)點(diǎn)沒有位于障礙物模型之中,即判斷為碰撞的發(fā)生,并觸發(fā)Android應(yīng)用程序中用SoundPool類實(shí)現(xiàn)的聲音警報(bào)。
權(quán)利要求
1.基于Android系統(tǒng)的橋梁檢測車3D模擬監(jiān)控方法,其特征包括以下步驟步驟一在橋梁檢測車的三個(gè)機(jī)械臂上分別安裝三個(gè)雙軸傾角傳感器;并將這些傳感器正確的連接到搭有Android系統(tǒng)的開發(fā)板上,具體是Android系統(tǒng)開發(fā)板采用友善之臂的mini6410 ;三個(gè)雙軸傾角傳感器的型號均為 BQ-1XN-TTL,量程為O 360度,通信方式為RS-232 ;傳感器與開發(fā)板之間的數(shù)據(jù)傳輸依靠串口通信實(shí)現(xiàn);首先需要正確地將雙軸傾角傳感器連接到開發(fā)板的串口上;即將雙軸傾角傳感器的+5V、GND引腳分別接串口的+5V和GND引腳;將傳感器的TXD引腳接串口的RXT 引腳;然后把這三個(gè)雙軸傾角傳感器分別安裝到橋梁檢測車的三個(gè)機(jī)械臂上;步驟二 在Android應(yīng)用程序中加載雙軸傾角傳感器驅(qū)動程序來采集雙軸傾角傳感器的角度數(shù)據(jù),具體是利用Android NDK將由C語言編寫的雙軸傾角傳感器驅(qū)動程序編譯成可直接運(yùn)行于 Android平臺上的本地代碼,編譯好的代碼以后綴名為.so形式的文件存在;在Android應(yīng)用程序中調(diào)用以后綴名為.so的動態(tài)鏈接庫中所包含的雙軸傾角傳感器操作API,來采集雙軸傾角傳感器的角度數(shù)據(jù);具體操作過程如下首先調(diào)用 int open_Port ( String devName, long baud, int dataBits, int stopBits )函數(shù)打開串口,然后調(diào)用 int select (int fd, int sec, int usee)函數(shù)判斷串口中有無數(shù)據(jù),如果有數(shù)據(jù),將調(diào)用int read (int fd, byte[] data)函數(shù)讀取串口中雙軸傾角傳感器的數(shù)據(jù);步驟三在Android應(yīng)用程序中對橋梁檢測車以及障礙物進(jìn)行3D建模,具體是橋梁檢測車以及障礙物的3D建模需要調(diào)用Android系統(tǒng)中的OpenGL ES函數(shù)庫;對于橋梁檢測車的建模第一步調(diào)用carBody. drawSelf (gl)方法繪制車身;第二步調(diào)用carHead. drawSelf (gl)繪制車頭;第三步調(diào)用wheel. drawSelf (gl)繪制四個(gè)輪子;第四步調(diào)用carPlateform. drawSelf (gl)函數(shù)繪制機(jī)械臂支架;第五步調(diào)用 arm I. drawSelf (gl)、arm2. drawSelf (gl)、arm3. drawSelf (gl)方法繪制三段機(jī)械臂;對于障礙物的建模由用戶界面輸入兩橋墩間的間距L、橋面離水面的距離H以及橋體的寬度W ;利用這些輸入的參數(shù)調(diào)用barrier. drawSelf (gl)函數(shù)繪制障礙物,這里的障礙物用缺少前面與背面的六面體等效;步驟四通過雙軸傾角傳感器傳來的數(shù)據(jù),控制橋梁檢測車機(jī)械臂3D模型的轉(zhuǎn)動來模擬橋梁檢測車機(jī)械臂真實(shí)的狀態(tài);并且在屏幕上顯示,具體是用由雙軸傾角傳感器傳來的角度數(shù)據(jù)控制各段機(jī)械臂模型的角度變量,實(shí)現(xiàn)機(jī)械臂3D 模型的轉(zhuǎn)動;整個(gè)模型通過GLSurfaceView顯示在IXD屏幕上;步驟五檢測機(jī)械臂3D模型是否與障礙物模型之間發(fā)生碰撞;如果檢測到了碰撞發(fā)生,將觸發(fā)聲音警報(bào),具體是通過遍歷機(jī)械臂模型坐標(biāo)頂點(diǎn)的最大值點(diǎn)和最小值點(diǎn),判斷這些點(diǎn)是否位于障礙物模型之中;如果有一個(gè)點(diǎn)沒有位于障礙物模型之中,即判斷為碰撞的發(fā)生,并觸發(fā)Android應(yīng)用程序中用SoundPool類實(shí)現(xiàn)的聲音警報(bào)。
全文摘要
本發(fā)明涉及一種基于Android系統(tǒng)的橋梁檢測車3D模擬監(jiān)控方法,本發(fā)明包括以下步驟在搭有Android系統(tǒng)的開發(fā)板上正確連接雙軸傾角傳感器,并將這些傳感器安裝到橋梁檢測車的機(jī)械臂上;在Android應(yīng)用程序中驅(qū)動雙軸傾角傳感器,采集橋梁檢測車機(jī)械臂轉(zhuǎn)動的角度數(shù)據(jù);在Android應(yīng)用程序中對機(jī)械臂以及障礙物進(jìn)行3D建模;通過傾角傳感器傳來的角度數(shù)據(jù),控制機(jī)械臂3D模型的運(yùn)動,并且在屏幕上顯示;檢測機(jī)械臂3D模型與障礙物模型之間發(fā)生的碰撞,并且觸發(fā)聲音警報(bào)。該方法不但能讓用戶對橋梁檢測車的姿態(tài)進(jìn)行全局的觀察而且具有碰撞警報(bào)功能。這大大提高了橋梁檢測車的安全性能。
文檔編號G05B17/02GK102608920SQ20121006845
公開日2012年7月25日 申請日期2012年3月15日 優(yōu)先權(quán)日2012年3月15日
發(fā)明者任建新, 張麒, 王秀敏 申請人:中國計(jì)量學(xué)院