Before we get started with learning ROS, let's first know "what is ROS ?". As the name states, ROS or Robot Operating System is like an operating system for robotics. But this runs on a operating system, so it's more like an interface between the operating system and real world robotics. In computer terms, this is called a middleware (or a meta operating system).
It handles everything with the operating system that is required for a major robotics application, communication, for instance. It allows trying out and developing complicated ideas in isolation so that development is more efficient. It also has a supported suite of applications for simulation and visualization of data, so you can test your application as if in real time without actually doing anything on hardware first. This gives you critical insight into the functioning of your robot. Most importantly, all the "behind the scene background stuff" is already programmed into it, so that you can focus on the frontend aspects more.
Enough about it, let's get started...
Let's get started with learning ROS, but first we need to setup a few things before we get started. We need the following:
I've divided the learning phase into stages, think of them as steps which you must climb one by one, in the right order. Let's get started.
The learning stages are given below
Installing ROS and learning the basic tools in ROS. You'll get the answer to various questions like:
How to make and handle a project in ROS ?, How do things communicate with each other in ROS ?; What are the basic tools in ROS and how to use them efficiently ?; How to describe, visualize and simulate a robot model ? and much more.
Good if you're getting started with ROS or want to review the basics
A little more advanced topics in ROS. Things for which ROS is known for. Transformations, ROS Navigation stack, etc.
Site under development
Please be patient and wait for more content to be uploaded