Basic Concepts of ROS

From Lofaro Lab Wiki
Jump to: navigation, search

As we have gone through the ROS major topics and things to know, now we will go through a simple project with description that will make us think about ROS from a different perspective and we will be more acquainted with system.

Let’s talk from the basics from ROS. As far you understood about ROS what is your conception about the system?

ROS is not a programming language but it’s not only a library too. It does include client libraries which are available in python, Java as well as C++. It has a central server, a set of command line tools, set of graphical system and most importantly a build system. You can think about ROS in that way, it is a system that will enable you write software for your robot in a convenient way.

Though we went over the popular commands and tools of ROS from previous tutorials, we will be going over all those things again in a different way which will make ROS more understandable to you. We have learn a lot of things so far, but we will take a look on all of this from more development perspective.

1. Packages are heart of ROS, whether you are going to work on some others projects or making your own project. You have to deal with packages. So you need to learn using other packages as well as making your own project.

2. Nodes are the executable of ROS which will be the main programs that will run your robot’s actuators and sensors. To make a communication between your different nodes you need to know how to get messages and pass messages to different nodes and which is why you need to make your node work as a subscriber or/and publisher. Your nodes must be in a package as your node will be identified through the package it’s residing.

3. So you need to know what messages are and how it is being passed through the master of your installed ROS. You will also need to monitor if the messages are passed correctly. We will start again from the package things and will go over an entire project which will make you better understating the ROS.