What is ROS ? 5 Advantages of using ROS

ROS: Robotics Operating System 

What is ROS and why it is essential in robotics :

The short answer is that it can reduce development time

ROS does not require one to develop the existing system and programs all over again, but can rather quickly turn a non-ROS system into a ROS system by simply inserting a few standardized codes.

In addition, ROS provides various tools and software that are commonly used, allowing users to focus on the features they are interested in or would like to contribute to, which ultimately reduces the development and maintenance time.

So in the current time, we can call ros as a framework, which has certain standards, people can follow these to make an optimum robotics solution in minimal time.

As ROS  is an open-source community project there is plenty of support and resources available around the world which in fact boost the speed of development. That is, people around the globe are sharing knowledge for the development of this robotics platform, 

There is ros wiki, ros.org, and several other blogs and communities are available to support the growth of ROS

https://www.ros.org/

http://wiki.ros.org/Documentation

https://www.ros.org/news/

http://wiki.ros.org/ROS/Tutorials

https://answers.ros.org/questions/

https://discourse.ros.org/

Major advantages of using ROS

1. Re-usability of the program:

ROS have lots of open-source libraries available already, people can use them based on their requirement and it will help for fast development and re-usability of the code. So nobody needs to “reinvent the wheel”, rather we can use the already invented wheel and make our own vehicle.

For a simple example, if I want to develop my own localization algorithm using camera visuals, I can use the camera driver or CV_bridge, etc kind of libraries and develop my algorithm above it.so I don't have to develop the entire system, instead, I can focus on exactly what I want to develop!

2. Communication protocols :

One of the main advantages of using ROS is the ease of communication , in ROS we mostly develop the system as individual modules each module will be assigned with different tasks, we can call these modules as ROS-nodes,

Say if I have a ESP32 controller connected with temperature sensor acting as a temperature sensing ros-node,Then it can exchange data among all other nodes with easy and hardware-independent communication(ros publish-subscribe). 

The network programming, which is greatly useful in remote control becomes possible when communication among nodes is based on the network so that nodes are not restricted by hardware. 

3. Active community support :

As mentioned in the introduction ROS have big community support, which will help us to increase the speed of our development cycle. we can ask our doubts and give suggestions or even contribute to the community.

“If you want to go fast, go alone. If you want to go far, go together.” ·

We can go together and develop more beautiful robotic solutions!!!


4. Support of development tools:

ROS provides multiple tools to boost the development process like debugging tools ,2D and 3dDvisualization tools, simulator support, etc.

For example, if we need to develop a robot, we can simply start the development without any hardware, we can create a 3D card modal of the robot and define its physics in URDF, and test the behavior or programs in Gazebo (simulator ), or we can visualize the sensor data in the visualizer (Rviz) to understand, How the robot is getting /understanding the data. And there are other tools like rqt_graph,rqt_image_view, etc which help in understanding the flow and debugging the system.

5. Multi-language support :

ROS support multiple programming languages like python,c++,  java, etc

So the developer can choose the language of his preference, And it also opens the way to program different modules in different languages based on the process/task, The developer can choose the best language for that particular node.

                                    

                                                    ****

Read:

Locomotion in mobile robotics. 

What is mavros?.

Introduction to robotics. 

Different types of robots?

ROS : 5 Major advantages of using ROS.

Important branches of robotics?