User Tools


This is an old revision of the document!


ROS Tutorials

ROS Tutorials

This wiki is a simplified

Pre-requisites

Basic linux command-line knowledge (specifically BASH) is assumed. If you are completely unfamiliar with the command line, check out thiscodecademy tutorial, or this series of videos.

High Level Concepts

ROS is many things, it is primarily a communication framework, but it also has a huge set of useful tools, including viewing data, navigating the filesystem, and starting up processes.

Each process is called a node. Nodes are designed to do a specific task. We can create complex functionality (such as controlling a robot) by building multiple nodes and having them talk together.

There are several ways for nodes to talk to each other, the most common one is a topic. The basic idea is that a single node can “publish” data to a topic, and then one or more nodes can “subscribe” to the topic and receive the data.

Nodes are typically grouped together into a package. All of our software is in a single package called “robosub”. When you install ROS, several other packages are installed that provide some useful functionality, such as rqt_plot.

Command Line Tools

ROS provides many useful command-line tools. Your BASH environment gets access to these when you have the following line in your ~/.bashrc file:

source /opt/ros/indigo/setup.bash

Most ROS commands support tab autocompletion, so take advantage of it!

ROS has a few different commands that are useful for moving and looking around. They are typically in the form:

<command> <package_name> <...>

Most are based on the typical navigation functions:

  • roscd
  • rosls