999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開源APM模擬器在測繪無人機中的應用

2023-02-19 09:32:08劉亞非
鐵道勘察 2023年1期
關鍵詞:環境

劉亞非

(中國鐵路設計集團有限公司,天津 300308)

近年來,無人機在鐵路勘察設計領域得到越來越多的應用。無人機具有快速高效、機動靈活、應用成本低等優勢[1-2],但針對鐵路勘察行業特點設計的專用無人機并不多見。飛行模擬器能夠模擬無人機實測飛行,因而能夠節約開發成本,大幅提高研發效率。目前,市場上的無人機模擬器主要用于飛手培訓,如微軟公司開發的AriSim仿真器,可支持多平臺運行,可通過多個API接口實現數據讀取、無人機控制、環境條件控制,大疆飛行模擬器是一款面向無人機仿真培訓軟件,基于Windows系統和大疆先進的飛控技術,能與多款大疆無人機及遙控器無縫銜接,能夠提供從基礎知識教學仿真訓練以及作業場景練習,但該模擬器僅限于大疆型號無人機及相關設備[3]。不難看出,無人機飛行模擬器通過計算機圖形學技術實時模擬出飛行器地理位置和姿態相對應的連續的無人機飛行場景,形成一個逼真的飛行情景[4]。以下對開源APM模擬器的研發過程進行介紹。

1 無人機飛行模擬控制的發展

1.1 無人機飛行姿態模擬的數學邏輯

根據矢量運算的數量積定義,機體坐標系b單位矢量在大地坐標系e上的投影為

(1)

同理,大地坐標系e的三軸單位矢量在機體坐標系b上的投影為

(2)

無人機飛行姿態決定于3個歐拉角:橫滾角φ(右滾為正);俯仰角θ(抬頭為正);航向角φ(機頭在地面投影與正北方向夾角,俯視順時針為正)。不難看出,三維空間的無人機無論處于何種飛行姿態,都可以由大地坐標e的初始狀態通過3次旋轉實現隨機飛行姿態,有

(3)

方向余弦矩陣姿態估算方法在APM開源文件libraries/ap_math/Matrix3.cpp中,通過from_euler()函數來實現[6]。

1.2 無人機飛行姿態控制的實現

芯片技術的發展使無人機控制技術產生了質的飛越,徹底改變了無人機“航模”的概念。以32位STM32F427(FMUV3框架)系列單片機為核心,加載MPU6000系列電子三軸加速度計、Micro L3GD20系列16位電子陀螺儀、Micro LSM303D系列電子加速度計/磁力計、MEAS MS5611系列高精度電子氣壓高度計,構成了無人機飛控系統[7]。飛控計算機獲得無人機隨機飛行的姿態數據后,依據姿態估算理論得到無人機飛行預期的飛行姿態數據,再通過PID控制理論實現對電子調速器(ESC)的同步調節,從而達到對飛行姿態的精準控制。PID控制流程見圖1[8]。

圖1 PID控制流程

2 無人機模擬器的集成與二次開發

2.1 模擬器集成環境配置

該模擬器基于目前開源市場最新的飛控固件Ardupilot4.0.7(截止2021年底),建立仿真模擬環境之前,需要完成APM固件編譯環境的配置[9]。其他插件工具包括:Cygwin64、Mavproxy、Gcc編譯器、Githubdesktop、Git-2.32.0.2-64-bit、Eclipse,使用該工具需要配套相應的Java開發環境,建議選擇最新的Vscode集成開發環境。采用安全緩沖區數據采集思路,具有作業風險低、建模精度高、數據冗余低的優勢[10]。

2.2 模擬器程序的二次開發

(1)模擬器仿真實質

實際上,模擬器二次開發編譯的是實際的飛控源代碼,只不過仿真模擬時固件編譯的目標是SITL,和實物固件用的是同一套源代碼,二者的關系見圖2。當模擬飛行的腳本運行時,編譯器會自動生成模擬固件,然后自動運行,當修改或者重新編寫飛控代碼時,修改的部分就會被編譯仿真,這就是仿真模擬飛行能夠驗證軟件邏輯可行性的原因。

圖2 實物固件與模擬固件編譯對比

(2)模擬腳本的配置和運行

在“C:/cygwin64home本機名稱/”目錄下創建一個新的文件夾,重命名為sim。

在sim文件夾中新建txt文件,輸入如下內容:“/cygdrive/d/ardupilot/tools/autotest/sim_vehicle.p-v ArduCopter”,將這個文件保存為“s”,并刪除“.txt”后綴,這樣這個文件就變成一個可執行腳本文件。

進入Cygwin64 Terminal終端,輸入“cd sim/./”,模擬腳本執行情況見圖3。

圖3 執行腳本文件

若腳本文件運行結果為“Configure finished successfully”,則表明執行腳本成功。

(3)模擬固件編譯

該模擬固件是基于APM開源的4.0系列固件,編譯器共需要編譯處理642個文件,模擬固件編譯界面見圖4。

圖4 模擬固件編譯界面

若編譯文件顯示“Build finished successfully”,則表示模擬固件編譯成功。

