五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

競賽無人機搭積木式編程——以2022年TI電賽送貨無人機一等獎復(fù)現(xiàn)為例學(xué)習(xí)(7月B題)

2023-03-14 11:26 作者:無名創(chuàng)新開源無人機EDU  | 我要投稿

????????在學(xué)習(xí)本教程前,請確保已經(jīng)學(xué)習(xí)了前4講中無人機相關(guān)坐標(biāo)系知識、基礎(chǔ)飛行控制函數(shù)、激光雷達(dá)SLAM定位條件下的室內(nèi)定點控制、自動飛行支持函數(shù)、導(dǎo)航控制函數(shù)等入門階段的先導(dǎo)教程。

????????同時用戶在做二次開發(fā)自定義的飛行任務(wù)時,可以參照第5講中2021年國賽植保無人機G題中的編程思路,了解子線程執(zhí)行過程幾組關(guān)鍵變量的用法與實際作用效果。

????????了解了上述自主飛行任務(wù)設(shè)計關(guān)鍵要點后,下面我們以2022年全國大學(xué)生電子設(shè)計競賽中B題送貨無人機中題目要求為例,編寫自動飛行任務(wù)函數(shù)完成比賽中的基礎(chǔ)部分+發(fā)揮部分+創(chuàng)新部分等所有賽題要求。

根據(jù)賽題要求,我們可以將設(shè)計的軟件部分拆解為以下三個部分:

  • 機器視覺部分:需要識別底部目標(biāo)的顏色和形狀并通過SDK串口實現(xiàn)和飛控的數(shù)據(jù)交互;

  • 飛控人機交互界面部分:按鍵、顯示屏配合實現(xiàn)目標(biāo)航點坐標(biāo)的錄入、學(xué)習(xí)到的目標(biāo)特征錄入、圓環(huán)的坐標(biāo)與角度信息錄入,將設(shè)置好的參數(shù)存儲在飛控EEPROM內(nèi);

  • 無人機自動飛行任務(wù)設(shè)計:完成自動起飛、根據(jù)現(xiàn)場錄入或者學(xué)習(xí)到的航點目標(biāo)進(jìn)行作業(yè)(包括作業(yè)高度調(diào)整、自動投放/回收裝置、蜂鳴器報警提示等)、執(zhí)行完畢后自動返航。

2.1 機器視覺部分軟件的設(shè)計

????????底部目標(biāo)特征點的顏色為紅色和藍(lán)色,可以通過OPENMV機器視覺模組的尋找色塊函數(shù)find_blob()對底部目標(biāo)進(jìn)行識別,我們可以判斷識別到的色塊的密度參數(shù)即blob.density(),可以很方便的區(qū)分出矩形、圓形、三角形。

? ? ? ?最后將識別到的色塊坐標(biāo)、色塊形狀等關(guān)鍵參數(shù)填入到目標(biāo)類中,編碼后通過串口發(fā)送到飛控SDK串口,飛控通過解析到的數(shù)據(jù)幀就能判斷出目標(biāo)點的形狀和顏色用于控制決策。

2.2 飛控人機交互界面軟件設(shè)計

????????依靠Tiva LaunchPad核心板上板載的兩個獨立按鍵SW1、SW2,同時配合OLED顯示屏實現(xiàn)對賽題中相關(guān)參數(shù)的進(jìn)行修改、存儲,新加功能需要兼容原來按鍵的翻頁切換的功能,就必須設(shè)置相應(yīng)的菜單界面配合按鍵的長按、短按響應(yīng)來予以實現(xiàn)。

????????菜單界面的包括換行參數(shù)選中、參數(shù)加減調(diào)整,由于按鍵功能復(fù)用的關(guān)系,操作起來相關(guān)比較繁瑣,用戶后期可以通過外接ADC按鍵的方式,用擴展按鍵實現(xiàn)本例中的按鍵操作功能,人機交互部分操作視頻教程見下方鏈接。

TI電賽B題送貨無人機通過按鍵、菜單對坐標(biāo)、模板進(jìn)行設(shè)置

