Learning ROS – Part I

Now that I have an Intel RealSense robotics development kit, which interfaces to ROS, it makes sense to actually learn it. What is ROS? ROS stands for Robot Operating System, and is a framework for developing robot software (think middleware). This series of blog posts documents my journey getting experienced with ROS.

Useful resources for getting started with ROS

You can learn ROS from the official documentation, books like A Gentle Introduction to ROS, or a paid web based course such as Robot Ignite Academy. Here’s how I got started:

  1. Install xdotool (very handy for opening multiple tabs in Ubuntu).
  2. Download and install ROS (while this is downloading you can read the brief ROS Introduction)
  3. I found the official ROS beginner tutorial to be immensely helpful as a gentle introduction to the syntax and concepts. I highly recommend them as a first step to learning ROS. I specifically completed the Core ROS tutorials.
  4. Jason M. O’Kane’s book, “A gentle introduction to ROS” gives a very nice overview of ROS – I read this book while completing the introductory official ROS tutorials. I found it reinforced the concepts I was learning and provided more explanations with examples. Whilst it’s tempting to just get on with playing around with ROS, I get the impression that understanding the fundamentals outlined in the book is useful for making contributions to the community.

Other useful resources:

  1. For a high level overview, read ClearPath Robotics tutorial to get an idea of how things fit together (more or less). I liked this tutorial for its real-world practical examples. Also see this more in depth one.
  2. Go through the learn TurtleBot and ROS tutorial – I don’t actually own a TurtleBot so I resorted to the simulation instead. Also see this one on the ROS wiki.

Installing ROS packages

Installing ROS packages in Ubuntu is really simple. Just type the following in a terminal:

sudo apt-get install ros-[distro]-[package_name]

Learning with others

Contributing to Open Source projects is a great way to learn and be part of a global community of people with similar interests. Every year, ROS has a conference called ROSCon which is a chance to meet other people working with ROS, exchange ideas, and present your work.  ROS, being open source, allows you to make contributions to the community through documentation, code, answering questions etc.

I started off by joining both ROS and Gazebo communities and my first contribution was expanding on an answer to a problem I encountered when going through the tutorials. When asking specific questions on ROS Answers , or Gazebo Answers remember to include your ROS and OS versions, as well as the most appropriate tags to increase the chances of getting the right answers.

Robotics without a robot

Robots are expense (but worth every cent!). While saving up to buy your awesome robotic platform, you can use the Gazebo simulator (this will be covered in the Getting started with Gazebo tutorial).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s