ROS study notes 2 (the core concept of ROS)

One, node and node manager

Node - execution unit

  • A process that performs a specific task, an executable file that runs independently, similar to an exe file under windows.
  • Different nodes can use different programming languages ​​and can be distributed and run on different hosts.
  • The name of the node in the system must be unique.

Node Manager (ROS Master) - Control Center

  • Provide naming and registration services for nodes.
  • Tracking and recording topic/service communications, auxiliary nodes look up each other and establish connections.
  • Provide a parameter server, the node uses this server to store and retrieve runtime parameters.

2. Topic communication

Topic-asynchronous communication mechanism

  • An important bus used to transfer data between nodes.
  • Using the publish/subscribe model, data is transmitted from the publisher to the subscriber, and the subscribers or publishers of the same topic may not be unique.

Message - topic data

  • It has certain types and data structures, including standard types and user-defined types provided by ROS.
  • Use programming language-independent .msg file definitions, and generate corresponding code files during compilation.

Three, service communication

Service (Service)-synchronous communication mechanism

  • Using the client/server (C/S) model, the client sends the request data, and the server returns the response data after completing the processing.
  • Use the programming language-independent .srv file to define the request and response data structure, and generate the corresponding code file during the compilation process.

Fourth, the difference between topics and services

topic service
Synchronization asynchronous Synchronize
Communication model Publish/Subscribe Server/client
Underlying protocol ROSTCP/ROSUDP ROSTCP/ROSUDP
Feedback mechanism no Have
Buffer zone Have no
real-time weak Strong
Node relationship Many to many One-to-many (one server)
Applicable scene data transmission Logical processing

Five, parameters

Parameter - global shared dictionary

  • A shared, multivariable dictionary accessible via the network.
  • Nodes use this server to store and retrieve runtime parameters.
  • Suitable for storing static , non-binary configuration parameters, not suitable for storing dynamically configured data.

Six, file system

文件系统
元功能包
功能包
功能包清单
消息类型
服务类型
代码
其他

Package

  • The basic unit in ROS software includes node source code, configuration files, data definitions, etc.

Package manifest

  • Record the basic information of the function package, including author information, license information, dependent options, compilation flags, etc.

Meta Packages

  • Organize multiple function packages for the same purpose.

Guess you like

Origin blog.csdn.net/weixin_44911075/article/details/114117888