Let's Make Robots!

TOP SECRET [For your EYES only]

 In advance, i'd like to apologise for having some Upper-case letters in the Title, hope it isn't bothersome. 

First off, i've been brainstorming for the past 2 months and have been cooking up some blueprints. The blueprints are not open to public...yet, but they'll be shown soon. My plan is to build a Swarm Bot colony. It will consist of 3 types of bots and 1 "Mother". My budget which is only about 65 USD, should be enough to build the first three bots, excluding the "Mother". The "Mother" will be made with cheap junk around the house and my μBotino (V3). These three bots will each have a different capability (undecided). They will recieve commands from the "Mother" and will also communicate with each other using IR Communication. Operational enviroment would most probably be indoors.

Here is where my troubles start :

I plan to use a 38kHz IR Reciever on each of the bots, including the "Mother", and three or two 940nm 5mm IR LEDs on each bot, including the "Mother". Question : Is my selection of IR LEDs correct? Moving on, the "Mother" will recieve a command from me, say, :Move all bots forward for 5 seconds:, and will then, send commands by blinking the IR LEDs to form commands for the bots to recieve and execute. "Ex : <RobotNameHere> 1 2" So each robot will recieve all commands given by the "Mother" but will only respond if it's 'name' is called out.  Then it will, check the next digit, which is 1, it will then execute the routine that has to be done when 1 is recieved, in this case, it's forward. It will then check the 3rd digit, 2, and will use that as the delay by checking what value is assigned when 2 is recieved, which, also in this case, is 5000 (ms). Next question : Is there any problem with my idea so far?

I will be posting up to here, for now. Will continue posting tomorrow. Thnx for your kind Attention!! ;)   

***********************************************************************UPDATE*******************************************************************

7th May, 2012

Okay, i've been thinking, and i've decided that the IR Communication is a bit too complex for just 'talking'. I still have more obstacles to stumble upon. That, and i'm too lazy too do a lot of programming. :P So i've talked to Bajdi (http://letsmakerobots.com/user/17470) on the ShoutBox lately and he showed me some tutorials on RF communication using a RF24 or RF24Network library and a NRF24L01 module (very cheap on Ebay). The code is easy and speeds progress up by 30%, by my calculations. I will still be ordering the IR LEDs and Receivers for Obstacle Detection and Object Tracking (another project, shhh!). 

Next task is setting up my Ebay links list which will be posted below \/. Tip : Don't search on http://www.ebay.com/, go ahead and search on http://global.ebay.com/ to get a wider range of results. I'll be getting the IR LEDs and Receivers from Futurlec, a pack of 8+4 9g servos, 8X ATMega8s and some batteries from Ebay. I'd like you guys to help me out with the batteries. I need one that can supply enough amps to power a bot running 3-4 servos for 1 hour +. It should be easily rechargeable also..(hinting charging stations here) Thnx loads, guys!!

***********************************************************************UPDATE*******************************************************************

Design ideas for the "Mother"?

 

I may or may not be kidding, the idea sounds cool, but i'd like to hear your opinions..Thnx again, for the great comments!!

************************************************************************UPDATE*****************************************************************

8th May, 2012

Okay, i've got some Ebay and other site links for the parts I want. 

1. NRF24L01 modules  

 : http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=170819064718#ht_1695wt_1185

2. 9-20g Servos  

 :  Needs linky suggestions. I'll need about 10 of them. 12 if possible. Torque should be above 1.5kg/cm.

3. ATMega 8

 : http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=260964533478#ht_2390wt_952

4. Batteries

 : http://global.ebay.com/18650-Ultrafire-3200mAh-37V-Rechargeable-Li-ion-Battery/280741254793/item

I'm gonna make a charging station for these batts and a step up regulator (5V).

Thnx, for your kind attention, again!!

*********************************************************************UPDATE*********************************************************************

With the help of Mogul (http://letsmakerobots.com/user/15907), a great programmer and the author of this page : http://letsmakerobots.com/node/31379, I have compiled the Optiboot Bootloader for my blank ATMega8s. It's all sitting in a nice folder on my desktop, waiting for the chips to arrive someday. 

Resources :

1. http://letsmakerobots.com/node/31379

2. http://sourceforge.net/projects/winavr/files/

3. http://www.engbedded.com/fusecalc

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

As I started a swarm bot project too, I will try to help and share my experience.

You need a kind of protocol to transmit the commands moduladet in the 38kHz signal. We will write a protocol for this with an embedded encoding so that each robot gets an ID. Just follow my blog and you will see the development. Tomorrow we will have our initial meeting how to start his whole little robot world.

Till now whatever you have started has no flaws. Just instead of transmitting the whole name, give each bot a serial number. Data is transmitted in binary and it will take a lot of time to transmit characters. Also, increase your knowledge on modulation. On off keying is the simplest way of modulation which I'll be using. Read about it from wikipedia and Ro-Bot-x' tip on modulation. Also, you don't need more than 1 set of IR LED and receiver per bot. One thing that has to be improved is data transmission. Make a unique symbol as you transmission end character which simplifies the end of one transmission and the start of the next. This shouldn't be used anywhere else. Also as the colony increases, the jobs will increase and become more complex. You have to devise a mechanism to make each job unique. Numbers already do that but as the colony increases, so do the numbers. Use binary numbers instead. Initially it will take more time but in a large colony of say 20 bots, it will be easier. Increase your skill in programming as well.

As always Aaron, you and lumi have inspired me to brainstorm on swarm bots. This is almost definitely going to be my second project after autobot. Can you give me a basic definition of a swarm.

Also, your world domination idea and my knowledge that so many people are interested in this idea has made me think, why don't we organize it as a competition in robo games where each player had an automated swarm which will fight each other over the internet to be crowned as the best swarm. What are your thoughts?

PS- Seriously, don't give yourself 11 spanking and a timeout. I was joking.

Yes, try to figure out YOUR swarm behavior. Each swarm is different, even if you program them with the same pattern, it will behave different.

To combine two swarms to battle each other seems a bit difficult because of the spearated locations and protocols. At least they should stay in one world together and use a protocol what is compatible to the other.

 

Lumi, I understand your point. It is going to be really difficult but the idea that I had was not for right now but for a time when all of us had made our swarms. We can have a minimum number and types of robot set for each match (the minimum types can be like a construction and a soldier bot) and then compete in real time to find the efficiency of each bot. This is just an idea.

I got it :-) 

I agree, there is a lot of potential for ideas. We just had our initial meeting and it's going to start now. We want to start simple but keep the improvements in mnind that we not have to build from scratch again when we are going to add another function.

 

I've been thinking about doing a swarm also.  I see a lot of people are now starting swarm projects on the site so I'm starting to brain storm.  Nice idea.

Thnx, for all the great comments and info guys. It seems it's the swarm season this time of the year...Writing all this info in my Midnight Journal. Thnx, again.

 

I started on something that might be considered a swarm. The plan was to have 4-5 robots roaming about playing ‘tag’. The plan was to have each robot looking to the front and sides but not back. The IR sensor would be used for object avoidance and to see if the robot that is ‘it’ and steer away. If the ‘it’ robot hit one of the other, then the ‘it’ would be transferred and the sender would run away.
I have made a 3D printed prototype and got the sensors working… but that it. As I have more interesting thing to work on this project might be revisited sometime in the future.


But as the others in here say, you need to make your own communication protocol.
That said I think that a swarm without a ‘mother’ would be much more fun. With the robots running around until someone needs help or find something interesting.

 

Thats a very neat project! It's also very easily reproductable since the chassis is 3D Printed.