ROS Concepts——ROS系列(一)
ROS Filesystem Level
主要指硬盘上看得到的文件系统,包括:
- Packages(功能包):Packages are the main unit for organizing software in ROS;(ROS中可建立的最小单元)
- Metapackages:一组用于实现兼容性的特殊功能包;
- package manifest:也就是
package.xml,provide metadata about a package, including its name, version, description, license information, dependencies, and other meta information like exported packages. - Repositories
- Message (msg) types: Message descriptions, stored in
my_package/msg/MyMessageType.msg, define the data structures for messages sent in ROS.(Topic 必备) - Service (srv) types: Service descriptions, stored in
my_package/srv/MyServiceType.srv, define the request and response data structures for services in ROS.(Service必备)
ROS Computation Graph Level
The Computation Graph is the peer-to-peer network of ROS processes that are processing data together.The basic Computation Graph concepts of ROS are nodes, Master, Parameter Server, messages, services, topics, and bags, all of which provide data to the Graph in different ways.
- Nodes:基本功能模块;
- Master:控制中心,节点没有Master互相之间就会失恋;
- Parameter Server: The Parameter Server allows data to be stored by key in a central location. It is currently part of the Master.(key-value的数据表,用来存全局数据的)
- Messages: Nodes之间可通过传递
Messages交流;A message is simply a data structure, comprising typed fields.支持基本类型诸如:integer, floating point, boolean, etc.也支持基本类型的数组; - Topics: Messages are routed via a transport system with publish / subscribe semantics.节点将messages发布到topics,也可从topics订阅messages. The topic is a name that is used to identify the content of the message. In general, publishers and subscribers are not aware of each others’ existence.一个节点可订阅或发布多个topics;多个节点可发布或订阅至同一个topic(
many-to-many, one-way transport)。Logically, one can think of a topic asa strongly typed message bus. Each bus has a name, and anyone can connect to the bus to send or receive messages as long as they are the right type. - Services:发布/订阅模式虽然很灵活,但却不适合分布式系统中经常用到的应答/请求交互。 Request / reply is done via services, which are defined by a pair of message structures: one for the request and one for the reply. A providing node offers a service under a name and a client uses the service by sending the request message and awaiting the reply.
- Bags: 用于测试/开发数据
ROS Master stores topics and services registration information for ROS nodes. Nodes communicate with the Master to report their registration information. As these nodes communicate with the Master, they can receive information about other registered nodes and make connections as appropriate. The Master will also make callbacks to these nodes when this registration information changes, which allows nodes to dynamically create connections as new nodes are run.
Names
Graph Resource Names
可以简单理解为C++中的命名空间吧~
Resolving(路径解析)
There are four types of Graph Resource Names in ROS: base, relative, global, and private, which have the following syntax:
-
base
-
relative/name
-
/global/name
-
~private/name
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
