Nabarun Pal


Swarm Robotics using MicroPython, OpenCV and Open Source Hardware

Submitted Sep 14, 2017

Seeing Swarm Robots in action is really cool! But believe me, building them is much more satisfying.

The robots can be built using any microcontroller but Open Source Hardware like ESP8266, Raspberry Pi provide a better playground for tinkering with the concept and implementing some really awesome things. Now, the icing on the cake is MicroPython which supports ESP8266 and we all would agree that Python is amazing.

The talk will start with brief introduction of the components - Swarm Robotics, MicroPython, OpenCV, Raspberry Pi and ESP8266.

In the talk, I will focus on how you can build such micro robots which will co-ordinate amongst using open source tools. The feedback on where the bots are in space would be taken using OpenCV - an elegant Computer Vision library. I will show you how can interface the Image Processing logic on the Raspberry Pi with MicroPython running on ESP8266’s inside the robots, how we leveraged the modules inside MicroPython to get full fledged functionality of the robots like driving the motors.


Slide Outline

  • About me
  • What is Swarm Robotics?
  • Why make Swarm Robots?
  • Use cases
  • What are the building blocks?
  • A generalized architecture
  • Why Open Source Hardware?
  • What are the available options?
  • Raspberry Pi
  • ESP8266
  • Which language to write code in?
  • Why MicroPython?
  • Code Snippets and comparisons
  • Odometry in swarm of robots
  • Some interesting scenarios
  • Use of Image Processing
  • OpenCV to the rescue
  • How do you actually control them and not let them become SkyNet?
  • A phone application? Maybe. Why not?
  • Our Algorithms for swarm formation
  • Keying in all the parts of the puzzle
  • See them in action
  • Recap

Raspberry Pi:


The audience should have an idea about the paradigm of Swarm Robotics.

Basic knowledge about MicroPython, OpenCV and Open Source Hardware would be helpful.

Speaker bio

The speaker is Nabarun Pal, a final year undergraduate student at Indian Institute of Technology Roorkee. Currently, he is working for rorodata which aims at providing data scientists a platform to build and deploy their models without the need of worrying about infrastructure, scalability, and performance. He is working on an Open Source Functions as a Service framework called firefly.

He is passionate about software development. He can also talk about Internet of Things, Electronics, Robotics with equal spirit. His journey with the field of software and robotics started in his schooling days. He represents the college in various Robotics competitions and was involved in projects related to the above domains, brief of which can be found here. He actively participates in conducting open lectures for students in the domains of Introductory Robotics, Control, AI and ML through a curated community of around 2000 members. He is also spoke at PyData Delhi 2017.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

PyCon Pune 2017 more