返回介绍

概念解读 - 结构概述

发布于 2020-07-27 14:09:22 字数 1482 浏览 1052 评论 0 收藏 0

PX4由两个层次组成:一是飞行控制栈(flight stack),即自驾仪的软件解决方案,二是中间件,一种可以支持任意类型自主机器人的通用机器人中间件。

所有的无人机机型,事实上所有的包括船舶在内的机器人系统,都具有同一代码库。整个系统设计是反应式(reactive)的,这意味着:

  • 所有的功能被划分为可替换部件
  • 通过异步消息传递进行通信
  • 该系统可以应对不同的工作负载

除了这些运行时考虑之外,其模块化最大限度地提高了系统的可重用性

顶层软件结构

下面每一块都是单独的模块,不论是在代码,依赖性甚至是在运行时都是独立的。每个箭头是一种通过 uORB进行发布/订阅调用的连接。

须知: PX4结构允许其即使是在运行时,也可以快速方便地交换各个单独的模块。

控制器/混控器是针对于特定机型的(如多旋翼,垂直起降或其他飞机),但是顶层任务管理模块如commandernavigator 是可以在不同平台共享的。

Architecture

Info This flow chart can be updated from here and open it with draw.io Diagrams.

地面站通讯结构

与地面站(GCS)之间的交互是通过一种“商业逻辑”应用程序来处理的,包括如 commander( 一般命令与控制,例如解锁 ) , navigator ( 接受任务并将其转为底层导航的原始数据 ) 和 mavlink 应用, mavlink 用于接受 MAVLink 数据包并将其转换为板载 uORB 数据结构。这种隔离方式使架构更为清晰,可以避免系统对 MAVLink 过于依赖 。 MAVLink 应用也会获取大量的传感器数据和状态估计值,并将其发送到地面站。

{% mermaid %}
graph TD;
mavlink—-commander;
mavlink—-navigator;
position_estimator—>mavlink;
attitude_estimator—>mavlink;
mixer—>mavlink;
{% endmermaid %}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文