Say hello to the Neato XV!!!
You will become quite acquainted with your new friend over the course of the semester! The Neato may look like *just* a robot vacuum cleaner, well actually it is a robot vacuum cleaner but it has some very important features not found in other robot vacuums. The most notable feature is that it has a built-in Lidar which means that it can sense the closest object (up to a max range of around 5m) over a 360 degree field of view! What's more, the Neato allows you write your own program to both control its motors and process the Lidar data.
The typical method of interfacing to the Neato is to connect a computer to the Neato via a mini-USB cable. Provided you install the proper USB to serial driver on your computer, you can then talk to the Neato via a serial port connection. In this setup, you would program the "brains" of the Neato into your laptop and then the laptop would ride along on top of the Neato. The downside to this approach is that you won't be able to use your laptop while the Neato is running (either for supplying additional commands to the Neato or for viewing the Neato's state on the laptop screen). Over the summer we created an alternative setup that uses an intermediary computer (the Raspberry Pi B+) to act as an adapter between Olin's wifi network and the USB serial connection on the Neato. What this means is that you can now control the Neato from your laptop wirelessly!
In addition to the built-in Neato sensors we have also added a Raspberry Pi Camera Module. This camera module will be used by the Raspberry Pi to stream video from the Neato's point of view over the wifi network to your laptop. Here is an architecture diagram of the complete system:
What about the Kinect?
One popular sensor missing from this package is Microsoft's Kinect. The Kinect is a great sensor, but it has some limitations. See this page for an interesting discussion. Also of note, the system we have put together is very cheap ~$350 per robot which allows us to have many on hand for the class (something that would have been difficult with robots that have built-in Kinects such as the TurtleBot 2 which cost ~$2,000 per robot).
Other robotics platforms?
For the final project you may deviate from using the Neato. I have two other robots on hand that you are welcome to use, however, if multiple groups want to use these robots we may have to figure out how to best share. Also, switching to a new robotic platform will incur a significant time cost. Your project will be evaluated on its computational / software merits, therefore, if you switch to a new hardware platform (or build your own) you will need to work very hard compensate for the time cost of switching. The two other robots I have are the TurtleBot 2 and the Parrot ARDrone 2.