This instructable is about 'Swarm Bots: Assembly and Co-operative Transport' in which we can build our own master and slave robot, slave will follow master robot and we will control master robot with our smartphone.It's a fun project, just try your electronics geek inside you and play with robotics.I will try many images, videos, brief explanation about this project to get clear idea.
If you like this instructable please favorite this instructable :)
1.1 What's actually is Swarm robotics ! !
1. Swarm robotics is a new approach to the coordination of multi-robot systems which consist of large numbers of mostly simple physical robots.
2. This approach emerged in the field of artificial swarm intelligence as well as the biological study of insects, ants and other fields in the nature, where a swarm behavior occurs.
3. Swarm Robotics is an emerging area in collective robotics which uses a fully distributed control paradigm and relatively simple robots to achieve coordinated behavior at the group level.
4. Swarm robotics systems are self-organizing, meaning that constructive collective (or macroscopic) behavior emerges from individual (or microscopic) decisions robots make.
Step 1: Origin of Swarm & Reference in Movies
1.2 Origin of Swarm
1. Most swarm intelligence researches are inspired from how the nature swarms, such as social insects, fishes or mammals, interact with each other in the swarm in real life.
2. These swarms range in size from a few individuals living in the small natural areas to highly organized colonies that may occupy the large territories and consist of more than millions of individuals.
3. The group behaviors emerging in the swarms show great flexibility and robustness, such as path planning, nest constructing, task allocation and many other complex collective behaviors in various nature swarm.
4. The individuals in the nature swarm shows very poor abilities, yet the complex group behaviors can emerge in the whole swarm, such as migrating of bird crowds and fish schools, and foraging of ant and bee colonies as shown in Fig. Termites swarm to build colonies, birds swarm to find food, bees swarm to collect honey.
Step 2: PROBLEM DEFINITION
In this chapter we will work on two main objective our our project i.e self-assembly and co-operative transport. In self-assembly two robot will assembly in line formation and in co-operative transport these two bot will transport block from one place to another.
1..1 Self Assembly of swarm robots
We aim at controlling a group of s-bots in fully autonomous manner in such a way that they locate, approach and connect with an object.
1.2 Co-operative Transport
In this work addresses the problem of
a) how to control separate s-bots to autonomously connect with an object and/or with each other, and
b) how to control a swarm-bot or a collection of swarm-bots to transport an object towards a goal.
The design and utility of a hybrid control architecture for controlling a self-assembling group of s-bots engaged in a cooperative transport task have already been studied in simulation .The problem has been decomposed into the sub-problems of controlling the actions.
1. S-bots that can self-assemble.Assembled s-bots that are capable of locating the target during transport.
2. Assembled s-bots that are incapable of locating the target during transport.Use one master and slave microcontroller.
3. Interfacing optical avoider sensor with swarm robot.
4. Developed SPI communication between swarm robots.
5. Synchronization between two swarm robots.Limited transportation of object is only limitation of our project.
Step 3: METHODOLOGY
The five main block of swarm project consist of
A) Arduino Master & Slave: The master and slave are two arduino based bots, which cooperate together to carry out the desired task- in our case transportation of heavy objects. The master controls the movement and actions of the slave through the RF module explained in the next part.
B) RF Module (nrf24l01): The communication between the master and the slave takes place through the RF module. The Master sends the desired command through the transmitter module, which is received and followed by the Slave through the receiver module attached to it.
C) Obstacle Avoider: This is the eye of the bots. Obstacle avoider helps the bots to avoid unwanted obstacles and also prevents collision against each other. It comprises of a system of photodiodes and LEDs, which are placed on the master and the slave respectively
D) One Sheeld: The first part is a shield that is physically connected to your Arduino board and acts as a wireless middle-man, piping data between Arduino and any Android smartphone via Bluetooth. It is a software platform and app on Android smartphones that manages the communication between our shield and your smartphone and let your choose between different available shields.
E) LV-MaxSonar: Our ultrasonic sensors are in air, non-contact object detection and ranging sensors that detect objects within an area. These sensors are not affected by the color or other visual characteristics of the detected object. Ultrasonic sensors use high frequency sound to detect and localize objects in a variety of environments.
Step 4: INTERFACING THE COMPONENTS.
Swarm Bots:Assembly and Co-operative transport Pin Description
A. nrf24L01 pin description
1 - GND
2 - VCC 3.3V !!! NOT 5V
3 - CE to Arduino pin 9
4 - CSN to Arduino pin 10
5 - SCK to Arduino pin 13
6 - MOSI to Arduino pin 11
7 - MISO to Arduino pin 12
8 - UNUSED
Data pin - A5
C. L293D Motor Driver IC
LeftMotorForward - D7 (Digital pin 7)
LeftMotorReverse - D6
RightMotorForward - D5
RightMotorReverse - D4
D. Photodiode (Optional)
Data pin - D0
You can connect pin as per your PCB design but necessary changes in the code must be done.
Note: People will face some problem while interfacing and running program at first attempt,please go through all connection and code properly and then try it once again.
Step 5: PROGRAMMING
Note : Following attached txt file contain Master.ino and Slave.ino program.
Take reference from code, understand working and then upload it to respective master arduino and slave arduino :)
Step 6: CASING & PCB & PROTOTYPING
- You can take any case for your robot.
- PCB contain nrF, Obstacle avoidance sensor, battery, L293D IC. You don't have to make PCB, just on purf board connect each component and solder it.
Step 7: TESTING OBSTACLE AVOIDANCE SENSOR
Step 8: TESTING NRF24L01 TRANSRECEIVER
Note : Sorry for Watermark in video ; )
Step 9: TESTING SINGLE BOT & 1SHEELD WORKING
Step 10: AVENGERS ASSEMBLE FOR FINAL TESTING
Step 11: FINAL TESTING
Step 12: CONCLUSION
1. Our Project is basically based on the natural behavior of a Swarm of bees or a Swarm of ants that effectively and efficiently carry out the task that has been given unto them.
2. The co-ordination between the Master and the Slave bot is effective in bringing about the task that is Object Transportation
3. Here only 1 Master and 1 Slave bots are used which puts a constraint on the size of the object that can be transported from Source to Destination.
4. Once the Self-Assembly is done the Transportation of the Object is easy and reliable process.
5. The use of Wireless Bots makes the Master and Slave Bot pair handy to use.
1. By increasing the number of Slaves, Transportation of Bigger and Heavier objects can be carried out.
2. These Swarm Robots can be used for various Rescue Operations where the situations are not favorable for Humans to Intervene.
3. The use of Swarm Robotics can be extended to serve a Nation through Military Services. This will reduce the number of casualties from a war.
Step 13: THANK YOU :)
Thank you very much for your time to have a look to this instructable.
I hope I made a brief explanation for this project so that everyone can understand project easily and make their own. Since its a little complex project you might face problem initially during interfacing, coding and testing. Just follow step one by one and eliminate error line, don't just directly upload code and start running. Code is also a general code, people might have to make changes as per your requirement.
What I suggest is first interface one component code it and test it, then add another one code it and test it. This will help better. Take some reference from google because my code is also not 100% correct. At last I m also newbie in arduino and programming hence I tried my best as much possible as I can.
Hope you LIKED it:)
Please Favorite this Instructable.
Please VOTE for me in ROBOT Contest.