Iqbal007:
I'm new, have had experience before more towards a group project of how to build a clock with multiple functions.
I now have this project to do which is to create a autonomous vehicle, I am quite a indecisive person and don't like spending money unless I know what I'm buying.
Well, nothing wrong with planning something before spending the money - in fact, that's probably a good way to go (or at least understand what you're getting into so you know approximately what you'll end up spending).
Iqbal007:
Of course I need an Arduino, but do I go for the Uno or the Mega?
You mention that you want to do machine learning in a separate post; machine learning of any type typically requires more than a bit of memory, but to an extent it can be done with an Uno. Better would be to consider a (slightly) larger robot, using an Uno for lower-level motor and servo control, and sensor reading - and then add another computer - either on-board or off-board (wireless) to do the machine learning portion (that's the thing about robots - their brain doesn't need to be with the body - it can exist anywhere).
If you opt for on-board, a small laptop (or netbook) - or an old Mini-ITX motherboard can be made to work (provided you have the battery power for it); a better solution (for a smaller robot) would be to use a Raspberry Pi (or similar). It could communicate with the Arduino via USB (perhaps using something like Bitlash - http://bitlash.net/); basically you could make a "hierarchical" control system - where the Arduino controls and reports as-needed, while the command computer (Raspberry Pi or such) acts as the "intelligence".
You could certainly try to do everything using a Mega or similar, though (or go with a Mega ADK and make software for an Android device to control it?).
Iqbal007:
Do I definitely need a motorshield? Budget is kinda tight though I can push it with my own money or is there a cheaper alternative to Arduinos own one?
I don't know - that would depend on what platform you decide to go with for the chassis of your robot. If you wanted to be "real cheap" - you could do something like this guy did:
http://blog.davidsingleton.org/nnrccar/
As you can see - he used an Arduino to actuate the R/C controls, and carried an Android phone on the car to relay back the "road" it was seeing to the control computer. All the (image) processing basically happens on the main computer, along with the machine-learning portion (a neural network in this case). The output of that sends commands to the Arduino board that actuates the remote-control of the R/C car. Little modification of anything is needed, and the entire system replicates a machine (albeit in a smaller, more controlled environment) as a vehicle made in the 1980s or so that was the size of a very large truck.
Also - you don't indicate what you know exactly about machine learning - if your knowledge of the subject isn't great or you want a refresher, I recommend looking into the following two courses:
https://www.coursera.org/course/ml (this class is the same class as the guy above used - we were only about 2/3'rds through it when he built that project, btw!)
https://www.udacity.com/course/cs373 (this was a fun course - if you want to understand the basics behind Google's self-driving car, this course is where you can start!)
I took both courses (well - I took the Coursera one when it was originally offered thru Stanford as an experiment in MOOCs - so, I was part of that inaugural class - but it's the same class; extremely well done). For both, you need to make sure you have a good grasp of linear algebra and probability/statistics - that, or cram, cram, cram (the option I had to take - I hadn't touched that stuff since high-school over 20 years back).
Iqbal007:
Ultrasonic Module HC-SR04 Distance Sensor with a servo?
This may be your cheapest solution for a sensor - but it won't be a very accurate one - but certainly enough to get started with. Alternatives would be using a phone camera (or wifi camera) like the example above to transmit back to a larger computer system. Another possibility (if you are using an on-board Raspberry Pi and Uno combo) would be to hook up a camera to the Pi (which can handle the larger amount of data). You might also use a Nootropics Design Video Experimenter board coupled to an Uno - which then communicates with a Mega or Pi (or something else) to get video that way (more complex, and probably more expensive, and lower resolution, and will likely only allow you to use the Uno for that function alone, as it uses a bunch of memory just for the TVOut framebuffer - but it is an interesting possibility). You could try using a CMU camera module. If your budget allows, you could tear apart a Neato robotic vacuum cleaner for the LIDAR sensor.
Iqbal007:
I would like to buy a chasis (with motors and a battery system if you can), 2WD or 4WD? any budget friendly recommendation which would work well?
DO I need a Dual H Bridge?
The answer to these questions will ultimately depend on your budget and the size of the robot you intend to build. I mean - the above example of the self-driving car used a cheap R/C car and some parts had on-hand; likely the whole thing cost well under $100.00 even if you bought everything brand-new (and you already had an Android phone). But - he didn't put the Arduino or anything else, other than the phone - on the R/C car itself, so it didn't have to be very large.
You could purchase a small platform fairly cheaply - but it may not be able to hold much more than a motor driver board and the Arduino, plus a few sensors. It will also likely be limited to running on a smooth surface like tile flooring or a desktop. These limitation may be an ok compromise for your needs, though. Without knowing your budget, it is difficult to say.
I would love to point you to example platforms - but there really are a ton of options available, ranging in price to "costs very little" to "government budget".
One example closer to the latter would be the Dagu Wild Thumper 6WD chassis and control board; this system (which you would still need to buy additional components for - like batteries, charger, R/C radio system, servos, etc) will set you back several hundred dollars USD. But it is an all-in-one kit; the control board has all the on-board motor drivers meant for the motors in the chassis, and it is based on the ATMega328 (IIRC) and can be programmed using the Arduino IDE.
Something a little less expensive would be a 2WD or 4WD ready-to-run (RTR) hobbyist R/C truck chassis; something by Losi or Traxxas, around the 1/10 scale - would be perfect and fairly easy to work with (btw - if you intend to use hobbyist R/C for control - make sure you check out the code base for the Dagu Wild Thumper board - the code samples are all there for taking the PPM signal from the R/C controller, and translating it into actions for the motors - a great example to learn from).
You might also go an purchase a cheap 2WD (or 4WD or a tank - if you get lucky) toy R/C car chassis from a thrift store - then mod it up, like discussed in this thread:
http://forum.arduino.cc/index.php/topic,86883.0.html
Other low-cost options would be the Magician chassis (desktop rover), Gordon McComb's ArdBot (http://www.robotoid.com/servomag/) - another desktop rover, or maybe a hacked up Tamiya bulldozer kit (http://www.tamiyausa.com/product/item.php?product-id=70104)?
(to be continued...)