Check out my first novel, midnight's simulacra!
ROS: Difference between revisions
From dankwiki
(→Names) |
No edit summary |
||
Line 2: | Line 2: | ||
==Concepts== | ==Concepts== | ||
* [http://wiki.ros.org/Packages Package]: defined by a directory containing a file [http://www.ros.org/reps/rep-0127.html package.xml] (REP-0127) | * [http://wiki.ros.org/Packages Package]: defined by a directory containing a file [http://www.ros.org/reps/rep-0127.html package.xml] (REP-0127) | ||
** msg/MyMessageType.msg defines messages for the package, published to topics | ** msg/MyMessageType.msg defines messages for the package, published to topics | ||
Line 14: | Line 9: | ||
** A node is typically launched standalone using [http://wiki.ros.org/rosbash#rosrun rosrun] | ** A node is typically launched standalone using [http://wiki.ros.org/rosbash#rosrun rosrun] | ||
* [http://wiki.ros.org/Master Master]: implemented by the [http://wiki.ros.org/rosmaster rosmaster] package, usually started via <code>roscore</code> | * [http://wiki.ros.org/Master Master]: implemented by the [http://wiki.ros.org/rosmaster rosmaster] package, usually started via <code>roscore</code> | ||
* [http://wiki.ros.org/Topics Topic]: a named bus on which messages of a single type are published | |||
** <code>rostopic list</code> will list active topics on a running rosmaster | |||
* [http://wiki.ros.org/Services Service]: a named procedure, implemented by some Node | |||
** Connections can be persistent according to the client's choice | |||
* [http://wiki.ros.org/Parameter%20Server Parameter]: a key in the global configuration dictionary | |||
** XMLRPC data types | |||
==Names== | ==Names== |
Revision as of 06:53, 20 February 2019
ROS is a software platform for robotics.
Concepts
- Package: defined by a directory containing a file package.xml (REP-0127)
- msg/MyMessageType.msg defines messages for the package, published to topics
- srv/MyServiceType.srv defines services for the package, supporting request/reply semantics
- Node: a named process that performs computation
- A running node has a type and a graph resource name
- A node is typically launched standalone using rosrun
- Master: implemented by the rosmaster package, usually started via
roscore
- Topic: a named bus on which messages of a single type are published
rostopic list
will list active topics on a running rosmaster
- Service: a named procedure, implemented by some Node
- Connections can be persistent according to the client's choice
- Parameter: a key in the global configuration dictionary
- XMLRPC data types
Names
Names aka graph resource names are unique for each topic, parameter, node, and service in the ros graph. It is a shared namespace; a topic cannot share a name with a node. The ROS_NAMESPACE environment variable can be used to scope the ros graph namespace. Names can be:
- relative,
- /global, and
- ~private (the node's name replaces the tilde)
Names can furthermore be remapped when a node is started by e.g. rosrun.