Let's Make Robots!

OK, finally signed up and a few questions...

Hi everyone.

After many days of looking around this site, I have finaly signed up, and, hope to start my new robot very soon.

However, I would like to ask, is it a case that the imagination really is the limit, or does the technology cause concern?

I ask this as I eventually would like to create a robot with advanced AI, and that can "learn".

I was also woundering if anyone has connected 2 or more MCU's to provide extra power, and maybe run larger, more complex code for these reasons?

I welcome any advice.

Thank you,



Comment viewing options

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

You are quite correct, I found this website by chance just typing in the word robots into Google.  I was oblivous to the power of microcontrollers and have really enjoyed this site.  I now have the LMR kit from Solar Robotics and a lot of spare parts and am starting to explore this hobby.  There is no doubt that this is remarkably easier to do today than even 10 years ago.  Clearly advances are coming quickly.

I am a hobby robot builder. I have experience with electronics and mechanics but not so much with programming, especially computers. I can program microcontrollers to do simple stuff, but get stuck with more advanced things. I have always thought that even though the microcontrollers have little resources, having a few to work together can eliminate the need to have a computer on board or wirelessly connected. Well, for some stuff anyway. There are cameras with their own processing controllers on board that can be used instead of a webcam for blob and shape recognition. There are speech recognition boards and also text to speech synthesisers. But I have not yet seen a mapping solution even if it involves several microcontrollers to do that. Same for A.I. But it would be interesting to see at lest some pseudo A.I., a behaviour based solution that would make the robot seem more "intelligent". I wish I had the knowledge to tackle such a project myself...

I will follow your progress with great interest.

I am interested in seeing if I can use the infra-red sensor on the robot to recognize rooms in my house.  Obviously if you are less than 2 feet tall, the room doesn't look square but will have some odd shape based on how the beam bounces off the furniture as the robot turns in a circle.  I am hoping I can get the robot to circle once, find the center of the area, move to that and then circle around again to try and match the room against one of the nine choices in a table in memory.  If the robot can match the room and determine its orientation, then I might be able to give it waypoints that will allow it to drive from one place to another in the house.  That would be very neat.  Unfortunately I am still working on the "don't run into the wall" steps, but I have my dreams...LOL.

Here is the best way to transfer data between 2 or more Arduinos: http://www.billporter.info/easytransfer-arduino-library/

I read a lot of praise for this protocol on the Arduino forums. It was updated to use I2C, so multiple Arduinos can be used with it.

OK, some very interesting comments I must admit.

Getting back to my original question, regarding the AI, I am talking about very basic "AI" as apposed to advanced stuff.

Also, I will be using the PIC32 along with C, the reason being, I have already ordered my PIC32 board, and I am a C programmer.

I would just like to add, if it is possible to combine multiple PIC32 MCU's, and also, is anyone aware of being able to use either C++ or C# with such 32bit MCUs?

One last note, I have heard of people building robots using Intel Atom CPU's onboard.

Are we at the stage where we can obtain an old CPU, obtain its data sheet, and set that up and run C or C++ code instead of a PIC based system? 

If this is the case, then I cant wait to get into this properly.

Thank you again for the comments,



You can definitely combine multiple PIC32 micros - there are many many ways of doing this, but I'd suggest you look at the integrated USART modules for some easy micro-to-micro comms.

I don't know of any C++ or C# compilers for PIC micros, but I suspect that you'd be better off just using one of the standard C compilers anyway.

While you may be able to get the datasheet on a CPU, they need a lot of extra peripheral circuitry to be useful. Anyone building a robot with something like an Intel Atom is almost certainly using a small form factor motherboard with all that peripheral stuff already on it. They're also likely to have a Windows/Linux/other operating system loaded on it to run their robot program, rather than programming the whole thing directly themselves.
If you really need the processing power there are some good single board computers out there - Raspberry Pi, BeagleBoard, Chumby to name a few.

To combine multiple CPU's is just a matter of the protocol that they can talk to each other.

Regarding to AI, what is the definition of AI. Say, a mapping algorithm is this AI? Learning how the environment is and store this map in memory, later using it to navigate around. Is this already AI, I would say yes. 

AI is also if you use sensors for light, combined with e.g. heat sensor. Learning that "cold" light (LED light, daylight etc.) is save and can be navigated to but "hot" light (a flame) is not save so avoid it. This is simple AI too.

As a programmer you should be able to write this down in code. Just start simple with only one CPU and then expand it step by step.

PS: While writing this some ideas popped up. Thanks for asking here and inspiring me ;-)