April 13, 2015

PunchBot - Post 2

Best Laid Plans Meet The Real World

The very moment I began attempting to get some data out of the PunchBot hardware it became clear that I had some refining to do.

New additions: US Digital Encoder,
Gas Strut and  much more weight.
The "catch pad" was the first to go. Not only did it do a terrible job of catching (it would spring back and whack you) but its long wobbly nature introduced a horrendous oscillation into the data. It has now been replaced with a gas strut that arrests the arm slowly. The strut is the smallest, cheapest unit I could find, normally used for overhead kitchen cupboards. An L-shaped piece of Aluminium on the lower arm acts as a catch.

I knew from day one that PunchBot would need a heavy platform to be stable during the delivery of a strike. I guesstimated that little extra weight would be needed, so I started at 15kg attached to the feet of the steal frame. However the frame continued to jump up a few millimeters with every strike. It wasn't until I added 50kg of weight that the base finally reminded stable. This led me to weld a weights bar in the fork of the base so there is plenty of room to add as much gym weight as is needed, which might be the case when I invite heavy and stronger people to give it a go. I opted for gym weights rather than sandbag or lead blocks because not only do they look nicer but any martial arts gym I visit is likely to have more on site if they are needed.

At one point i suspected that the aluminum neck was flexing under load. I wasn't entirely sure but I considered this enough justification to buy 20x3mm wound carbon fiber tube. Plus it looks great with the machined aluminium head.

Next I spent many months chasing a "saw tooth" noise in the optical rotary encoder. Convinced it was due to a cheap encoder I bought an expensive high resolution US Digital S5 Encoder unit only to find the issue reminded. Eventually the Arduino Forum users help me work out the saw tooth data problem wasn't really a problem just a misunderstanding on my part about the nature of the data output from an Optical rotary encoder. D'oh.

Fancy new machined face and
carbon fiber rod.
With the above problems resolved I was getting nice smooth data into my laptop and into Excel. I let some friends and family have a go and I was thrilled to see most people enjoying and engaging with it, ever if it was to just compare raw data graphs in Excel. Cutting and pasting into Excel got old fairly quickly so I began writing the Windows desktop application to manage the data from the device and make nice graphs of it.

We quickly found the next refinement: the head is too heavy. I had added small lead weights to give the pad some 'feel'. At 700g I thought it was a bit light but after 3+ full strikes it really began to sting my hand and make it ache. I had an aluminium head machined and ditched the lead weights so it comes in at about 500g which is just enough to give a good 'feel' without fracturing your finagles.

I have begun the physics study necessary to calculate and code power figures. More in the next blog entry.