OK, lets start from the beginning, what I wish to accomplish is to build a group of robots, a robot swarm so to say, which will be able to communicate with each other and do some tasks.
I was inspired by the “Swarm Robotics: Invasion of the Robot Ants” lecture presented by James McLurkin which motivated me to create my very own swarm robots.
I’ve started this project with intense research on Arduino, sensors, components, motors and gears. The research resulted in a basic design which allowed me to 3D print most of my robot parts. I’ve assembled a basic model which can move around and avoid obstacles using its ultrasonic sensors.
The next challenge was to make it possible for the robots to communicate with each other. The communication between the robots accomplishes the following :
- Allow robots to :
- recognize when they are facing another robot, which robot it is (friend or foe) and what is the state of that robot ( health, mode — more on that later).
- Allow robots to send messages to each other. For example, when bob2 encounters bob6, bob2 can tell him that his battery is low or attack him.
In addition, I was looking for a way to debug these robots, which can be tricky due to the fact that I have multiple robots running in parallel and I don’t wish to wire them all to my computer.
I solved this by adding an nrf24l01 transceiver to each robot and adding a unit which will act as the base station which will collect the updates from all the robots.
The base unit is an arduino uno with a nrf24l01 RF transceiver which sends data back to my computer using serial communication, more on that will be posted later.
Bob’s part list
parts list is still a work in progress, currently each robot contains the following parts.
Robot parts :
- 3d printed robot parts (frame, wheels, board mount plate)
- for tires — 2x 60mm x 3.5mm Mechanical Nitrile Rubber O Ring Oil Seal W6
- m3 screws (10mm should be fine) and nuts
- Brass Knurl Nuts M3*4mm (used for the m3 screws)
- Arduino nano (arduino uno’s minified version)
- Arduino nano sensor shield
- Mini L293D Motor Shield
- 38KHz IR Transmitter module
- 38KHz IR Receiver
- 2x Ultrasonic HC-SR04 Sensor
- 2x n20 100RPM Mini Metal Gear Motor
- Battery to power the whole thing, I’ve used Wild Scorpion 7.4V 1100mAh due to its compact size
- Mini 2 Pin SPST ON-OFF Switch 8.5x13.5MM ( can be found on ebay)
- NRF24L01 Transciever
- Some wires to connect the modules
All the electronic parts can be found on eBay.