搜索
bottom↓
回复: 49

匿名四轴,调试PID,在手上可以回中,飞起来却不能回中。

[复制链接]

出0入0汤圆

发表于 2013-10-4 19:25:36 | 显示全部楼层 |阅读模式
本帖最后由 liang_work 于 2013-10-4 23:58 编辑

如题,买回匿名四轴有一段时间,这一个月才有空开始搞一下。程式大体的框架基本看明白了,现在调PID,基本上能飞了,还算比较稳,但还由于机体不能自动回水平,还达不到最好的效果,现象如下,大家交流指点一下。

为了方便测试,我用一碳杆固定在机体的中点,与PITCH轴平行,平时就先用手拿着调一个轴PID。

1.单用P=8,I=D=0,机体越振越来越大,最后失控。没有办法收敛或在平衡振荡。
2.改为P=8,I=0,D=0.01,机体振动好很多,能保持平衡了,拿着碳杆,用手推拉PITCH方向,机体马上回位,在水平位置,轻微振两下,就停下了,推拉遥控器的摆杆,可以很好地控制机体的PITCH角度,松手摆杆,机体PITCH,马上回位(比用手推拉要慢上一点点),但在水平位置,基本上没有什么振动。
   上面机体在没有飞起的表现,算是很不错了(就是不能自动回水平),我有用同样的方法测试了烈火的四轴金星达的JD385,还其它一个厂家的成品四轴,我的机体和这几款成品四轴的表现都差不多。
   但在飞起来后,就明显有差别了,上面三款成品的四轴,在飞起后,有外界的干扰或有摆杆信号后再回水平位,都很好,很快速反应。所以控制很简单,很容易。但我的四轴在飞起后,有外界的干扰或有摆杆信号后再回位时,却没有明显的回水平位的作,如果不向相反的方向打杆,就没有办法回到水平位置。这时的表现与在手上的测试完全不同。真搞不清楚是什么原因造成的。
3.也跟不少朋友请教,有的说,加I,我也试了,用P=8,I=0.05,D=0.1,积分的最大值限制为30(太大会失控),表现,也没有什么太大的改变,也有的朋友说,要用串级PID。但对串级PID了解不多,没有办法测试。


按我的想法,没有飞起时,加外界的干扰或有摆杆信号后再回中的情况,都有自动回到水平位置,说明程式的PID起到应有的作用了。但在飞起后,却又不行。办什么?请大N指点了,现在我算是跟这个问题干上了,在QQ上,见人就问你的机机能自动回位吗?嘿嘿。

下在的程式就是PID部分,大家帮参考一下:

