关于px4源码中固定翼姿态控制

在看完px4固定翼的姿态控制代码后,我有几点思考

1.我们知道程序中姿态控制的方法是将控制角度转化为控制角速度。那pitch来说,先求出设定的pitch和当前的pitch的差值(delta pitch)。然后将delta pitch除以时间常数得到目标pitch_rate。接着将目标pitch_rate和当前的pitch_rate做差送入pi+ff控制器,将控制器的输出送入actuator。从而达到控制角度的目的。

2.roll的控制和上面的pitch控制一样。但是raw的控制不一样,因为raw的控制不涉及角度的控制,也就是他没有目标角度值,他只有目标角速度,而这个目标角速度是通过协调转弯方程直接求得的,然后和当前的raw_rate做差送入pi+ff控制器,将控制器的输出送入actuator。我理解控制raw的过程是一个纯粹的速率控制,因为我最后只管速率有没有达到我的设定值,而不去管这个过程角度变化了多少。

3.比较上面两种控制,我发现第一个控制是一个角度+角速度的内外环控制,外环是角度,内环是角速度,最终还是要控制角度。而第二个控制只有一个角速度控制环。

4.还有一点就是第一种控制下目标速度是一个变值,不是固定的,因为角度差在变。而第二个控制中目标速度是一个定值。

5.在说说为什么roll没有角度控制,我觉得因该是飞机在平飞时很少用到rudder,基本只有在转弯时才用到。

6.再说说姿态控制的作用吧:这个程序的作用其实就是起到控制actuator的作用,你给我目标姿态,我就用我的控制算法去达到这个目标,在这个程序中我不管你这个目标姿态是怎么产生的(手动产生还是其他的算法产生)。

你可能感兴趣的:(px4)