2.3 二次開發注意事項

由于開源的APM代碼需要其他開源項目支持,如Uavcan、Mavlink、Chibios等若編譯過程中出現報錯,解決辦法有以下幾種。

(1)“ImportError: No module named pymavlink”,這個報錯的意思是缺少一個叫“pymavlink”的Python庫,解決辦法:打開cygw64,輸入代碼“pip install pymavlink”,然后安裝該庫。采用背向散射(backscatter)通信技術和無人機,設計遠距離無源鐵路監測信息采集系統,以降低鐵路區間軌旁監測信息傳輸系統的建設成本和維護難度[10-11]。

(2)“Build failed:task in ‘objs/AP_NavEKF2’ failed”,這個報錯是由于cygwin64環境內部使用了較新的gcc導致的,這時會出現編譯實物固件時可以編譯成功,但是無法仿真。解決方法:將cygwin64環境內的gcc版本號降級,再刪除“ardupilot/build”文件夾,以防止之前編譯產生的臨時文件影響編譯結果。

(3)“Build failed:a bytes-like object is required,not ‘str’”,導致這個報錯的原因是build文件夾中的之前編譯的中間文件與本次編譯沖突。解決辦法:只需要將ardupilot/build文件夾刪掉然后重新開始仿真即可。

2.4 模擬器程序創新點

(1)虛擬環境重新配置

由于cygwin64環境內部使用了最新的gcc編譯器,在進行仿真的時候會報錯,需要重新運行cygwin64,將插件列表中的gcc-core、gcc-g++、libgcc1 3個安裝插件包的版本改為“9.3.0-2”(原環境默認的是10.2.0-1系列版本),改完后重啟電腦,此問題就能被解決。

(2)顯示函數選擇

要想在開源地面站MissionPlanner中顯示課題的內容,而又不影響其他主要數據的顯示傳遞,函數頻率的選擇至關重要,經過多次反復嘗試,選擇“one_hz_loop()”函數作為該軟件顯示本課題內容的函數,最終成功實現在MissionPlanner中顯示“CRDC-2021A240505”課題的內容。另外,無人機飛控與地面站之間的通信鏈路帶寬有限,大部分采用57600波特率的串口。飛控不可能一直向地面站發送信息,否則姿態解算很可能會出錯。可采用每隔一定的時間發送一次,實現過程如下。

選擇函數:one_hz_loop(),添加代碼:Gcs().send_text(MAV_SEVERITY_CRITICAL,

“CRDC-2021A240505”),即可實現課題相關內容在MissionPlanner中的顯示。

(3)修改MissionPlanner起始點位置

修改飛控固件源碼中的自動測試文件,將需要位置的經緯度(十進制)、海拔高度、初始航向等參數設置為變量CRDC_Home,然后把該變量加入到腳本文件,通過腳本文件調用該變量,即可實現三維位置地圖在該模擬器中的調用。

3 模擬器測試與評估

3.1 模擬飛行測試

模擬固件編譯成功后,軟件將自動連接虛擬機。如果連接不成功,刪除飛控源代碼文件夾Ardupilot下的Build文件夾,重新編譯仿真固件。此時,打開地面站軟件MissionPlanner,連接模式設置為UDP,波特率選擇115200,點擊地面站連接按鈕,直接點擊彈出窗口的“OK”,模擬器連接地面站一般會成功。如果連接不成功,關閉MissionPlanner地面站,并關閉仿真環境,刪除源代碼中“ardupilot/build”文件夾,重新運行仿真環境再試。

模擬器連接地面站成功后,根據需要,可以把模擬仿真位置設置為地球上的任意地方,也可以根據任務要求修改初始航向。飛行模式為stablize,定位形式為GPSrtk模式,HDOP的值為1.2,定位良好,衛星數量10顆星,左側下半部顯示數據為模擬出的飛行姿態。然后,打開本地電腦文件夾ArdupilotToolsAutotest下的locations.txt文件,添加了1個名稱為“CRDC_Home”、緯度為“39.1636181°”、經度為“117.2465090°”、海拔高度為2m、初始航向為0°的位置點,在腳本文件中添加預先選定的位置:/cygdrive/d/ardupilot/Tools/autotest/sim_vehicle.py-v Ardu Copter-L CRDC_Home。若不能顯示正確的home點,在“飛行計劃”頁面,點擊右側邊欄中的“起始位置”,即可跳轉到預先設置的位置(見圖5)。

圖5 模擬飛行流程

打開地面站MissionPlanner,點擊“飛行計劃”功能菜單,進入航線規劃頁面,點擊鼠標右鍵彈出功能選項菜單,按照菜單提示規劃自己想要的航線,航線規劃完成后點擊頁面右側的“寫入航點”和“保存航點文件”兩個功能鍵,保存自己規劃好的航線(因篇幅所限,不再具體講解)。航線規劃結束后,依次輸入以下命令“arm throttleenter c 3 1500entermode autoenter”,此時飛機會按照既定規劃航線完成飛行。

