国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

八、MSP432飛控SDK模式開發(fā)教程

2021-04-21 22:30 作者:無名創(chuàng)新開源無人機EDU  | 我要投稿

本節(jié)將詳細介紹飛控常用的API函數(shù)應用與利用SDK視覺數(shù)據實現(xiàn)自主飛行控制。下面分別以自定義軌跡飛行、追蹤物塊、APrilTag定位、自主循跡為例,了解飛控相關的API函數(shù)在不同任務中的使用,提供用戶二次開發(fā)的SDK控制函數(shù)Auto_Flight_Ctrl()函數(shù),后續(xù)二次開發(fā)任務可以均寫在此函數(shù)中。

① 自定義軌跡飛行NCQ_SDK_Run():

????默認例程是分三個SDK子任務,分別是向上飛行100cm高度,然后前進50cm,最后下降150cm,如果是以地面初始起飛條件,飛機再執(zhí)行第三個任務時會降落到地面,地面檢測函數(shù)檢測到滿足地面狀態(tài)時,飛機會自動上鎖。

l?NCQ_SDK_DUTY1\NCQ_SDK_DUTY3中

uint8_t move_with_z_target(float z_target,float z_vel,float delta,SDK_Status *Status,uint16_t number)

其中函數(shù)入口參數(shù):z_target表示目標位移,z_vel表示期望速度,delta表示運行總時間(和z_vel結合使用,即以某一速度爬升/下降多長時間),*Status表示SDK任務結構體,number表示SDK子任務序號。move_with_z_target任務執(zhí)行完畢后會返回完成標志1,用戶可以依據此標志位來判斷是否完成子任務,過渡到下一子任務。

NCQ_SDK_DUTY2中

uint8_t move_with_xy_target(float pos_x_target,float pos_y_target,SDK_Status *Status,uint16_t number)

其中函數(shù)入口參數(shù):pos_x_target表示X方向目標位移,pos_y_target表示Y方向目標位移,*Status表示SDK任務結構體,number表示SDK子任務序號。move_with_xy_target任務執(zhí)行完畢后會返回完成標志1,用戶可以依據此標志位來判斷是否完成子任務,過渡到下一子任務。需要注意的是在本SDK任務子任務執(zhí)行中間安排了過渡過程,原地懸停1S中再執(zhí)行下一任務。

其它API接口

uint8_t move_with_speed_target(float x_target,float y_target,float delta,SDK_Status *Status,uint16_t number)

其中函數(shù)入口參數(shù):x_target表示X方向期望速度,y_target表示Y方向期望速度,delta表示運行總時間(和期望速度結合使用,即以某一速度飛行多長時間),*Status表示SDK任務結構體,number表示SDK子任務序號。move_with_speed_target任務執(zhí)行完畢后會返回完成標志1,用戶可以依據此標志位來判斷是否完成子任務,過渡到下一子任務。


OPENMV視覺水平追蹤Color_Block_Control_Pliot():

俯視OPENMV視覺水平追蹤Top_APrilTag_Control_Pliot()——同理

俯視OPENMV視覺水平追蹤任務中,根據OPENMV識別到的水平目標位置,運行PID_Control_SDK_Err_LPF函數(shù)得到水平速度期望,然后運行光流速度控制函數(shù),最后得到姿態(tài)角期望。當目標丟失時會自動退出追蹤控制,保持原地懸停。

默認例程是分三個SDK子任務,分別是向上飛行100cm高度,然后前進50cm,最后下降150cm,如果是以地面初始起飛條件,飛機再執(zhí)行第三個任務時會降落到地面,地面檢測函數(shù)檢測到滿足地面狀態(tài)時,飛機會自動上鎖。


俯視OPENMV循跡控制Self_Track_Control_Pliot():

俯視OPENMV循跡控制任務中,根據OPENMV識別到的底部黑線軌跡,運行PID_Control_SDK_Err_LPF函數(shù)得到水平X方向速度期望,然后運行X方向光流速度控制函數(shù),最后得到橫滾方向姿態(tài)角期望。偏航方向根據識別到軌跡的角度,運用單比例P控制得到期望偏航的角速度,Y方向根據當前軌跡的斜率(角度)大小,決策合適的Y方向期望速度。

同理當目標丟失時會自動退出追蹤控制,保持原地懸停。

前視OPENMV視覺追蹤控制Front_AprilTag_Control_Pliot():

前視OPENMV視覺追蹤控制任務中,運行PID_Control_SDK_Err_LPF函數(shù)得到水平X方向速度期望,然后運行X方向光流速度控制函數(shù),最后得到橫滾方向姿態(tài)角期望。Y方向根據AprilTag到飛機的距離,運行PID_Control_SDK_Err_LPF函數(shù)得到水平Y方向速度期望,然后運行Y方向光流速度控制函數(shù)。同理當目標丟失時會自動退出追蹤控制,保持原地懸停。

預留用戶控制與降落任務控制:

????Auto_Flight_Ctrl()函數(shù)中預留了用戶控制函數(shù)與降落控制函數(shù),用二次開發(fā)任務時編寫具體項目任務函數(shù),執(zhí)行完畢后用降落函數(shù)落地至地面怠速后自動上鎖。同時針對某些賽題結束時需要對準降落目標,存在末端攝像頭丟失視野目標時,可以調用降落模式,用光流輔助自動下降,短時內基本不會偏移。


八、MSP432飛控SDK模式開發(fā)教程的評論 (共 條)

分享到微博請遵守國家法律
通辽市| 福建省| 沽源县| 仲巴县| 丽水市| 永春县| 仁布县| 余江县| 铜鼓县| 陆川县| 仁布县| 进贤县| 铁岭县| 黎川县| 华亭县| 吉水县| 莒南县| 台湾省| 台山市| 乐山市| 漾濞| 洛宁县| 三河市| 岱山县| 醴陵市| 常宁市| 永丰县| 盐源县| 呈贡县| 玛曲县| 当雄县| 邓州市| 棋牌| 正阳县| 营口市| 潮州市| 博兴县| 渭南市| 溧阳市| 阿克苏市| 青铜峡市|