These are my beginner steps in robotics. I have always been fascinated by robotics, and given my interest in artificial intelligence, this area has always been a region of wanderlust for me. However, my interest in robotics was limited to being dazed by the advancements in its field, reading about various types of bots and shaking hands with them. I have never built one, but now, after attending classes in the Global Virtual Lecture Hall of ShanghAI, I definately am capable enough to give it a try. ShanghAI has helped me to delve deeper into exactly how they work, it turns out that they are much more complicated than just a simple input-output scheme.

The first intersection between artificial intelligence and robotics was the Sheky robot that I had read about in the book Artificial Intelligence, by Elaine Rich and Kevin Knight. This is a great book. If anyone is interested in Artificial Intelligence, this book is a must read. It provides in-depth information and tactical ideas that help in understanding elegantly how the machine brain works. Another robot is the dock worker robot that helped me understand knowledge representation and automated planning in artificial intelligence.


As a part of the ShanghAI lectures, we were assigned into groups, called Koan based on our choice of robots and assignments. The word Koan means to invoke greater doubt. I was in the first Koan. I tried to make my own robots and this was possible using Webbots.

The assignment problem was to deal with Swiss Robots and their adaptive morphology and understand how they interact with one another.

Swiss Robots foremost are dependent on sensor morphology for performing a complex collective behavior (collecting boxes in piles) with extremely simple controllers and no explicit inter-robot communication. We were free to adapt the sensor morphology using the robot’s controller, e.g. changing the pitch/yaw of the proximity sensors. We also had to prepare a hypothesis taking into account the condition of introduction of a slope.

Swiss Robots

Swiss Robots are simple robots that demonstrate the sophisticated collective behaviour of heap formation through a technique called ‘strategy of errors’. The robots cannot differentiate amongst obstacles, objects and walls, so, react to each in the same way. During its movement it tries to avoid contact with them. However, if any one stands in the way and the robot is unable to detect it, then the object and robot will face a collision and the robot will push the item. If it is an object, pushing will ultimately lead to heap formation whereas no effect is seen on the wall or obstacle. The behaviour of Swiss robots is achieved using Didabots.

The behaviour of the Swiss Robots is achieved through this code snippet on GitHub which is provided by ShanghAI.

This is what the bots look like.

Initial Solution


  • Use machine learning to calculate the optimum numerical values of all parameters viz. pitch, yaw.
  • Adaptive boosting, Grid Search CV for finding the best values of the parameters and their appropriate weightage.
  • Find and mark cubes and use neural network to inform other robots to collect cubes. The robots should tell other robots if cubes have been collected or have already been marked.
  • Use the GPS node to model a Global Positioning Sensor (GPS) which can obtain information about its absolute position from the controller program.
  • Use a Supervisor controller that reads and transmits the position information to the robot. Then, keep track of several robots simultaneously.


  • Change morphology of sensors and robots by adding distance sensors, collision sensors and GPS.
  • Use simple rotational joints to control from controller (Hinge Joint).
  • Change the type of the field.
  • Make a neural network for robots controlling.
  • Realize the Swiss robots behavior on a real robot.

blog comments powered by Disqus


30 December 2014