ROS 总结(一):ROS系统框架
一、總體結構
ROS的系統主要被分成了三部分:
- 文件系統級(Filesystem)
- 計算圖級(Computation Graph)
- 開源社區級(Community)
文件系統級:程序是如何組織和構建的,需要的核心文件
計算圖級:描述程序是如何運行的,進程和系統之間如何通訊
開源社區級:程序的分布式管理方式,開發人員之間如何共享知識、算法和代碼。
二、文件系統級
ROS系統的不同組件被放在不同的功能文件夾下。這些文件夾根據功能的不同來對文件進行組織:
功能包集(Stack):
是包的集合,將一些具有某種功能的包集合在一起。
功能包(Package):
ROS中的基本單元,用于創建ROS程序。包含節點、ROS依賴庫、數據套、配置文件、第三方軟件、或者任何其他邏輯構成。包的目標是提供一種易于使用的結構以便于軟件的重復使用??偟脕碚f,ROS的包短小精干。
功能包中一般包括:
- 功能包清單
- 消息(msg)
- 服務(srv)
- 描述文件
- bring_up文件
- URDF文件
- 驅動文件
- gazebo文件
……
三、計算圖級
計算圖是ROS處理數據的一種點對點的網絡形式。ROS運行時會創建一個網絡,就像工業總線一樣,每一個節點都可以通過網絡發布消息,也可以接受其他節點發布的消息。
主要包括節點(node)、消息(message)、主題(topic)、服務(service)等,還包括節點管理器(Master)、參數服務器(Parameter Server)、消息記錄包(Bag)等。
節點
節點就是一些直接運算任務的進程。一般是一些cpp文件。
消息
節點之間是通過傳送消息進行通訊的。
主題
相當于消息傳遞的總線。多對多的模式。
服務
節點之間直接一對一的通訊。
四、社區級
ROS的社區級概念是ROS網絡上進行代碼發布的一種表現形式。主要是用來分享軟件和知識。
參考文獻:
(1)、劉平杰等,ROS機器人程序設計,機械工業出版社,2019.09
(2)、http://wiki.ros.org/
總結
以上是生活随笔為你收集整理的ROS 总结(一):ROS系统框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再论贝塞尔曲线
- 下一篇: ROS 总结(二):创建URDF模型