技术分享 | 基于人工势场法的无人机,机间避撞实现
對于無人機集群飛行除了它的控制方式,軌跡規劃、避障等方面的考慮之外,還要考慮無人機集群機間的避撞問題,使得編隊既能保持隊形又能實現穩定飛行,那么要避免無人機與無人機之間的碰撞,要通過什么樣的方式來實現呢?動動腦袋,小小思考一下哦!
下面來看看我們針對解決無人機機間避撞問題所使用的方法吧! 在本次仿真中,我們采用了人工勢場法來實現無人機與無人機之間的碰撞。下面將對人工勢場法做一個簡單介紹。
人工勢場法簡稱APF是Artifical Potential Field的首字母縮寫,它的基本思想是,將機器人所在周圍環境中的運動設計成抽象的人造引力場中的運動。在APF中,所有的障礙物都被視為有最高勢能的地方。假設機器人從山頂前往山下的目標點,借助高度的勢差,避開障礙物,到達目標點。人工勢場包括引力場和斥力場:其中 目標點產生引力場,對機器人產生引力,引導機器人朝向其運動 障礙物產生斥力場,對機器人產生斥力,致使機器人向反方向運動,避免機器人與之發生碰撞 物體在路徑上每一點所受的合力等于這一點所有斥力與引力的和。 詳細圖解如圖 1所示 人工勢能場的創建在多數情況下使用庫倫定理,就是機器人和它周圍物體的勢能大小與他們之間的距離的平方成反比。機器人的運動由2個力的合力決定,目標點構成吸引力,障礙物構成排斥力,兩者力的矢量合就是推動力。 如果把每架無人機都當做一個智能體,那么多智能體的避障或路徑規劃又是怎么實現驅動的呢? 首先,各智能體安裝的傳感器的讀數被轉化成障礙物的距離以及角度,然后代入斥力場計算公式,獲得斥力。再根據智能體所處位置計算引力及其角度。將所有力的矢量合相加,獲得最終的驅動力矢量。這個驅動力矢量將轉化成機器人的驅動信號。合力的垂直分量將轉換成機器人的直線行進速度,水平分量將轉換成機器人的旋轉速度。這個轉化過程則需要根據智能體的動力學方程進行。如圖 2 所示,產生的F合驅動物體運動。 以上就是我們所談及的人工勢場法基本實現,那么在多無人機飛行過程中,要實現無人機機間避撞,則主要是應用斥力場,每一架無人機都會形成自己的斥力場,當在一定距離范圍R內,若無人機間的距離r小于給定值R 則無人機就會產生避撞趨勢,每架無人機將會朝著遠離鄰居機的方向做平滑運動,以此來保持無人機與無人機之間有一個合適的距離,避免機機碰撞的發生,如圖 3所示。 通過人工勢場法,既能保證每個無人機之間不會發生碰撞,又能保證無人機的編隊隊形保持不變,有效的完成了一定的隊形變換任務。但是,這樣簡單的一個避撞算法,也存在一定的缺點,例如當無人機距離目標點太遠,將會產生巨大的引力,產生的斥力將會較小,飛行路徑時可能會碰到障礙物,或者在某個點,引力與斥力相等,易陷入局部最優解。所以在它的使用過程中,可利用其改進算法避免這些缺點。
好了,今天的人工勢場法就介紹到這里。
GZH:阿木實驗室 ( 領取免費資料包) 官方TB店:阿木實驗室(可購買硬件配件) 硬件咨詢:yanyue199506(歡迎洽談合作) 課程咨詢:jiayue199506 (免費領取機器人工程師學習計劃)
- End -
技術發展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業最新的技術和硬件推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公眾號,我們將持續發布機器人行業最有價值的信息和技術。
阿木實驗室致力于前沿IT科技的教育和智能裝備,讓機器人研發更高效!
總結
以上是生活随笔為你收集整理的技术分享 | 基于人工势场法的无人机,机间避撞实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android模拟器设置静态ip,安卓模
- 下一篇: 使用wget下载KITTI数据集