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 消息
大功告成,收發正常!!!