23 October 2017

Hands-on with a Cloud Platform

In our previous blogpost on Cloud, we looked at the different types of Cloud services in the form of Platorm as a Service (PaaS), Software as a Service (SaaS) and Infrastructure as a Service (IaaS). We also demonstrated the features offered by cloud platforms which include storage space, application framework for processing stored data, visualization of data and event-based triggers among others.

In this post, our research engineer Koustabh illustrates an example of how to push data to a cloud platform and visualize the data. An open source gateway framework AGILE is used to read data from sensors of a TI Sensor Tag device over BLE. Furthermore, this data is then pushed to the cloud platform Xively to store the data and visualize the data over HTTP. This application flow is developed on Node-RED, a visual tool to build application logic with flows with 2 customized nodes, one for fetching the data from the TI SensorTag and the other to push the data to Xively. We would like to cover the AGILE framework and more examples of cloud platforms in our following videos. Let us know what you thought of this video!

04 October 2017

Swarm Intelligence

In this blog post, our Engineer Tanmay Chakraborty writes about Swarm Intelligence (SI). It can be applied in many IoT use cases for consumer benefits.


Anything in a flock is termed as swarms. Large number of simple organisms performing some simple task in order to get a complex or greater task accomplished with ease is what we understand by swarm intelligence. Its a collective behavior of the group that help in performing complex tasks which would be hard for an individual to perform alone. All the individuals coordinate using decentralized control and self-organization. The focus in mainly on local interactions of the individuals with each other and their environment. Swarm Intelligence can be found widely in Colonies of ants , school of fishes, flock of birds, honey bees etc.

Swarm Intelligence is the collaborative behavior of a self-organized and decentralized system that may be natural or artificial. This concept has been put to work in Artificial Intelligence systems. This is an emerging field of biologically-inspired systems that are based on behavioral models of social insects such as ants, bees, wasps etc. The expression Swarm intelligence was first introduced by Gerardo Beni, Hackwood and Jing Wang in 1989, in cellular robotics context. These systems typically consists of a large number of simple agents or boids interacting locally with one another and with their environment. The inspiration is especially natural biological systems. 

Agents are simple with limited capabilities by interacting with other agents of their own kind they achieve a task. The agents follow simple rules, although there is a lack of centralized control structure controlling the behavior of individual systems, local, and to a certain extent random, interactions between such agents leads to the emergence of intelligence and collective behavior unknown to the individual systems. Application to swarm principles to robots is called swarm robotics. Which include multi-robot systems and their coordination. Using of a distributed form of control makes a system more efficient, effective and scalable. The main aim of swarm intelligence is to increase the performance and robustness. Swarm algorithms are faster and more robust solutions to solve complex set of problems. The interaction between the different swarms can be direct or indirect. Direct interactions are achieved by audio or video. And indirect interaction is done via environment. Here one agent cause a change in the environment and the others respond to that change. This type of communication is called stigmergy, interaction through environment. These collective behavior of the swarms and the capability of the swarms to solve very complex problems in nature has inspired many researchers to investigate this phenomenon. They came up with different algorithms like artificial fish swarm algorithm, dynamic optimization with which different SI systems were built which could solve various problems. 

Ants are one of the best natural example of swarm. They live in colonies. They lay pheromone (i.e volatile chemical substance) on the way from their nest to the food source. Single ants do not have enough intellect to find shortest path to their food. But when in colonies they can perform a lot complex tasks with ease. Ant Colony Optimization was first proposed by Macro Darigo in 1991. The initial algorithm was based on the path optimization done by ant colonies while finding the shortest route to the food source. ACO algorithms find its usage in optimization problems, scheduling problems, vehicle routing problems etc. Its application in SI is as a class of algorithm which inspires the forging behavior of the ant. The main iteration in the ant system ACO is the updating of the pheromone level.

Bees are another good example of natural swarms. Swarms of bees are dynamic. They display their intelligence by dividing their work among other bees. Bees perform tasks like foraging, storing, honey distribution, collecting pollen, retrieving, communication and adapting themselves to changes. Bees are very good in organizing their colonies. They are social and live together in colonies. Bees communicate with each other through waggle dance.

AFSA is one of the best options for optimization among available swarm intelligence algorithms. This is a biologically inspired algorithm made from the observations of the collective movements of the fish and their social behavior.

In this article, we presented some Swarm Intelligence algorithms that are most common and successfully implemented so far. Algorithms described here mainly focuses on optimization. The large number of use cases makes these algorithms very popular. Optimization algorithms like the AFSA, BCO, ACO find a lot of real world uses. All of them are good at solving real world complex problem sets.