999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

仿生機(jī)器魚三維避障仿真系統(tǒng)的研究與實(shí)現(xiàn)

2016-04-12 00:00:00張倩薛志斌
現(xiàn)代電子技術(shù) 2016年20期

摘 要: 為了降低研究實(shí)體機(jī)器魚在探查高原湖泊過程中所造成的損害及成本,利用Visual C++開發(fā)環(huán)境和OpenGL圖形庫設(shè)計(jì)和實(shí)現(xiàn)了仿生機(jī)器魚的三維避障仿真系統(tǒng)。該系統(tǒng)可以使用戶直觀感知機(jī)器魚的實(shí)時運(yùn)動狀態(tài),用戶不僅可以控制機(jī)器魚的起始、目標(biāo)位置和起始角度而且可以從不同角度監(jiān)測機(jī)器魚的當(dāng)前位置和避障路徑。仿真結(jié)果表明該系統(tǒng)能夠逼真地顯示機(jī)器魚在場景中的運(yùn)動情況。

關(guān)鍵詞: 仿生機(jī)器魚; 三維避障仿真系統(tǒng); Visual C++; OpenGL

中圖分類號: TN911?34; TP391.9 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)20?0078?05

Abstract: In order to reduce damage and cost caused by researching on the process in which the entity robotic fish explores plateau lakes, the 3D obstacle avoidance simulation system of the simulation robotic fish was designed and implemented with the help of Visual C++ development environment and OpenGL graphics library. The system enables users to perceive the real?time motion state of the robotic fish intuitively. In this system, the users can not only control the start and target position and initial angle of the robotic fish, but also monitor the current position and obstacle avoidance path of the robotic fish from different angles. The simulation result shows that this system can display the movement of the robotic fish in the scene exactly.

Keywords: bionic robotic fish; three?dimensional obstacle avoidance simulation system; Visual C++; OpenGL

0 引 言

青藏高原是我國最大的高原,也是我國湖泊分布最密集的地區(qū)之一[1?2]。由于全球氣候變暖和人類活動的雙重影響,青藏高原的水生態(tài)環(huán)境在急劇的惡化,大多數(shù)的湖泊都出現(xiàn)了退縮甚至消亡的現(xiàn)象。青藏高原是三江的發(fā)源地,如果這種惡化趨勢不能有效地得到控制,那么下游的生態(tài)環(huán)境也將受到影響,所以要對青藏高原的水生態(tài)環(huán)境進(jìn)行探查、保護(hù)和改善。由于青藏高原的環(huán)境惡劣,人工探查水環(huán)境的工作比較困難,因此水下機(jī)器人的研究將會減少很多繁瑣的程序。

仿生機(jī)器魚作為水下機(jī)器人大家族的一員,因其擁有工作時間長、運(yùn)動范圍大、能在機(jī)動性能要求比較高的水下環(huán)境工作等優(yōu)點(diǎn),它可以進(jìn)行海底勘測、海洋生物觀察、海洋生物考察、海洋救生等許多工作[3?4],所以仿生機(jī)器魚的研究將會給以后高原水環(huán)境的探查帶來很多優(yōu)勢。仿生機(jī)器魚水下工作的前提是其要擁有自主導(dǎo)航與避障能力,然而用實(shí)體機(jī)器魚進(jìn)行避障能力研究,其過程將會對機(jī)器魚造成很大損害,而且費(fèi)用成本也很高,所以采用虛擬現(xiàn)實(shí)技術(shù)模擬具有真實(shí)感的虛擬仿真環(huán)境[5],不僅能夠降低研發(fā)費(fèi)用而且能夠直觀地觀察機(jī)器魚避障。

1 仿生機(jī)器魚三維仿真系統(tǒng)的整體結(jié)構(gòu)

本文設(shè)計(jì)的三維避障仿真系統(tǒng)主要是由人機(jī)交互層、數(shù)據(jù)層和對象層構(gòu)成。仿真系統(tǒng)的整體結(jié)構(gòu)如圖1所示。其中,人機(jī)交互層由人機(jī)交互模塊組成,對象層由仿真環(huán)境模塊、傳感器模塊、行為決策模塊和機(jī)器魚模塊組成。

