Localizing the Chess Board

The AAAI Small Scale Manipulation challenge is just a few months away now. I've been working on a slightly different approach to chess board localization over the past few days. We had previously been using a Canny edge detector, followed by OpenCV's probabilistic Hough transform to find lines. From this, we iterated over hypothesis about which lines corresponded to particular lines on the board.

Recently, I had a different thought: forget the lines, let's look at points alone. I'm now finding the intersections of the lines, projecting those points to 3d using the point cloud, and then doing ICP against an ideal set of intersections:


You can see fairly large red spheres inserted where each of the detected intersections is, and a TF frame being localized into the lower corner of the board.

This is working OK so far. One issue is that the ICP is occasionally deciding that it has converged when it is actually quite far off. I think the next step will be creating a different method for finding the correspondence hypothesis.

Maxwell Moves A Chess Piece

Earlier today we got Maxwell moving chess pieces around a bit. The gripper is still going to need some improvements for a better grasp, and the gripper control software needs some work, but:



Should be a bit more progress later this week.

A Look Inside Maxwell

Recently, I rebuilt Maxwell's base using a new design which allows the front plate to drop down for easy access to the ArbotiX2 prototype being used in Maxwell:



Here you can see the ArbotiX2 with dual 30A motor driver board. On the left is a step-up/down regulator for the Kinect, this takes 9-18VDC and outputs 12VDC@1.25A. The back area of the base is pretty much unchanged, housing the SLA battery and power terminals as seen in the initial post about Maxwell.