Ask Your Question

Revision history [back]

Depending on what you want to try with ROS, you can start with a relatively basic platform. I think that the main requirements for this platform (in order to be able to fully appreciate ROS) would be:

  • Locomotion: Some way of moving around in an environment. As Tully suggests, an iRobot Create is a good approach. You may also roll-your-own. Generally, if you design your own platform, you will have to write your own nodes to interface with the motors, rather than relying on previously-written stacks. A suggestion, though, encoders (or some sort of odometry) are more or less a must for navigation applications.
  • Computation: A (somewhat portable) computer that is capable of running ROS. There are plenty of solutions for this from a single board computer up to a full motherboard (or servers like the PR2!). Computation power is typically determined by how much you want to do. You can play with some of the ROS nodes on your computer to get a feel for what size computer you will need (and then buy bigger!)
  • Sensing: In order to do navigation and SLAM, you will need some way to see your environment around you. The Kinect has really revolutionized this part, mainly because of the price point. Other sensors are available, such as laser range finders (not cheap), or webcam inputs.

For basic navigation, mapping, and SLAM work, this should be enough to whet your appetite. As you move to more advanced concepts (such as arm motion planning), you may need more advanced hardware, but this will cover a wide variety of topics.

As an aside, I have essentially described the Bilibot that @Tully linked to in his answer, just letting you know that other options are also available.