專利名稱:仿生機器魚無半徑轉彎的控制方法
技術領域:
本發明屬于自動控制領域,具體涉及仿生機器魚運動控制方法。
背景技術:
水下推進器在海洋生物觀察、海底探險、海洋救撈、檢測油罐漏油、管道檢測、以及軍事方面的應用日益增加。傳統的螺旋槳在水中游動時,在它的側面會產生渦流,降低物體的運動速度,增加動力的消耗,且有噪聲。與水下推進器相比,魚有驚人的游動能力。觀察發現,魚的游動具有無噪聲,高推進效率,機動性強等優點,因此仿魚推進器的研究成為一個重要的研究課題。
20世紀90年代以來,出現了模仿魚運動的仿生機器魚。從1994年美國麻省工學院成功研制的世界上第一條真正意義上的仿生金槍魚到2005年英國Essex大學研制的世界第一條具有自主控制能力的機器魚,機器魚已經具備有阻力小的外形、實現小半徑轉彎,自主蔽障等特點,因此,以魚的推進模式運動的機器魚被認為是未來水下運載器的設計目標,日益引起各國的重視,以美國、日本和英國為代表的許多國家積極開展對機器魚的研究,使得機器魚飛速發展。但是機器魚要達到實用還存在一些問題目前還沒有柔軟而有力的驅動器,要實現s-形轉彎,快速啟動,快速制動,在下潛過程中快速穩定的懸浮在水中,加之不知魚是怎樣控制渦流推進,不能預測給定一個命令,機器魚將會做出什么樣動作等等,并且在控制機器魚進行轉彎運動時存在轉彎半徑,機器魚的轉彎半徑是影響其機動性的重要因素,有半徑轉彎的機器魚改變方向的同時客觀的改變了位置,不能單獨改變方向。很難在水下探測或水下考古中實現原位旋轉觀察。
發明內容
本發明所要解決的技術問題是,針對現有技術中,控制機器魚轉彎時存在轉彎半徑,很難在水下實現原位旋轉的上述缺陷,提出一種控制仿生機器魚實現無半徑轉彎,在水下實現原位旋轉的方法。
本發明實現仿生機器魚的無半徑轉彎控制方法所采用的技術方案是,以機器魚質心點為原點,通過水的反作用力形成力偶,實現仿生機器魚以質心為原點的無半徑轉彎。具體包括如下步驟,確定機器魚質心點,建立機器魚的運動學模型;將機器魚關節化,根據運動學模型計算出每個關節每時刻的旋轉角度;在存儲器中建立魚尾關節與旋轉角度的關系列表;控制電路通過神經網絡發出控制信號,通過修改神經元控制器的加權系數,使加權系數的修正沿著旋轉角度誤差的平方的減小方向,從而實現自適應的最優控制,驅動機器魚從魚尾關節開始擺動,通過水的推力F形成力偶,實現仿生機器魚以質心為原點的無半徑轉彎。水的推力F的方向垂直于魚體,幅度正比于被帶動的流體的附加質量ma(l)和其機器魚在垂直方向的加速度a(l,t)。建立機器魚的運動學模型的步驟為,在二維平面以機器魚體上的質心點為圓點O建立一個坐標系,建立以魚尾的彎曲半徑Rc為半徑,正切于x軸的圓,其方程為x2+(y-Rc)2=Rc2。根據水的密度ρω、魚的高度h確定附加質量ma(l)。根據機器魚旋轉的角速度,有效阻力面積,確定機器魚所受到的水的阻力。
本發明的有益效果本發明是機器魚運動控制中急轉彎技術的研究,與c形和s形急轉彎不同之處在于提出了一種機器魚無半徑轉彎的控制方法。控制仿生機器魚原地無半徑轉彎,在改變方向時不影響位置的改變,使機器魚更加靈活,可以很好地控制某個位置上方向的改變,能實現水下原地探測或水下考古中的原地攝影。
圖1機器魚的質心確定的正視示意圖 圖2機器魚的運動控制流程圖 圖3a 4關節機器魚曲線擬和理論魚體波動曲線示意圖 圖3b機器魚關節運動曲線示意圖 圖4兩層神經網絡構造控制器 圖5仿生機器魚的無半徑轉彎運動模型 圖6虛擬機器魚原地轉彎的序列 圖7仿生機器魚無半徑轉彎旋轉軌跡
具體實施例方式 魚的游動方式分為兩類周期性的運動是以不同的速度循環運動,適合長距離巡航;非周期的運動則包括跳、鉆孔、飛、噴氣式推動、急轉彎、啟動、制動、滑行等。通常將機器魚的運動分為多種基本行為 1.巡航機器魚沿著一條直線以恒速,加速或減速運動。
2.巡航中轉彎在直航速度不為零的情況下,轉彎。
3.急轉彎突然有個角加速度。
4.快速啟動以很大的加速度啟動。
5.快速制動以很大的加速度快速制動。
6.滑行機器魚身體成為直線不用動力向前滑行。
7.上浮下潛 有半徑轉彎的仿生機器魚不能實現在原位改變方向,即要改變方向,位置就改變了,而無半徑轉彎則可以單獨改變機器魚的方向而不改變機器魚的位置。以下結合附圖和具體實施例對本發明的實現進行具體描述。本發明仿生機器魚無半徑轉彎的控制以機器魚質心點為原點,通過水的反作用力形成力偶,實現仿生機器魚以質心為原點的無半徑轉彎。
首先確定機器魚質心點對于上下對稱,前后對稱的機器魚。那么確定質心點就是確定左右方向的質心在哪。對于地球上體積不太大的物體,重心與質心的位置是重合的。可采用牽引法尋找仿生機器魚的重心,當物體受三個力作用處于平衡狀態時,這三個力的作用線必相交于一點。如圖1所示為確定機器魚質心的正視示意圖,將機器魚的一端用細繩AB懸掛起來,另一端用彈性細繩CD緩慢拉起到一適當位置,分別畫出AB、CD的延長線,并相交于E點,E點的正上方O點就是機器魚的重心。
如圖2所示為機器魚無半徑轉彎的控制流程圖。首先將機器魚尾關節化,關節越少越容易控制,同時剛性越強,柔性越差;關節越多,柔性越強,但控制越復雜,應同時考慮兩者以達到所要求的條件。每個關節的長度,主要依靠電機的尺寸。
給定機器魚每個關節的最大、最小旋轉角度、旋轉速度{θj_max,speed,θj_min},通過旋轉角度控制計算模塊計算出每個關節每時刻要旋轉的角度θ,經過A/D轉換器將其轉換為數字量,控制處理器采用PWM脈沖信號控制伺服電機,使魚尾旋轉,通過位置反饋信號判斷是否達到要控制的位置,達到了進入下一個控制環節,未達到,經基于神經網絡的PID控制器進行控制,使其旋轉達到預定位置。
根據理論魚體波動曲線擬和關節機器魚曲線確定機器魚的各關節位置。
以下以4關節機器魚為例對機器魚的關節化過程進行具體說明,如圖3a所示為4關節機器魚曲線擬和理論魚體波動曲線。為使實際機器魚的關節曲線與理論魚體波動曲線誤差最小,應使其兩曲線之間的面積最小。
將機器魚關節化,根據運動學模型計算出每個關節的旋轉角度;在存儲器中建立魚關節與旋轉角度的關系列表。
圖3b為機器魚關節運動曲線示意圖。
控制處理器中算法模塊計算某一時刻兩曲線之間面積的誤差為 其中i為離散的時刻,j=1,2,3,4為關節數。
根據誤差eij最小求出關節的坐標值。
誤差最小 (2) 其中 gij(x)=kijx+bij,bij=b_yij-kijb_yij(4) 式中f(x)為機器魚轉彎的理論曲線;gij(x)為每一時刻每一關節的直線表達式;(b_xij,b_yij)為每一關節的起點坐標;(e_xij,e_yij)為每一關節的終點坐標。
約束條件 Lj為每一關節的長度。
通過上式計算出最大時刻和最小時刻每個關節的坐標(x,y)。
根據每個關節的坐標計算出每個關節的最大、最小旋轉角度{θmax,θmin},中心控制處理器首先輸出{θmax,speed,θmin}給旋轉角度控制計算器,旋轉角度控制計算器精確的計算機器魚中間節點旋轉的角度θ的值,在存儲器中存儲關節與旋轉角度之間的關系,控制處理器根據旋轉角度θ的值控制伺服電機驅動機器魚體轉動。
其中k為角度的修正值,通過實驗得到;tl機器魚尾關節擺動到最大角度的時間;θmax為機器魚尾關節擺動的最大角度;θmin為機器魚尾關節擺動的最小角度,也就是擺動的開始角度。這樣的話,4關節的機器魚僅僅需要控制15個參數,{θi_max,speedi,θi_min},i=1,2,3,4,ψj j=1,2,3為伺服電機之間的相位差。
通過精確的擬合θ(t)曲線,確定各關節的坐標位置,計算關節的旋轉角度,根據關節的旋轉角度控制伺服電機驅動機器魚尾擺動。通過基于神經網絡的數字PID控制,根據每時刻的旋轉角度控制伺服電機驅動機器魚從魚尾關節開始擺動,機器魚尾彎曲產生推力。魚尾擺動產生的推力和水的反作用力推動機器魚旋轉實現無半徑轉彎。
數字PID控制算法為 PID調節的原理就是通過設置合適的PID參數,使實際輸出值快速平穩地收斂或者逼近于期望輸出值。為了實現在線修正PID參數,采用神經網絡的計算方法,PID參數可由網絡本身根據現場環境的改變而在線地修正,其具體方法如下 根據式(8),可用一個如圖4所示的兩層神經網絡構造控制器,對神經網絡的PID參數進行自校正。X1=e(k) 網絡輸入層為X3=e(k)-e(k-1) 網絡輸出層為U=W1X1+W2X2+W3X3 (9) 式中e(k)為輸入量與反饋量代數之和,即誤差量;X1,X2,X3為誤差量的代數和;W1,W2,W3為神經網絡權系數,表示PID的三個參數。其中,{Wi}為權系數,從表達式可看出神經網絡控制器具有PID控制器結構,其權系數就等于PID控制器的三個參數,控制器的任務就是調整控制量u(k)(關于角度誤差量的代數),使得輸出y(k)(被控對象旋轉角度輸出量)等于給定的yr(k)(機器魚關節的期望輸出旋轉角度)。因此,在此引入二次型性能指標,即取實際輸出與期望輸出的差值的平方作為誤差,為了計算方便再乘以系數,即得角度誤差E為 E=(1/2)·[yr(k+1)-y(k+1)]2 在單神經元控制中引入二次型性能指標,通過修改神經元控制器的加權系數Wi(k),使性能指標趨于最小,從而實現自適應的最優控制。使加權系數Wi(k)的修正沿著角度誤差E的平方的減小方向,即對Wi(k)的負梯度方向搜索調整。
根據BP神經網絡的誤差反向傳播和加權系數的調整,則有 又由(9)式可得 所以可得神經網絡PID控制器權系數的修正式為 其中,0<li<1學習步長, ΔWi(k)是權重的變化量,由此,神經網絡權系數{Wi}便可在線修正。
建立仿真機器魚的運動模型,對魚體上每一點的運動軌跡進行描述。旋轉角度控制計算器計算機器魚中間節點旋轉的角度θ,控制處理器根據旋轉角度θ的值控制伺服電機驅動機器魚尾轉動。水產生的推力作用于機器魚的魚尾關節,保持質心的運動軌跡為一條直線,使其質心的位置不隨時間變化。
如圖5所示為仿生機器魚的無半徑轉彎運動模型。以鲹科類機器魚為研究對象建立仿生機器魚的運動模型,在二維平面以機器魚體上的質心點為圓點O建立一個坐標系,a為魚頭位置、b為魚尾位置,質心在魚體上。魚頭為剛體,控制電路電源裝在魚頭處,魚尾是柔性的,主要產生推力,如魚嘴到質心的距離為l1,魚尾到質心的位置為l2,Rc為魚尾向一邊彎曲的圓的圓半徑,在魚尾彎曲的過程中,Rc從無窮大變化到如圖位置,Rc決定機器魚旋轉的角度。假設機器魚尾從起始位置1變化到以(O,Rc)為圓心,以Rc為半徑的圓弧上位置2,即通過擺動魚尾獲得無半徑轉彎的動力。建立正切于x軸,以Rc為半徑的圓,圓方程為 x2+(y-Rc)2=Rc2 (10) 其中,Rc決定轉彎的特點,是影響機器魚旋轉的速度,以及最大轉角的主要因素。
魚尾圓心的軌跡yc=Rc=e-(t-c)(11) 其中t為時間,c為常量。
同時魚體上的任何關節點坐標(x,y)繞質心旋轉,即 其中
是魚體上任關節點到質心的距離,x′,y′為魚體任一點的軌跡坐標。
通過上述方法建立機器魚的運動學模型,即對魚體上每一點的運動軌跡進行描述。
機器魚在彎曲時帶動了周圍的一部分水改變動量,這部分水對機器魚產生推力F,因為機器魚的關節連接的是硬臂,可以忽略其彈性系數,所以忽略魚肌肉間的相互作用。水的推力F的方向垂直于魚體,幅度正比于被帶動的流體的附加質量ma(l)和其機器魚在垂直方向的加速度a(l,t)。當單位長度的一段魚體在其橫截面內左右擺動時,也帶動了魚體周圍的一部分流體一起改變動量,因此流體對魚體的反作用力,除了魚體本身的動量變化引起的反作用力以外,還要考慮被帶動的流體的這部分附加質量的動量的變化引起的側向力F,魚體帶動周圍流體,這個被帶動的周圍流體對魚產生了附加質量。因為水的阻力D(l,t)僅僅因為旋轉引起,因此,忽略在切線方向水的反作用力。
針對上述模型對仿生機器魚無半徑轉彎運動進行具體分析,確定其運動速度、加速度的情況。假如質心O(0,0)在機器魚體的1/3處,a點為魚頭,b點為魚尾。魚轉彎的主要能量來自水產生的推力F。根據水的密度ρω、魚的高度h確定附加質量ma(l)。
附加質量ma(l)=0.25πρωh2 (13) 從而得到水的推力F(l,t)=ηma(l)a(l,t)(14) 其中η是常數。
根據機器魚旋轉的角速度ω(t),有效阻力面積A(l,t),確定機器魚所受到的水的阻力D(l,t)=0.5ρωCd[ω(t)r(l,t)]2A(l,t) (15) 它們的力矩分別為TD(l,t)=D(l,t)·ri(l,t) TF(l,t)=F(l,t)·K (16) 總力矩為 魚體對于質心的轉動慣量 所以機器魚相對于質心的角加速度為 機器魚旋轉過程的效果示意如圖6所示。0位為初始位置,裝在魚頭處的控制電路發出控制信號,驅動機器魚的關節從魚尾開始擺動。圖中位置1到3表示魚尾從以半徑無窮到Rc的彎曲過程,這個過程是產生推力的主要階段,魚尾向一邊彎曲,通過水的反作用力來產生推力矩,同時由于水的阻力產生阻力矩,兩個力矩的合力矩使魚順時針旋轉起來,此時加速度從最大慢慢減小,此過程為角速度增大的過程,位置4到位置12為只受到阻力的過程,此時加速度為負,此時處于角速度減小的過程,同時阻力也在減小。位置13到位置18為魚尾展開的過程。其中,魚尾的彎曲半徑Rc是影響機器魚轉角的重要因子,決定機器魚的轉角。
從圖6、7可以看出,機器魚先從初始開始,逆時針彎曲魚尾,然后順時針繞質心旋轉。實線為魚體在不同時刻旋轉的位置。5條虛線分別為魚頭a點、魚尾關節1,關節2,關節3,關節4旋轉的路徑,由圖看出它們是圓弧形的。從圖中看出質心在一原點處,說明質心的位置是固定的不隨時間變化。從圖中看出在逆時針彎曲魚尾的過程中和旋轉完畢時展開魚尾過程中魚頭位置不變;魚尾關節的位置隨時間變化而變化,魚尾關節一開始逆時針彎曲,然后順時針旋轉,最后展開。
從圖7機器魚運動軌跡示意圖可看出,在改變方向時不影響位置的改變,使機器魚更加靈活,可以很好的控制某個位置上方向的改變,能實現水下原地探測或水下考古中的原地攝影。
權利要求
1.一種仿生機器魚無半徑轉彎的控制方法,其特征在于,建立機器魚的運動學模型;將機器魚關節化,給定機器魚每個關節的最大、最小旋轉角度及旋轉速度;根據運動學模型計算機器魚各關節節點每時刻的旋轉角度;控制處理器通過基于神經網絡的控制,根據每時刻的旋轉角度控制伺服電機驅動機器魚從魚尾關節開始擺動;通過水產生的推力形成力偶,實現機器魚以質心為原點的無半徑轉彎。
2.根據權利要求1所述的控制方法,其特征在于,所述建立機器魚的運動學模型的步驟為,在二維平面以機器魚體上的質心點為圓點建立一個坐標系,建立以魚尾的彎曲半徑Rc,正切于x軸的圓,其方程為x2+(y-Rc)2=Rc2,其中,Rc決定機器魚旋轉的角度。
3.根據權利要求1所述的控制方法,其特征在于,所述機器魚關節化的步驟具體包括,根據理論魚體波動曲線擬和關節機器魚曲線,使兩曲線之間的面積最小,確定機器魚的各關節位置。
4.根據權利要求1所述的控制方法,其特征在于,所述神經網絡的控制包括,通過修改神經元控制器的加權系數,使加權系數的修正沿著旋轉角度誤差的平方的減小方向,從而實現自適應的最優控制。
5.根據權利要求1或2所述的控制方法,其特征在于,水的推力F的方向垂直于魚體,幅度正比于被帶動的流體的附加質量和其機器魚在垂直方向的加速度。
6.根據權利要求5所述的控制方法,其特征在于,根據水的密度、魚的高度確定附加質量。
全文摘要
本發明請求保護一種仿生機器魚無半徑轉彎的控制方法,涉及自動控制領域。本發明以機器魚質心為原點,建立機器魚的運動學模型;將機器魚關節化,根據運動學模型計算出每個關節的旋轉角度;控制電路發出控制信號,驅動機器魚從魚尾關節開始擺動,通過水的推力F形成力偶,實現仿生機器魚以質心為原點的無半徑轉彎。通過水對機器魚的反作用力,實現機器魚繞質心的無半徑旋轉。采用本發明的仿生機器魚無半徑旋轉方法,可以使仿生機器魚實現原地無半徑轉彎,在改變方向時不影響位置的改變,機器魚更加靈活。這種可以很好控制某個位置上方向的改變的方法,能實現水下原地探測或水下考古中的原地攝影。
文檔編號B63H1/00GK101219708SQ20081006933
公開日2008年7月16日 申請日期2008年1月31日 優先權日2008年1月31日
發明者毅 張, 元 羅, 敏 李, 穎 謝, 熊仕勇, 洋 徐, 曾黔蜀, 張開碧 申請人:重慶郵電大學