Robot Operating System: Introduction

Core Components

ROS Communication Patterns

  • Message playback: ROS stores all messages in files, which can be used for diagnosis or playback once new nodes join the
  • Distributed data store: A global key-value store with which components can store values

ROS System


CLI Tools

  • rosnode - display information about the nodes running in your ROS system. See the complete rosnode list or specific information with rosnode info.
  • rostopic - Explore and work with topics. Show detailed information about topics with rostopic list and rostopic info. Or pass messages to a topic with rostopic pub. And you can also get a live updated list of all exchanged messages of a topic with rostopic echo.
  • rosmsg - Messages can be conveniently explored from the command line too. First of all, you can either see a complete list of all message types with rosmsg list, or you can filter this list to a specific package with rosmsg package. With rosmsg show you see the details of a message.
  • rosservice - Similar to topics, this command enables you to list all services or get a detailed definition with info, and you can also call a service.
  • rossrv - To display the service type information, this tool works with the very same sub-commands as the rosmsg CLI tool.

Graphical Tools

RQT Common



  • URDF: XML file format for detailed modelling of a robot (static structure, joints, sensors, collision and inertia model)
  • XACRO: XML macro language, can be used to define less verbose URDF models
  • SDF: XML file format for describing a robot simulation, it supersedes the URDF format




Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


IT Project Manager & Developer