Concurrency in modern Robots: Introducing the Robot Operating System.

Shivam Vats (~shivamvats)




Heard of the Google Self Driving car?

Ever wondered how such autonomous systems work?

If the answer is yes, then this talk is for you.

Robots have arrived. From factories to space, robots are everywhere. The focus now, is on building inexpensive and intelligent robots that can think on their own. And as they grow more complex, robotic systems are becoming increasingly concurrent. With massive development efforts being undertaken all over the world in robotics, there is a need to have a common framework that allows code and hardware sharing and is scalable to allow numerous concurrent processes.

Robot Operating System (ROS) is one such framework, that is the de facto standard for robotics software development across the world. It is successfully being used in industry, academia and personal projects to allow robots to talk to each other and work collectively. ROS is open source and language independent, with Python and C++ being its most popular implementations. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers.

If you want to be part of the ongoing robotics revolution, learning ROS will let you choose from the affordable TurtleBot, the capable and friendly Baxter , or even NASA’s Robonaut, currently undergoing testing on the International Space Station. With over 100 robots supporting ROS, you are spoilt for choice.

The talk will introduce the inherent problem of concurrency in Robots, and how we can use ROS to mitigate some of those problemss:

  • Concurrency in complex robots.
  • Message passing system for communication.
  • What ROS libraries let you do
  • How to control your first robot.
  • Visualization and simulation tools.


  • interest in Robotics.
  • Basics of Computer Science.
  • Familiarity with distributed computation.

Content URLs:

Outline of talk

Final presentation will be based on this

Intro and tutorials of ROS:

ROS website:

Talk content will be updated here :

Speaker Info:

Shivam is a 4th year undergraduate and robotics enthusiast at IIT Kharagpur. He has been part of the Autonomous Ground Vehicle (AGV) research group for over two years, where he uses ROS for his work on autonomous vehicles. Shivam represented the AGV team in the Intelligent Ground Vehicle Competition in 2014 and has taught basics of robotics to IIT Kharagpur freshmen and sophomores.

He was a Google Summer of Code student with SymPy in 2015, where he is now part of the core development team. This summer, Shivam worked on the PR2 robot during his intern at SBPL of Robotics Institute at Carnegie Mellon University.

Kumar Krishna Agrawal is a Deep Learning and Robotics enthusiast, presently final year undergraduate student at IIT Kharagpur. Works in the intersection of Robotics and Machine Learning. While trying to keep up with the rapid advancements in learning-based approaches, he spends a considerable amount of his time tinkering with quadcopters at the ARK Lab, or building his own swarm of robots at the SIK Lab.

Previously he has worked on theoretical machine learning at the Johns Hopkins University. More recently, he is exploring Deep Learning approaches for language modeling, at the MILA Lab, University of Montreal.

Section: Concurrency
Type: Talks
Target Audience: Intermediate
Last Updated:

Can you please upload a preliminary outline of your talk slides? Something that can help reviewers.

Akshay Arora (~akshayaurora)

@akshayaurora I have shared the link to my slides. Note that this is just my first draft. Looking forward to your feedback.

Shivam Vats (~shivamvats)

Not sure why this is classified under "Concurrency". Concurrency is for topics related to Twisted, threading, asyncio, etc. It would be best to categorize it under "Embedded Python". Classifying it under the right category will improve the visibility of your talk.

Vijay Kumar (~bravegnu)

I think I would want the focus on concurrency (see the changed title). I will not be discussing any embedded stuff.

Shivam Vats (~shivamvats)

Login to add a new comment.