A node in ROS is responsible for a single, modular purpose, e.g. controlling the wheel motors or publishing sensor data from a laser range-finder. Each node can send and receive data from other nodes via topics, services, actions, or parameters
ROS 2, a single executable can contain one or more nodes
A node in ROS 2 is like its own sub process that communicates with other processes exchanging only essential information.
An example of this is when I used to develop discord bots a shard would communicate with clusters but each cluster ran independently
ros2 run
ros2 run turtlesim turtlesim_node
The package turtlesim has an executable turtlesim_node which will run after we use that command
ros2 node list
A command that hows you the list of running nodes, useful for when you want to keep track of nodes
Remapping
Remapping
- The ability to reassign default node properties to custom values
Remapping rules: https://design.ros2.org/articles/ros_command_line_arguments.html#name-remapping-rules
ros2 node info
ros2 node info <node_name> # an example node_name is /my_turtle
This command returns a list of subscribers, publishers, services, and actions (aka the ROS graph connections that interact with that node)