Swarm Robotics for Middle school science project

hey everyone,

This has been going for quite a while, I have started on a science fair project at the beginning of January this year, having little knowledge of programming Arduino. All those months, I have learned the language, how to build a robot, and various research. Now, it has been 11 months, and I am at the point of building my first robot. It took me quite a while because Summer vacation was full of nothing but free time, that I decided to use on video games. Well now I have one month left, have supplies ready to be put together, and I have to make 5 robots with ir communication, color sensor, servos, and an Arduino nano to work together using Swarm intelligence and I have exactly one month to prepare everything and get my data, which is basically observing the movement of the robots. These robots have to use Particle swarm optimization and will maneuver a 4 x 2 foot table in search for colored tape. Now, is this feasible and which way should I go with this project?

Sounds like you blew it. Starting now, with 5 robots to make and 4 weeks to do it in, I don't like your chances. About the same as a snowball in Hell.

Perhaps this wasn't such a good idea:-

Summer vacation was full of nothing but free time, that I decided to use on video games

which way should I go with this project?

What do you mean? How to do it?

OldSteve:
What do you mean? How to do it?

By that, I'm talking about the time I have, and the amount of tasks required, do I have time to finish the project?

Robots don't have to be hard to make. Here's an example of a relatively simple robot.

I added some Lego wheels to a couple CR servos. Here's link to more information about my cheap bot. There's a video of the robot performing a figure 8 in the first post of the thread.

I used a Propeller microcontroller in the above example but an Arduino would work fine as the controller.

I think building the robots will likely be the easy part of the project. I usually find writing the software for a robot more challenging than building a robot.

What color sensor are you using? Do you know how to use it yet?

Can you get to Arduino boards to communicate with IR yet?

Start working on each piece of the project and then add the pieces together.

brokenAvocado:
By that, I'm talking about the time I have, and the amount of tasks required, do I have time to finish the project?

? You know your capabilities better than we do.

