[pixhawk笔记]3-架构概览
Posted 邵朋院的代码世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[pixhawk笔记]3-架构概览相关的知识,希望对你有一定的参考价值。
本文主要内容翻译自:https://dev.px4.io/en/concept/architecture.html
- 总体架构:
PX4代码由两层组成:PX4飞行栈和PX4中间件。其中,前者是一套飞行控制软件,后者是一套通用的机器人中间件,可以支持任意类型的自主机器人。
PX4代码具有很强的通用性,所有类型的机架(实际上包括船和地面车辆等)可以使用同一套代码库,同时其追求模块化,具有以下特点:
- 所有的功能都被拆分为可更换的组件
- 通过异步消息传输来实现通信
- 系统可以处理多种类型的负载
- 高级软件框架
整个代码框架如下图:
其中每个方框为一个自治的功能模块,箭头表示通过uORB的发布/订阅机制实现的数据连接。
控制器和混控器(Mixer)和具体的飞机有关,而像Commander和Navigator之类的上层任务规划模块则可以在不同平台之间通用。 - 和地面站的通信框架
飞控和GCS之间的交互由Commander(通用控制指令,例如解锁)和navigator(接收任务指令并转化为低级的导航原语)等“业务逻辑”程序和mavlink程序,mavlink程序接收MAVlink数据包并将其转化为uorb的数据结构。这种显式的隔离机制可以避免MAVlink和系统的深层依赖。mavlink程序也将传感器和状态滤波数据转发给地面站。
以上是关于[pixhawk笔记]3-架构概览的主要内容,如果未能解决你的问题,请参考以下文章