人機(jī)交互層是仿真系統(tǒng)和用戶之間進(jìn)行交互和信息交換的媒介[6],用戶可以通過人機(jī)交互模塊初始化機(jī)器魚的起始位置和目標(biāo)位置、加載不同的障礙物地圖和實(shí)時控制機(jī)器魚的運(yùn)動過程,包括啟動、暫停、復(fù)位和顯示路徑等。數(shù)據(jù)層主要是將人機(jī)交互層與對象層的數(shù)據(jù)進(jìn)行存儲與交換,數(shù)據(jù)層將用戶通過人機(jī)交互層初始化環(huán)境對象的信息和控制命令傳送給對象層;對象層根據(jù)用戶的要求實(shí)時更新仿真過程;數(shù)據(jù)層將對象層中實(shí)時的仿真過程反饋給人機(jī)交互層顯示。對象層是負(fù)責(zé)實(shí)時刷新系統(tǒng)中仿真環(huán)境和機(jī)器魚的運(yùn)動狀態(tài),傳感器模塊將探測到的障礙物信息傳送給行為決策模塊,由行為決策模塊決策出機(jī)器魚的下一步位置與狀態(tài),直至到達(dá)目標(biāo)。

2 仿真系統(tǒng)的界面設(shè)計(jì)

系統(tǒng)的界面設(shè)計(jì)是用戶與計(jì)算機(jī)之間交換信息的媒介,良好的界面設(shè)計(jì)便于用戶能夠更加直觀地了解系統(tǒng)功能。通過用戶界面,用戶可以使用輸入設(shè)備對系統(tǒng)功能進(jìn)行控制,系統(tǒng)收到命令后將效果圖通過用戶

界面反饋給用戶。

2.1 框架的構(gòu)建

由于OpenGL沒有提供窗口系統(tǒng)功能,因此要使用Visual C++中的AppWizard建立一個基于MFC的單文檔工程即可創(chuàng)建框架,其基本方法與步驟如下:

(1) 創(chuàng)建項(xiàng)目文件:選擇 “File”菜單中的“New”選項(xiàng),在新建框中打開工程選項(xiàng)卡,選擇MFCAppWizard[exe],建立一個基于單文檔的工程文件。

(2) 在Project?>Setting?>link的Object/library modules中添加opengl32.lib,glu32.lib,glaux.lib,應(yīng)用程序即可訪問OpenGL的庫函數(shù)。

(3) 構(gòu)建OpenGL圖形程序的框架,完成OpenGL窗口的創(chuàng)建和初始化工作,其過程如圖2所示。

2.2 系統(tǒng)功能的實(shí)現(xiàn)

為了能夠更加直觀地操作和觀察機(jī)器魚的避障能力,設(shè)計(jì)了操作、顯示和視圖三個主要的系統(tǒng)功能。

(1) 操作功能是實(shí)現(xiàn)用戶對機(jī)器魚避障任務(wù)的操控,主要包括開始、暫停、復(fù)位、加載地圖和改變機(jī)器魚的初始位置和目標(biāo)點(diǎn)位置。

(2) 顯示功能是顯示機(jī)器魚避障的路徑,這是為了全面地了解機(jī)器魚從起始位置到目標(biāo)位置的避障過程。

(3) 視圖功能是為了不讓用戶受到視域范圍的限制,提供了全局俯視、后視、側(cè)視和近俯視4種觀察角度。為了能讓用戶體驗(yàn)到真實(shí)感,三維仿真環(huán)境得符合“遠(yuǎn)大近小”的視覺感受,這種視覺效果由OpenGL提供的照相機(jī)模型實(shí)現(xiàn)。照相機(jī)模型定義了照相機(jī)的視點(diǎn)和視域,視點(diǎn)相當(dāng)于觀察者的眼睛,視域指的是觀察者能夠觀察到的范圍。視景體是由照相機(jī)視線方向的近裁切面Pn和遠(yuǎn)裁切面Pm裁剪后形成的四棱臺確定,在視景體內(nèi)的模型會被顯示出來,不在的則會被裁剪。照相機(jī)的觀察空間如圖3所示。圖4顯示的是在不同視角所觀察到的場景,其功能是由函數(shù)gluLookAt()實(shí)現(xiàn)。

3 三維場景的模擬

