Robot Operating System: Difference between revisions

Content deleted Content added
spam as cite
Tag: Reverted
Line 63:
ROS processes are represented as nodes in a graph structure, connected by edges called topics.<ref name=":3">{{Cite web|url=http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes|title=ROS/Tutorials/UnderstandingNodes – ROS Wiki|website=ROS.org|publisher=Open Robotics|access-date=2019-04-29}}</ref> ROS nodes can pass messages to one another through topics, make service calls to other nodes, provide a service for other nodes, or set or retrieve shared data from a communal database called the parameter server. A process called the ROS Master<ref name=":3"/> makes all of this possible by registering nodes to itself, setting up node-to-node communication for topics, and controlling parameter server updates. Messages and service calls do not pass through the master, rather the master sets up peer-to-peer communication between all node processes after they register themselves with the master. This decentralized architecture lends itself well to robots, which often consist of a subset of networked computer hardware, and may communicate with off-board computers for heavy computing or commands.
 
==== NodesNode ====
A node represents one process running the ROS graph. Every node has a name, which it registers with the ROS master before it can take any other actions. Multiple nodes with different names can exist under different [[namespace]]s, or a node can be defined as anonymous, in which case it will randomly generate an additional identifier to add to its given name. Nodes are at the center of ROS programming, as most ROS client code is in the form of a ROS node which takes actions based on information received from other nodes, sends information to other nodes, or sends and receives requests for actions to and from other nodes.