This research area explores how teams of autonomous mobile robots can coordinate their actions to accomplish tasks that would be difficult for a single robot. The projects below include robot simulation, mapping, object manipulation, distributed coordination, swarm behaviour and learning.

Honours project Sehwan Lee

Object Reconstruction Using Large Quantities of Cube Robots

Consider placing a 3D environment scanner into an arbitrary room with everyday objects such as furniture and producing a 3D model of the room. This project investigates algorithms that allow thousands of small cube-shaped robots to autonomously rebuild a physical 3D representation of the scanned model.

The robots need to coordinate their movements, climb over one another and attach themselves together so that they can create a stable, Lego-like or Minecraft-like representation of the original environment. Simulation is used to investigate how such a large collection of robots could accomplish the task.

Simulation of many small cube-shaped robots reconstructing a 3D environment
Master's thesis Pierre Chamoun

Coordinated Object Pushing by a Team of Robots

Teams of mobile robots can be useful when a single robot does not have enough power or agility to manipulate a large object. This project investigates algorithms for coordinating autonomous robots to push an arbitrary fixed-weight, 2D polygonal object through an environment containing polygonal obstacles.

The robots must position themselves efficiently around the object, follow a computed trajectory, rotate the object when necessary and continually reposition themselves so that the group can move the object smoothly and efficiently.

Coordinated motion of multiple mobile robots pushing an object
Master's thesis Mike Doherty

Weight Distribution for a Team of Lifting Robots

When a team of robots lifts a large heavy object, the load must be distributed appropriately. Good weight distribution can reduce the number of robots required while lowering the risk of overloading a robot or dropping the object.

We investigated algorithms for distributing the weight of a uniformly weighted 2D polygonal object by determining efficient robot placements based on the object's centre of gravity.

Robots distributed around a polygonal object to balance its weight
Research project

Hierarchical Robot Coordination

Individual mobile robots can be limited when a task requires coverage of a large area. We investigated ways of organizing robots into hierarchical teams in which small groups are managed by local coordinators, which are themselves managed by higher-level coordinators.

This structure allows global information to trickle down through the hierarchy while simplifying communication. If communication fails at one level, lower-level coordinators can continue operating using their most recent directives.

Hierarchical organization of coordinating robots
Honours project Sophia Ho

Simulation of Robot Mapping in an Unknown Environment

This project developed an algorithm that allows a robot with simple sensors, such as whiskers and a compass, to create a map of an unknown 2D environment containing obstacles.

The robot traces the borders of the environment and individual obstacles to produce polygonal representations. Because information is collected primarily while travelling along obstacle boundaries, theoretical bridge connections are introduced between polygons to establish relative positioning between objects.

Robot-generated polygonal map of an unknown environment
Honours project Jason Brink

Robot Colony Simulation

This project simulated a colony of robots that interact to perform various tasks. One task involved coordinated mapping: each robot generated a portion of an environmental map and the individual maps were subsequently merged into a global map.

Several partial robot maps merged into a global map
Honours project Darryl Hill

PropBot Simulator

A fourth-year robotics course at Carleton made use of a limited number of PropBots designed for the course. This simulator allowed students to test robotic algorithms outside the laboratory before running them on physical robots.

The simulated robots were designed to closely correspond to the actual PropBots in their movements and sensors, providing a convenient environment for developing and testing software.

PropBot mobile robot simulator
Graduate course project

Robot Colony Simulator

This simulation tool was developed to model colonies of robots using simple instinctive neural networks inspired by the robot from my master's thesis. Users can create different kinds of cleaning robots that respond to light, nearby robots and other environmental conditions.

The simulator supports swarm leaders, followers and light-directed cleaners. Users can add sensors and actuators, program behaviour at run-time and design instincts as networks of neurons using a graphical drag-and-drop interface.

Robot colony simulation Robot colony interface Robot and sensor configuration interface Robot colony simulation interface
Graduate course project

Motivation System

This project investigated mechanisms that motivate behaviour in artificial life. The system simulates a colony of bugs whose main goal is to remain alive. The bugs exhibit attraction and repulsion behaviours toward stimuli such as food, other bugs, light sources and gravel patches.

The bugs can perform multi-level associative learning within a behavioural hierarchy. Users can vary stimuli and punishment patterns and observe the resulting emergent behaviours. A brain browser provides a way to examine the mechanisms and associative learning that contributed to a bug's behaviour.

Artificial life simulation containing interacting bugs Brain browser from the motivation system
Graduate course project

Neural Network-Driven Robot Insect

This project involved implementing an insect that learns to coordinate its legs for walking using back-propagation neural networks. Each leg has its own network that determines whether it should be in stance or swing mode, with connections to neighbouring legs.

The networks are rewarded for forward motion and punished when the insect falls. After learning, the insect can coordinate its legs and walk. Additional networks connected to light sensors allow it to learn to seek out light sources, and the system can be tested by removing legs and observing how the insect compensates.

Neural network driven walking robot insect
← Back to Research