//**********************************************************************
void CONTROL(float rol_now, float pit_now, float yaw_now, float rol_tar, float pit_tar, float yaw_tar)
        {
        //u16 moto1=0,moto2=0,moto3=0,moto4=0;
        int16_t         moto1=0,moto2=0,moto3=0,moto4=0;

        vs16 throttle;
        //******************
        rol = rol_tar - rol_now;
        pit = pit_tar - pit_now;
        yaw = yaw_tar - yaw_now;
        //******************
        throttle = Rc_Get.THROTTLE - 1000;         //1000-2000
        if(throttle<0)        throttle=0;
        //********
        //PID_ROL.IMAX = throttle/2;//ºá¹ö×î´óÖµ0£­500       
        PID_ROL.IMAX = 30;       
        //Get_MxMi(PID_ROL.IMAX,1000,0);//Õâ¸öÓï¾ä£¬Ã»ÓÐÓõ½·µ»ØÖµ£¬ºÃÏóûÓÐÓõġ£
        PID_PIT.IMAX = PID_ROL.IMAX;//¸©Ñö×î´óÖµ0£­500
        //PID_PIT.IMAX = 1000;
        //******************P±ÈÀý       
        PID_ROL.pout = PID_ROL.P * rol;
        PID_PIT.pout = PID_PIT.P * pit;
        //******************I»ý·Ö
        //ÔÚÓÍÃÅ´óÓÚ300£¬µ±Ç°ËÄÔªÊý½âËã³öµÄpit,rolСÓÚ´óÔ¼5¶È£¬¼°°Ú¸ËÐźŵÄÄ¿±ê½Ç¶ÈСÓÚ0.3ʱ£¬ÓÐI»ý·ÖÊä³ö¡£²»ÊǺÜÃ÷£¬Òª·ÖÎö¡£
        //if(rol_tar*rol_tar<0.1 && pit_tar*pit_tar<0.1 && rol_now*rol_now<100 && pit_now*pit_now<100 && throttle>200)
        //if(rol_tar*rol_tar<30 && pit_tar*pit_tar<30&& throttle>200)
        if(throttle>200)
                {
                //PID_ROL.iout += PID_ROL.I * rol;          
                //PID_PIT.iout += PID_PIT.I * pit;
                rol_i = rol_i+rol;
                PID_ROL.iout = PID_ROL.I * rol_i;
                       
                pit_i = pit_i+pit;
                PID_PIT.iout = PID_PIT.I * pit_i;

                PID_ROL.iout = Get_MxMi(PID_ROL.iout,PID_ROL.IMAX,-PID_ROL.IMAX);//ÏÞÖÆ»ý·ÖÊä³ö²»´óÓÚ-500µ½+500,ºÃÏóҲûÓÐʲôÓá£
                PID_PIT.iout = Get_MxMi(PID_PIT.iout,PID_PIT.IMAX,-PID_PIT.IMAX);
                }
        else //Èç¹ûÓÍÃÅֵСÓÚ200£¬»ý·ÖÏîÇå0
                {
                PID_ROL.iout = 0;
                PID_PIT.iout = 0;
                rol_i=0;
                pit_i=0;
                }
        //******************D΢·Ö_prev
        PID_ROL.dout = PID_ROL.D * MPU6050_GYRO_LAST.X;
        PID_PIT.dout = PID_PIT.D * MPU6050_GYRO_LAST.Y;
        //**************************************************ÏÂÃæΪYAW²¿·Ý
        //******************YAW±ÈÀýP
        PID_YAW.pout = PID_YAW.P * yaw;
        //******************
        //******************YAW΢·ÖD
        vs16 yaw_d;
        //************Èç¹û·½Ïò¶æ²»ÔÚÖе㣬
        if(1450>Rc_Get.YAW || Rc_Get.YAW>1550)
                {
                yaw_d = MPU6050_GYRO_LAST.Z + (Rc_Get.YAW-1500);//*10;
                GYRO_I.Z = 0;
                }
        else  yaw_d = MPU6050_GYRO_LAST.Z;//·½Ïò¶æÔÚÖеãʱ£¬
        //*****
        PID_YAW.dout = PID_YAW.D * yaw_d;
        //******************
        PID_ROL.OUT = PID_ROL.pout + PID_ROL.iout - PID_ROL.dout;
        PID_PIT.OUT = PID_PIT.pout + PID_PIT.iout - PID_PIT.dout;
        PID_YAW.OUT = PID_YAW.pout + PID_YAW.iout - PID_YAW.dout;
        //******************
        if(throttle>200)//Èç¹ûÓÐÓÍÃÅ£¬ÔòÊä³öPWM
                {
                //moto1 = throttle - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
                //moto2 = throttle + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
                //moto3 = throttle + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
                //moto4 = throttle - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;

                moto1 = throttle + PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
                moto2 = throttle - PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
                moto3 = throttle - PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
                moto4 = throttle + PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
                //*********
                moto1 =Get_MxMi(moto1,990,0);
                moto2 =Get_MxMi(moto2,990,0);
                moto3 =Get_MxMi(moto3,990,0);
                moto4 =Get_MxMi(moto4,990,0);
                }
        else
                {
                moto1 = 0;
                moto2 = 0;
                moto3 = 0;
                moto4 = 0;
                }
        //******************
        if(ARMED)        Moto_PwmRflash(moto1,moto2,moto3,moto4); //ÒѽâËø£¬Êä³ö¡£
        else                Moto_PwmRflash(0,0,0,0);
        //******************
        }
//**********************************************************************/

阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出105入79汤圆