https://www.bilibili.com/video/BV1PB4y1t7y9/?vd_source=fa3e626a57e95e09ecf1b8f1627e58ac

2.3 無人機自動飛行任務(wù)的軟件設(shè)計

????????第一階段——自動起飛到航巡高度

????????uint8_t Auto_Takeoff(float target)//自動起飛到某一高度

? ????函數(shù)輸入?yún)?shù)target為目標(biāo)高度,自動起飛任務(wù)分為兩個線程,第一步為記錄當(dāng)前3維位置信息,作為導(dǎo)航初始原點位置。并且通過導(dǎo)航控制函數(shù)設(shè)置期望目標(biāo)高度位置。第二步為實時檢測高度偏差值,連續(xù)2S滿足位置偏差在10cm以內(nèi)后,函數(shù)返回值置1后,自動起飛到目標(biāo)高度任務(wù)完成,用法參照Developer_Mode.c開發(fā)者模式中case 11用法,自主起飛任務(wù)完成后會進(jìn)入case 15/16/17執(zhí)行航點遍歷作業(yè)任務(wù)。

  1. 第二階段——航點遍歷作業(yè)任務(wù)

????????void Deliver_UAV_Basic(void)

????????第一步將高度期望設(shè)置成第一作業(yè)高度150cm,水平位置期望為初始起飛時候的水平位置,并設(shè)置激光筆為持續(xù)閃爍,便于裁判判斷飛機機身中心在地面上的投影位置,起飛點上方懸停時間設(shè)置為5S。

?????????起飛點上方懸停5S后,會將鍵盤輸入的第一個作業(yè)點的水平坐標(biāo)填入到期望的目標(biāo)位置,隨后飛機會執(zhí)行從起飛點正上方飛向第一作業(yè)點的動作,在執(zhí)行本任務(wù)中對水平位置誤差進(jìn)行實時檢測,連續(xù)N次水平位置誤差小于某一閾值,即可以認(rèn)為到達(dá)第一作業(yè)點正上方附近,滿足達(dá)到第一作業(yè)點條件后會將高度期望設(shè)置成第二作業(yè)高度,飛機高度會下降。

?????????第三步是判斷無人機是否到達(dá)第二作業(yè)高度,檢測高度是否達(dá)到的原理和水平方向一樣,同樣是檢測高度方向上位置誤差持續(xù)N次滿足某一閾值。

?????????第四步飛機處于第一作業(yè)點正上方附件,并且高度已經(jīng)調(diào)整為第二作業(yè)高度,此時由于定位傳感器會存在一定位置誤差,這個時候水平方向位置控制會引入OPENMV識別到的色塊坐標(biāo)信息,無人機會對水平位置進(jìn)行二次修正,使得無人機中心投影處于色塊的中心區(qū)域。相當(dāng)于用SLAM定位提供的位置信息做粗對準(zhǔn),在接近作業(yè)點時使用機器視覺實現(xiàn)進(jìn)一步地精確對準(zhǔn)。

? ????? 與此同時會執(zhí)行吊艙下放動作指令,利用的是360度轉(zhuǎn)動的舵機,以某一角速度執(zhí)行一定時間予以實現(xiàn),具體的時間角速度、時間參數(shù)和自己舵機選型、絞盤的半徑有關(guān),這兩個參數(shù)在實際調(diào)試也比較容易確定。塔吊下方執(zhí)行完畢后會驅(qū)動高分貝蜂鳴器進(jìn)行報警提示,原地懸停5S之后抬升塔吊裝置并恢復(fù)到第一作業(yè)高度? ? ? ??

??????????第五步是無人機執(zhí)行完第一作業(yè)點任務(wù)并回到第一作業(yè)高度后,會想任務(wù)線程發(fā)布第二作業(yè)點的位置,與第一作業(yè)點類似無人機會到第二作業(yè)點正上方附近,隨即下降高度高第二作業(yè)高度,執(zhí)行視覺二次對準(zhǔn)、下放/抬升塔吊、蜂鳴器報警,之后重新返回到第一作業(yè)高度,準(zhǔn)備返航。

