欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種應用在無人機上的航點實時裝訂與處理方法

文檔序號:5838390閱讀:467來源:國知局

專利名稱::一種應用在無人機上的航點實時裝訂與處理方法
技術領域
:本發(fā)明屬于航空自動化控制領域,具體涉及一種應用在無人機上的大量航點實時可靠裝訂與處理方法。技術背景無人機在執(zhí)行任務前,通常預先裝訂航線。飛機起飛后,先從設置的起點切入航線,然后沿著航線飛行。飛行過程中,可能任務發(fā)生變化,需重新裝訂新航線,并設置起點將飛機快速引導到新航線?;蛘撸鑼︼w行中的航線進行調整,比如航點修改、航點刪除、航點插入等。有時,也需對機上的航線或航點進行核對和確認,比如航點查詢、航線査詢。對于航時長、航程大的無人機,需要多條航線大量航點的裝訂和實時可靠的操作。航點數(shù)據(jù)本身也很復雜,包括航點經度、航點緯度、航點髙度位置信息及其它程控信息。而現(xiàn)有的釆用數(shù)組或單一的鏈表方式進行的航點裝訂和處理方法難以滿足大量航點的快速、實時、準確及可靠的操作。
發(fā)明內容本發(fā)明提供一種應用在無人機上的大量航點實時裝訂與處理方法,利用數(shù)組與鏈表相結合的存儲方式,以航點結構變量為基本數(shù)據(jù)元素,集合數(shù)組、鏈表、結構類型的優(yōu)點,從而實現(xiàn)大量航點實時、可靠、靈活快速的裝訂與處理。在機上軟件中,每一命令操作只用短短幾條語句,大大簡化程序實現(xiàn),也提高了執(zhí)行效率。本發(fā)明的大量航點實時可靠裝訂與處理方法可地面遙控裝訂多條航線,可用于飛行前靜態(tài)預規(guī)劃和實時可靠的動態(tài)規(guī)劃。靜態(tài)預規(guī)劃是在地面做航線規(guī)劃操作,動態(tài)規(guī)劃是在機上飛行控制程序已經啟動、飛機已沿航線飛行的情況下進行航線規(guī)劃操作。靜態(tài)預規(guī)劃和動態(tài)規(guī)劃的航點裝訂、航點修改、航點刪除、航點插入、航點査詢、航線查詢、設置起點等操作相同。本發(fā)明所述的一種應用在無人機上的航點實時裝訂與處理方法首先定義航點結構類型,然后定義航點結構類型的二維數(shù)組,之后再進行航點裝訂和處理。所定義的航點結構類型包括航點的線號、點號、前向指針、后向指針、航點經度、航點緯度、航點高度等。所述的結構類型二維數(shù)組為[m+l,n+l]。程序運行初始化時為航線數(shù)組靜態(tài)分配存儲空間,航線數(shù)組中包含每個可能的航點分配固定內存空間,可以為無人機上飛控計算機準確可靠存取數(shù)據(jù)提供保障。當?shù)孛孢b控發(fā)送航點裝訂指令時,伴隨該裝訂指令的注入數(shù)據(jù)包含WAY—POINT結構中的全部航點信息。根據(jù)注入線號、注入點號,直接將航點信息解碼后存放到數(shù)組相應位置。應用本發(fā)明提供的航點處理方法,可以方便快速對航線進行航點裝訂、航點修改、航點刪除、航點插入、航點查詢、航線查詢、設置起點等操作。本發(fā)明的優(yōu)點在于1)能滿足無人機對航線航點的各種實時操作需求;2)所述的航點處理方法實現(xiàn)簡單,每個操作只需執(zhí)行幾條語句;3)靜態(tài)分配航線存儲空間,提高了對航點操作的可靠性與快捷性。圖1為航點在數(shù)組中的存儲示意圖;圖2為航線鏈表中的單一結點示意圖;圖3為大量航點裝訂后形成的航線鏈表示意圖;圖4a為航點修改前的鏈表狀態(tài)示意圖;圖4b為刪除某一航點i的鏈表示意圖;圖4c為在航點i前插入一新航點的鏈表示意圖;圖5a為某一航線上由航點形成一鏈表的實例示意圖;圖5b為在圖5a所示的航點4前插入一新航點的實例示意圖。具體實施方式下面結合附圖對本發(fā)明的一種應用在無人機上的航點實時裝訂與處理方法進行詳細說明。本發(fā)明是一種應用在無人機上的大量航點實時裝訂與處理方法,通過定義航點結構類型及航點結構類型二維數(shù)組,航點裝訂以及對航點修改、航點刪除、航點插入、航點査詢、航線查詢、設置起點的處理操作,實現(xiàn)了無人機對航線航點的各種實時操作需求。本發(fā)明首先定義一個航點結構類型WAY_POINT,所述的航點結構類型WAY_POINT包括前向指針、后向指針、線號、點號、裝訂標志、經度、諱度、高度等信息,所述的航點結構類型定義代碼如下typedefstruct{WAY_POINT*FPoint;//前向指針WAY—POINT*BPoint;//后向指針intLineN;//線號intPointN;//點號BYTEBind;//裝訂標志,0為未裝訂,1為已裝訂doubleL;//經度doubleB;〃諱度floatH;〃高度DWORDProCtrlWord;//程控字}WAY—POINT;根據(jù)航點結構類型中所描述的信息,定義一個WAY_POINT類型的二維數(shù)組WAY_POINTSkyWay[m+l[n+1];//m+1為最大航線數(shù),n為毎條航線的最大航點數(shù)。在機上軟件運行初始化時,將為航線存儲分配連續(xù)線性內存空間,如圖l所示。圖1中,每條航線0、航線1……航線m上所裝訂的航點的線號0m分別與該條航線0、航線l……航線m相對應;航點0、航點l……航點n對應著航點在鏈表中的位置。每個航點有唯一線號、點號,數(shù)組第一維下標為線號,數(shù)組第二維下標為點號。如果定義一個(m+l)X(n+l)的二維數(shù)組,那么機上最多能裝m+l條航線,每條航線最多裝有n個航點,則線號為0~m,點號為1n,點號為0的位置存放鏈表頭。其中m、n均為從0開始的整數(shù)。圖1中,航點i(o,a)表示航線0的航線鏈表中,第a個航點,其數(shù)組下標為(0,a),相應的該航點a)的線號為0、點號為a。數(shù)組第二維下標為O時,存放鏈表頭,鏈表頭的后向指針指向第一個航點。圖2中結點的類型定義為WAY_POINT,圖2中所示的每一個結點都有前向指針、后向指針和數(shù)據(jù)域,其中數(shù)據(jù)域包含航點位置信息及程控字;每一個結點的前向指針指向前一個航點,每一個結點的后向指針指向后一個結點。圖1中每一個數(shù)據(jù)單元存放一個圖2表示的結點。當?shù)孛孢b控發(fā)送航點裝訂指令時,伴隨該裝訂指令的注入數(shù)據(jù)包含WAY_POINT結構中除裝訂標志外的全部航點信息。根據(jù)注入線號、注入點號,直接將航點信息解碼后存放到數(shù)組相應位置。如果在某航線上裝訂的是第一個點(航點1),則航點1的前向指針指向鏈表頭,鏈表頭的后向指針指向該點。當裝訂該航線上第二個航點(航點2)時,航點2的前向指針指向航點1,航點1的后向指針指向航點2。依此類推,所有該航線上裝訂的航點連成圖3所示的雙向鏈表。然后可對航線上的航點進行航點修改、航點刪除、航點插入、航點查詢、航線査詢的操作,也可對航線繼續(xù)做航點裝訂操作。對于在無人機上實時可靠裝訂的大量航點,可以進行如下的一些處理方法,包括1)航點修改當?shù)孛孢b控修改某個航點時,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,用注入航點信息更新該航點。2)航點刪除當?shù)孛孢b控刪除某個航點時,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,將其航點信息清零,將其在鏈表中的前一結點與后一結點聯(lián)接起來,這樣該航點就被從鏈表中刪除。舉例如下圖4a表示航線k上3個依次聯(lián)接的點,航點i-l(k,a)、航點i(k,b)、航點i+l(k,e)。k為非負整數(shù),k《m;a、b、c為^n的任意正整數(shù)。圖4b表示刪除航點i(k,b)。如果要執(zhí)行航點刪除操作,刪除航點i(k,b),直接將航點i-l(k,a)的后向指針修改指向航點i+l(k,c),航點i+l(k,c)的前向指針修改指向航點i-l(k,a)。這時航點i+l(k,e)的序號前移l,標識改為航點i(k,e),原來的航點i(k,b)被刪除。3)航點插入當?shù)孛孢b控插入某個航點時,以注入線號和注入點號為數(shù)組下標,首先判斷該航點是否已裝訂,若已裝訂則不進行插入操作;若該航點未裝訂將注入航點信息存入相應位置。根據(jù)注入插入點號確定該點將在鏈表中的后一結點,將該點插入鏈表中后一結點前。舉例如下依然以圖4a所示的鏈表作為初始裝訂鏈表,圖4c表示在航點i(k,b)前插入新航點。如果新插入點的是線號k,點號d(d為《n的任意正整數(shù)),插入位置點號為b。那么,新插入點的序號變?yōu)閕,即航點i(k,d);原航點i(k.b)、航點i+l(k,e)的序號后移,改為航點i+l(k,b)、航點i+2(k,c)。執(zhí)行航點插入操作時,將新插入的航點d)的前向指針指向航點i-l(k,a),航點i(k,d)的后向指針指向航點i+l(k,b),而航點i-l(k.a)的后向指針修改指向航點i(k,d),航點i+l(k,b)的前向指針修改指向航點i(k,d)。4)航點査詢當?shù)孛孢b控査詢某個航點時,以注入線號和注入點號為數(shù)組下標,若未裝訂該航點,則此次航點查詢無效;若該航點已裝訂,直接取該點的航點信息編碼后回報給地面。5)航線查詢當?shù)孛孢b控査詢某條航線時,根據(jù)航線號,從航線鏈表頭的后一點即第一個航點開始回報給地面,直到回報完航線上最后一個航點。6)設置起點當?shù)孛孢b控設置起點時,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,直接取該點的航點信息更新到點信息,飛機就從當前點向新的到點切入航線;若該航點沒有裝訂,則此次設置起點指令操作無效。所述的起點是飛機切入某航線的初始點,到點是指當前飛機的目標點。7)航點推移無人機在巡航過程中,如果是正航,直接對鏈表操作當前到點的后向結點將是后一到點;如果是返航,直接對鏈表操作當前到點的前向結點將是后一到點。由于根據(jù)線號、點號索引,因此很容易定位航點在數(shù)組中的存放位置,航點修改、航點查詢指令、設置起點指令可立即執(zhí)行,不必對整條航線進行搜索。此外,航線具有鏈表的存儲結構,將數(shù)組中存儲在不同數(shù)據(jù)單元的離散結點聯(lián)接起來,很容易實現(xiàn)航點刪除操作、航點插入操作、航線査詢操作、以及飛行過程中的航點推移。使得本發(fā)明的大量航點實時裝訂和處理方法應用在無人機上時,可以方便無人機實時實現(xiàn)各種任務操作?,F(xiàn)以航點插入操作為例來具體說明本發(fā)明的航點處理方法。表1中列出了航線5上待裝訂航點的線號、點號及數(shù)組下標。當?shù)孛孢b控裝訂表l中航點到航線5上,航線5上所有航點的線號為5,點號與數(shù)組第二維下標相同,機上將按對應數(shù)組下標值存放航點信息,并形成圖5a所示鏈表。表l<table>tableseeoriginaldocumentpage8</column></row><table>圖5a中數(shù)組的第二維下標為0的位置存放鏈表頭,其余航點順序裝訂形成航線5的鏈表。在執(zhí)行航點插入操作時,圖5a所示,在航線5中的航點4(5,2)前插入點號為13的航點,先將新插入點的航點信息存放到下標(5,13)的存儲單元,再取下標(5,2)定位鏈表中的插入位置,按圖4中插入操作將點(5,13)插入鏈表。那么從新插入點開始,后面的航點序號依次推移,新插入點為航點4(5,13),原航點4(5,2)及其之后的航點序號加1,形成一新的航線5鏈表,如圖5b所示,航線5上的航點由原來的6個變成插入后的7個。本發(fā)明中利用數(shù)組與鏈表相結合的存儲方式,將復雜的航點信息封裝成一個結點,使航點操作程序實現(xiàn)清晰簡潔,又能滿足大量航點實時裝訂或航線調整。權利要求1、一種應用在無人機上的航點實時裝訂與處理方法,其特征在于首先定義航點結構類型WAY_POINT及航點結構類型二維數(shù)組[m+1,n+1],當?shù)孛孢b控發(fā)送航點裝訂指令時,其注入數(shù)據(jù)包含WAY_POINT結構中除裝訂標志外的全部航點信息,根據(jù)注入線號、注入點號,直接將航點信息解碼后存放到數(shù)組相應位置,調整前向指針和后向指針使所裝訂的航線形成一個雙向鏈表,然后可對航線上的航點進行航點修改、航點刪除、航點插入、航點查詢、航線查詢的操作,也可對航線繼續(xù)做航點裝訂操作。2、根據(jù)權利要求1中所述一種應用在無人機上的航點實時裝訂與處理方法,其特征在于所定義的航點結構類型WAY—POINT包括前向指針、后向指針、線號、點號、裝訂標志、經度、諱度、高度信息,每一個航點具有唯一的線號和點號,所述的二維數(shù)組[m+l,n十ll的第一個下標為線號,第二個下標為點號,點號為0的位置存放鏈表頭。3、根據(jù)權利要求1中所述一種應用在無人機上的航點實時裝訂與處理方法,其特征在于所述的裝訂可地面遙控裝訂多條航線,可用于飛行前靜態(tài)預規(guī)劃和實時可靠的動態(tài)規(guī)劃。4、根據(jù)權利要求1中所述一種應用在無人機上的航點實時裝訂與處理方法,其特征在于a)執(zhí)行航點裝訂指令,根據(jù)線號、點號,機上將裝訂的航點信息放到數(shù)組中相應位置,形成一個航點的雙向鏈表;執(zhí)行航點修改指令,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,用注入航點信息更新該航點;b)執(zhí)行航點刪除指令,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,將其航點信息清零,將其在鏈表中的前一結點與后一結點聯(lián)接起來,這樣該航點就被從鏈表中刪除;c)執(zhí)行航點插入指令,以注入線號和注入點號為數(shù)組下標,首先判斷該航點是否已經裝訂,若已裝訂則不進行插入操作,若該航點未裝訂,將注入航點信息存入相應位置,根據(jù)注入插入點號確定該點將在鏈表中的后一結點,將該點插入鏈表中后一結點前;d)執(zhí)行航點査詢指令,以注入線號和注入點號為數(shù)組下標,若未裝訂該航點,則此次航點查詢無效,若該航點已裝訂,直接取該點的航點信息編碼后回報給地面;e)執(zhí)行航線查詢指令,根據(jù)航線號,從航線鏈表頭的后一點開始回報給地面,直到回報完航線末點;f)執(zhí)行設置起點指令,以注入線號和注入點號為數(shù)組下標,若該航點已裝訂,直接取該點的航點信息更新到點信息,飛機就從當前點向新的到點切入航線,若該航點沒有裝訂,則此次設置起點指令操作無效;g)執(zhí)行航點推移指令,無人機在巡航過程中,如果是正航,直接對鏈表操作當前到點的后向結點將是后一到點,如果是返航,直接對鏈表操作當前到點的前向結點將是后一到點。全文摘要本發(fā)明公開了一種應用在無人機上的航點實時裝訂與處理方法,利用數(shù)組與鏈表相結合的存儲方式,以航點結構變量為基本數(shù)據(jù)元素,實現(xiàn)多條航線上大量航點的實時規(guī)劃操作,定義航點結構類型二維數(shù)組,數(shù)組的每個元素對應一個航點,第一維對應線號,第二維對應點號;將數(shù)組中每條航線都構造成一個雙向鏈表,鏈表中結點的先后順序對應航線中航點的先后順序;可實現(xiàn)的航點操作有航點裝訂、航點修改、航點插入、航點查詢、航點刪除、航線查詢、設置起點、航點推移等。利用本發(fā)明能滿足目前對無人機的航線航點的各種實時操作需求;程序實現(xiàn)簡單;靜態(tài)分配航線存儲空間,提高了對航點操作的可靠性與快捷性。文檔編號G01C21/24GK101251385SQ20081010232公開日2008年8月27日申請日期2008年3月20日優(yōu)先權日2008年3月20日發(fā)明者王宏倫,波田,舒婷婷申請人:北京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
台北县| 河池市| 永仁县| 屏边| 勃利县| 那曲县| 大港区| 西丰县| 呼和浩特市| 长葛市| 民乐县| 罗江县| 德阳市| 合江县| 苍溪县| 赤壁市| 东港市| 磐石市| 密山市| 双峰县| 漳平市| 广平县| 台中市| 安徽省| 闻喜县| 洞口县| 田林县| 和龙市| 新干县| 阳城县| 婺源县| 滨州市| 英超| 潮州市| 嘉定区| 高阳县| 紫云| 苏尼特左旗| 监利县| 团风县| 香港 |