最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

八、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ā)教程的評論 (共 條)

分享到微博請遵守國家法律
高平市| 阳春市| 苗栗市| 平乐县| 大悟县| 林口县| 华亭县| 峨山| 大名县| 馆陶县| 七台河市| 曲靖市| 呼和浩特市| 北安市| 嘉禾县| 宕昌县| 娄底市| 永安市| 博客| 阜平县| 宁海县| 手游| 汶川县| 海城市| 将乐县| 平塘县| 乌拉特中旗| 海原县| 无锡市| 平远县| 徐州市| 海丰县| 县级市| 乐平市| 荔浦县| 禹州市| SHOW| 昌宁县| 阿合奇县| 调兵山市| 宜黄县|