?????????這里需要注意的是程序在此處有一段特殊處理部分為SLAM建圖復(fù)位指令,在之所以需要這么操作的原因是減小定位誤差,NC360競賽無人機平臺使用的是2D激光雷達(dá),理論上只適合平面運動機器人平臺的SLAM建圖,無人機在空中的線性運動為3維的,無人機在不同高度上,由于周圍環(huán)境的陳設(shè)布置變化會造成一定的定位誤差,通常在3~5cm以內(nèi),該誤差范圍能滿足無人機在競賽中的控制精度要求。對于不同高度空間環(huán)境變化較大的情況,可以采用本方案中的特殊處理形式,本特殊處理方式非必須,用戶可以自己二次開發(fā)過程中根據(jù)實際情況來決策是否選用,同時對于末端降落過程,依然可以利用底部視覺特征精準(zhǔn)對準(zhǔn)的方法,實現(xiàn)精準(zhǔn)降落。

????????針對創(chuàng)新+發(fā)揮部分的自動學(xué)習(xí)和穿越圓環(huán)部分內(nèi)容,大體過程和本例程類似,差別在于坐標(biāo)是通過現(xiàn)場識別到的模板特征錄入的,這個處理過程主要工作量在于OPENMV部分,整個飛行任務(wù)執(zhí)行過程和基礎(chǔ)部分基本一樣,同時對于穿越圓環(huán)部分,通過手動輸入圓環(huán)的坐標(biāo)和大致角度后,整個飛行過程就是航點遍歷、機頭對準(zhǔn)圓環(huán)、穿越的過程,執(zhí)行完畢后返航降落,整個過程相比前兩項只是多了一個航向控制,相對來講實現(xiàn)難度并沒有拔高,仍然屬于常規(guī)考察項,用戶結(jié)合程序注釋可以比較容易理解,故在這里不做展開。

?2022年7月電賽B題送貨無人機加裝硬件介紹

2022年7月電賽B題送貨無人機加裝硬件介紹—NC360深度開源競賽無人機開發(fā)平臺_嗶哩嗶哩_bilibili

2022年TI電賽B題—送貨無人機開源方案

2022年TI電賽B題—送貨無人機開源方案NC360深度開源競賽無人機開發(fā)平臺_嗶哩嗶哩_bilibili

任意位置、角度自主飛行穿越圓框——2022年TI電賽飛行器B題送貨無人機

任意位置、角度自主飛行穿越圓框——2022年TI電賽飛行器B題送貨無人機_嗶哩嗶哩_bilibili


?2021年電賽G題植保無人機國獎標(biāo)準(zhǔn)方案學(xué)習(xí)樣例

電賽G題植保無人機國獎標(biāo)準(zhǔn)方案學(xué)習(xí)樣例——NC360深度開源競賽無人機開發(fā)平臺_嗶哩嗶哩_bilibili


2021年電賽G題—植保無人機實現(xiàn)例程—NC360深度開源競賽無人機開發(fā)平臺_嗶哩嗶哩_bilibili

?5_競賽無人機搭積木式編程 ——以2021年電賽國獎標(biāo)準(zhǔn)完整復(fù)現(xiàn)為例學(xué)習(xí)

5_競賽無人機搭積木式編程——以2021年電賽國獎標(biāo)準(zhǔn)完整復(fù)現(xiàn)為例學(xué)習(xí) - 嗶哩嗶哩




















競賽無人機搭積木式編程——以2022年TI電賽送貨無人機一等獎復(fù)現(xiàn)為例學(xué)習(xí)(7月B題)的評論 (共 條)

分享到微博請遵守國家法律
桑日县| 永济市| 黎城县| 南部县| 叶城县| 孝感市| 庆城县| 麻阳| 银川市| 昌平区| 乌审旗| 敦化市| 兰州市| 宜川县| 正安县| 高州市| 昭平县| 西峡县| 丹江口市| 仁化县| 淮安市| 宝山区| 中牟县| 苍山县| 溧阳市| 岢岚县| 新源县| 陆河县| 望江县| 宣武区| 龙海市| 榆林市| 民县| 兰西县| 财经| 丹棱县| 集贤县| 马公市| 石狮市| 宽城| 买车|