Node (ROS)
节点EssentialA single-purpose program unit in ROS; a whole system is made of many nodes talking to each other.
A node is the most basic unit of execution in ROS (Robot Operating System); typically, one node is responsible for one job — reading a camera, running object detection, planning a path, driving a motor. Nodes don’t call each other’s functions directly; instead they exchange messages through topics (a continuous publish/subscribe stream), services (a single request and response), and actions (a longer-running task with progress feedback). Splitting the system up this way means modules can be developed, swapped, and debugged independently; one node crashing doesn’t necessarily bring the whole system down, and different nodes can easily be spread across multiple computers. In ROS 2, nodes are written using rclpy (Python) or rclcpp (C++), and ros2 node list is the usual command to see which nodes are currently running.
ExampleA camera-driver node publishes images; a detection node subscribes to the images and publishes an object’s position; a control node uses that to send the arm to grasp it.
- Also called
- ROS Node
- Related
- Topic (ROS) · Service (ROS) · Action (ROS Action) · Robot Operating System 2 · Robot Operating System · ROS Client Library (rclcpp / rclpy)
- Sources
- ROS 2 Documentation: Understanding nodes
ROS Wiki: Nodes