[pixhawk笔记]3-架构概览

邵朋院的代码世界 邵朋院的代码世界     2022-09-15     660

关键词:

本文主要内容翻译自:https://dev.px4.io/en/concept/architecture.html

  1. 总体架构:

    PX4代码由两层组成:PX4飞行栈和PX4中间件。其中,前者是一套飞行控制软件,后者是一套通用的机器人中间件,可以支持任意类型的自主机器人。

    PX4代码具有很强的通用性,所有类型的机架(实际上包括船和地面车辆等)可以使用同一套代码库,同时其追求模块化,具有以下特点:

    • 所有的功能都被拆分为可更换的组件
    • 通过异步消息传输来实现通信
    • 系统可以处理多种类型的负载
    处于模块化考虑,这些功能模块最大化的实现代码可重用。
  2. 高级软件框架
    整个代码框架如下图:

    其中每个方框为一个自治的功能模块,箭头表示通过uORB的发布/订阅机制实现的数据连接。
    控制器和混控器(Mixer)和具体的飞机有关,而像Commander和Navigator之类的上层任务规划模块则可以在不同平台之间通用。

  3. 和地面站的通信框架

    飞控和GCS之间的交互由Commander(通用控制指令,例如解锁)和navigator(接收任务指令并转化为低级的导航原语)等“业务逻辑”程序和mavlink程序,mavlink程序接收MAVlink数据包并将其转化为uorb的数据结构。这种显式的隔离机制可以避免MAVlink和系统的深层依赖。mavlink程序也将传感器和状态滤波数据转发给地面站。

[pixhawk笔记]2-飞行模式

...4.io/en/concept/flight_modes.html ,有不对之处,敬请指正。pixhawk的飞行模式如下:MANUAL(手动模式)固定翼/车/船MANUAL(手动模式):飞手控制输入直接到输出混控器 STABILIZED(增稳模式):飞手控制作为俯仰和滚转角度指令... 查看详情

[pixhawk笔记]5-uorb消息传递

本文主要内容翻译自官方文档:https://dev.px4.io/en/middleware/uorb.html在前一篇笔记中使用uORB完成消息传递,实现了一个简单示例程序,本文将对uORB进行系统学习。uORB是一种异步发布(publish)/订阅(subscribe)机制的消息API,该机制用于在... 查看详情

学习笔记3--自动驾驶汽车电子电气架构

...》。此专栏是关于《自动驾驶汽车平台技术基础》书籍的笔记.1.自动驾驶汽车电子电气架构1.1典型电子电气架构电子电气架构是汽车电子电气系统的顶层设计,目的是在政策法规和设计指标等约束条件下,对功能、成本... 查看详情

[pixhawk笔记]7-mavlink消息机制

前一篇学习了uORB,用于px4中各个模块的进程间通信,下来学习MAVLink,用于飞控和地面站之间的通信。教程中主要给出了使用MAVLink的发送和接收消息的方法。完整的MAVLink消息列表见该网页。创建一个自定义MAVLink消息假设存在/msg... 查看详情

无人机开发之二:pixhawk硬件架构

Pixhawk硬件架构Pixhawk的硬件架构整体框图四轴外观连线图:组件购买:Pixhawk飞控1个电调4个电机4个锂电池220003C1个电源模块1个螺旋桨4个安全开关1个蜂鸣器1个数传接收和发射1套图传接受和发射1套GPS1个机架F4501套遥控器和接收机1... 查看详情

知乎live入门1.推荐概览与框架

...荐系统】知乎live入门目录1.推荐概览与框架2.推荐系统的架构和模块3.推荐召回4.排序5.用户画像6.特征工程7.回归到推荐算法总结参考文献=========================================================1.推荐概览与框架推荐概述产品的形态很重要,... 查看详情

[pixhawk笔记]11-windows下px4代码查看

由于项目需要做基于Simulink的PX4二次开发,在Windows下面做,所以需要在Windows下查看PX4的代码,故写该文档,记录环境安装和配置过程。按照该网页安装工具链:WindowsInstallationInstructions。安装后用工具链中的eclipse查看代码,由于... 查看详情

企业架构togaf概览

       查看详情

promethus概览(代码片段)

...定义目录标题一、概述1介绍2特征3什么是指标4组件二、架构适用场景不适用的场景三部署1下载1.1二进制方式[点击官方下载链接](https://prometheus.io/download/)1.2docker容器方式2启动参数3配置文件3.1示例配置文件3.2配置文件详解4部署4.... 查看详情

promethus概览(代码片段)

...定义目录标题一、概述1介绍2特征3什么是指标4组件二、架构适用场景不适用的场景三部署1下载1.1二进制方式[点击官方下载链接](https://prometheus.io/download/)1.2docker容器方式2启动参数3配置文件3.1示例配置文件3.2配置文件详解4部署4.... 查看详情

android图形架构学习笔记(待修改)

以下简单总结来自Android官网,稍作总结:https://source.android.google.cn/devices/graphics概览Android应用开发者可通过两种方式将图像绘制到屏幕上:使用Canvas或OpenGL。android.graphics.Canvas是一个2D图形API,而且是最受开发者群... 查看详情

flutter架构概览(代码片段)

文章目录前言架构层响应式用户界面Widgets组成构建widgets状态管理渲染和布局Flutter的渲染模型从用户操作到GPU构建:从Widget到Element布局和渲染Platformembedding前言本文总结Flutter架构概览,包含其设计层面的核心原则以及概... 查看详情

flutter架构概览(代码片段)

文章目录前言架构层响应式用户界面Widgets组成构建widgets状态管理渲染和布局Flutter的渲染模型从用户操作到GPU构建:从Widget到Element布局和渲染Platformembedding前言本文总结Flutter架构概览,包含其设计层面的核心原则以及概... 查看详情

spark发行版笔记11

本期概览:ReceiverTracker架构设计消息循环系统ReceiverTracker具体的实现SparkStreaming作为SparkCore基础架构之上的一个应用程序,其中的ReceiverTracker接收到数据之后,具体该怎么进行数据处理呢?为了弄清楚这个问题,首先,我们打开... 查看详情

spark发行版笔记13

本期概览:ReceiverTracker架构设计消息循环系统ReceiverTracker具体的实现SparkStreaming作为SparkCore基础架构之上的一个应用程序,其中的ReceiverTracker接收到数据之后,具体该怎么进行数据处理呢?为了弄清楚这个问题,首先,我们打开... 查看详情

ssm电商项目后台开发003-项目架构概览

    一项目整体架构使用Mybatis插件生成POJO类和Mapper文件,整体结构如下:  查看详情

buildingworldsinunreal学习笔记——01-02概览与引入

BuildingWorldsInUnreal学习笔记——01-02概览与引入Lec01世界搭建概览IntrotoWorldBuilding1搭建世界的第一步2准备工作Lec02创建地形CreatingLandscapes1Landscape参数与调整1.1Vertex与Point1.2Sections与Components1.3Resize与密度2雕刻地形本系列学习资料来源... 查看详情

pixhawk硬件构架

1.Phxhawk连接线路2.Phxhawk硬件芯片列表处理器STM32F427VIT6 (168Mhz/256KBRAM/2MB闪存100Pin)32位STM32F100C8T6(48Pin)故障保护协处理器,平常用来控制输入信号采集(“Big–Little”架构)晶振24MHz精度15ppm3325封装传感器Invense... 查看详情