ROS2阅读笔记
ROS Document: https://docs.ros.org/
一、ROS2 總體概覽
從ROS到ROS2的能力提升:
- 多機器人控制。
- 多平臺應用支持,Windows、Linux、MacOS、RTOS甚至是無操作系統(tǒng)的單片機裸機。
- 實時應用支持,完善時間管理能力,指定時間開啟和結束。
- 增強網絡通信能力。
- 產品應用。
- 靈活構建。
ROS2取消了對于master節(jié)點的強依賴,基于DDS構建通訊系統(tǒng)。
DDS全稱Data Distribution Service,數據分發(fā)服務,是對象管理組織(Object Manage Group)于2004年正式發(fā)布的一個專門為實時系統(tǒng)設計的數據分發(fā)/訂閱標準,其以數據為核心的發(fā)布訂閱模型(Data-Centric Publish-Subscribe)創(chuàng)建了一個全局數據空間(global data space),可供所有獨立應用進行訪問。
在DDS通信模型中,包含了參與者、發(fā)布者、訂閱者、數據寫入器、數據讀取器、主題和QoS Policy(質量服務原則)等概念,其中,必須通過參與者訪問全局數據空間,QoS Policy控制各方面與底層的通訊機制(包括時間限制、可靠性、持續(xù)性、歷史記錄等),滿足用戶針對不同場景的數據應用需求。
總而言之,相比ROS1,ROS2在理論上可以實現實時性、持續(xù)性、可靠性三方面的增強,根據論文《Exploring the Performance of ROS2》中的實驗對比,ROS2較ROS2不容易丟失初始數據,但整體性能(Alpha版)并不如ROS,可能是與處于開發(fā)階段、對DDS特性支持有限有關,但是潛力值得關注。
在ROS的節(jié)點、消息、主題、服務等概念的基礎上,ROS2新加入了“發(fā)現(Discovery)”概念,簡單說,記一個節(jié)點啟動后,將向網絡中(周期性)發(fā)廣播告知自己的到來,其他節(jié)點也紛紛反饋自己的信息,節(jié)點下線時也發(fā)廣播告知自己的離開。
RO2的安裝
ROS2的倉庫地址為:https://github.com/ros2/ros2/releases,提供了二進制安裝包和源碼編譯兩種安裝方式。
具體安裝過程參考文末鏈接。
ROS2相較ROS使用了更多C++特性(如auto、make_shared等),詳細的API文檔參考鏈接:https://docs.ros2.org/beta1/api/rclcpp/index.html。
參考文章:
- 古月局.ROS2探索總結(一)——ROS成長記:https://www.guyuehome.com/772
- 古月局.ROS2探索總結(二)——走近ROS2.0時代:https://www.guyuehome.com/805
- 古月居.ROS2探索總結(三)——小試牛刀:https://www.guyuehome.com/823
總結
- 上一篇: Unity导出apk出现的问题,JDK,
- 下一篇: CentOS需要安装的JAVA环境的相关