Shortly after finishing his Makiwara punching bag, [Abieneman] wired and programmed an Arduino to an accelerometer to find out just how much acceleration (and with some math, force) is behind his punches. The project is simple and would be quick to reproduce for your own measuring and experiments: all that he used included an Arduino, accelerometer (with A/D converter), LED displays (and shift register). We were a little disappointed to learn of how much static the accelerometer produced, so measuring things such as impulse, energy, and pretty much anything not kinematic is nullified. But it makes us wonder, how much static would be in say, a Wii Remote punching bag?
16 thoughts on “Punching Accelerometers”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
is it definitely noise?
it could be vibrations its picking up
It does seem like it would be a lot easier to put a Wii Remote in the bag and process the data on the computer. Though I guess this does have the advantage of being self-contained.
surely the noise could be sorted out using some sort of creative dsp filtering on the ardiuno side?
I suspect a simple low pass/averaging filter would do the job quite nicely.
This is an awesome idea as I’ve seen the devices that measure the speed and force of your punches and kicks and they’re not exactly cheap. I teach martial arts on the side so I can’t wait to see this improved.
Wow, bet any connected neighbours love that sort of thing bolted to the wall!
I think the accelerometer needs more secure mounting to give reliable readings. Also, the next step should be hook it up to a door latch so that only you and Chuck Norris can enter.
Since F=mass*acceleration, how is he determining the mass that’s going into the punch? Is it his hand and arm? or also the shoulder and back?
The actual reading show a noise of +/-1.5g when at rest, but it’s only 0.6% relative to the entire range of +/-250g. It’s also offset from 0 by about 2g. If you have a heavy punching bag you’d need a smaller range accelerometer which would have smaller range or error as well. All in all i would estimate the error at room temperature to about 4%.
[chip] those could be vibrations – sensor was on next to PC with working fans…
[jakub] The “event” was so short (140 sampling points) that i was afraid any kind of low pass filter would filter out the event as well (or at least reduce the maximum value which i was looking for)
[Pete] Perhaps there’s some give in the spring that attaches accelerometer to the board which would reduce the maximum acceleration, however the part is very light and so is the cord that attaches it to main unit.
[ehrichweiss] I tried to integrate the acceleration over time to get speed but was getting bad results – errors accumulate, so no luck measuring speed – high speed video camera would be good for that.
[James] The board attached to the wall is large and is _supposed_ to disperse vibrations but i can’t say i tested it from the other side of the wall.
Aleksey
[David S] I used the mass of the board.
The way i see it, board has a force f acting on it from the hand and spring force acting in opposite direction. At the start when the board is not bend that spring force is 0 so i ignore it. Therefore the force with which hand acts on board and therefore the same force with which board acts on hand
f = a*m where m is mass of board.
The hand has also two forces: f from the board and F from the arm:
F = a*(m + M) where M is mass of hand.
To make results comparable from fighter to fighter we should consider only f as it is independent of the arm’s mass M.
Aleksey
Great devices though they are, I don’t think an accelerometer is the best choice here. You can almost always reduce the noise of a sensor reading by instead measuring its integral and then deriving in software. I’d actually suggest taking a second step in that direction. Make a reflectometer out of an IR LED and a photosensor (preferably one that’s only sensitive to IR and not ambient light), and mount it on the back. That should get you a really clean, really fast measurement of how much the board is bent- as the board bends closer to the wall, the reflected light will appear brighter to the sensor. First derivative of that tells you the board’s velocity, and the second derivative tells you the board’s acceleration.
I think that your physics are incorrect. This isn’t a simple F = ma system because of the board, but the good news is you don’t need to worry about arm weight.
It is easier if you view it from the point of view of the board ‘system’. You want to solve for the force being applied to the board. You are measuring the acceleration at one point near the tip of the board. The accelerometer needs to be rigidly fixed to the board, this is critical.
The board is acting like a spring itself where the deflection produces a force. You can experimentally find this force (use a force scale, correlate deflection with force, just like a simple spring).
Now using beam deflection dynamics you could solve for the force being applied to the board based on it’s acceleration profile. This may be difficult. It is going to be something like F_punch = Mass * accel + F_spring_board.
Now the trick is finding what mass to use. This is hard because you are essentially rotating the board, not moving it in a straight line. So instead you’ll need to use rotational inertia, and we are getting too complicated.
In the end, solving for the actual force might not be all that important, and just having a relative metric probably is. If that is the case, just rigidly mount the accelerometer and measure the max ‘g force’. This is proportional to force in some know way and that is all that matters. It gives you a way to compare yourself to others and track your progress.
Another trick is to apply known forces and then measure the acceleration of the board. You can then use these tests to back out your applied force while punching.
I think it would be popular to have a bag that groaned in proportion to how it was hit.
I did duck tape a wiimote to a punching bag (really it was a wavemaster standing bag) in martial arts class a couple years ago. It worked pretty well but by my sensei kept maxing it out (wiimotes are only have a 3g accelerometer). I used darwiin remote on my mac to read the values. It worked great and I didn’t notice any “static,” just wonky graphs when it got to the max, which was about 5g. It was a lot of fun and I highly recommend trying it out.
Why is that neither this guy, not the HAD gang seem to realize, that if you add 4 feet of unshielded wire to a low-level analog output, you WILL get noise.
PLENTY of noise.
It’ll pick up any farts and phonecalls a mile away.
“this guy” did think about the wire and tested it with sensor connecting to board directly – that’s when he got the noise displayed in the blog
– cheers :)
i have posted a follow up blog with additional noise analysis as well as longer capture record as well as my thoughts on acceleration vs momentum:
http://abieneman.wordpress.com/2010/04/26/punch-acceleration-sensor-followup/