Because I couldn't find an introduction section anywhere and because this is my first post (yes I was that lurker) I'll take the liberty to introduce myself.
I'm a Dutchman, 39 years old and living in the northern part of the Netherlands. I've been fascinated by robotics since my early childhood, but I never got further than buying some toy robot. My nick, for those who wonders, is from a tag on the chest of the eighties Magnatron robot I got as a kid. Since it's written in large letters it has to be something important, but you can call me Paul as well.
Anyway, I spend some time - actually over a decade - thinking about buying some stuff and start building. Now is the time, better late than never. I was biased towards Pic controllers, because they're cheap and programmable in simple compilable basic. But, I have no experience with microcontrollers so I'm going to buy an Arduino although I dislike the C like syntax. In fact I dislike C syntax in general, but mastering it opens a lot more doors than platform dependend languages. (I used to be a programmer for trade in a 4th generation language, Windows only.)
That brings me to the questions. Well almost, first I have to tell you what I want to do: I'm interested in artificial intelligence (and some other applications) so I need a controller with quite some memory to be able to run the code and speed is something not to neglect either. I'm not delusional and don't expect to be able to build a C-3PO copy. I'm already very happy if I'm able to build a robot with "intelligence" close to an insect, that already is a huge task.
I'm not sure which Arduino to buy to do the task. The Mega (revision 3) or the Due. The Due, of course, is faster and has lots more memory, but is more complex because of the voltage differences. 3,3v for the board and 5v for the sensors etc. I also read that the Due is more complex to program. So, will the Due be too complex for a beginner in microcontrollers and with only basic knowledge about electronics? And do I need all that extra processing power? I'm not interested in voice or face recognition, internet control or other fancy stuff which has nothing to do with AI. Even if I wanted to do something fancy, I could daisy chain another controller via the I2C port or is a I2C port too limited to transfer large amounts of data fast? (Eventuall I will daisy chain, multiple MCs busy with a certain task is in my opinion better than one MC busy with everything it shouldn't be busy with.)
And the next question: One of the things I want to do is 2d mapping, I want my robot to have at least some "knowledge" about it's environment. Of course ultrasonic sensors will be used and an infrared sensor, because I read that the beam of a ultrasonic sensor is quite wide so it will be very hard, if not impossible, to do some reasonably detailed mapping. Is this information correct?
The last question: I want a compass module, again to give the robot some sense of it's environment and I want to use the module instead of wheel decoders. Is a compass module accurate enough to replace decoders? I don't want to use servos or steppermotors for propulsion. I want my robot to be a bit bigger. Not that bigger is necessarily better, but it's easier to convince my wife to spend money on something big than on something tiny.
Well that's it in a nutshell.
Regards,
Paul