Intro: IR Communication in Swarming Robots for Search & Rescue
The IR Communication robots are a swarm and will work around the physical barrier making communication between the surface and underneath the surface possible. The robots are capable of signaling a red, yellow, or green LED individually. Red signifies that a zone is dangerous. Yellow signifies that a zone is to passable with caution. Green means that the zone is most likely for a rescuer to revisit for survivors. This will enable the survivors to be closer together and more probable to being rescued because the rescuers will have a better knowledge of where the survivors are located.
In a search and rescue emergency, solid, large materials such as concrete blocks block radio and other transmission signals. Because of the large materials, any rescue robots underneath the rubble cannot communicate to the surface. As a result, rescuers must guess as to where potential survivors are based on blueprints of the building and words from survivors. Because the survivors are often missed, many survivors perish due to extended time beneath the rubble.
Step 1: Parts List
These are the parts that were used to build this project
2 Arduino Nanos
3 Arduino Feathers
3 Christmas Balls (Clear)
5 IR receivers
3 IR transmitters
2 PVC pipes
Step 2: Creating the Tower
First, you need to create a tower that would send the IR signal to our individual pods. To do this, you need the necessary tools and parts.
Cut the PVC pipes that we had into the needed length. Use a saw to cut it and use sandpaper to smooth out the pipe. Then drill a hole through the longer PVC pipe so that you can put wires inside the pipe itself. Bolt the pipe into the wood base using L-brackets. Take the shorter PVC pipe and cut a rectangle out of it so that you can put your wiring and breadboard for the IR transmitter there. Connect the 2 PVC pipes using a 1.5 inch elbow PVC pipe. On the top of the PVC tower, where you cut out the rectangle, insert a breadboard with the IR transmitter inside using double sticky tape, and connect wires to it. Using the wires, make the wires travel down the inside of the tower to the base of it, where you made an exit through the hole that you drilled earlier. At the bottom, attach an Arduino Duemilanove, then connect the wires to the board. For the IR transmitter, attach the ground pin to ground and the other one to pin 3.
Step 3: Code for the Tower(Servo Version)
To make the code for the tower and the IR transmitter, an additional library has to be downloaded. The library can be downloaded at this link: https://github.com/z3t0/Arduino-IRremote. The code that we implemented is to send a signal to turn a specific LED on or off. This command can be sent to any bot for 1 specific pin.
This code was the first one that we used for the tower. This code was specifically for the servo demonstration that we first tested. To send commands, either type “a”, “b”, “c”, “d”, “e”, or “f”. Code for tower(specifically for the servo) is the file that is attached
Step 4: Code for the Tower(Feather Version)
This code is for the pods that we made after the servo prototype.The ID of the 3 pods were A, B, and C respectively. The LEDs were D, E, and F. Then to turn the LEDs on or off, you can use 9 to turn it on and 2 to turn it off.
Ex. AD9, ABE2 Code for tower (specifically for the feather):
Step 5: Creating the Servo Prototype
The servo prototype is fairly simple to make. The type of Arduino that we used was the Arduino Nano, but any small one works too. You simply wire the servo and the IR receiver onto the breadboard. First put the IR receiver on the breadboard. Then wire appropriately onto the side, putting the power and ground onto the breadboard and then wiring it to the Nano. Any type of Arduino works, but personally I think that the Nano is the best for this.
Step 6: Creating the Feather Prototype
We then tried to make a pod using an even smaller Arduino. To do this, we used the Arduino Feather and wiring that with an IR receiver. We then put the Feather inside of a clear Christmas ball and replicated that pod. The stand underneath the pod in the image was only used for demonstrating purposes and is not required when building the pod.
Step 7: Servo Receive Code
Attached is the code for the servo version of the tower. Since we made 2 servos. They have different IDs. A and B is the on and off for the 1st one. C and D is the on and off for the 2nd. E and F are commands for both servos for on and off.
Step 8: Feather Receive Code
Below is the code for the IR receiver, which turns the LED on and off based on the signal that it receives. Just like the IR transmitter, the library IRremote is needed. Depending on the specific pod, it does a specific action. In order to be able to differentiate the pods, the A is the ID of the pod. This can be changed to either B or C for its ID name.
Step 9: Video Demo of Servo Prototype
This is a demonstration of 2 Pods receiving commands via IR communications to turn on and off a servo,.
After which the Pods will pass on the command to other Servo Pods creating a chain communication.