最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【路徑規(guī)劃】無人機編隊路徑規(guī)劃matlab源碼

2021-08-18 08:46 作者:Matlab工程師  | 我要投稿


關(guān)于編隊飛行研究的問題無外乎以下4個:


編隊隊形的生成:如何將多個無人機進行聯(lián)系起來,完成編隊隊形的生成。

編隊隊形的保持:當無人機編隊隊形形成之后,如何保持且按照系統(tǒng)設(shè)定的編隊隊形進行飛行。

編隊隊形的變換:如果需要變換無人機編隊飛行的隊形,如何變換無人機編隊的隊形,即換成隊形。

編隊隊形的避障:系統(tǒng)編隊飛行時,遇到障礙物時,如何運動飛行從而避開障礙物;

640?wx_fmt=jpeg

在研究無人機編隊飛行算法前,需要去了解各個無人機之間的通信方法,通信方式可以將機群的控制方法分為以下幾種:

集中式控制方法:編隊系統(tǒng)中的個體都會互相通信,互相傳遞速度、坐標位置、運動狀態(tài)等信息。采用此種控制方法的系統(tǒng)飛行效果較好,因為編隊系統(tǒng)中的每個無人機都知道編隊系統(tǒng)中所有的信息,能做出更加科學(xué)的飛行決策和路線。

但此方式所帶來的缺點較為明顯,無人機個體之間都需要進行多個通信,需要互相傳遞較為多的數(shù)據(jù)信息,對無人機個體的計算速度以及內(nèi)存都要求比較高。數(shù)據(jù)量較大還會導(dǎo)致無人機產(chǎn)生丟失關(guān)鍵信息的問題。

分布式控制方法:就不存在上述信息量較大導(dǎo)致丟失的情況,無人機編隊系統(tǒng)中的個體只需要和領(lǐng)域的無人機進行通信,通信數(shù)據(jù)包以及通信鏈路都比較少。與集中式控制方法相對,采用此種控制方法的編隊系統(tǒng)飛行效果會差一些。

正因為只無人機個體只需要和領(lǐng)域無人機通信,反而更好在實際應(yīng)用中實現(xiàn)該控制方法。除此之外,該控制方法不牽扯到無人機編隊系統(tǒng)其它無人機個體,可以極為方便的對無人機編隊系統(tǒng)中的無人機個體進行刪減或增加。

比如,當編隊無人機系統(tǒng)中的某個個體出現(xiàn)故障導(dǎo)致編隊系統(tǒng)中的個體缺失時,對系統(tǒng)整體的影響較小,并可以實時的補充上其他無人機個體,讓編隊系統(tǒng)快速恢復(fù)正常的工作狀態(tài)。

分散式控制方法中:編隊系統(tǒng)中的個體無人機之間不會進行通信,在編隊系統(tǒng)中,會約定好飛行固定點,系統(tǒng)中的無人機個體正常保持與固定點的相對關(guān)系就可以了。由此可見,采用此種控制方法的編隊系統(tǒng)計算量更小,但其帶來的編隊飛行效果是極差的,由于編隊系統(tǒng)中的無人機個體不相互通信,可能會帶來無人機之間的碰撞從而發(fā)生嚴重事故。

640?wx_fmt=jpeg

了解通信方式之后,下面可以介紹關(guān)于無人機編隊控制的一些控制方法:

1)跟隨領(lǐng)航的控制方法。首先設(shè)定無人機編隊系統(tǒng)中的一架作為領(lǐng)航無人機,其他個體為跟隨無人機,在編隊飛行時,跟隨無人機實時跟隨領(lǐng)航無人機進行飛行。在此種控制算法中,由于有領(lǐng)航無人機和跟隨無人機的這種相對運動模式,我們可以將無人機編隊系統(tǒng)的隊形控制問題轉(zhuǎn)換成跟隨無人機跟隨領(lǐng)航者的位置運動情況。

這種控制方法被許多學(xué)者研究并實現(xiàn),其優(yōu)點在于復(fù)雜的多個個體之間的問題可以轉(zhuǎn)換成單個個體的運動情況研究。降低了個體研究的數(shù)量。但缺點也很明顯,整個無人機編隊系統(tǒng)的穩(wěn)定性都由領(lǐng)航者決定,依賴性較強,一旦領(lǐng)航者出現(xiàn)問題,整個系統(tǒng)將出現(xiàn)崩潰,除此之外,編隊系統(tǒng)也容易受外界干擾的影響。

2)虛擬結(jié)構(gòu)法。虛擬結(jié)構(gòu)法的主要思想是將無人機編隊系統(tǒng)的隊形組成看作是剛性的虛擬結(jié)構(gòu),在無人機編隊飛行運動期間,單個無人機個體可以看做是固定在虛擬結(jié)構(gòu)上的固定位置上,一旦無人機編隊隊形發(fā)生改變,編隊系統(tǒng)中的無人機個體直接跟蹤保持虛擬結(jié)構(gòu)上的固定坐標點就可以完成設(shè)定好的編隊飛行巡檢路線。

