Kilobot Swarm Control using Matlab + Arduino

Controls swarm of kilobots to push object through maze. Swarm attracted to brightest light
Updated 12 Aug 2016

View License

Object Manipulation Experiment With Kilobots
Uses an overhead vision system to control a swarm of kilobots to push an object through a maze. Swarm is attracted to the brightest light in the room.

In these experiments a whiteboard on a table is the workspace, with four 50W LED floodlights at the corners and four 30W LED floodlights on the sides of a 6 m square centered on the workspace and 1.5 m above the table. An Arduino Uno connected to an 8-relay shield controls the lights. Above the table, an overhead machine vision system tracks the swarm. The vision system identifies obstacles by color segmentation, determines the corners (used to decrease variance), the object by color segmentation, and identifies robots using color segmentation and circle detection with a circular Hough transform. The path planning uses value iteration for the object and potential fields for the swarm to interact with the object.

RegionCode.m, MDPgridworldFunction.m and Arduino drivers:
By Shiva Shahrokhi, Lillian Lin, Mable Wan & Aaron T Becker, Summer 2016

Cite As

Aaron T. Becker's Robot Swarm Lab (2024). Kilobot Swarm Control using Matlab + Arduino (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: MDP robot grid-world example

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

added video