PX4源码开发人员文档一软件架构Word下载.doc
- 文档编号:13162094
- 上传时间:2022-10-07
- 格式:DOC
- 页数:5
- 大小:723.50KB
PX4源码开发人员文档一软件架构Word下载.doc
《PX4源码开发人员文档一软件架构Word下载.doc》由会员分享,可在线阅读,更多相关《PX4源码开发人员文档一软件架构Word下载.doc(5页珍藏版)》请在冰豆网上搜索。
这是一组核心缺省应用程序(节点),运行核心的飞行控制。
函数库:
这一层包括针对机器核心操作的所有系统函数库和功能
操作系统:
最后一层,提供硬件驱动、网络通信、UAVCAN和故障安全(failsafe)系统。
内部进程通信(InterProcessCommunication,IPC)
PX4
平台的封装提供了跨平台的无锁发布
-订阅模式(
publish–subscribepattern)
对象请求处理器。
取决于平台/操作系统,完成这个的后端可能是uORB,或者Linux上的ROS/DDS(datadeliveryservice)。
封装可扩展,也可作为消息系统提供支持,比如Ø
MQ
。
所有这些后端的共同特点是,它们都允许发送数据到一个像如“位置”这样的语义订阅主题(topic),并使多个接收器跨进程的收到这一数据。
IPC性能
发布(Publication)到订阅(subscription)之间的延迟:
uORB:
23us@168
MHz
STM32F4
ROS:
TBD
ROS2/DDS:
185us@1.6
GHz
IntelPentium4and2
GB
RAMrunningWindowsXP(details)
ZeroMQ:
170us@1.6
安全和保护模型
飞行核心与主要应用级处理过程隔离,以确保独立于高层级系统状态的机器核心操作,保持稳定。
PX4应用程序框架
PX4应用程序框架在所有平台上代码兼容,(比如
Pixhawk/NuttX,又比如,
SnapDragon/Linux),独立并将中间设备作为传输层。
节点句柄(NodeHandle)
节点句柄是每一个连接到中间设备的发布器(publisher)或者订阅器(subscriber)的核心数据结构(一个节点可以同时是发布器和订阅器)。
一个节点是一个逻辑单元,每一个进程都可以有多于一个的节点(虽然这并不是典型的形式)。
1.px4:
:
NodeHandle
n();
数据结构
对于所有相关的中间设备实现,PX4根据储存在“msg”中的定义文件自动生成据结构。
发布(publication)
通过使用节点句柄通告(advertise)订阅主题(
topic)来创建一个新的发布(publication)。
注意这个模板,是订阅主题的数据结构。
Publisher<
px4:
px4_rc_channels>
*
rc_channels_pub
=
n.advertise<
()
从这个指向
的句柄的指针,可以用于发布数据
1.px4_rc_channels
rc_channels_msg;
2.rc_channels_msg.data().timestamp_last_valid=
get_time_micros();
3._rc_channels_pub->
publish(rc_channels_msg);
订阅(Subscription)
通过订阅一个订阅主题创建一个新的发布。
注意模板,是订阅主题的数据结构。
使用订阅共有三个选择:
1.
使用订阅主题的句柄,进行手动复制操作。
2.
作为函数的回调(callback),在订阅主题更新时,函数被调用。
3.
作为类方法的回调(相当于函数,但是是C++类型的)
单纯订阅
除非手动调用复制方法,否则数据不会被复制。
1.unsigned
min_interval
=500;
2._sub_rc_chan
_n.subscribe<
(min_interval);
函数回调
每次订阅主题更新,则'
rc_channels_callback_function'
被调用。
[cpp]
viewplaincopy
2._n.subscribe<
(rc_channels_callback_function,
min_interval);
类方法回调
相当于前面函数的例子。
1._n.subscribe<
(&
SubscriberExample:
rc_channels_callback,
this,
混合系统
为了解决更高级别的挑战,比如基于视觉的避障或者复杂控制问题,一个运行嵌入式Linux的伴随计算机将非常有用。
集成ROS
PX4可以通过两种不同的API与ROS整合到一起:
或者自然地将每一个应用作为ROS节点,或者通过mavros在嵌入式自驾仪上唯一地运行
DroneAPI
DroneAPI是一个高级应用程序接口,类似于一个为远程过程调用(RPC)提供语言绑定的函数库。
从本质上讲,它是面向告诉无人机去哪里或做什么,而不是核心的机器人通讯/API的一部分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PX4 源码 开发人员 文档 软件 架构