Check out my first novel, midnight's simulacra!

ROS

From dankwiki
Revision as of 06:44, 20 February 2019 by Dank (talk | contribs) (→‎Concepts)

ROS is a software platform for robotics.

Concepts

  • Topic: a named bus on which messages of a single type are published
    • rostopic list will list active topics on a running rosmaster
  • Parameter: a key in the global configuration dictionary
    • XMLRPC data types
  • 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

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.

Executables

  • rosrun: launch an executable from a package
  • roslaunch: starts collections of nodes specified in a launch XML file
    • roscore: roslaunch to start core ros functionality