eProsima Fast DDS是DDS(数据分发服务)规范的C++实现,DDS是由对象管理组(OMG)定义的协议。eProsima Fast DDS库提供应用程序编程接口(API)和通信协议,用于部署以数据为中心的发布者-用户(DCPS)模型,目的是在实时系统之间建立高效可靠的信息分发。eProsima Fast DDS在资源处理方面具有可预测性、可扩展性、灵活性和高效性。为了满足这些要求,它使用了类型化接口,并依赖于一个多对多的分布式网络范例,该范例巧妙地允许将通信的发布方和订户方分离。
eProsima Fast DDS包括:
- DDS SDK实现。
- Fast DDS-Gen,一种用于桥接类型化接口和中间件实现的生成工具,即IDL语言到DDS数据对象的翻译器工具。
- 底层RTPS有线协议实现。
对于以上所有内容,eProsima Fast DDS已被选为Robot Operating System 2(ROS 2)在每个长期(LTS)版本和大多数非LTS版本中支持的默认中间件。
(1)DDS API
DDS采用的通信模型是多对多的单向数据交换,其中产生数据的应用程序将数据发布到属于使用数据的应用的订户的本地