《飞控开发高级篇4开源编队无人机360度翻滚.docx》由会员分享,可在线阅读,更多相关《飞控开发高级篇4开源编队无人机360度翻滚.docx(5页珍藏版)》请在第一文库网上搜索。
1、COCOF1Y教程疯壳无人机系列目录一、“360度翻滚”功能简介1二、代码相关1A1开源编队无人机A1OPENSOURCEFORMATIONDRONE高级功能S已OQ激光气压光遮定点有头无头3DH)g双定高双模式令公00QfH4)W1F1IE传遢控控制视觉追踪现货追踪视觉追踪控制飞行酣码*色形状备感国o;O视宽盘随图形化多机支持图形化自主巡线A1语音控制移劭小车队飞行缰程飞行官网地址:ht1D:WWW.fengke.c1ub购买链接:http:ShoP1I官方QQ群:457586268360度翻滚一、“360度翻滚”功能简介360度翻滚是COCoF1Y的一大特色功能,支持前、后、左、右四个方向
2、的360度翻滚,具体的实现方法如下:把打开电源的无人机平放在地面上,操控者站在飞机后面一到两米处,打开遥控电源;0飞机开机后默认是上锁状态,螺旋桨底部的呼吸灯会缓慢地明亮变幻;G打开遥控器,左摇杆拉倒左下角,保持大概2s,飞机指示灯闪烁一下,表示解锁成功;解锁成功后松开摇杆,指示灯呈不断双闪状态,四个螺旋桨会低速转动;0按下左摇杆按键,飞机会起飞到1米左右悬停;0往上推油门,增加飞行高度到1.5米左右(执行翻滚操作最好高一点);。正常飞行过程中,按一下左摇杆的按键,然后2秒内拨动右摇杆选择翻滚方向即可实现翻滚操作。例如:按下左摇杆的按键,然后2秒内把右摇杆往前拨,则可实现飞机向前翻滚。二、代码
3、相关代码中实现无人机翻滚主要依托于“f1ip”这一结构体,其中f1ip.ang1e_x和f1ip.ang1jy负责翻滚角度设置。无人机要想实现翻滚只需要对f1ip.ang1e_x和f1ip.ang1e_y赋值即可,比如向右翻滚一圈,f1ip.ang1e_x=-360,f1ip.ang1e_y=O,其中“f1ip.ang1e_x”对应无人机的左右方向,f1ip.ang1e_y”对应前后方向。相关的代码如下图所示。因Ctrk2212222231/*224225226227228229230231232233234235236237238239240241P242243244OC角度环周期时间d=O
4、.OOOOO1f*(GetSysTime_us()-ctr1_2_time);ctr1_2_time=GetSysTime_usO;Rc_Abs=sqrt(ch1*ch1+ch2*ch2);遥杆绝对值if(No_Head_Mode)No_Head(&ch1,sch2zTurn-Ang1e+Star-Ang1e);反馈角度if(f1ip.ing)ctr1_2.fb_ro1ctr1_2.fb_pit)e1sectr1_2.fb_ro1ctr1_2.fb_pitf1ip.ang1e_x;f1ip.ang1e_y;=imu_data.fus_ro1;=imu_data.fus_pit;阂mpuPreP
5、are.c!:!fi1ter.h图Drv_V15311X.h刍A1t_data.c图hw_config.cjParam.c刍main.16116216316416516616718169170171172173174175176177178179180181182183184185186187188189*加速度零保校准后的数据”sensor.Acc.x(f1oat)sensor_va1A_X-Param.acc_offset.;sensor.Acc.y=(f1oat)sensor_va1A_Y-Param.acc_offset.y;sensor.Acc.z=(f1oat)sensor_va1
6、A_Z-Param.acc_cffsec.z;*角速度等偏校准后的数据*/seneor_va1G_X-sensor.Gyro-I16.x-Param.gyr_offsec.;sensor_va1G_Y-sensor.Gyro_I16.y-Param.gyr_offset.y;sensor_va1G_Z=sensor.Gyro_I16.z-Param.gyr_offset.z;sensor.Gyro.xsensor.Gyro.ysenor.Gyro.z(f1cat)sensor_va1G_X;(f1oat)sensor_va1G_Y;(f1oat)eensor_va1(G_ZJ;*加速度计转换到
7、毫米每平方秒*/sensor.Acc_nnnss.x=sensor.Acc.xsensor.Acc_nmss.y=sensor.Acc.ysensor.Accmmss.z=sensor.Acc.z*2.392615;*2.392615;*2.392615;*陀螺仪转换到度每眇”sensor.Gyro_deg.=sensor.Gyro.xsensor.Gyro_deg.y=sensor.Gyro.ysensor.Gyro_deg.z=sensor.Gyro.z*角速度积分*f11p.anQ1e_xf1ip.ang1ey*0.0610361f;*0.0610361f;*0.0610361f;sensor.Gyro_deg.xT;sensor.Gyro_deg.ywT;