You can get to this link for more information: http://wiki.ros.org/ROS/Tutorials
What is ROS ?
The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source.
ROS Package
For a package to be considered a catkin package it must meet a few requirements:
- The package must contain a catkin compliant package.xml file.
- That package.xml file provides meta information about the package.
- The package must contain a CMakeLists.txt which uses catkin.
- Each package must have its own folder
- This means no nested packages nor multiple packages sharing the same directory.
The simplest possible package might have a structure which looks like this:
my_package/
CMakeLists.txt
package.xml
To buliding a ROS package, we use:
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]
Quick Overview of Graph Concepts
- Nodes: A node is an executable that uses ROS to communicate with other nodes.
- Messages: ROS data type used when subscribing or publishing to a topic.
- Topics: Nodes can publish messages to a topic as well as subscribe to a topic to receive messages.
- Master: Name service for ROS (i.e. helps nodes find each other)
- rosout: ROS equivalent of stdout/stderr
- roscore: Master + rosout + parameter server (parameter server will be introduced later)
ROS Nodes