Monday, January 14, 2019

Mouse is assumed infinite energy

We don't worry acceleration, we don't measure it, so carrying it around in the Kalman filter is not needed, our filter should resolve down to a type of newtons approximation.  We still have a covariance term, but it is single order matrix equation, we do not need matrix squared We watch the covariance, a diagonal, so it is just the variance, and that gets smaller as the cursor moves to the intended target. I knew this was the case, but I set up the kalman filter, half way not all, just to see if it converged  even as the error expanded (infinite energy) it did.

So a covariance on a scalar is the problem, an we know the rate at which the variance drops. The user is comfortable with the setting, essentially setting the sample rate, so she reacts fast enough to slow the cursor. This filter has roll-off, it is not unstable,by definition,  otherwise she would have set IO manager to faster rate.  It is a single dimensional process, we are essentially agreeing with the user on how fast to remove the relative bias between her expectation of x y and the filter's.. She can scoot her chair a bit, and i can add a number, fair enough.

Here is the sequence, I think. Having just been initiated, the io manage puts a white cursor center of the rectangle. The mouse is quiet, accuracy is at a maximum. The user swipes the mouse toward some make believe object n the screen. The io manaer will accept most of that delta, until the next calculation when it sees measurement variance is up, then it slow its weighting of new measurements.

How fast does IO manager recover after a sudden swipe? Faster if its sampling rate goes up, and faster if the human is very good at hand control.  If the use feels frustrated, it is because IO manager is slower than she is accurate, she is pausing too long. Set the setting. When the IO manager converges faster, then a shrt movement now and then get user and io manager back into agreement, they have agreed in position and rate; up to the users accuracy. At that point we can blame the application.


No comments: