Peak detection on pressure-sensitive floor boards
Hi everyone, I am building a sound installation with load cells laid out in a 6x6 matrix, 60cm apart. On top of the load cells are wooden boards. I send my raw sensor data from Arduino to Max and then calculate centroid of mass, mass velocity, speed (scalar & vector), and a few other things.
The challenge I'm currently stuck with is how to implement a trigger system for events/bangs. So far I've tried combinations of peak detection (with and without blocking timers) and velocity thresholds (with hysteresis). When I use velocity or acceleration, it reacts well but is often too sensitive and picks up steps or unintentional movements. When I use peak detection, there's a small delay.
A basic problem is that people continuously stand or move on the surface, which you don't have with touchpads or XY pads—usually the user removes their finger and there are no movements that aren't trigger movements in some way.
For those with more experience in designing interactive systems than me: what are possible ways of tackling this problem? Either it's delayed, not sensitive enough, or it gets too sensitive and triggers at unpredictable points for the user.
Can anybody help? Any pointers in the right direction are much appreciated.
Markus
It's unclear to me what should trigger the events. When someone steps on a cell, stays on a cell, go from one cell to another, jump on a cell?
Did you try filtering your incoming velocity before it reaches your hysteresis threshold? Something like [slide] or [p smoov] (search for the last one in the forum) might help, although it adds a bit of latency.
Also maybe having a dynamically changing hysteresis size would help filtering out unintentional movements.
Regarding the peak method, I don't know what kind of feedback you expect from your events, but you could think of a "preliminary feedback" before knowing if an actual peak is reached or not and trigger your real feedback. A bit like when a button changes its appearance when you hover it before clicking it, or in video games when you have a small sound indicating that you're in a sweet spot but still not quite there. It won't reduce the delay but make a human feel like it's more snappy.
Hard to give better advice for me without knowing more about the actual intended interaction, and a patch! You could even record some data using [mtr] for us to play with.