Whether you already have programming experience, like how to use a terminal and now you wish to apply them into robotics, or you are willing to dive into a new robotics project specs, ROS is the language you want to use.
In this article we will explain whether you should be using it… or not.
First, let’s start by defining it
ROS, or Robot Operating System, is a set of software libraries and tools that help you build several robot applications. The objective behind ROS is to be able to create a robotics standard. So no need to reinvent the wheel, ROS, as it is, will accompagny you with ease.
Why is it a good idea to use ROS for robotics?
Here are 8 reasons why ROS is a perfect fit for your robotic project.
1. ROS is general
The base code and knowledge are the same. They can be applied to many different kinds of robots : robotic arms, drones, mobile bases…
All you have to do is to learn the concept of communication between all the nodes of the program, then, you’ll be able to set up new parts of an application very easily.
If someday you decide to switch to a totally different robotics project, you’ll do it smoothly. In fact, you’ll be able to apply what you’ve learnt and reuse some parts that you’ve already built to the new project, no need to start from scratch ever again!
2. ROS packages can be used… for (almost) EVERYTHING
You need to compute a trajectory for your robot ? ROS has a package for that. You wish to use your joystick to control the robot ? ROS also has a package for that.
You want to map out a room with a drone ? Guess what? ROS is the answer again.
With a little research, trust us, you’ll find many ROS packages for almost any robotic application you can think of.
3. ROS is language-agnostic
You can easily communicate between a Python node and a C++ node. It means a lot of reusability and possibilities of collaborative works. Many libraries also allow you to use other languages (because ROS has mainly targeted C++ and Python).
You can also get a websocket server running on your robot (rosbridge_suite) or an HTTP server, and thus use any language to communicate with it.
4. ROS has great simulation tools
Getting your robot to run for real can be complicated sometimes, therefore you certainly need simulation tools. ROS has many great tools, such as Rviz and Gazebo. For instance, Gazebo helps you add some physical constraints to the environment, so that once you run both simulation and physical robot, the outcome is pretty much identical.
You’ll be able to map a room in 3D with a drone linked directly to your computer, imagine how much time you could save!
On the other hand, simulation tools allow you to visualize and use other robots that you don’t own, for educational purposes or even to test a robot in a specific environment.
5. Control multiple robots
ROS can work with multiple ROS masters. This means that if you have many independent robots and each has its own ROS system, all of them will be able to communicate with each other.
6. ROS is light
The core base of ROS doesn’t take much space and resources. You can quickly install the core packages and get started within a few minutes. Plus, you can use ROS on embedded computers, such as Raspberry Pi 4 boards. Thus, you can easily start a new project without much trouble.
7. More and more compatible ROS products
When you build a robot, you don’t necessarily wish to reinvent or recreate every part of it. You might want to focus on some development points, and integrate the rest from other manufacturers. The good news here is that you can find many robotics products, such as grippers or controller boards, that already have a ROS package. So, in addition to the physical tool, the software that goes with it is directly compatible with your ROS system.
8. ROS is an open source project with a permissive license
One of the greatest strengths of ROS is that it’s open source. Most of the core packages are released under a BSD license. A BSD license allows you to modify and use the code for commercial purposes, without having to release your code with an open source license. This can be a good point when a company decides to integrate an open source software.
A bright future for ROS
ROS was created in 2007 and since then, it benefits from a huge user base that is still growing till this date. More and more packages are being developed every year.
ROS is definitely worth it. And Niryo trusts it! If you want to get into robotics, ROS might be the answer. Ask our