《飞控开发高级篇3开源编队无人机定高定点悬停.docx》由会员分享,可在线阅读,更多相关《飞控开发高级篇3开源编队无人机定高定点悬停.docx(5页珍藏版)》请在第一文库网上搜索。
1、COCOF1Y教程疯壳无人机系列目录一、“定高定点悬停”功能简介1二、代码相关1A1开源编队无人机A1OPENSOURCEFORMATIONDRONE高级功能QO恁船飞激光气压光演定点r头无头3DH浪双定高双模式令CQQH4)WIF1BB传遥控控制视觉追踪现便追晞初觉追踪控制K行总码I1色形状备&国O-C视觉跟随图形化多机支持图形化自主巡线A1语音控制移劭小车编队飞行缰程飞行官网地址:hup:WWW.fengke.c1ub购买链接:http:ShoP官方QQ群:457586268/E=j/E点、悬停一、“定高定点悬停”功能简介定高定点悬停是衡量一个飞控性能的一个重要参数。只有支持定高定点悬停,
2、才能让无人机稳定地停留在空中不动,才能够实现更多的附加功能,例如航拍等。试想如果无人机左右摇摆,时而往左,时而往右,怎么能够实现航拍呢?COCOF1Y支持定高定点悬停模式,默认出厂的时候已经设置为激光定高、光流定点,从而可以让飞机稳定悬停空中。使用遥控设置COCoF1Y为定高定点悬停的的方法如下,打开遥控与飞机,确保两则是连上的,然后按下遥控右按键,进入菜单选项,选择“1.飞控设置”,进入到飞控设置界面,然后把“1.激光定高”打开,具体方法是在“1.激光定高”处,把右摇杆往右掰,等“否”变为“是”,才按下右摇杆的右按键,可以看到界面回到了主菜单,并且出现了“设置成功”字样。如果“设置失败”,可
3、能是没有连接上飞机。然后再重复同样的步骤进入到飞控设置界面,往下拨到到“6.光流定点”,然后用同样的方法,打开即可。如下图所示。二、代码相关目前悬停的逻辑是,有激光定高优先使用激光定高、否则使用气压计定高;定点使用的是光流模块,通过判断无人机的位移,实现定点。光流数据获取的代码如下图所示。/光流定点模式,全部使用光流数据e1seif(Fixed_Point_Mode)1oc_x=pixe1_f1ow.x_i;X位置1oc_y=pixe1_f1ow.y_i;y位置1oc_xs=PiXe1fix_x;/x速度1oc_ys=PiXe1fIoW.fix_y;y速度气压计和激光定高处理部分代码如下图所示
4、。24voidHeighjGet(f1oatdT)25甲(26 气后高度清零27 if(baro_start)28 E29 baro_height=O;30 baro_height_o1dO:31 baro_0ffset=Drv_Sp10601_ReadO:32 High_Data_ResetO:33 barostart=0:34 35 e1se36 (37 if(v15311x.is_use&aIv15311x.err&v15311x.is一VaIid)激光测距有效38 B39 If(VI5311x.re_va1id)激光则距重歙有效,高度数据无缝切换到激光数据40C(41if(Iauto_
5、take_off)expZ=v15311x.Distance_Fix:/自动起飞时不改变期货高度4243fb_Z=v15311x.Distance_Fix:44baro-heght=v15311x.Dstance-Fix;45baro_height_o1d=v15311x.Distance-Fix;46baro_Offset=Drv_Sp10601ReadO-v15311x.Distance-Fix;4748cz_h_fus.out=v15311x.Distance_Fix:49cz_hfus.e=0:5051v15311x.re-va1id0:52 53 -54 if(f1ipDone&u-
6、data.ang1e30)55 !56 baro-hight+(v16311x.Distance_Fix-baro_height)dT*10:57 baroOffset=Drv-Sp10601ReadO-baroheight;58 cz.h.fus.fix-kp=2;据%高度融合系数,烟为激光则能数据比较可龛59 -60 -61 e1se62匚(63 baro.height=Drv_Sp10601_Read()-baro.Offset:64 baro-height=Ka1an-FiIter(fthghka1an.baroheight):65 vcz_h_fus.fix_kp=0.4;降神高度融合系教,因为气隹讦数据不太可靠666768baro_speed_o=safe_div(baro_height-baro_height_o1d,dT,0);baro_height_o1d=baro_height:69baro_speed=Ka1an-Fi1ter(4high_s_ka1an,baro_speed_o):70baro-speed=1IMIT(baro-spee-300,300);711-72