Basic Concepts
Note: This page was generated from UM23-Docs/ros-introduction.md and may not always be up to date.
Node
A node
is a program that is responsible for carrying out a specific task, such as sending or receiving data from a sensor, or performing a computational task. Nodes communicate with each other through topics, which allow them to exchange information and coordinate their activities.
Topic
Topics
are channels that nodes use to communicate with each other. Think of a topic as a bulletin board where nodes can publish and subscribe to messages related to a specific topic of interest.
For example, a node that has GPS sensors could use a topic to publish information about the car’s position, speed, and rotation. Other nodes that need access to this information, such as a control node, could subscribe to this topic to receive and process the data to perform actions based on the information received.
Topics are designed to be flexible and decentralized, which means that nodes can publish and subscribe to topics without having to know the details of the other nodes’ implementation.
ROS Msg
Messages
are the data structures used to represent information exchanged between nodes through topics. Messages define the format, data types, and semantics of the data that a node will send or receive through a topic.
Publisher
A publisher
is a module of a node that “write/publish/paste” data in a topic.
You can have python program that makes a specific task and publish the result in a certain topic.
Suscriber
A suscriber
is a module of a node that “read/copy” data of a topic.
You can have a python program that to make a specific task reads data from a certain topic.