Have you got a test colour-sensing system working yet?
Do you have a test IR remote control/communication system working yet? (I'm not clear exactly what the IR is for.)
Are the servos for the wheels, (continuous-rotation), or do they serve another purpose?
If they are continuous-rotation for wheels, are they strong enough to support and move the weight of a table? Done any testing with this aspect of your project yet?

Without knowing any of this, we can only guess if you can do it in 4 weeks. And do you plan to apply yourself better than you did in the Summer break?

Edit: Your initial post indicatedthat you've done nothing but research and accumulate parts so far. If you've really done no testing, then I still reckon you've left things waaay too late.

Prove me wrong. :smiley:

OldSteve:
? You know your capabilities better than we do.

Have you got a test colour-sensing system working yet?
Do you have a test IR remote control/communication system working yet? (I'm not clear exactly what the IR is for.)
Are the servos for the wheels, (continuous-rotation), or do they serve another purpose?
If they are continuous-rotation for wheels, are they strong enough to support and move the weight of a table? Done any testing with this aspect of your project yet?

Without knowing any of this, we can only guess if you can do it in 4 weeks. And do you plan to apply yourself better than you did in the Summer break?

I do have the color sensor calibrated and ready, the ir communication will simply be there to make the robots avoid each other, and the servos are continuous rotation. However, these robots will not move a weight, rather move together on a surface, the table, and on that surface, are tasked to find the colored tape that I have put on the other side of the table. My only question right now is, I have IR phototransitors, and the only thing it can do is measure the intensity of the ir light. I want my robots to avoid each other when in connections, but also to come together when they find the tape. Also, I'm stuck on using the ultrasonic sensor, as it can't detect all around the environment itself, and I need a better way for the robot to detect the walls of the surface that I will put, so that it doesn't crash into it.

P.S. every component of my robot was designed to fit together perfectly, but right now the IR communication and object detection aspect of the robot is on standby.

I don't understand the IR part.

Are you using IR to communicate and also to detect obstacles?

If you're detecting IR intensity to determine if there's an obstacle, be aware you can't really accurately gauge distance from intensity alone.

The combination of IR and ultrasound makes a good obstacle detection system.

brokenAvocado:
I do have the color sensor calibrated and ready, the ir communication will simply be there to make the robots avoid each other, and the servos are continuous rotation. However, these robots will not move a weight, rather move together on a surface, the table,

That's a whole different kettle of fish. ie Moving on a table.
In your initial post, you said:

and will maneuver a 4 x 2 foot table

and on that surface, are tasked to find the colored tape that I have put on the other side of the table. My only question right now is, I have IR phototransitors, and the only thing it can do is measure the intensity of the ir light. I want my robots to avoid each other when in connections, but also to come together when they find the tape.

This isn't real clear. "connections"? "come together"? By "connections", do you just mean when they're close to each other? And what exactly do you mean by "come together"? Do you mean follow each other along the tape?
When you mention you have IR photo-transistors, do you mean you're using IR obstacle detection? IR obstacle sensors aren't the best unless reflecting off a surface that's 'square-on'. (Same goes for US, but to a lesser degree.)

Also, I'm stuck on using the ultrasonic sensor, as it can't detect all around the environment itself, and I need a better way for the robot to detect the walls of the surface that I will put, so that it doesn't crash into it.

What I did for this was mount my US sensor on an inverted 180 degree servo, with the horn attached to the robot base. That way I could swing the servo side-to-side, stopping in 5 positions for a few mS to take measurements. This gives the robot a much better picture of it's surroundings, and also ensures an echo when the robot approaches a wall from a sharp angle.

P.S. every component of my robot was designed to fit together perfectly, but right now the IR communication and object detection aspect of the robot is on standby.

Well, you'd better get stuck in. :smiley: First thing to do is work out an exact method, then do individual tests to perfect sub-sections of your project, (as both Duane and myself have previously indicated), then bring it all together.

This sounds like a very interesting little project. It's a pity you left things so late, because you'll really have your work cut out for you now, I'm afraid.

  • I see that Duane also wants the IR aspect clarified.

DuaneDegn:
I don't understand the IR part.

Are you using IR to communicate and also to detect obstacles?

If you're detecting IR intensity to determine if there's an obstacle, be aware you can't really accurately gauge distance from intensity alone.

The combination of IR and ultrasound makes a good obstacle detection system.

Sorry for the confusing response. The Ir communication is supposed to be used for the robots to detect themselves when running the program with the robots. It's to prevent them from crashing into each other. This was the original plan, however there came a problem when I realized, I'm limited to making the robots stay away from each other, however I need them to come together at the end as well. I've tried using Ultrasonic sensors, but how can the robot know what side the obstacle is at?

OldSteve:
This isn't real clear. "connections"? "come together"? By "connections", do you just mean when they're close to each other? And what exactly do you mean by "come together"? Do you mean follow each other along the tape?
When you mention you have IR photo-transistors, do you mean you're using IR obstacle detection? IR obstacle sensors aren't the best unless reflecting off a surface that's 'square-on'. (Same goes for US, but to a lesser degree.)
What I did for this was mount my US sensor on an inverted 180 degree servo, with the horn attached to the robot base. That way I could swing the servo side-to-side, stopping in 5 positions for a few mS to take measurements. This gives the robot a much better picture of it's surroundings, and also ensures an echo when the robot approaches a wall from a sharp angle.

By connections, these robots will have to be able to self organize each other to create a formation, maintaining that formation on top a surface, this is known as flocking. At the other end where the robots began, there will be a 1 inch piece of tape that will be what the robots are looking for. The whole point of this project is to see where I can go with the program of the robots for them to work together, organize together, and try to find a piece of tape. right now, I don't think I have time to make any major changes to the design of the robot, and unless there is a sensor that can detect the distance of an object, 360 degrees around, without any extra parts other than itself, i'm pretty much stuck there. The IR photo transistors are merely just there for the robots to not bump into each other.

brokenAvocado:
I've tried using Ultrasonic sensors, but how can the robot know what side the obstacle is at?

You can have the robot rotate and look around.

I used a stationary ultrasound sensor on my Scribbler 2 robot. The combination of the ultrasound and the IR sensors make it pretty good at detecting obstacles.

Our couch was too high for the IR sensor to detect and too soft for the ultrasound sensor to detect. The robot kept running into the couch. Fortunately the S2 also has a sensor in its tail wheel so it knows when it's not moving and can back up.

I had the robot "look around" and keep track of the largest open area. You could do something similar to keep track of where the other robots are.

DuaneDegn:
The combination of the ultrasound and the IR sensors make it pretty good at detecting obstacles.

How does your robot utilize Infrared and ultrasonic together? In the video, you only talked about the ultrasonic but not the infrared. However, great job on that robot!

brokenAvocado:
By connections, these robots will have to be able to self organize each other to create a formation, maintaining that formation on top a surface, this is known as flocking. At the other end where the robots began, there will be a 1 inch piece of tape that will be what the robots are looking for. The whole point of this project is to see where I can go with the program of the robots for them to work together, organize together, and try to find a piece of tape. right now, I don't think I have time to make any major changes to the design of the robot

It doesn't sound like you've gone about this in the right way. You needed to consider all of these factors first, then design a robot to suit.
This is a very challenging project. I'm amazed that you decided to take it on with no programming experience. Getting all of this to work well would take me quite a bit of time, lots of experimenting, then very careful planning of both hardware and firmware. I think you've bitten off far more than you can chew.

unless there is a sensor that can detect the distance of an object, 360 degrees around, without any extra parts other than itself, i'm pretty much stuck there.

The best thing for that would possibly be a stepper motor with an ultrasonic sensor, (and a means of detecting a 'home', or 'straight-ahead' position). There's no single simple component with that functionality. Second best would be to double up on my system - two 180 degree servos with ultrasonic sensors. Or if there's room to swing the robots around without them colliding, there's Duane's method. This won't work well for the 'flocking' and moving together synchronously though, I don't think.

All said and done, you've left it way too late to start considering this stuff now.

brokenAvocado:
How does your robot utilize Infrared and ultrasonic together? In the video, you only talked about the ultrasonic but not the infrared.

You're right, I did just talk about the ultrasound.

I just rewatched the video and the robot didn't really use the IR sensors but they were being monitored. The idea was either the IR or the ultrasound could detect an obstacle. If either sensor detected a close obstacle, the robot would change course.

I made my first robot (yipee, with no enthusiasm), programming is underway, almost halfway there... But I can't afford to solder up another ir comms board. It is just too much and it is really straining me. anyone have tips for an easy, solder job for multiple sensors connected to one pin, and soldering on a lot of joints?

brokenAvocado:
I made my first robot (yipee, with no enthusiasm), programming is underway, almost halfway there... But I can't afford to solder up another ir comms board. It is just too much and it is really straining me. anyone have tips for an easy, solder job for multiple sensors connected to one pin, and soldering on a lot of joints?

IR comms board? What type of board is it?

anyone have tips for an easy, solder job for multiple sensors connected to one pin, and soldering on a lot of joints?

I'm not quite sure what you mean by this. You explained it better in your other thread. Now I understand.

Why not use veroboard and solder each wire to a different spot a short distance apart, rather than wrestle with trying to get multiple wires onto one pin? Or use header pins, with a matching socket on each wire end, and just plug them in? You can buy short M-M F-F and M-F jumper leads on eBay for very little, and cut them up as needed.

brokenAvocado:
anyone have tips for an easy, solder job for multiple sensors connected to one pin, and soldering on a lot of joints?

Use leaded solder and a good soldering iron. Soldering is really easy once you get the hang of it.

Have you told us where you live? Maybe there's someone nearby willing to lend you a hand. I don't suppose you live in southeastern Idaho?