黃俊康,鄧愷瀟,范千千,林家弘,何慶麟,彭 力,2
(1.華南師范大學 物理與電信工程學院,廣東 廣州 510006;2.華南師大(清遠)科技創(chuàng)新研究院有限公司,廣東 清遠 511517)
聲波可以在空氣、水、生物組織等多種介質(zhì)中傳播.因此,可以利用超聲波來產(chǎn)生聲輻射力,用以平衡物體的重力,可以使泡沫小球、液滴、生物組織等物體穩(wěn)定地懸浮.
超聲懸浮技術(shù)是無容器處理的關(guān)鍵技術(shù)之一,在液滴蒸發(fā)[1]、析出動力學[2]、納米微粒操控[3]、蛋白質(zhì)結(jié)晶[4]等領(lǐng)域有廣泛的應(yīng)用.超聲相控陣可以對輕小物體進行精細地操控,有很廣泛的應(yīng)用前景[5].2015 年 Marzo[5]等人利用并比較了聲鑷、聲渦和聲杯三種聲勢阱的特點,拓寬了超聲相控陣對粒子的操控方式,可以實現(xiàn)粒子的三維移動和原地旋轉(zhuǎn).在此之前,超聲相控陣主要通過改變駐波的位置來實現(xiàn)對粒子的操控,這種方式在粒子操控范圍上和操控粒子的數(shù)量上都有很大的局限性.2018年,Marzo[6]等人使用 16×16的超聲相控陣實現(xiàn)了全息聲鑷,其具有與全息光鑷相似的功能,它可以獨立操控多個多種材質(zhì)的粒子,并且適用于多種媒介(如空氣、水、生物組織).
超聲相控陣對粒子精確操控的關(guān)鍵技術(shù)之一是求出各換能器的最優(yōu)相位延遲.通過優(yōu)化調(diào)控換能器的相位延遲,使各換能器處于最優(yōu)相位延遲,以便在粒子懸浮位置產(chǎn)生穩(wěn)定、抗干擾的聲勢阱,從而使粒子穩(wěn)定地懸浮.但是在目標函數(shù)的計算上,實現(xiàn)難度較大.若方法使用不恰當,容易導(dǎo)致計算出的結(jié)果不是最優(yōu)解,且計算的效率低.Marzo[6]等人使用了IB算法對相位延遲優(yōu)化計算,但IB算法優(yōu)化計算相位延遲時只達到了 π/16的精度.姜兆田[7]分別使用了BFGS算法和自適應(yīng)遺傳算法(AGA)對相位延遲優(yōu)化計算,得到了AGA算法在計算較大規(guī)模超聲相控陣時比BFGS算法更具優(yōu)勢的結(jié)論.
本文設(shè)計了一種改進的AGA算法,其優(yōu)化相位延遲的精度達π/256.將其與傳統(tǒng)遺傳算法(GA)和AGA算法比較,發(fā)現(xiàn)改進AGA算法具有多種優(yōu)勢.本文使用該算法計算了空間中4個懸浮點的目標函數(shù),發(fā)現(xiàn)都有很好的優(yōu)化結(jié)果,并通過計算另兩種陣列模式下的目標函數(shù),驗證了該算法對陣列規(guī)模不敏感.此外,本文還搭建了超聲相控陣平臺,將優(yōu)化算法計算得到的結(jié)果運用到對輕小物體的任意點懸浮實驗中,發(fā)現(xiàn)實驗結(jié)果與仿真結(jié)果相符合,驗證了該改進AGA算法的可靠性.
超聲相控陣實現(xiàn)輕小物體的任意點懸浮一般是通過控制各個換能器,使它們的相位處在最優(yōu)相位延遲,在輕小物體位置處形成一個穩(wěn)定、抗干擾的聲勢阱,從而實現(xiàn)輕小物體的穩(wěn)定懸浮.目標函數(shù)是需要優(yōu)化計算的函數(shù),產(chǎn)生穩(wěn)定、抗干擾的聲勢阱要求目標函數(shù) O取得最大值[5].
其中 K1、K2為
式中 V表示球形微粒的體積,ρ0是空氣的密度,ρp是懸浮物體的密度,c0是媒介的聲速,cp是懸浮物體中的聲速.
聲壓 p 為[8]
式中N為換能器個數(shù),ω為圓頻率,ua是最大振幅,a為換能器半徑,θ是換能器中心和空間點的連線與法線的夾角,r為換能器中心與空間點的距離,k為波矢,φ為換能器的相位延遲,J1為一階貝塞爾函數(shù),圖1為換能器輻射的示意圖.
圖1 換能器輻射示意圖
在本文中,不需要讓換能器陣列移動,因此在這里不需考慮換能器位置的變化.此時聲壓p只是相位延遲的函數(shù),因此目標函數(shù)O也只是相位延遲的函數(shù).但需要計算出各換能器的最優(yōu)相位延遲,才能使目標函數(shù)O值達到最優(yōu)值,從而在粒子懸浮位置產(chǎn)生穩(wěn)定、抗干擾的聲勢阱.下一節(jié)將主要從個體編碼、遺傳算子兩個方面重點介紹用于計算最優(yōu)相位延遲的改進AGA算法.
遺傳算法中個體的編碼可采用二進制編碼的方式[9].編碼出的染色體長度由換能器個數(shù)以及相位延遲精度決定.換能器的相位延遲一般是[0,2π]之間的數(shù),若相位延遲需達到 π/2m的精度,則需要用m+1位二進制數(shù)編碼.若總共有n個換能器,則染色體總長度為n(m+1).例如,若總共有2個換能器,相位延遲分別為 φ1=0.75π,φ2=0.25π,精度要求為π/4,則可以用二進制數(shù)011001來表示.
為了保證計算結(jié)果有足夠的精度,相位延遲精度需達到π/256.因為相位延遲在[0,2π]范圍內(nèi),故每個換能器的相位延遲需用9位二進制數(shù)來表示.若有50個換能器,則50個換能器的相位延遲數(shù)據(jù)需用450位二進制數(shù)表示.這說明染色體長度應(yīng)為450,可見染色體長度很長.為了加快收斂速率、使收斂更穩(wěn)定和避免出現(xiàn)早熟現(xiàn)象,本文的遺傳算子采用了自適應(yīng)的交叉和變異算子(AGA算法與GA的區(qū)別),同時改進了選擇算子(改進AGA算法與AGA算法的區(qū)別).
在傳統(tǒng)的遺傳算法(GA)中,交叉概率 Pc和變異概率Pm固定不變.當Pc設(shè)置過大時,交叉操作容易對適應(yīng)度較高的個體的結(jié)構(gòu)產(chǎn)生破壞;當Pc設(shè)置過小時,會減慢遺傳算法對最優(yōu)解搜索的速度.當Pm設(shè)置過大時,遺傳算法容易變成隨機搜索算法,從而失去遺傳算法的優(yōu)勢;而當Pm設(shè)置過小時,很難產(chǎn)生新的個體結(jié)構(gòu).
考慮到以上的種種缺陷,本文選用自適應(yīng)的交叉和變異算子,該方法根據(jù)進化的情況在搜索過程中動態(tài)地調(diào)節(jié)交叉概率和變異概率,其公式為
其中每代種群中的最優(yōu)個體的適應(yīng)度值為fmax,種群所有個體的平均適應(yīng)度值為 favg,f為變異個體的適應(yīng)度值,f′為準備交叉的兩個個體中適應(yīng)度較大的個體對應(yīng)的適應(yīng)度值的數(shù)值.k1、k2、k3、k4為系數(shù),其值在[0,1]之間.
在AGA算法中,根據(jù)個體的適應(yīng)度值自適應(yīng)地調(diào)整 Pc和 Pm,從式(5)、式(6)可以看出,當個體適應(yīng)度值接近最大適應(yīng)度值時,交叉概率Pc和變異概率Pm將變小,當個體適應(yīng)度值等于最大適應(yīng)度值時,交叉概率Pc和變異概率Pm將變?yōu)?.這樣保證了適應(yīng)度高的個體的優(yōu)良性狀可以更好的保持下來,不被破壞,加快了算法的收斂速率;適應(yīng)度低的個體交叉和變異概率較高,可以加快其進化速率,產(chǎn)成優(yōu)良性狀,避免出現(xiàn)早熟現(xiàn)象.
為了進一步提高收斂速率和收斂的穩(wěn)定性,采用輪盤賭法結(jié)合精英選擇策略的改進選擇算子.在輪盤賭法中,個體被選擇進行遺傳的概率與其適應(yīng)度值f成正比.適應(yīng)度越高,被選中的概率越大;適應(yīng)度越低,被選中的概率就越小.首先對種群中所有個體的適應(yīng)度值求和:
可以計算出某個體被選中的概率為
然后計算得到某個體的累計選擇概率為
選擇的規(guī)則:隨機生成一個[0,1]的實數(shù) r,若r<Qi,則選擇第i個個體,否則使 i+1,然后繼續(xù)進行比較.
讓輪盤轉(zhuǎn)動N次,每次都按照以上規(guī)則來選擇個體.這樣計算的結(jié)果與目的是:適應(yīng)度高的個體有更高的概率將自身優(yōu)良性狀遺傳給下一代;適應(yīng)度低的個體因為遺傳給下一代的概率較小,在代數(shù)不斷更迭過程中,會逐漸地被淘汰,從而加快了算法的收斂速率.
精英選擇策略的核心思想是:當前種群中適應(yīng)度最高的個體直接替代適應(yīng)度最低的個體,并且不參與本次的交叉和變異(若有最高/低適應(yīng)度的個體有多個,則只取其中一個).
從上面的分析可以看出,輪盤賭法并不能保證適應(yīng)度高的個體一定會被遺傳到下一代.為了最大限度地保證當前種群中適應(yīng)度高的個體可以將自身優(yōu)良性狀遺傳給下一代,使算法收斂更加穩(wěn)定.因此采用輪盤賭法和精英選擇策略相結(jié)合的改進選擇算子,在加快算法收斂速率的同時,也能使算法收斂更加穩(wěn)定.
改進AGA算法的基本步驟流程圖如圖2所示.
圖2 改進AGA算法基本步驟流程圖
本文中,換能器半徑為5 mm,發(fā)射超聲波頻率為40 kHz,空氣中聲速取346 m/s,由這兩值可求得聲波的波數(shù)為726 m-1.懸浮物為聚丙乙烯(EPS)小球,密度為 29 kg/m3,聲波在 EPS中傳播速率為900 m/s,空氣的密度為 1.18 kg/m3.因為在本實驗中目標函數(shù)只需取相對值,所以 K1、K2、C取相對值,分別為:1.759×10-16、2.945×10-16.種群規(guī)模一般設(shè)置在30~160范圍內(nèi),本文綜合考慮了算法最優(yōu)解的搜索效率和計算時間,將種群規(guī)模設(shè)置為50[9],并將遺傳算子參數(shù) k1、k2、k3、k4分別設(shè)為 0.7、0.2、0.4、0.2,并采用隨機生成的方式初始化種群.
分別使用改進AGA算法、AGA算法和GA算法計算相同的目標函數(shù),得到三者的執(zhí)行結(jié)果如圖3所示.
從圖3中可見,AGA算法在收斂速率和最終解兩方面都優(yōu)于GA算法,說明自適應(yīng)的交叉和變異算子可以有效地提高算法的收斂速率和最終解最優(yōu)個體的適應(yīng)度值.在收斂效果方面,改進AGA算法更穩(wěn)定,AGA算法收斂存在頻繁跳變的情況;在最終解方面,改進 AGA算法的最優(yōu)個體適應(yīng)度值較AGA算法更大.所以改進遺傳算子,使改進AGA算法在收斂速率、最終解最優(yōu)個體的適應(yīng)度值和收斂的穩(wěn)定性三方面較AGA算法和GA算法更有優(yōu)勢.
圖3 三種遺傳算法執(zhí)行結(jié)果圖
為了驗證改進AGA算法對空間任意懸浮點都有良好的優(yōu)化效果,以上下5×5陣列為例,并在裝置中軸線上取了不同高度的兩點(25,25,30)mm,(25,25,45)mm,以及裝置中軸線外的不同高度的兩點(15,25,30)mm,(15,25,45)mm(如圖 4所示,小球懸浮位置即為圖4中黑點處).使用改進AGA算法計算這4個懸浮點的各換能器的最優(yōu)相位延遲,并得到了如圖5所示的對應(yīng)目標函數(shù)優(yōu)化結(jié)果(圓圈處為小球懸浮位置).
圖4 懸浮位置示意圖
圖5 任意點懸浮目標函數(shù)優(yōu)化效果圖
從圖5中可以看出,在4個懸浮點(圖中圓圈)周圍目標函數(shù)取得了最優(yōu)值.在懸浮點處產(chǎn)生了穩(wěn)定、抗干擾的聲勢阱.
為了探究改進AGA算法對陣列規(guī)模的敏感性,采用了上下4×4陣列和6×6陣列兩種規(guī)模的陣列(如圖6所示).小球懸浮位置即為圖中黑點處,坐標分別為(20,20,30)mm,(30,30,30)mm.
圖6 兩種規(guī)模陣列懸浮點位置示意圖
使用改進AGA算法優(yōu)化目標函數(shù),分別計算出這兩種陣列模式的各換能器最優(yōu)相位延遲.目標函數(shù)的優(yōu)化結(jié)果以及各換能器最優(yōu)相位延遲如圖7所示.
圖7 不同規(guī)模陣列優(yōu)化結(jié)果和最優(yōu)相位延遲圖
在兩種陣列模式的目標函數(shù)的優(yōu)化結(jié)果圖中(圖7),可見在小球懸浮位置處都取得了最優(yōu)的目標函數(shù)值,說明該優(yōu)化算法對不同規(guī)模的超聲相控陣都適用,即的改進AGA算法對陣列規(guī)模不敏感.
本文搭建了上下平行5×5的超聲相控陣,利用FPGA產(chǎn)生兩組25路40 kHz的方波信號,并且方波的相位延遲控制精度可達到π/1 250.通過電腦串口可以將計算得到的各換能器最優(yōu)相位延遲數(shù)據(jù)傳輸?shù)紽PGA上,從而實現(xiàn)對各個換能器相位的操控.裝置示意圖如圖8所示.
圖8 裝置示意圖
將各個換能器最優(yōu)相位延遲數(shù)據(jù)傳輸給FPGA后,分別在(25,25,30)mm、(25,25,45)mm、(15,25,30)mm、(15,25,45)mm 四個位置處放置小球,經(jīng)后期處理將目標函數(shù)優(yōu)化結(jié)果的圖像與實驗拍攝的實物小球懸浮圖像疊加起來(如圖9所示).從圖中可見實物小球懸浮位置處于目標函數(shù)最優(yōu)區(qū)域,實驗結(jié)果與實驗仿真結(jié)果吻合,驗證了算法的可靠性.
圖9 任意點懸浮實驗圖
相位延遲優(yōu)化算法是超聲相控陣實現(xiàn)任意點懸浮的關(guān)鍵,也是難點.本文將輪盤賭法和精英選擇策略相結(jié)合作為選擇算子,改進了AGA算法.該改進AGA算法在對目標函數(shù)的優(yōu)化上,與GA算法以及AGA算法比較,有收斂速度更快、收斂更穩(wěn)定以及目標函數(shù)最優(yōu)解更優(yōu)的優(yōu)勢.本文對算法進行了敏感性分析,發(fā)現(xiàn)算法對陣列規(guī)模不敏感,算法適用于多種陣列規(guī)模.此外,通過實驗仿真和現(xiàn)場實驗驗證了運用該算法,能夠在懸浮點處產(chǎn)生穩(wěn)定且抗干擾的聲勢阱,從而實現(xiàn)輕小物體的任意點懸浮.