2021年全国大学生电子设计大赛G题无人机方案
無人機踩坑提醒:
比賽前報名表千萬別填第一個,不然你將會是踩坑小組,評委會把所有評分點以及扣分點通過你總結出來(文章會隨時補充)
方案介紹:
本人比賽期間采用的是純光流加openmv視覺閉環,這里建議視覺閉環部分可以把openmv用樹莓派+1080P的攝像頭進行替換可以忽視大部分的光線導致的數據不穩定問題。
路線
1.起飛至1.5米高度,平移一段距離后前進去找A點(這里的找A點方案等同于17年國賽的無人機題跟蹤小車)
2.找到A點后水平移動到18號格(修正方案后面講,先講流程)
3.水平移動到4號格
4.轉角3 水平移動到17號格
5.轉角16 水平到2號
6.轉角1 水平到22
7.水平到28
8.水平移動越過A點然后找降落點
修正方案
這里用到的方案就是用綠色色塊中心點坐標和攝像頭的中心的歐幾里得距離來修正飛機的水平偏移
設理想的歐幾里得距離為W (通過實際情況自行標定)
當前的歐幾里得距離為err
E為允許誤差范圍
前后修正舉例(此處是21號-19號的修正)
if ((err - W) < -E) //當中心點距離太小,則應該向后方水平移動調整err間距{Program_Ctrl_User_Set_HXYcmps(-10, -20); //后退修正}else if ((err - W) > E) //當中心點距離太大,則應該向前方水平移動調整err間距{Program_Ctrl_User_Set_HXYcmps(10, -20); //前進修正}else if ((err - W) < E && (err - W) > -E){Program_Ctrl_User_Set_HXYcmps(0, -20);}左右修正舉例
if ((err - W) < -E) //當中心點距離太小,則應該向左方水平移動調整err間距{Program_Ctrl_User_Set_HXYcmps(-20, 10); //向左移修正}else if ((err - W) > E) //當中心點距離太大,則應該向右方水平移動調整err間距{Program_Ctrl_User_Set_HXYcmps(-20, -10); //向右移修正}else if ((err - W) < E && (err - W) > -E){Program_Ctrl_User_Set_HXYcmps(-20, 0);}這里建議使用樹莓派+1080P高清長焦攝像頭,本人比賽的時候使用的是長焦的openmv,相信我你過分相信openmv的話,光照條件會給你迎頭痛擊。
在綠色邊緣的部分,也就是21-4 以及1-28 這兩個大直角邊緣可以全程閉環修正飛機姿態
對于中間的路徑,可以選擇進行盲飛至9號格停頓一下,用同樣的方案進行飛機姿態修正
非播撒區和播撒區判定
這里視覺方案采取對綠色色塊進行框選并且計算框選的矩形面積,通過矩形面積在相機中的占比來判定此時飛機是否進入非播撒區
總結
以上是生活随笔為你收集整理的2021年全国大学生电子设计大赛G题无人机方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 期刊学术论文格式
- 下一篇: div加滚动条样式修改