3)人工勢場法。人工勢場法在無人機航線軌跡規(guī)劃上用的較多。這是一種利用物理吸引力和排斥力的概念的虛擬力方法,障礙物和目標點會對無人機會產(chǎn)生不同的力,目標點對無人機具有吸引力,障礙物對無人機具有排斥力,兩者的結(jié)合即合力對無人機產(chǎn)生加速力,從而控制無人機的運動。人工勢場法的優(yōu)點在于原理簡單和實時性較好,但對無人機的運動學(xué)約束問題無法進行處理,所以此類方法用在無人機編隊飛行的研究比較少。


clear all close all clc syms x1 syms x2 grid on hold on axis equal N = 4; d = 1.5; pos = 3*rand(2,N); pos = [pos; rand(1,N)]; pos(1:2,1) = [5;0]; [pos,obst,target,dist_matrix,lambda,sec_dist,mu,Cr,d,tr1,tr2,tr3,tr4] = formazione_rombo(pos,d,[],[],1,0.02); initial_pos = pos; plot3(initial_pos(1,1),initial_pos(2,1),initial_pos(3,1),'s','MarkerSize',10, 'MarkerFaceColor','y','HandleVisibility','off'); plot3(initial_pos(1,2:4),initial_pos(2,2:4),initial_pos(3,2:4),'s','MarkerSize',10, 'MarkerFaceColor','g'); G = create_graph(pos,sqrt(2)*d); while norm(pos(:,1)-target(:,1)) > 0.1 ? ?pos(:,1) = adjustement(pos(:,1),obst,target,x1,x2,0,10*lambda,0.8,mu,Cr,G,1); ? ?pos = adjustement(pos,obst,[],x1,x2,dist_matrix,5*lambda,1,mu,Cr,G,2); ? ?G = create_graph(pos,sqrt(2)*d); ? ?check = checkDist(pos,dist_matrix,G) ? ? ? ?%ripristino la formazione se si sminchia troppo ? ?while check > 2 ? ? ? ?pos = adjustement(pos,obst,[],x1,x2,dist_matrix,3*lambda,sec_dist,mu,Cr,G,1); ? ? ? ?G = create_graph(pos,sqrt(2)*d); ? ? ? ?check = checkDist(pos,dist_matrix,G) ? ?end ? ? ? ?tr1 = [[tr1] [pos(:,1)]]; ? ?tr2 = [[tr2] [pos(:,2)]]; ? ?tr3 = [[tr3] [pos(:,3)]]; ? ?tr4 = [[tr4] [pos(:,4)]]; ? ?disp(norm(pos(:,1)-target(:,1))); end G = create_graph(pos,sqrt(2)*d); check = checkDist(pos,dist_matrix,G); if check >0.15 ? ?[pos,~,~,~,~,~,~,~,~,tr11,tr22,tr33,tr44] = formazione_rombo(pos,d,[],obst,2,0.02); else ? ?tr11 = []; ? ?tr22 = []; ? ?tr33 = []; ? ?tr44 = []; end tr1 = [tr1 tr11]; tr2 = [tr2 tr22]; tr3 = [tr3 tr33]; tr4 = [tr4 tr44]; plot3(tr1(1,:),tr1(2,:),tr1(3,:),'--'); plot3(pos(1,1),pos(2,1),pos(3,1),'s','MarkerSize',10, 'MarkerFaceColor','y'); plot3(pos(1,2:4),pos(2,2:4),pos(3,2:4),'s','MarkerSize',10, 'MarkerFaceColor','r'); plot3(obst(1,:),obst(2,:),obst(3,:),'*b') plot3(target(1,1),target(2,1),target(3,1),'-o','MarkerSize',15); plot3(tr2(1,:),tr2(2,:),tr2(3,:),'--'); plot3(tr3(1,:),tr3(2,:),tr3(3,:),'--'); plot3(tr4(1,:),tr4(2,:),tr4(3,:),'--'); legend('Initial Position','Trajectory','Leader','Final Position','Obstacle','Final Target','FontSize',14);


?


【路徑規(guī)劃】無人機編隊路徑規(guī)劃matlab源碼的評論 (共 條)

分享到微博請遵守國家法律
横峰县| 阿拉善左旗| 赣榆县| 黑河市| 论坛| 宜丰县| 大厂| 六枝特区| 武定县| 济宁市| 屏边| 河东区| 昭觉县| 株洲县| 通州市| 阳曲县| 剑河县| 遵义市| 海阳市| 师宗县| 永新县| 灯塔市| 大荔县| 长乐市| 常熟市| 南木林县| 蓬溪县| 五大连池市| 朔州市| 宣威市| 读书| 弋阳县| 曲阜市| 衡阳县| 通渭县| 鸡西市| 汝南县| 霍城县| 通榆县| 万宁市| 波密县|