場景的模擬是三維可視化仿真的核心。要建立一個具有真實(shí)感的虛擬避障環(huán)境,不僅僅要模擬機(jī)器魚和障礙物,還要模擬三維真實(shí)感地形,這樣才能夠更逼真地反映外部真實(shí)世界。

3.1 機(jī)器魚模擬

外形呈流線型的魚類具有機(jī)動性能優(yōu)異、游動速度快、游動效率高等許多優(yōu)點(diǎn),所以本系統(tǒng)中的仿生機(jī)器魚將使用曲線和曲面來繪制。 一般繪制光滑的曲線和曲面都使用大量的基本圖元來近似擬合,但這種方法不夠精確而且需要大量的計(jì)算量。OpenGL的輔助庫函數(shù)還提供了NURBS接口,它是GLU的高層NURBS工具,使用NURBS建模的方法繪制復(fù)雜曲線和曲面,建模速度快而且精度也很高。

在系統(tǒng)中,采用NURBS建模的方法構(gòu)建機(jī)器魚模型,圖5為虛擬機(jī)器魚的效果圖,其構(gòu)建步驟如下:

(1) 調(diào)用glEnable(GL_TEXTURE_2D)函數(shù)對NURBS曲面進(jìn)行紋理貼圖。

(2) 創(chuàng)建NURBS對象的指針,在創(chuàng)建NURBS曲面時要用到。

(3) 調(diào)用gluBeginSurface()函數(shù),開始繪制曲面。

(4) 調(diào)用gluNurbsSurface()函數(shù),生成和繪制NURBS曲面。

(5) 調(diào)用gluEndSurface()函數(shù),結(jié)束繪制曲面。

3.2 障礙物模擬

三維避障仿真系統(tǒng)主要是研究仿生機(jī)器魚的避障能力,所以障礙物的模擬是必不可少的。OpenGL實(shí)用庫包含了43個以glu為前綴的函數(shù)[7?8],這類函數(shù)提供了簡單的調(diào)用方法,其實(shí)質(zhì)是調(diào)用核心函數(shù),目的是減輕開發(fā)者的編程工作量。OpenGL實(shí)用庫提供了簡單物體函數(shù),可以繪制球體、圓柱、圓錐等,這大大降低了模擬障礙物的難度和復(fù)雜度。用戶可以通過加載不同的地圖顯示不同類型的障礙物,本系統(tǒng)加載地圖是通過加載地圖文件的形式實(shí)現(xiàn),地圖文件的主要內(nèi)容是:障礙物的總數(shù)、障礙物的類型標(biāo)識、不同類型障礙物的幾何信息和坐標(biāo)。采用文件形式加載地圖顯示不同的障礙物的方法簡單又方便。

3.3 地形模擬

地形是自然界最復(fù)雜的景物。地形的模擬有兩種:真實(shí)地形與模擬地形。如果地形模擬使用真實(shí)地形,必須要采用真實(shí)世界中的具體數(shù)據(jù)來構(gòu)建,其過程非常復(fù)雜,而且圖形生成速度慢。在三維避障可視化過程中對地形的生成要求不是很高,只需要使用戶在感觀上滿足,所以采用模擬地形就可以。對于非真實(shí)地形的模擬一般采用隨機(jī)生成地形高程數(shù)據(jù)的方法或者采用分形法生成地形[9?10]。在本系統(tǒng)中,將采用隨機(jī)生成地形高程數(shù)據(jù)的方法來模擬地形。該方法的使用首先要隨機(jī)生成一些特征點(diǎn)的高程數(shù)據(jù),為了使地形更加接近于真實(shí),對隨機(jī)生成的高程數(shù)據(jù)進(jìn)行平滑處理,防止形成尖銳的凸起或凹陷地形,然后將外部紋理映射上去。使用這種方法生成的地形雖然和真實(shí)的地形一模一樣,但也很美觀,而且生成的速度很快。圖6顯示的是地形場景的模擬。

4傳感器模擬及障礙物探測

4.1 傳感器模擬

根據(jù)要求在機(jī)器魚的頭部放置了4個紅外傳感器L1,R1,L2,R2,圖7是傳感器配置示意圖。L1,R1放置在機(jī)器魚頭部正前方,偏離機(jī)器魚中軸線角度為α和-α,L2,R2放置離機(jī)器魚中心點(diǎn)d處兩側(cè),偏離機(jī)器魚中軸線角度為2α和-2α。

