You are currently viewing Robotic Operating System (ROS)

Robotic Operating System (ROS)

What is ROS?

            This is an open-source robotic middleware suite, which enables us to write codes to control a robot. It comes with build in tools used for the debugging and simulation of our robot  without actually having to build them physically.

            It is not actually an operating system (OS) but a set of software frameworks for robot software development. It is well supported to run on Ubuntu OS although they are some progress being made for it to run on windows OS.

            This software framework was developed by Eric Berger and Keenan Wyrobek, PhD students working in Kenneth Salisbury’s robotics laboratory at Stanford  university in 2007, and later was handed to Willow garage, a tech incubator. Today, it is maintained by a startup called open Robotics, which builds the ROS codes as well as build development kits such as the turtle bot.

How does ROS function?

          As mentioned earlier, it is an open source framework for coding, debugging and running  codes to control a robot.

            Codes, known as nodes are build and placed in special files called packages. All nodes register to a center service called roscore, which controls and establishes protocols for message passing between the running nodes. Communication between nodes could be via publishing and subscribing over a topic, services, actions or via messages. With this setup, we could write an efficient control software to control a fully autonomous unmanned aerial vehicle (UAV) and lots more.

How to start developing Robots with ROS?

          Before beginning any development with ROS, you need to install it in your machine, in our case Ubuntu. Follow this link to get ROS installed in your machine: http://wiki.ros.org/ROS/Installation

          Developing robots with ROS is not an easy task but when you finally succeed, the reward is so high. So to begin writing codes  with  his framework, you need to have a basic knowledge about Linux OS and how to navigate the Linux file system using the command prompt or bash. Most importantly, you will have to be patient and ready to invest time in studying because things will fail a lot at start.

            As we all know, you are going to be coding right, and not just any kind of coding, you will be writing control software codes to move robots around, so you will need to have some basic mastery of python or  C++. Coding with python will require less work and you can start from here, but if you have a good mastery of C++, then you can jump directly into coding using it.       

Why should I use ROS?

  • It is general meaning the same knowledge can be applied to many other kind of robots such drones and robotic arms.
  • It provides some already build in packages so they is no need to re-invent the wheel.
  • Its support different programming languages such as python and c++ allowing communication between nodes written in different languages.
  • It has a great in-build simulation and debugging tools to efficiently test and run your codes before deploying it into the real world.
  • It is open source, thus supported by a large community.
  • could be interfaced with other hardware devices such as the Arduino.
  • It is light meaning it those not require a lot of storage space to install, so it could be installed even in microcomputers such as raspberry pi to be  used in building robotic projects.

            If you want to be a professional developer of robots,  I recommend you get a mastery of ROS starting today. You can visit ros.org for more information.

            For those who wants to integrate ROS in their Arduino projects, in the next article, I will be teaching you guys on how to do so. Stay tune and keep building.

This Post Has 9 Comments

  1. Princewil

    I enjoy this writup

  2. Kelly Kingston

    Cool. I love this

  3. zoritoler imol

    great issues altogether, you simply gained a emblem new reader. What may you suggest about your submit that you simply made some days ago? Any sure?

  4. I’ve recently started a site, the information you provide on this website has helped me tremendously. Thank you for all of your time & work. “Yield not to evils, but attack all the more boldly.” by Virgil.

  5. slot demo

    Well I definitely enjoyed studying it. This article offered by you is very effective for good planning.

  6. cq9 slot demo

    As I website possessor I conceive the subject material here is real wonderful, thanks for your efforts.

  7. Hello! Do you use Twitter? I’d like to follow you if that would be okay. I’m absolutely enjoying your blog and look forward to new posts.

  8. Enjoyed examining this, very good stuff, thanks. “Talk sense to a fool and he calls you foolish.” by Euripides.

Leave a Reply