发表于 2013-10-4 19:51:12 | 显示全部楼层
按照程序,飞机角度是PD控制。P越大回中力越大。

但是P大容易超调,抖动或不收敛。但是可以靠D去压系统超调。

在你手里回中的作用是迅速有力的吗? 如果手里的感觉不是特别大,那么飞起来,就需要1-2秒以上回中,给人的感觉就很差了。

如果静态表现一样,还有一个很容易导致动态异常的地方,就是角度融合的时间间隔被破坏,角度的波形出现了一些畸变。这个需要你看回传的角度波形和加速度波形做对比。

出0入0汤圆

 楼主| 发表于 2013-10-4 20:33:21 | 显示全部楼层
qwe2231695 发表于 2013-10-4 19:51
按照程序,飞机角度是PD控制。P越大回中力越大。

但是P大容易超调,抖动或不收敛。但是可以靠D去压系统超 ...

1.在手里回中的力度,对比其它的成品,感沉上,还有力一些,也很迅速,一动马达就马上呼呼的加速。
2.现在在手上测试,也算不上是静态,只不过,用手拿着,不让其飞起。
3.角度和加速度的波形,应如何,才算是理想的结果。或从上位机的波形中,我需要得到一些什么样的信息,
多谢。

出105入79汤圆

发表于 2013-10-4 20:40:56 | 显示全部楼层
http://www.amobbs.com/thread-5531433-1-1.html

这个是我角度融合的一些经验,当时刚入门,波形还不好,能达到100分的65分吧。

出0入0汤圆

 楼主| 发表于 2013-10-5 11:48:26 | 显示全部楼层
自已顶一下。

出0入0汤圆

发表于 2013-10-6 01:01:49 | 显示全部楼层
角度控制,不加积分?我用那个无刷电机,貌似根本不能回到平衡点

出0入0汤圆

 楼主| 发表于 2013-10-6 08:36:49 | 显示全部楼层
whq5234970 发表于 2013-10-6 01:01
角度控制,不加积分?我用那个无刷电机,貌似根本不能回到平衡点

所以,我也觉得奇怪,有没有I,都一样。

出0入0汤圆

 楼主| 发表于 2013-10-6 15:08:15 | 显示全部楼层
没有人帮顶一下吗,自已顶吧。

出0入0汤圆

发表于 2013-10-7 11:49:54 | 显示全部楼层
楼主,我也在调pid,请问你只用p的时候,四轴能在平衡位置来回的振荡吗?我用手扶着能,感觉来回摆动了力量很大啊

出0入0汤圆

 楼主| 发表于 2013-10-7 11:53:25 | 显示全部楼层
mahengyu 发表于 2013-10-7 11:49
楼主,我也在调pid,请问你只用p的时候,四轴能在平衡位置来回的振荡吗?我用手扶着能,感觉来回摆动了力量 ...


单单用P,没有办法平衡,一加油门,就失控,只有加D后,才能控制。

你的也是匿名和四轴吗?

出0入0汤圆

发表于 2013-10-7 11:57:56 | 显示全部楼层
liang_work 发表于 2013-10-7 11:53
单单用P,没有办法平衡,一加油门,就失控,只有加D后,才能控制。

你的也是匿名和四轴吗? ...

你好,我是自己做的大四轴,程序很多地方参考了下匿名的,不过pid部分是自己写的。

对了,是不是只用p和d就能平衡?

出0入0汤圆

 楼主| 发表于 2013-10-7 12:16:42 | 显示全部楼层
mahengyu 发表于 2013-10-7 11:57
你好,我是自己做的大四轴,程序很多地方参考了下匿名的,不过pid部分是自己写的。

对了,是不是只用p和 ...

能平衡,也能飞得不错,但就是不能自动回水平位,在摆杆回中的情况。我用的PID,在匿名的基础上,改了一下,见楼主位的。
你的PID,可以拿出来看看吗。
能不能在摆杆回中后,飞机自动回动水平位。

出0入0汤圆

 楼主| 发表于 2013-10-7 12:19:04 | 显示全部楼层
那位大神路过,就我楼主位的问题给些意见吧。

