ROS-101  1.0.0
Hands-on Experience with ROS using Python
Home Page

Welcome to the open-source ROS project or more commonly, ROSject called ROS-101: Hands-on exposure to Robot Operating System (ROS) using Python for absolute beginners. This tutorial is meant to be for self-study and fast paced learning for people who want to get exposed to ROS but are running short of time. The overall time allocated to go through this tutorial is about 3.5 hrs. This website is complimentary to the ROS101 repository.

Contents

In this tutorial you will find the following sections,

The recommended flow of tutorial is via the Introduction page all the way to the Packages. At the end of each page, for your convenience, you will find the Recommended Next Step to guide you to the next page. As a quick summary, cheatsheets are also provided for readers' convenience.

What's new here?

As opposed to other Youtube video tutorials, books, ROS wiki and study materials of other forms available to the learners, this tutorial takes a slightly different approach. These are summarized below:

  1. The contents of this tutorial were designed by students while they were learning ROS. Thus, this tutorial is prepared by the students for the students.
  2. The benefit of doing so was that the queries that arose during the course of learning were well documented and incorporated already in the materials to cut-down on learning time for others who might also experience the same issues, being an absolute beginner.
  3. The contents were carefully proof-read by peers who have slightly more experience with ROS and were tried and tested as a part of on-going projects to see the benefits that the beginners can reap after going through this tutorial.
  4. Careful trade-off of the quantity of information to the learning time required has been maintained.
  5. This tutorial goes a step beyond by presenting worked programming exercises for two of the most common robotics applications.
  6. Given the opensource nature of this ROSject, readers who are experts in the domain are more than welcome to contribute to this effort by creating a merge request into the repository.

While there may be a lot of material available for learners using C++, the tutorials using Python are rather sparse. This is now a well-noted fact as is starting to reflect in the community with people trying to publish books purely focused on using Python, like this Lentin Joseph's book. It takes quite some time to go through a book or a course to get to grips with the gargantuan framework of ROS. To overcome all these challenges, this tutorial provides a crash-course for absolute beginners.

Outcomes

By the time the readers finish with this crash-course/self-study tutorial, it is hoped that they become comfortable with ROS framework, are familiar with the jargon and are able to program and control a robot (at least in simulations).

Contributors

To see a full list of contributors for this project, please visit here. Given the open source nature of the ROSject, we welcome others to contribute. To let us know your key areas of expertise and what you wish to contribute please fill this form available here. After evaluating the request and details, someone from our team will be in touch shortly.

Feedback

Given how many cups of coffee had to be consumed and the working hours we put in to develop and deliver this ROSject, it would be a delight to hear from the readers as to what they feel about this tutorial. We believe that feedback is the breakfast of the champions so please do leave comments for us to improve further by clicking here