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.