出0入0汤圆

发表于 2013-10-7 12:31:04 | 显示全部楼层
liang_work 发表于 2013-10-7 12:16
能平衡,也能飞得不错,但就是不能自动回水平位,在摆杆回中的情况。我用的PID,在匿名的基础上,改了一 ...

我是http://www.amobbs.com/thread-3231599-1-1.html按这个写的,写的很简陋,没按匿名的,因为匿名的看不懂。现在只写了一个轴的pd,弄好了再拿出来

出0入0汤圆

 楼主| 发表于 2013-10-9 22:33:29 | 显示全部楼层
没有路过的大神,指点一下吗。

出0入0汤圆

发表于 2013-10-12 00:39:01 | 显示全部楼层
liang_work 发表于 2013-10-9 22:33
没有路过的大神,指点一下吗。

给的信息太少,首先还是从姿态检查起吧,首先要对比你解算的姿态角和直接又加速度计算出的姿态态角之间曲线跟随有没有延迟,解算姿态角有没有畸变,可以在静态下对比,然后再开电机,打开电机后由于震动可能你加速度算得姿态角震动非常大,但是你可以通过肉眼对比曲线上加速度计姿态角的中值。然后看看多通道输入时你的遥控器期望有没有回到0。我觉得既然单轴行也许不是PID的问题

出0入0汤圆

发表于 2013-10-12 18:11:14 | 显示全部楼层
最近也在调PID。刚刚可以飞起来了,虽然飞的很渣。。。。
不过我不是用自己处理的角度,而是直接用的成品IMU。至于IMU的精度我就不说,应该完全可靠。。【这么好的IMU被我用得这么渣,唉。。】
不知道大神的PID是怎么调的。我用的位置式的PID,程序里面直接用角度,不是弧度。反正我用P的话,四旋翼完全做不到震荡,起来就二话不说,直接翻。心都碎了。。很怀疑单纯用P的究竟可不可以飞起来。
然后我加上了D。我测到的角速度最大的时候大概是2°~3°/10ms【因为我的控制周期是100HZ】,然后把P设成1.0。D一直往上调,大概D=15左右的时候可以飞起来。四旋翼小幅震荡,但是基本可以回中了。后面又加了I,效果稍微又好了一点,震荡小了一点。不过我没有做偏航,只做了俯仰和横滚,所以自旋得惨不忍睹,完全控制不过来。。昨天把偏航给固定了,看看俯仰和横滚的效果,控制是可以控制,但是有点超调。摇杆回中之后,四旋翼会震荡1到2次。
鄙人又不怎么会做上位机【其实是太懒】,不然可以省很多事。表示还有很长的路要走啊。

出0入0汤圆

发表于 2013-10-12 20:22:13 | 显示全部楼层
楼主你四轴在空中不能回中时是不是还伴随着一直向飞机倾斜的那个方向快速的移动?

出0入0汤圆

 楼主| 发表于 2013-10-12 20:38:13 | 显示全部楼层
kmani 发表于 2013-10-12 20:22
楼主你四轴在空中不能回中时是不是还伴随着一直向飞机倾斜的那个方向快速的移动? ...

       是的,就是这样,在摆杆回中后,在空中的时候,飞机还向着原来的方向快速移动,且机体还是跟原来一样,是侧向一边的,没有回中。但在地面,也同时加油门,只是用碳杆固定一个轴向,可以让其转动,却不让其飞起,在此时,却是可以很好的回水平。
楼上的,也碰到过同样的问题吗?或是有应对方法。

出0入0汤圆

 楼主| 发表于 2013-10-12 20:49:52 | 显示全部楼层
本帖最后由 liang_work 于 2013-10-12 20:51 编辑
keyxyh 发表于 2013-10-12 00:39
给的信息太少,首先还是从姿态检查起吧,首先要对比你解算的姿态角和直接又加速度计算出的姿态态角之间曲 ...


          我只是想不通,为什么,在空中就不能回中,在地面时就可以,两个情况,同样有马达转动,唯一的不同,就是一个在空中,一个在地面。

      在飞机刚从地面飞起时,飞机的平稳性很好,飘移不大,也没有抖动,打杆,飞机可以很好地跟随摆杆的控制的方向,跟随摆杆的幅度大小来变化,但在杆回中,飞机却不能跟随摆杆回中,而减少倾角的大小,或回到平衡的位置。如果要回到接近平衡的位置,还得再打杆到相反的方向,飞机倾角才会有相反的变化,跟据这一次打杆的角度大小时间的长短,飞机原来的倾角可能减少,或可以刚好到回到开始的平衡位置,或由于打杆过度,飞机又倒向另一方向。其本上,没有办法回到开始时的平衡状态。

出0入0汤圆

发表于 2013-10-12 21:29:09 | 显示全部楼层
liang_work 发表于 2013-10-12 20:38
是的,就是这样,在摆杆回中后,在空中的时候,飞机还向着原来的方向快速移动,且机体还是跟原来 ...

你目前电池多少S的?
你试着将电池电压增大2S看看,增大电池电压之后,同时增大PID的参数,加强回中控制。

你实验完毕之后,还劳烦你讲下实验效果,我再分析分析。

出0入0汤圆

 楼主| 发表于 2013-10-12 21:47:40 | 显示全部楼层
我的是匿名的四轴套件,所以没有办法用2S的电池的。这是匿名的套件的贴子:http://www.amobbs.com/thread-5544053-1-1.html

出0入0汤圆

发表于 2013-10-13 01:11:49 | 显示全部楼层
liang_work 发表于 2013-10-12 20:49
我只是想不通,为什么,在空中就不能回中,在地面时就可以,两个情况,同样有马达转动,唯一 ...

想不通的事多了去了,你也许是你通道多了后数据捕获有问题呢,想不通的时候多试验,把有可能的地方都检查检查,说不定就是那个你觉得万无一失的地方呢,实验通了说不定也想通了

出0入0汤圆

 楼主| 发表于 2013-10-13 08:09:46 | 显示全部楼层
keyxyh 发表于 2013-10-13 01:11
想不通的事多了去了,你也许是你通道多了后数据捕获有问题呢,想不通的时候多试验,把有可能的地方都检查 ...

是的,我现在也是有这样的想法,可能问题不是单单出在PID的部份了,有可能出在IMU,有可能出在2.4G信号的处理,因为它是双向,所以时间空一些时打算做如下的试验。
1.更换硬件,看看是不是因硬件的问题,因为我买的烈火的套件,是能成功回衡的,所以打算将匿名的程式移植到烈火的硬件上面试试。
2.尽量精简程式,只要其本的功能。看看会不会是因为功能太多了,会不会是有些功能有冲突。
3.或直接用烈火的遥控来控制,不用原配的遥控板控制。
4.从网上再找一份IMU试试。


另我也觉得奇怪,这个套件,要的朋友也应不少,为什么就没有人出来大家交流一下。这个也是不明。哈。

出0入0汤圆

发表于 2013-10-17 16:03:04 | 显示全部楼层
把P调大一点,还需要加I来修正。

出0入0汤圆

 楼主| 发表于 2013-10-17 17:23:21 | 显示全部楼层
shujianxiaoyao 发表于 2013-10-17 16:03
把P调大一点,还需要加I来修正。

试过了。没有用,一样的。

出0入0汤圆

发表于 2013-10-17 21:14:37 | 显示全部楼层
请问楼主的四轴是自己diy的?

出0入0汤圆

 楼主| 发表于 2013-10-17 21:47:07 | 显示全部楼层
不是,是匿名四轴的套件。

出0入0汤圆

发表于 2013-10-17 21:59:44 | 显示全部楼层
liang_work 发表于 2013-10-17 21:47
不是,是匿名四轴的套件。

哦,那楼主那一套轴件多少钱 啊?

出0入0汤圆

发表于 2013-10-18 12:11:57 | 显示全部楼层
楼主的这个现象,我觉得不是PID参数控制问题。
应该是忽略了一个重要的因素:惯性。
当把四轴拿在手上的时候不管角度怎么大都是没有惯性的,所以回中会很好。
而在空中飞行过程中角度偏转时会产生这个方向的惯性。想要回中的话就算锁定为0度了,而这个惯性需要一定的时间才能消除。
就像开车一样,想要停下来不是只要把档位换到空档就能停的。
做四轴有一个很重要的理论叫惯性导航,我想楼住要考虑一下为什么要叫惯性导航。
当然我也只是乱猜的,没有实际依据,大家看看就行了啊。

出0入0汤圆

 楼主| 发表于 2013-10-18 12:42:51 | 显示全部楼层
harduntill 发表于 2013-10-18 12:11
楼主的这个现象,我觉得不是PID参数控制问题。
应该是忽略了一个重要的因素:惯性。
当把四轴拿在手上的时 ...

但问题是我手上的其它三款小四,都没有这个问题,烈火的四轴,金星达的JD385,还其它一个厂家的成品四轴,在杆回中,机体都可以很好很快地回到水平。就算是由于惯性的原因,也不会有什么漂,但现在匿名的,如果不向另一方向打杆,只是单单回中,飞机还是一个劲向原来方向冲。哈。

出0入0汤圆

发表于 2013-10-18 15:04:06 | 显示全部楼层
liang_work 发表于 2013-10-18 12:42
但问题是我手上的其它三款小四,都没有这个问题,烈火的四轴,金星达的JD385,还其它一个厂家的成品四轴 ...


如果确认不是惯性的问题,那就要确认角度计算有没有问题。

把四轴固定住,将油门从0往上推,看在不同的PWM情况下计算的角度是不是一致的,我现在也在调一个四轴,我发现角度输出在静止的时候大约只有0.1度偏差,PWM上升到60%左右会有1.5度偏差,上升到100%反而会下降到1度左右。不同的传感器数据值还不一样,很是郁闷。

另外,角度的计算速度也要看看,我有用过互补滤波的方式做过角度演算,从大角度回0的时候在最后的几度回复很慢,可能要几秒钟。






出0入0汤圆

 楼主| 发表于 2013-10-18 19:38:59 | 显示全部楼层
harduntill 发表于 2013-10-18 15:04
如果确认不是惯性的问题,那就要确认角度计算有没有问题。

把四轴固定住,将油门从0往上推,看在不同的 ...

有的,这个有空要试试,但对于这个问题,你有找到结果吗?

另:我的四轴,在地面起飞时,其稳定性与另外的三个成品相比,一点不差,但就是在有摆杆的动作,其没有办法回复了。

出0入0汤圆

发表于 2013-10-19 11:11:04 | 显示全部楼层
liang_work 发表于 2013-10-18 19:38
有的,这个有空要试试,但对于这个问题,你有找到结果吗?

另:我的四轴,在地面起飞时,其稳定性与另外 ...

关于角度偏差的问题,我有跟6050的技术人员沟通过,也自己做过一些测试,应该是Gsensor部分的静态中点与动态中点有偏差引起的。
我自己测试过有的6050静态与动态偏差不大,有的6050只有一个轴有偏差,一致性上有点不一样。并且我用的是6050C,如果用6050的话会好一点。

关于回中的问题,如果起飞后不动摇杆没有问题,那基本可以确认是控制的问题。

我现在的现象差不多和你相反,打完摇杆回中后会有往回走的现象,而你的是继续走,是不是你的参数控制欠调,而我的控制过调了呢?

出0入0汤圆

发表于 2014-3-28 20:04:26 | 显示全部楼层
不知道怎么回复你的帖子,反正貌似用一般的PID,参数不是很好,飞起来可以,飞好就困难了。说到底,控制算法要升级,PID是万能的,但是肯定不会是最好的

出0入0汤圆

发表于 2014-3-29 09:40:43 | 显示全部楼层
whq5234970 发表于 2014-3-28 20:04
不知道怎么回复你的帖子,反正貌似用一般的PID,参数不是很好,飞起来可以,飞好就困难了。说到底,控制算 ...

你要看到这个帖子是13年10月的

出0入0汤圆

发表于 2014-3-31 15:47:59 | 显示全部楼层
您好!看了你的帖子,我发现 我出现的现象和你一摸一样 ,平衡飞可以,但是 一个角度飞行后 就没办法平衡下来,我现在很怀疑 是不是角度算法 出的数据不好的呢!纠结 一直没有办法解决这个问题!不知道你的那个问题解决了没有,能不能咱们相互交流一下的呢!

出0入0汤圆

发表于 2014-4-19 15:15:49 | 显示全部楼层
976717326 发表于 2013-10-12 18:11
最近也在调PID。刚刚可以飞起来了,虽然飞的很渣。。。。
不过我不是用自己处理的角度,而是直接用的成品IM ...

你好 我的四轴目前是54ms才更新一次姿态会不会太慢啊  因为电调是50hz 的 信号  结算一次姿态要54ms。

出0入0汤圆

发表于 2014-4-29 15:38:41 | 显示全部楼层
多谢分享,匿名四轴的代码。。

出0入0汤圆

发表于 2014-4-30 12:02:50 | 显示全部楼层
study_hardware 发表于 2014-4-19 15:15
你好 我的四轴目前是54ms才更新一次姿态会不会太慢啊  因为电调是50hz 的 信号  结算一次姿态要54ms。 ...

电调50Hz,那么姿态结算不是应该是20ms一次么?因为我的IMU是10ms给一次姿态输出,所以我的控制周期是10ms,也就是100Hz。如果是楼主是54ms更新一次姿态,我觉得这也太慢了吧。传感器输出不应该会这么慢的啊。

出0入0汤圆

发表于 2014-5-3 09:19:52 | 显示全部楼层
976717326 发表于 2014-4-30 12:02
电调50Hz,那么姿态结算不是应该是20ms一次么?因为我的IMU是10ms给一次姿态输出,所以我的控制周期是10m ...

我对ppm信号理解有误 现在400hz的ppm信号 5ms更新一次姿态

出0入0汤圆

发表于 2014-5-3 19:09:13 来自手机 | 显示全部楼层
遥控信号  20hz    姿态更新500 hz

出0入0汤圆

发表于 2014-5-5 17:12:08 | 显示全部楼层
wangjt1988 发表于 2014-5-3 19:09
遥控信号  20hz    姿态更新500 hz

不知道论坛里面有没有人研究”什么样的遥控频率和姿态更新频率以及控制频率比较适合“这个问题。
话说前辈的500Hz姿态更新频率是否也是控制的频率,还有最后的效果好不好?

出0入0汤圆

发表于 2014-5-5 21:35:04 | 显示全部楼层
976717326 发表于 2014-5-5 17:12
不知道论坛里面有没有人研究”什么样的遥控频率和姿态更新频率以及控制频率比较适合“这个问题。
话说前 ...

控制也是500hz   效果就是我们各种视频里的效果

出0入0汤圆

发表于 2014-5-8 15:54:32 | 显示全部楼层
我用匿名的四轴,他们给的完整源代码,上位机显示roll和PITCH的偏移角度都小于0.5度。起飞后,飞机还是向一个方向偏移。

出0入0汤圆

发表于 2014-8-17 18:05:27 | 显示全部楼层
潜水学习   

出0入0汤圆

发表于 2014-8-18 15:39:05 | 显示全部楼层
1.姿态校准
2.PID参数调试

出0入0汤圆

发表于 2015-2-2 03:58:13 | 显示全部楼层
976717326 发表于 2013-10-12 18:11
最近也在调PID。刚刚可以飞起来了,虽然飞的很渣。。。。
不过我不是用自己处理的角度,而是直接用的成品IM ...

你好,我也在调四轴,现在偏航角一直算不对,网上各种校正方法都试过了,还是不行。请问你的偏航角是怎么算的,能截段代码看看嘛,或者推荐个链接

出0入0汤圆

发表于 2015-2-3 09:06:55 | 显示全部楼层
楼主是不是 四元数出来的欧拉角直接 PID控制马达?

出0入85汤圆

发表于 2015-2-3 09:40:59 | 显示全部楼层
这种情况一般最大可能是角度融合问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-17 02:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表