Preferably something that is a combination of affordable and close to real world robotics programming and will allow me to program it with C++.
3 Answers
Look into the Arduino. It's a microprocessor that's programmable in C++. You can easily use it to make or manipulate robots. It's not a robot itself, but it is the brains. You can do much more than just robotics with it. I'm currently using one to monitor and stabilize a greenhouse where I grow a Miracle Fruit tree.

- 3,641
- 5
- 29
- 40
-
1"The Arduino language is based on C/C++", does that mean it is C++ or just close enough to be relevant for learning C++ robotics programming? Not sure I get what they are saying here http://arduino.cc/en/Reference/Comparison – MetaGuru Oct 04 '11 at 14:32
-
It's C++ with the arduino libraries integrated to make it easier for development. You can compile it with gcc if you know how to include those libraries, or you can use their compiler in their IDE. – Malfist Oct 04 '11 at 14:37
-
@Malfist you just cost me £50! Those things looked too awesome not to have a go with – Tom Squires Oct 04 '11 at 17:08
-
I hope you bought the mega for that [price](http://www.google.com/search?gcx=w&sourceid=chrome&ie=UTF-8&q=ardurion#q=arduino&hl=en&pwst=1&prmd=imvnsr&source=lnms&tbm=shop&ei=KT6LTvijEY6NsAKx4ejSBA&sa=X&oi=mode_link&ct=mode&cd=6&ved=0CEsQ_AUoBQ&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=79be3a3c5e38aabd&biw=1780&bih=990). You won't regret it, I love mine, it is _the_ beginner's tinkering toy. – Malfist Oct 04 '11 at 17:11
The Robotic Operating System provides a fairly large amount of code for developing robots in C++. It includes a large number of libraries to help with development and exploration (for instance, it includes OpenCV and the Point Cloud Library for perception and modeling, sensor drivers, and more) for high performing algorithms without the difficult implementation. It also includes a list of robots that already support it.
The library is open source and freely available, and used in real world robotics projects around the world.

- 141
- 4
If you want to get started without investing any money at all, there are several very realistic robot simulations. The PlayerStage Project for example simulates several real robots, so if your code works, you could switch to a real robot without too much changes.
There are more projects like this. PlayerStage can be used in C++, though I would think about using a language like Python for the higher level code.

- 12,058
- 4
- 49
- 54