在之前的分享中,我们主要讲了PX4的驱动和系统框架,这一篇我们讲一下PX4的控制框架。
PX4的控制系统构建还是比较复杂的,相对于APM基本线性的执行流程,PX4各个控制模块是离散的,耦合性低,导致代码比较复杂,理解比较困难。
那么如何更加清晰的去理解PX4的控制结构呢?我们可以从数据流的角度把各个控制模块连接起来,从系统的角度把握整个框架。
在前面的分享 PX4-3-uORB 我们将到了PX4的消息总线uORB,它贯穿于PX4所有模块,我们这里也按照控制模块的uORB数据流来看PX4的控制系统是如何工作的。
图表是体现关系结构最好的方式,下图绘制了PX4主要模块间控制量的传递关系:
上图包含了PX4的主要的控制流程,不需要过多的文字描述了,感兴趣的同学可以仔细阅读一下。
由于这张图片很大,不太适合手机浏览,建议使用电脑通过阅读原文访问我的个人网站,有高清大图。该图使用plantuml编辑,相对于之前介绍的 工欲善其事-4-绘制程序流程图 绘图方法,plantuml同样采样脚本方式绘图,绘制会更美观且种类样式更加丰富一些,感兴趣的同学可以自行百度一下。
如果需要图表源码的同学可以关注我的公众号,在下方留言 PX4控制数据流获取
–
我的微信公众号,文章同步更新,欢迎关注。