Thursday, April 30, 2015

MOARbots Path Visualizations

A MOARbots volunteer (Scott) made some python visualizations for the data stored from the multiple waypoint navigation competition.

Each path comes from a different (completely or slightly) piece of code running on the robot. The waypoints are the large gray circles, and are always in these same pattern, though sometimes the board was rotated (the tags were physically taped to it).

You can see the curve of the path segments in robots that did not account for the differences in output wheel speed relative to PWM (pulse-width modulation) value between the left and right motors. The actual physical robots were not the same between all these runs (the number at the top is just the robot ID tag which is removable). They all curve left because the right hand wheel motor is in the bias direction when moving forward, but the left hand wheel motor is in the anti-bias direction.

The target is considered reached if the robot's tag center point is within 20 units (pixels, but our camera never moves) of the goal point tag center. The score is computed as such:

Score = 120 - t + 25*n
t: time elapsed in seconds since trial started
n: number of waypoints visited
Total number of waypoints: 5
Trial ends if the score reaches zero

The maximum score is therefore 245, for a theoretical 'teleporting' robot.

The competition can be summed up by the two key challenges: (1) Figuring out how to drive quickly towards a single waypoint without overshooting the goal, and (2) Computing the shortest path given the locations of the goals and the robot start position.


 The robot in the above visualization did a little too much zig zagging. It also didn't compute the best path.

The robot in the above visualization correctly figured out the minimum length path given the tag locations and robot start position.

Wednesday, April 29, 2015

Bubinga Magnetic Box

Another CNC project -- some bubinga scrap turned into a box with a magnetic closure, rounded interior pocket, and painted turquoise inlay.


Clamped down to the CNC spoilboard.



One half already cut out and inlayed with magnets.


The box half directly from the machine after the first pass.



 Jig for milling out the other side. This is because the reach of the end mill / bit is limited, and also in order to mill out the hole for the inlay.


Pale red look before applying walnut oil.



The wood absorbs the walnut oil quite well so I keep reapplying, especially to rough spots like the cracks.


The magnet side.






Spring Break CNC Adventures

While the UW students were off on spring break, I took some time to work on old projects from "The Big Project List."

I found a scrap of plywood which was just the right size to mill out Curio Shelf Revision 1.

The pieces before assembly:



Due to a mistake in the lengths of the dividers, the shelf curves outward in the middle. Not a bad look, but not a look I'd keep in Revision 2.



Another project is a bamboo magnetic board with a french cleat in a V shape for the wall mount. First I did a quick mockup in OpenSCAD to visualize it. The small piece here would be mounted on the board. The large piece would be mounted on the wall. In the first image, the wall would be on the positive x-axis side, and the board on the -x axis side.



Here's the finished cleat. It doesn't look very neat however it is not visible when the board is mounted. Now it is easy to remove or replace the board on the wall. This means you can use it as a screw organizer that you store on the wall.


Here it is with some things attached to it.