在ros中集成Fast-rtps库并运行hello world 程序

1.介绍

ROS:自行百度

Fast-RTPS:是eProsima公司对RTPS标准的一个实现,也就是函数库。RTPS是DDS标准中的一个子集。RTPS:Real Time Publish Subscribe,是DDS标准中的通讯协议部分。其实ROS 2用到的DDS就是这个部分,所以Fast RTPS足够支持ROS 2的需求。简单来说Fast RTPS就是ROS 2中用来订阅发布消息的组件(前提是你的ROS 2选择它作为DDS实现)。(http://https://blog.csdn.net/fang_chuan/article/details/82152514)

2. 实验目的

在kubernetes集群中运行ROS集成Fast-RTPS的应用程序,测试k8s集群中各个pod可以正常接收通过Fast-RTPS发送的消息,可单播、可组播

kubernetes网络插件——Weave ,本身支持 单播和组播

3. 基本Dockerfile文件内容

4. 通过Dockerfile文件生成Docker 镜像,并在该镜像中进行Fast-rtps的安装和测试

5. 进入docker 镜像 ,启动容器,然后进行下面的安装

第一步:安装JDK

第二步:安装SDK man

PS: curl 要多试几次,总是下载不下来,我试了第四遍的时候,开始正常下载了

第三步:安装Gradle

第四步:安装Gstreamer-1.12.3 库

然后执行完进行 make install

第五步:安装Fast—RTPS  (make的时候走的有点慢)

6. 通过FastRtpsGen工具将IDL文件生成C++代码进行hello world 实验小程序

写 Helloworld.idl文件

 

7. 将容器打包成镜像,并 在kubernets 中进行安装和测试,启用了三个pod ,一个pub 消息,两个sub 消息

 

大功告成,收发正常!!!

原文地址:https://www.cnblogs.com/yytlmm/p/10274218.html