Create robots requires a lot of different skills and, depending on how sophisticated is the behavior or the tasks that must be performed, can be really complex and extremely difficult.
The three pillars of robotics are electronics, mechanics and programming; there are others, but only with these three you can already start experimenting.
In addition to applicable knowledge you also need some others items such as motors (or other actuators), sensors, a small computer to avoid weight and power consumption (typically a SBC or microcontroller ) and a power source (battery to be autonomous) and some parts that sustain and hold together all these elements and their movements.
These elements can be acquired (some even manufactured) separately, or more easily, and probably cheaper as a kit.
What do I need to start?
Mainly, you need wish to enjoy creating and learning.
* Acquire a minimum and basic knowledge of:
+ Electronics or electricity (if only to distinguish voltage and current),
+ Mechanics (the minimum would be screwing and unscrewing or connect Lego type pieces)
+ Computer (at least to run a program on a computer)
* Get at least a microcontroller (Arduino, for example), a pair of motors, a distance sensor, a battery, cables, and a structure to support it. The basic set or kit.
A kit, the best option
A clear advantage of starting with a kit is that you start NOW, spending your time on where is your interest (electronic, mechanical or computer) , because the others areas are already solved, but anytime you can get to work in any of them. When you buy the kit with all the necessary set of elements together, the price is also often cheaper.
From the more expensive and complex to the cheapest and easiest
Bioloid : 18 powerful servo motors, 4 sensors. Ideal for humanoid, quadrupeds, hexapods and even vehicles; software to create them and behave like living beings. Includes programming software RoboPlus Tasks, you can also program in C, and create motion sequences with RoboPlus Motion. Using other controller, like Raspberry Pi you can use any language and programming tools which generate code to it.
It costs around 1000 euros. Yes, it is somewhat expensive, but if you have enough money and programming skills or willingness to learn, I think it deserves the price.
Mindstorm EV3: 2 servo motors, 1 motor, 4 sensors. Ideal for mechanisms and vehicles. Very easy to use, but it also allows you to create complex robots. Includes programming software NXT-G, NXT is also possible to program in Java with Far and C / C + + with Osek, not yet available for EV3 or very early versions.
It costs around 300 euros, although it may seem expensive compared to other options, its enormous potential and flexibility in all aspects (construction, programming and electronics) make it tremendously interesting.
Mindstorms EV3 is the latest version, released in August 2013.
Vehicle based on Arduino: at least 2 servomotors and all the sensors you want to start. Is easy and cheap, for around 40€/50$ – 70€/97$ you can have the a robot. Ideal for deepening in electronics.
It can be programmed with the friendly Arduino programming environment .
Is the cheapest option and you can go further by buying more components as you go. It not offers as much flexibility and ability to build as Mindstorms vehicles or Bioloid articulated robots, but you can really learn a lot more than it may seem.
And with less money or no money?
For less money, for starters, you can get an Arduino microcontroller or its clones, which cost just over 20 euros/dollars.
Or, completely free of charge, you can start learning to program in C or C + +, which will come very handy to program robots.
Free resources for learning C programming:
C introduction (pdf)
But there are a lot…
C Language Tutorial (html)
How C Programming Works (html)
Several C programming tutorials (html)
… and more from Google
And here you can find free resources for learning C++ programming.
In the next post I will write about a fast comparative between Bioloid, Mindstorms and Arduino based robots and about Arduino programming.