圖5中紫色航跡線為模擬飛行完成的規劃航線。模擬起飛時需要注意,APM固件不允許在自動航線模式下起飛。如果在自動航線模式下輸入解鎖命令,仿真環境將提示Mode not armable(解鎖失敗)。正確的做法是先將飛控切換到自穩模式(目前有20多種飛行模式可以選擇),然后解鎖起飛,起飛后再切換到自動航線模式。

3.2 模擬器評估

評估一款無人機飛行模擬器的性能,主要是驗證該款模擬器是否能夠逼真地模擬出無人機實際飛行時的各種要素[13-15],如飛行姿態、高度、速度、無線電遙控信號狀態,導航定位信號狀態等。實踐表明,該款模擬器不但能夠顯示鐵路無人機裝備研發及應用“CRDC-2021A240505”課題的相關內容,而且飛行姿態等數據通過左側畫面顯示出來,導航定位信息為GPSrtk定位,定位狀態良好(HUD顯示區右下角顯示Fixed),HODP值等于2,衛星數量為10顆,無線電信號良好,其他硬件信息也可在相應位置顯示出來。

采用相同的參數指標比較實測飛行和模擬飛行的加速度日志圖像數據(見圖6),從2次日志的4個轉彎加速度姿態圖像來看,第1轉彎處加速度差值為+2 cm/s2,第2轉彎處重合,第3轉彎處差值為-2 cm/s2,第4轉彎處差值為+1 cm/s2,不難看出,模擬飛行圖像與實測飛行圖像相互吻合度較高。

圖6 加速度圖像對比

4 結語

近年來,隨著無人機技術地不斷發展,無人機在鐵道勘察領域的應用越來越廣泛,同時,圍繞無人機進行的二次開發利用項目也越來越多。無人機裝備的研發需要多次的實際試飛驗證,受實際試飛測試受天氣、空域管制、飛行安全、炸機等各方面的限制,試飛成本非常高。因此,對于新研發的無人機,應首先在模擬環境上測試,這樣不但能夠有效地節約研發成本,還可以大幅提高研發效率。

猜你喜歡
環境
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
孕期遠離容易致畸的環境
不能改變環境,那就改變心境
環境與保護
環境
孕期遠離容易致畸的環境
高等院校環境類公選課的實踐和探討
掌握“三個三” 兜底環境信訪百分百
我國環境會計初探
中國商論(2016年33期)2016-03-01 01:59:38
主站蜘蛛池模板: 99久久国产综合精品2023 | 欧美一级99在线观看国产| 久久亚洲综合伊人| 天堂av高清一区二区三区| 欧美国产日本高清不卡| 国产精品三级av及在线观看| 狠狠做深爱婷婷综合一区| 亚洲精品无码久久毛片波多野吉| 狠狠色香婷婷久久亚洲精品| 国产另类视频| 国产三级国产精品国产普男人| 国产乱码精品一区二区三区中文 | 国产精品亚洲欧美日韩久久| 国产视频一二三区| 国产成人一区免费观看| 99热国产这里只有精品9九| 又粗又硬又大又爽免费视频播放| 在线观看亚洲精品福利片| 国产农村精品一级毛片视频| 欧美精品高清| 中文字幕啪啪| 五月天婷婷网亚洲综合在线| 国产精品欧美在线观看| 19国产精品麻豆免费观看| 免费在线色| 中文无码精品A∨在线观看不卡 | 国产精品综合色区在线观看| 亚洲天堂日韩av电影| AV不卡无码免费一区二区三区| WWW丫丫国产成人精品| 乱码国产乱码精品精在线播放| 国产麻豆aⅴ精品无码| 亚洲中文字幕无码爆乳| 亚洲国产精品一区二区第一页免 | 在线视频亚洲色图| 无码人中文字幕| 拍国产真实乱人偷精品| 四虎亚洲精品| 国产黄色片在线看| 中文字幕在线免费看| 国产Av无码精品色午夜| 日本一本正道综合久久dvd| 亚洲国产高清精品线久久| 日韩免费毛片| 色悠久久综合| 538精品在线观看| 996免费视频国产在线播放| 久久国产高潮流白浆免费观看| 亚洲一区黄色| 久久黄色小视频| 中文字幕波多野不卡一区| 国产乱人激情H在线观看| 亚洲动漫h| 国产乱肥老妇精品视频| 亚洲国产成人综合精品2020| 欧美精品1区2区| 欧美日韩国产在线人成app| 国产中文一区二区苍井空| 色婷婷亚洲综合五月| 国产婬乱a一级毛片多女| 中文字幕无码电影| 97久久超碰极品视觉盛宴| 欧美精品亚洲日韩a| 精品视频福利| 亚洲视频色图| 精品久久香蕉国产线看观看gif| 日本三级黄在线观看| 久青草免费在线视频| 一级爱做片免费观看久久| 18禁黄无遮挡网站| 久久国产高清视频| 久久国产成人精品国产成人亚洲| 九九久久精品免费观看| 国产亚洲精久久久久久无码AV| 亚洲欧美成人| 韩日免费小视频| 色网站免费在线观看| 国产99在线观看| 综合社区亚洲熟妇p| 免费 国产 无码久久久| 999在线免费视频| 91精品国产无线乱码在线|