本系統(tǒng)采用虛擬射線法[11]模擬紅外傳感器,即假設(shè)從傳感器這點(diǎn)發(fā)射出多條虛擬射線,傳感器的探測范圍為虛擬射線形成的扇形角θ,傳感器探測的最長距離為扇形的半徑l。根據(jù)虛擬射線與傳感器中心線的夾角和其長度可以得知虛擬射線端點(diǎn)的坐標(biāo),這時虛擬射線端點(diǎn)的坐標(biāo)是由傳感器坐標(biāo)系表示的。要想得知傳感器探測范圍內(nèi)是否有障礙物,必須通過判斷虛擬射線探測點(diǎn)與障礙物在同一坐標(biāo)系下的位置關(guān)系。仿真環(huán)境中所有障礙物的位置是由世界坐標(biāo)系表示的,所以要將虛擬射線端點(diǎn)的坐標(biāo)進(jìn)行變換。已知虛擬射線端點(diǎn)在傳感器坐標(biāo)系下的坐標(biāo),傳感器在機(jī)器魚坐標(biāo)系下的坐標(biāo)和機(jī)器魚在世界坐標(biāo)系下的坐標(biāo),經(jīng)過兩次變換,可以得到虛擬射線端點(diǎn)在世界坐標(biāo)系下的坐標(biāo)。

4.2 障礙物探測

本系統(tǒng)將障礙物分為球體類和柱體類這兩類,這是為了簡化探測不同類型的障礙物。

(1)球體類障礙物的探測。對于球體類的障礙物采用包圍球的探測方法。包圍球的半徑是球體類障礙物中心到球表面最長的距離。根據(jù)傳感器探測點(diǎn)M到球心的距離和包圍球半徑可以判斷是否探測到障礙物,如圖8所示。

(2)柱體類障礙物的探測。對于柱體類的障礙物采用包圍盒的探測方法。包圍盒的頂點(diǎn)坐標(biāo)是由柱體類障礙物每個頂點(diǎn)坐標(biāo)分量的最大值和最小值確定。因?yàn)楸鞠到y(tǒng)探測的是xz平面的障礙物,所以根據(jù)傳感器探測點(diǎn)世界坐標(biāo)x,z的分量與包圍盒頂點(diǎn)x,z分量的最大值和最小值進(jìn)行比較來判斷是否探測到障礙物,如圖9所示。

5 模糊控制器的設(shè)計(jì)

仿生機(jī)器魚能夠成功的完成避障,前提是能夠在虛擬環(huán)境中安全避障、從起始點(diǎn)運(yùn)動到指定位置、規(guī)劃出最佳路徑等。采用良好的路徑規(guī)劃方法能夠減短工作時間,提高工作效率。為了使仿生機(jī)器魚能夠在環(huán)境未知的情況下準(zhǔn)確的、快速的到達(dá)目標(biāo),本系統(tǒng)采用模糊邏輯算法根據(jù)紅外傳感器的配置設(shè)計(jì)了L1,R1,L2,R2轉(zhuǎn)角模糊控制器和速度模糊控制器來對機(jī)器魚的避障行為進(jìn)行決策。

系統(tǒng)中4個傳感器探測到障礙物與機(jī)器魚之間的距離分別為dL1,dR1,dL2,dR2,其中,dL1,dR1是L1,R1轉(zhuǎn)角模糊控制器的輸入,dL2,dR2是L2,R2轉(zhuǎn)角模糊控制器的輸入,將4個傳感器探測到障礙物與機(jī)器魚之間最短的距離d作為速度模糊控制器的輸入。

5.1 模糊處理

