Senior Robotics Software Engineer
HOPE Technik, Singapore
Giovanni Pini's Homepage @ IRIDIA


Task partitioning refers to the decomposition of a task into less complex sub-tasks, which can then be tackled separately. Task partitioning is widely observed in nature. Humans are the most evident example: typically problems that are too complex to be tackled, are partitioned into simpler sub-problems that can be solved seprately.

Task partitioning can also be observed in simpler forms of life, such as social insects. Examples of activities where partitioning is employed are foraging and nest construction. Advantages of task partitioning are: increased performance at group level, reduction of interference, exploitation of specialization and heterogeneity, and parallel task execution.

In swarm robotics, task partitioning can be employed for the very same reasons. Task partitioning is strongly linked with task allocation, as typically after partitioning a task into sub-tasks, workers need to be allocated to each of the sub-tasks. Developing methods and algorithms for autonomous task partitioning and task allocation is important in view of robotic systems that are able to autonomously organize their work.

A list of my works in the topic of task partitioning:

Interference reduction through task partitioning

Interference is one of the key problems in large cooperating groups. Interference often results in a performance drop, as it normally increases the time each individual spends in non-task-relevant behaviors, such as obstacle avoidance. In our work we show that the negative effects of interference can be reduced by partitioning the task into sub-tasks and isolating each sub-task area from the others. We study a foraging task; results show that by partitioning the task into sub-tasks, the performances are better in cases where interference happens in task critical locations.

For more information about this work please refer to:
Video material related to the research work:
In the video the simulated robots have to gather prey from a source, located on the left side and transport them to a nest, located on the rigth side. Source and nest are identified by the color blue. The robots partition the task by waiting in the exchange zone (black) for other robots to pass or receive prey. The robots have a maximum waiting time they can spend in the echange zone (see green-red bar in the video), before crossing the exchange zone to store-gather a prey themselves. The nest is narrow, partitioning the task (and the group) allows to reduce interference at the nest and improves the performances for big groups. (Prey are not simulated by embodied obiects).

Self-organized selection of a partitioning strategy

In this work we study a method that allows a swarm of robot to decide whether to employ task partitioning to solve a foraging task. A decision is made by each robot: in case a robot decides to employ task partitioning, it works only on one of the sub-tasks. In case a robot decides not to employ task partitioning, it performs the whole sequence of sub-tasks.

The method is fully distributed and does not require explicit communication between individuals. We show that, by using our method, the swarm organizes in a way that maximizes the overall efficiency of the group, regardless of the specific environment.

For more information about this work please refer to:
Video material related to the research work:
The experiments described in the work have been implemented with a simulation of the e-puck robots. The studied task is foraging: retrieving objects from a source location to the nest. As the e-puck is not able to perform object manipulation, we abstract the objects using a device called TAM (more information here). In the specific case, the TAM is also used to implement a cache that can be used for transferring objects in a asychronous fashion from a sub-task to the other. The video illustrates how the object transfer is implemented with the TAM.