LCM 轻量级通信组件
LCM和ZMQ比較
http://www.doc88.com/p-6711552253536.html 基于LCM和ZeroMQ的進程間通信研究
2、簡介
LCM(Lightweight Commuciation and Marshalling) 它是作為消息傳遞和封裝的通信庫,其首要任務是簡化低時延消息傳遞系統的開發。目前廣泛應用于無人駕駛汽車領域。
其通信效率比基于TCP的ros庫里面的效率要高,和IPC( Inter-Process Communication 系統自帶的進程間通信)相比,也要高一些。
3、個人理解
此LCM可以理解為ROS里面的一個通信機制,ROS里面也有Package的概念,然后ros_make 之后,也會出現很多的頭文件,然后我們通過ROS_RUN調用ros里面的庫,進行publish 和 subcrible(訂閱和請求)。
而在LCM里面,其實原理是一樣的,由LCM里面的LCM_GEN小程序編譯生成頭文件,然后把這些頭文件放到目錄當中,我們在編寫程序的時候,引入LCM第三方庫,LCM里面有自己的publish和subcrible等。
配置步驟如下:
查看readme
在拿到第三方開源庫之前,我們首先先查看README 文檔,查看如何使用此開源代碼。
打開文檔,根據系統要求進行編譯
我們目前是Ubuntu 系統,編譯需要的依賴庫如下。
4、如果想查看詳細信息,可參考文件INSTALL
安裝后的路徑如下:
實例代碼
選用IDE為codeblocks
下載后直接安裝即可。
配置完編譯
一直出錯,未定義的引用 lcm_create()等。
原因:codeblocks不能加載環境變量,即使我們已經用ldconfig 命令進行配置完依然是這樣的。
解決方案:配置庫和頭文件(在ros里面有此IDE也是需要配置的)
然后編譯即可進行調試。
我們可以再建立一個subcribe的工程實例,然后在通過IDE里面同時運行多個實例。參考資料:http://blog.csdn.net/clever101/article/details/7299670
總結
以上是生活随笔為你收集整理的LCM 轻量级通信组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取文本框里输入的值_如何从
- 下一篇: anaconda下载的python在哪_