Have you ever wondered how advanced robots are programmed ? Do you know there's a framework especially made for that. Let's see in this article what it is and how to learn that.
What is ROS ?
Robot Operating System (ROS) is not an actual operating system but it is a set of tools and framework for writing robot software. It aims to simplify the task of creating complex and robust robot behaviour across a wide variety of robotic platforms. ROS was built from the ground up to encourage collaborative robotics software development. It is an open-source framework that helps researchers and developers build and reuse code between robotics applications.
ROS releases a version every year in May, following the release of Ubuntu LTS versions. ROS2 currently releases a new version every six months (in December and July). These releases are supported for a single year.
Each ROS versions is supported on a particular versions of OS. For ROS1, Ubuntu is recommended, however other OS can also be used but only partial support and / or community contributed installation guides is available.
More details of the ROS versions can be found here.
Who uses ROS ?
ROS has been adopted into some of the biggest names in robotics. The majority of organisations are either using ROS as it can be installed by anyone or a fork of ROS in some form.
The use-cases of ROS are still growing. It is used across numerous industries from agriculture to medical devices to vacuum cleaners but is spreading to include all kinds of automation and software-defined dynamic use-cases.
Why you should use ROS ?
- ROS was built with cross-collaboration in mind. The base code and knowledge can be applied across all robotics platforms such as arms, drones, mobile bases, etc.
- It’s open-source. ROS has contributors all over the world using ROS for countless different purposes.
- ROS robots can use any language. You can communicate easily between Python and C++ nodes, get libraries to allow you to use most other languages or install rosbridge and use any language that can speak JSON.
- There is a package for everything. Whether you want to compute trajectory, conduct SLAM algorithms or implement remote control, there’s a ROS package for that.
And many more .....
How to learn ROS ?
Now you'll be thinking how to start learning ROS and start creating your own robots. No worries, we have got you all covered. Currently there are very few online tutorials on ROS available. We have found some of the best ones and listed here.
- ROS Tutorials from Robotis
- Programming for Robotics: ROS Tutorials from ETH Zurich
- ROS Basic Tutorials from Shawn Chen
- ROS in 5 days from Construct
- ROS Course from Edx
Books For ROS
- A Gentle Introduction to ROS by Jason M. O'Kane [Read Here]
- ROS Robot Programming by YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim [Read Here]
I will be soon posting some tutorials on ROS programming here. So stay tuned !
Keep Learning ! Bbyee 👋