Neato+ROS: Now With SLAM!

Here we go: I've got the Navigation stack working on a Neato XV-11:


Code is now online in the ILS Social Robotics Lab (SUNY Albany) Repository (Update: code is now on GitHub).

Neato+ROS

It's no secret that I'm a big fan of low-cost sensory. In fact, I'm a bit obsessed with it. And lately, we've been in cheap-sensor overload. Last month I picked up a Kinect, although I haven't had a ton of time to play with it yet. Luckily it looks as though the OpenNI+ROS drivers will be in good shape by the end of the week -- when our semester ends and I'll have a bit more free time.

On the subject of ROS, I'm also a big fan of that. Which brings us to the true reason for this post: I picked up a Neato XV-11 robotic vacuum this week (Thursday) and it arrived Friday (Amazon Prime $3.99 next-day shipping FTW). Friday night I spent about 4 hours getting the laser scanner and motor basics lined up, and then drove it around for a little while to discover numerous bugs. This afternoon I worked out most of the bugs, although I still need to work on the odometry calculations a bit more. Anyways, here's a quick video:


A couple of thanks to send out -- had it not been for this blog post by Hash79 of the Trossen Robotics Community, I probably wouldn't have even bought a Neato -- but all that data! The Neato looks like it could be a very interesting competitor for the iRobot Create -- hopefully I can get the odometry/laser data to work in gmapping (so far, I've had *no* luck).

More tomorrow -- as well as a code release (after cleaning things up).

The Armadillo Goes Mapping

Several weeks ago I built a new, small robot platform that could be used as a testbed for the ArbotiX-ROS bindings. That robot is the Armadillo. The Armadillo has a differential drive base with a pretty decent payload, a FitPC2 brain, and a 4DOF arm. He's also sporting a Hokuyo URG-04LX-UG01 laser range finder.

The poor Armadillo was sitting around for quite a while until I upgraded his motor drivers to handle the extra weight of the platform. However, he's now fully operational. To test out whether his odometry would be good enough to work with the ROS navigation stack, he was driven around to build a series of maps.

The first map is of the first floor of my house. The Armadillo started in the living room, when down the hallway and into the kitchen, and then returned. The map came out pretty good, I plan to collect a map of the complete house later this week.

A second, much larger map was made of the CS department hallways. This one had some issues. In particular the scan matching was creating false positives, which "shortened" the hallways. I'm still hopeful this can be made to work though, with a bit more parameter tweaking. Below, the image on the left is the map from gmapping, and the image on the right is a raw odometry-based costmap in RViz: