搜索
bottom↓
回复: 15

请教飞控源码(v0.68d)中的p1066~1078代码的含义么

[复制链接]

出0入0汤圆

发表于 2009-4-8 13:41:30 | 显示全部楼层 |阅读模式
v0.68d的飞控源码中fc.c文件的void MotorRegler(void)的p1066~1078下列代码如下,能指教一下它们的含义么

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               
// Gier-Anteil
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               
#define MUL_G  1.0
    GierMischanteil = MesswertGier - sollGier;     // Regler f黵 Gier
// GierMischanteil = 0;

    if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2;
    if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2);
    if(GierMischanteil > ((MAX_GAS - GasMischanteil))) GierMischanteil = ((MAX_GAS - GasMischanteil));
    if(GierMischanteil < -((MAX_GAS - GasMischanteil))) GierMischanteil = -((MAX_GAS - GasMischanteil));

    if(GasMischanteil < 20) GierMischanteil = 0;

出0入0汤圆

发表于 2009-4-8 14:03:24 | 显示全部楼层
应该是限制旋转的陀量

出0入0汤圆

 楼主| 发表于 2009-4-8 14:12:26 | 显示全部楼层
是的,Gier应该指的是Yaw轴。但GasMischanteil与GasMischanteil的区别?
以及sollGier的含义?

出0入0汤圆

发表于 2009-4-8 14:16:35 | 显示全部楼层
没看明白你的意思

出0入0汤圆

 楼主| 发表于 2009-4-8 14:16:47 | 显示全部楼层
sollGier好像明白了,它翻译成英文是 targetGier

出0入0汤圆

 楼主| 发表于 2009-4-8 14:17:36 | 显示全部楼层
GierMischanteil与GasMischanteil的区别?

出0入0汤圆

发表于 2009-4-8 14:34:20 | 显示全部楼层
一个是旋转,一个是油门

上面的逻辑是限制两个的关系。 因为旋转是依靠正反螺旋桨的速度差实现的现在架设正的转速是A=5,反的是B=5,油门假设是C=10,旋转D=0.
飞行器静止。
需要保持飞行器高度不变,实现旋转就必须保持A+B=C的关系当飞行器要逆时针转,意味要加大A,为了保持高度,则要保持C,则B要减少。A+B=C -> (A-D) + (B+D) = C 由于螺旋桨只能往一个方向转,所以 A-D, B+D都要大于0, 即 |A| > D, |B|> D, 结合以上公式,|D|必须小于C/2

出0入0汤圆

 楼主| 发表于 2009-4-8 16:10:04 | 显示全部楼层
非常感谢RickyZhou.

出0入0汤圆

 楼主| 发表于 2009-4-8 16:12:57 | 显示全部楼层
还要请问下面的代码,应如何理解?谢谢

    tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
    if(pd_ergebnis >  tmp_int) pd_ergebnis =  tmp_int;
    if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int;

出0入0汤圆

发表于 2009-4-8 16:15:42 | 显示全部楼层
to 【8楼】 sunsmile78  

这个没有上下文,看不明白,呵呵

出0入0汤圆

 楼主| 发表于 2009-4-8 16:18:49 | 显示全部楼层
摘自下面段落:)

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               
// Nick-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++               
    DiffNick = MesswertNick - (StickNick - GPS_Nick);        // Differenz bestimmen  
    if(IntegralFaktor) SummeNick += IntegralNick * IntegralFaktor - (StickNick - GPS_Nick); // I-Anteil bei Winkelregelung
    else  SummeNick += DiffNick; // I-Anteil bei HH
    if(SummeNick >  16000) SummeNick =  16000;
    if(SummeNick < -16000) SummeNick = -16000;
    pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler f黵 Nick                                       
    // Motor Vorn
    tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
    if(pd_ergebnis >  tmp_int) pd_ergebnis =  tmp_int;
    if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int;

    motorwert = GasMischanteil + pd_ergebnis + GierMischanteil;          // Mischer
        if ((motorwert < 0)) motorwert = 0;
        else if(motorwert > MAX_GAS)              motorwert = MAX_GAS;
        if (motorwert < MIN_GAS)            motorwert = MIN_GAS;       
        Motor_Vorne = motorwert;          
    // Motor Heck
        motorwert = GasMischanteil - pd_ergebnis + GierMischanteil;
        if ((motorwert < 0)) motorwert = 0;
        else if(motorwert > MAX_GAS)            motorwert = MAX_GAS;
        if (motorwert < MIN_GAS)            motorwert = MIN_GAS;
        Motor_Hinten = motorwert;

出0入0汤圆

 楼主| 发表于 2009-4-8 16:20:33 | 显示全部楼层
同样来自v0.68d的飞控源码中fc.c文件的void MotorRegler(void),靠近结束的部分。

出0入0汤圆

发表于 2009-4-8 16:44:17 | 显示全部楼层
看到头都大了。。。。。。

出0入0汤圆

发表于 2009-6-10 19:56:27 | 显示全部楼层
哎。。看不懂。等我懂了一定弄个中文版的...

出0入0汤圆

发表于 2009-12-6 18:01:31 | 显示全部楼层
mark

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-9 08:22

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

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