Beginner Level
Installing and Configuring Your ROS Environment
- This tutorials walks you through installing ROS and setting up your ROS environment on your computer.
This tutorial introduces ROS filesystem concepts, and covers using the roscd, rosls, and rospack command-line tools.
This tutorial covers using roscreate-pkg to create a new package, and rospack to list package dependencies.
Understanding ROS Services and Parameters
This tutorial introduces ROS services, and parameters as well as using the rosservice and rosparam command-line tools.
Using rosed to edit files in ROS
This tutorial shows how to use rosed to make editing easier.
Writing a Simple Publisher and Subscriber (Python)
- This tutorial covers how to write a publisher and subscriber node in python.
Writing a Simple Publisher and Subscriber (C++)
- This tutorial covers how to write a publisher and subscriber node in C++.
Examining the Simple Publisher and Subscriber
- This tutorial examines running the simple publisher and subscriber.
Writing a Simple Service and Client (Python)
- This tutorial covers how to write a service and client node in python.
Writing a Simple Service and Client (C++)
- This tutorial covers how to write a service and client node in C++.
Examining the Simple Service and Client
- This tutorial examines running the simple service and client.
Recording and playing back data
- This tutorial will teach you how to record data from a running ROS system into a .bag file, and then to play back the data to produce similar behavior in a running system
Basic introduction to the roswtf tool.
This tutorial discusses the layout of the ROS wiki (ros.org) and talks about how to find what you want to know.
Now that you have completed the beginner level tutorials please answer this short questionnaire.
Intermediate Level
More client API tutorials can be found in the relevant package (roscpp, rospy, roslisp)
Creating a ROS package by hand
- This tutorial explains how to manually create a ROS package.
Roslaunch tips for large projects
- This tutorial describes some tips for writing roslaunch files for large projects. The focus is on how to structure launch files so they may be reused as much as possible in different situations. We'll use the 2dnav_pr2 package as a case study.
Running ROS across multiple machines
This tutorial explains how to start a ROS system using two machines. It explains the use of ROS_MASTER_URI to configure multiple machines to use a single master.
This tutorial will show you how to define your own custom message data types using the ROS Message Description Language.