在模糊控制系統(tǒng)中,傳感器探測到的信息是精確量,需將其轉(zhuǎn)換成模糊語言變量值。系統(tǒng)中各傳感器探測到的障礙物與機(jī)器魚之間距離分別量化到[0,12]的區(qū)間內(nèi),設(shè)定輸入語言變量DL1,DR1,DL2,DR2,D的論域均為[0,1,2,3,4,5,6,7,8,9,10,11,12],定義輸入語言變量的語言值為ST(很近)、SR(較近)、S(近)、M(中)、B(遠(yuǎn))、BR(較遠(yuǎn))、BT(很遠(yuǎn))。將傳感器探測到的障礙物位置與機(jī)器魚的位置相比較,得到輸入角度θ,將θ量化到[-5,5]的區(qū)間內(nèi),設(shè)定輸出轉(zhuǎn)角的語言變量Ф的論域?yàn)閇-5,-4,-3,-2,-1,0,1,2,3,4,5],定義輸出轉(zhuǎn)角語言變量的語言值為NB(右轉(zhuǎn)大角度),NM(右轉(zhuǎn)中角度),NS(右轉(zhuǎn)小角度),0,PS(左轉(zhuǎn)小角度),PM(左轉(zhuǎn)中角度),PB(左轉(zhuǎn)大角度),CANNOT(不能決策)。同理,設(shè)輸出速度的語言變量V的論域?yàn)閇0.03,0.5],定義輸出語言變量的語言值為VSB(速度最?。SM(速度?。?、VSS(速度較小),VM(速度適中),VBS(速度較大),VBM(速度大),VBB(速度最大)。

5.2 模糊規(guī)則

模糊規(guī)則反映了輸入和輸出變量之間的關(guān)系,模糊規(guī)則庫是模糊系統(tǒng)的核心。模糊系統(tǒng)的其他組成部分都是以一種合理而有效的方式來執(zhí)行這些規(guī)則。由于L1與R1位于機(jī)器魚頭部的正前方,探測范圍有限,無法判斷哪一側(cè)離障礙物更近,所以當(dāng)L1,R1探測到障礙物與機(jī)器魚之間的距離經(jīng)模糊化后,得到相同的模糊語言值時,輸出模糊語言值為CANNOT(不能決策),由L2,R2轉(zhuǎn)角模糊控制器決定下一步策略。表1~表3分別是L1,R1轉(zhuǎn)角模糊控制器規(guī)則表、L2,R2轉(zhuǎn)角模糊控制器規(guī)則表和速度模糊控制器規(guī)則表。

5.3 清晰化

清晰化是指將模糊推理后得到的模糊語言值轉(zhuǎn)換為用作控制的精確值。清晰化的過程可采用重心法[12]實(shí)現(xiàn)。通過重心法對模糊控制量進(jìn)行處理得到精確的轉(zhuǎn)角值和速度值來控制機(jī)器魚避障。

6 仿真結(jié)果

根據(jù)上述方法開發(fā)仿生機(jī)器魚的三維避障系統(tǒng),仿真結(jié)果如圖10所示,由圖10可以看出,機(jī)器魚能夠自主地、安全地避開障礙物,順利地到達(dá)目標(biāo)點(diǎn)。

7 結(jié) 語

相比用實(shí)體機(jī)器魚研究避障能力,使用用于避障研究的仿生機(jī)器魚三維仿真系統(tǒng)更能有效地檢測避障算法而且還能減少許多費(fèi)用和難度。并且通過仿真結(jié)果可得,基于VC++與OpenGL構(gòu)建的三維避障仿真系統(tǒng)能夠逼真和可靠地模擬實(shí)際情況,這樣為研究機(jī)器魚避障能力提供了很方便的平臺。同時,它也為今后制造實(shí)體機(jī)器魚來探查高原湖泊環(huán)境提供了基礎(chǔ),減少了很多復(fù)雜的工作。

參考文獻(xiàn)

[1] 馬榮華,楊桂山,段洪濤,等.中國湖泊的數(shù)量, 面積與空間分布[J].中國科學(xué):地球科學(xué),2011,41(3):394?401.

[2] 劉蕾,臧淑英,邵田田,等.基于遙感與GIS的中國湖泊形態(tài)分析[J].國土資源遙感,2015,27(3):92?98.

[3] 劉英想,劉軍考,陳維山,等.新型兩關(guān)節(jié)機(jī)器魚的研制及實(shí)驗(yàn)研究[J].船舶工程,2008,30(4):28?31.

[4] 張葉蒙.多仿生機(jī)器魚協(xié)調(diào)控制研究[D].天津:天津大學(xué),2010.

[5] FANG X, HE H, NI Z, et al. Learning and control in virtual reality for machine intelligence [C]// Proceedings of 2012 Third International Conference on Intelligent Control and Information Processing (ICICIP). [S.l.]: IEEE, 2012: 63?67.

[6] 張璐.基于虛擬現(xiàn)實(shí)技術(shù)的用戶界面設(shè)計(jì)與研究[D].上海:東華大學(xué),2013.

[7] SHREINER D, SELLERS G, KESSENICH J M, et al. OpenGL programming guide: the official guide to learning OpenGL, version 4.3 [M]. [S.l.]: Addison?Wesley, 2013.

[8] WRIGHT R S, HAEMEL N, Jr, SELLERS G, et al.OpenGL超級寶典[M].付飛,李艷輝,譯.5版.北京:人民郵電出版社,2012.

[9] SMELIK R M, DE KRAKER K J, TUTENEL T, et al. A survey of procedural methods for terrain modeling [C]// Proceedings of the CASA Workshop on 3D Advanced Media in Gaming and Simulation (3AMIGAS). [S.l.]: CASA, 2009: 25?34.

[10] YAO Hongge. The realization of flight simulation system based on OpenGL[C]// Proceedings of 2010 Second International Conference on Information Technology and Computer Science (ITCS). [S.l.]: IEEE, 2010: 198?201.

[11] 葉秀芬,關(guān)紅玲,張哲會,等.用于避障研究的微型仿生機(jī)器魚三維仿真系統(tǒng)[J].中國圖象圖形學(xué)報(bào),2011,16(3):462?468.

[12] 孟廷豪.基于模糊控制的機(jī)器人避障研究[D].太原:中北大學(xué),2013:49?50.

主站蜘蛛池模板: 国产一级二级在线观看| 国产美女叼嘿视频免费看| 亚洲无码精品在线播放| 亚洲婷婷在线视频| 一区二区午夜| 欧美一级大片在线观看| 亚洲第一成年人网站| 日韩毛片免费观看| 国产精品视频公开费视频| 99精品国产高清一区二区| 国产一级毛片网站| 成人在线天堂| 玩两个丰满老熟女久久网| 国产高潮流白浆视频| 久草中文网| 色婷婷视频在线| 国产欧美精品一区aⅴ影院| 亚洲国产成人在线| 国产精品欧美在线观看| 国产亚洲精品自在线| AV在线麻免费观看网站| 国产日韩丝袜一二三区| 免费一看一级毛片| 超碰免费91| 在线va视频| 国产成人精品高清不卡在线| 99这里精品| 久久五月天国产自| 国产资源免费观看| 成人福利在线视频免费观看| 一本二本三本不卡无码| 制服丝袜亚洲| 天天做天天爱天天爽综合区| 国产午夜无码片在线观看网站 | 亚洲va视频| 黄色网址手机国内免费在线观看| 亚洲天堂日韩在线| 久久这里只有精品2| 大香伊人久久| 日韩欧美中文字幕一本| 国产精品香蕉在线| 成人日韩精品| 九九热在线视频| 成人小视频在线观看免费| 九九免费观看全部免费视频| 高清欧美性猛交XXXX黑人猛交 | 中文字幕天无码久久精品视频免费 | 国产呦精品一区二区三区下载| 伊人精品视频免费在线| 2048国产精品原创综合在线| 国产精品大白天新婚身材| 四虎精品国产AV二区| 丰满少妇αⅴ无码区| 国产乱子伦视频三区| 91视频99| 日韩美毛片| 欧美一级黄片一区2区| 手机在线看片不卡中文字幕| 亚洲日本中文字幕乱码中文| 日韩精品视频久久| 欧美有码在线| 2021国产精品自产拍在线观看| 国产理论一区| 免费在线看黄网址| 欧美人在线一区二区三区| 亚洲另类色| 992Tv视频国产精品| 中文字幕在线观| 中日韩欧亚无码视频| 在线亚洲小视频| 久久特级毛片| 成人免费午夜视频| 国产在线视频欧美亚综合| 99热在线只有精品| 日韩精品一区二区三区视频免费看| 美女被操91视频| 九九久久精品国产av片囯产区| 欧美α片免费观看| 亚洲成人一区在线| 成人综合久久综合| 九九热精品视频在线| 久久精品国产999大香线焦|