Introduction the Robotic Operating System

Robotic Operating System (ROS) is the development framework. It is the platform to write various algorithms to work with robots.

Basically, any robotic process consists of sensing to collect the information from the outside environment and think accordingly with the info and then act accordingly. So, ROS plays an important role here. ROS helps the low-level hardware to integrate with software API and provide abstraction.

ROS acts as a mediator to think on the sensed info and act accordingly. The ROS is like a high-level software API like a brain and helps to integrate the low-level hardware also.  

The ROS has much impact in the field of robotics to implement many functions. For example, if we consider an autonomous car, it consists of many sensors to collect the data from the external environment. So, for all the modules to work integrated, ROS provides an ecosystem.

ROS makes all the versions and the software to be compactable to integrate all of them in the common environment.

ROS acts as a middleware between the low-level hardware drivers and the high-level software API. Out of the many ROS versions, many people use kinetic version till today from 2016 since its release.

ROS Architecture

The concept of ROS runs on the nodes. Every node consists of a set of programs where all the nodes link to one single ROS master node. 

ROS communication starts only when the master node starts functioning. If the ROS master being crashes, all the nodes will be dead. ROS master node consists of the set of commands to communicate with all the other nodes, accordingly. 

ROS defines the client library functions rospy and roscpp to support the programming libraries. It uses TCPROS and UDPROS for inter-process communication. The development of the ROS framework is suitable for the Linux operating system.

ROS Concepts

The roscore is the master node, and one node is used for the teleoperation, while the other node is used for the output node. The output node sends the info to the roscore node that it is the output node and if any velocity commands are obtained, it can be sent to it. Similarly, the telecommunication node specifies to the roscore that if any velocity input is obtained from it, store it and send it across accordingly. The nodes can also communicate directly using the TCPROS or UDPROS communication protocols, internally. This is the basic ROS cycle.  

ROS acts as a mediator to think on the sensed info and act accordingly. The ROS is like a high-level software API like a brain and helps to integrate the low-level hardware also.  

The ROS has much impact in the field of robotics to implement many functions. For example, if we consider an autonomous car, it consists of many sensors to collect the data from the external environment. So, for all the modules to work integrated, ROS provides an ecosystem.

ROS makes all the versions and the software to be compactable to integrate all of them in the common environment.

ROS acts as a middleware between the low-level hardware drivers and the high-level software API. Out of the many ROS versions, many people use kinetic version till today from 2016 since its release.

ROS Architecture

The concept of ROS runs on the nodes. Every node consists of a set of programs where all the nodes link to one single ROS master node. 

ROS communication starts only when the master node starts functioning. If the ROS master being crashes, all the nodes will be dead. ROS master node consists of the set of commands to communicate with all the other nodes, accordingly. 

ROS defines the client library functions rospy and roscpp to support the programming libraries. It uses TCPROS and UDPROS for inter-process communication. The development of the ROS framework is suitable for the Linux operating system.

ROS Concepts

The roscore is the master node, and one node is used for the teleoperation, while the other node is used for the output node. The output node sends the info to the roscore node that it is the output node and if any velocity commands are obtained, it can be sent to it. Similarly, the telecommunication node specifies to the roscore that if any velocity input is obtained from it, store it and send it across accordingly. The nodes can also communicate directly using the TCPROS or UDPROS communication protocols, internally. This is the basic ROS cycle.  

In ROS 2.0 the middleware is selected as DDS instead of ROSTCP or ROSADP, to improve quality of service, and real-time performance. 

Data Distribution Service

Data Distribution Service (DDS) provides real-time machine to machine communication and used in many applications like air traffic control, smart grid,  Big Data.

In DDS domain is defined with topics and instances. In ROS ecosystem DDS can be compared as:

Domain – ROS

Topic – Topics in ROS

Instance – Message in ROS that brings the data

Sample – An individual message, sent between two processes.

DataWriter – For Publisher

DataReader – For Subscriber

Due to this similarity, between the ROS and DDS, It is used as the middleware in the ROS communication system. 

ROS with Cloud

If the computational power of the robot is low, then all the data can be processed to the cloud and access the output from the cloud after the complete processing of the data. In this way, the Robotic Operating System robots can be controlled through the cloud accordingly.

We cannot connect multiple robots with Robotic Operating System ROS. So, they have to be connected with the separate ROS master node.

If we connect all the robots to the single ROS ecosystem then there occurs the issue of the scalability, where all the robots cannot be controlled with the single master node and it is also difficult for the user to control all the robots with single ROS environment. 

This is feasible, but although for the practical implementation the level of complexity is high 

To overcome this problem ROS Link architecture implementation with cloud service, where cloud will be the server and each Robotic Operating System robot can connect to the cloud using the ROSLink bridge and can control accordingly. 

Spread knowledge

Leave a Comment

Your email address will not be published. Required fields are marked *