PX4源码分析4_PX4软件结构

PX4自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。

1.NuttX实时操作系统:

提供POSIX-style的用户操作环境,进行底层的任务调度。

2.PX4中间件:

PX4中间件运行于操作系统之上,提供设备驱动和一个微对象请求代理(micro object request broker,uORB)用于驾驶仪上运行的单个任务之间的异步通信。我的理解是完全可以将它看成为一种进程间通信机制。

3.PX4飞行控制栈:

飞行控制栈可以使用PX4的控制软件栈,也可以使用其他的控制软件,如APM:Plane、APM:Copter,但必须运行于PX4中间件之上。
此部分又可分为3部分:

  • 决策导航部分:
    根据飞行器当前飞行状态和接收的用户命令,决定工作模式和飞行任务。

  • 位置姿态估计部分:
    通过传感器获取自身的位置和姿态信息。

  • 位置姿态控制部分:
    根据期望与当前的位置和姿态控制飞行状态以达到期望位置和姿态。

  • 控制器输出部分:
    mixer和执行器,pwm限幅。

你可能感兴趣的:(PX4源码分析4_PX4软件结构)