01
DDS前世今生
从工业自动化到航空航天,DDS协议的发展历程与核心价值。
历史演进
02
分布式系统基础
CAP理论、分布式通信模式(点对点、发布/订阅)、时钟同步。
理论CAP
03
DDS核心概念
全局数据空间、域、域参与者、数据写入器、数据读取器、主题。
术语GDS
04
DCPS模型详解
数据为中心的发布订阅模型,QoS策略如何保障实时性。
DCPSQoS
05
RTPS协议
实时发布订阅协议,DDS的线缆协议,如何实现互操作性。
线缆互操作
06
QoS策略深度解析
可靠性、持久性、延迟预算、资源限制等21种QoS策略。
21种配置
07
DDS发现机制
参与者发现协议(PDP)与端点发现协议(EDP)的工作流程。
PDPEDP
08
DDS类型系统
IDL定义、动态类型与静态类型、类型安全与序列化。
IDL序列化
09
FastDDS入门
eProsima FastDDS的安装、编译与第一个Hello World程序。
FastDDSHello
10
FastDDS编程模型
DomainParticipant、Publisher、Subscriber、Topic的创建与配置。
API参与者
11
FastDDS QoS配置
通过XML文件和代码两种方式配置QoS策略。
XML代码
12
FastDDS高级特性
分区、内容过滤主题、监听器、等待集。
过滤监听
13
CycloneDDS入门
Eclipse CycloneDDS的安装、编译与第一个Hello World程序。
Cyclone入门
14
CycloneDDS编程模型
与FastDDS的异同,C和Python API的使用。
对比C/Python
15
DDS与ROS2
ROS2为何选择DDS作为中间件,RMW(ROS Middleware Wrapper)机制。
ROS2RMW
16
ROS2 DDS配置
在ROS2中配置FastDDS/CycloneDDS,调整QoS参数。
配置调参
17
飞控系统架构
PX4/ArduPilot的模块化架构,uORB消息总线的工作原理。
PX4uORB
18
DDS与uORB桥接
设计思路,将uORB消息映射为DDS主题,实现跨平台通信。
桥接映射
19
微服务化飞控
将飞控功能拆分为独立DDS节点,实现高内聚低耦合。
微服务解耦
20
实时性保障
DDS在飞控中的延迟测试,如何通过QoS满足硬实时要求。
延迟硬实时
21
安全性
DDS安全规范(DDS-Security),身份认证、访问控制、加密传输。
安全加密
22
DDS在无人机集群中的应用
编队飞行、数据共享、协同感知的DDS实现。
集群协同
23
DDS与地面站通信
通过DDS桥接MAVLink协议,实现地面站与飞控的实时交互。
MAVLink桥接
24
DDS在仿真环境中的应用
联合仿真(HITL/SITL),DDS作为仿真总线。
HITLSITL
25
性能调优
传输速率、内存占用、CPU负载的优化策略与基准测试。
优化基准
26
日志与调试
DDS日志系统、Wireshark抓包分析RTPS报文、调试工具。
WiresharkRTPS
27
跨语言/跨平台
C++、Python、Rust等语言的DDS客户端,ARM/x86平台移植。
多语言移植
28
DDS与云原生
Kubernetes部署DDS节点,边缘计算与云端协同。
K8s边缘
29
故障处理
网络分区、节点崩溃、消息丢失的容错机制与恢复策略。
容错恢复
30
项目实战
构建一个完整的分布式飞控原型系统,从设计到部署的全流程复盘。
实战原型