rishabsingh3003 / Swarm-Alphabet

Small robots that can form shapes using Path Planning and Swarm Optimization Algorithms
GNU General Public License v3.0
6 stars 4 forks source link

Swarm Alphabet

An easy to implement project on Swarm Robotics! Multiple robots are scattered in the frame. The objective is to form recognizable shapes from them, without any collisions, in the least time possible. Multiple path planning algorithms (like A* and Djikstra), with swarm optimization algorithms will be applied to achieve this goal. ArUco markers are used to detect the position of the bots, and movement commands are sent through UDP packets to individual bots using in-build WiFi in ESP8266. The ESP8266 controls the robot's movement using a motor controller.

Note: This project is a work in progress.

Demo

Getting Started

The project is divided into several subsections. A non-technical summary is given below:

Prerequisites

Software

The project uses several dependencies for faster prototyping. These dependencies will be removed in the later stages. The project is entirely built on python (The ESP8266 use's C (Arduino) which will be gradually shifted to micropython). The updated list of python packages needed are listed here:

- Numpy
- OpenCV 4.2
- Pygame
- Pandas
- Sympy
- Simple-Pid

Please Make sure you have the latest version of these packages installed

Hardware

- Webcam (Minimum 30 fps recommended)
- Small chassis 
- Wheels
- ESP 8266 NodeMCU (Micro-Controller)
- Battery's
- Wires, switches, jumper cables, etc.

Deployment

Easier deployment technique to run from a single command window is being worked upon

License

This project is licensed under the GPL 3.0 License - see the LICENSE.md file for details