Sunday, October 25, 2009

Metrigear Vector Pt 7: Direction

Saturday was another Low-Key Hillclimb, up Soda Springs Road, and once again I got to see the Vector in action as Clark Foy rode his prototype up Soda Springs Road. I'm sure we'll see data from that test on the MetriGear Blog.

For now, I'll move my discussion of how I view this really cool power meter away from force and towards acceleration and velocity. The Vector's motto is "Direct your Forces": power is the product of a velocity (in this case the pedal's velocity around its circle) and the force in that direction. I've already talked about how the Vector might measure a variety of force components. The key is to convert those force measurements into a measure of propulsive power.

The first problem to be solved on generating power is to determine in which direction the pedal is driving the bike. As I've already discussed, the relevant velocity is the velocity is the rotational valocity of the pedal rotating in its orbit The translational velocity of the bike doesn't matter. Imagine the thought experiment of pushing forward with both pedals while the bike coasts. I'm applying a force in the direction of the motion, and typically a force in the direction of motion provides power. Indeed, were someone running next to the bike and pushing the bike by the pedals while the bike coasted, the bike would accelerate. But more typically a rider would be pushing forward on the pedals, but by Newton's Third Law, would be pulling back with an equal and opposite force on the handlebars and/or saddle. So the net force in the direction of motion would be zero.

Pedal force diagram, shamelessly borrowed from the MetriGear Blog

Rather, the way the bike is typically propelled is by pushing the pedals through the arc of their trajectory about the crank. So it's important to isolate the component of force in this direction. Fortunately, the pedal spindle rotates with the crank, and the electronics are encapsulated within the spindle, so this force is always in the same direction within the spindle. Well, not quite always... the pedal may tighten or loosen during riding, or if the pedal is moved from one crank to another the phasing of the threads may change, for example. So the unit needs to be able to determine which is the direction of rotational motion, but can afford to be a bit lazy about it, relying on relatively long-term observations, rather than rederiving orientation each sample.

As a bike moves, it may accelerate in a wide variety of ways. But the two dominent acceleration sources are the orbital acceleration of the pedal's rotation and the acceleration of gravity. Einstein took as a postulate of Special Relativity that gravity and acceleration were indistinguishable. Therefore an accelerometer has no way of knowing whether it is in a gravitational field, or is accelerating in the absence of a gravitational field along the same axis. So from the perspective of the Vector, a gravitational field is just another component of acceleration.

So how can the Vector determine its orientation? Remember the Vector is rotating as the pedal rotates. Therefore the acceleration associated with its circular motion (in the frame of the bicycle; imagine the bicycle is at rest on a stationary trainer) always points in the same direction, as long as the pedal is fixed within the crank. There is an additional acceleration which rotates over time, the acceleration associated with gravity. On top of these, if the bike is not on a trainer, are acceleration components associated with the bike speeding up or slowing, the bike turning, the bike "rolling" (tilting right or left), the bike bouncing (or otherwise changing rate of ascent), the bike changing grade, and the cadence speeding up or slowing. But average these accelerations over time, and the one which remains is the acceleration associated with the pedal rotating. Note this acceleration is the same direction whether the pedals are rotating forward or backward. So just spin the pedals for awhile and it will eventually become evident how the spindle is oriented.

But there's more. There's also gravity. Gravity provides a signal of how the spindle is oriented in space, of the rate of rotation. For uniform orbital motion, the acceleration associated with the circular orbit is equal to ω²L, where ω is the rate of angular change in radians per unit time, and L is the crank length. So if we can determine ω from the rate of change of the direction of gravity, and we can measure the acceleration, we can determine L.

But the Vector does not determine L, instead it requests that it be provided by the user. I was initially puzzled by this. But then I realized, why not ask for L? it's just one less thing to derive, reducing the opportuinity for error, as long as it is well known from the crank supplier. Side note: the Ruegamer Vf, a really cool crank, has an adjustable crank arm length, separately for each crank arm. So for something like this, you'd need to measure the crank length yourself.

The Ruegamer Vf, which has an adjustable length

So anyway, the Vector can find the direction of dominant orbital acceleration. The direction of propulsion is then perpendicular to this direction. Rather simple. All that remains is to determine which direction is pedaling forward, and which direction is pedaling backward. And unless I've rigged my bike with a cross-over chain such that I backpedal to move the bike forwards, this is fairly simple, as long as I know which pedal I am (right or left). And fortunately left and right pedals have opposite threads, and so are not interchangable, even with Speedplays for which the pedal bodies could be swapped between the left and right. (I could fool it by reverse-threading my cranks, in which case the pedals likely won't stay tight.) So the Vector knows if it's in a right or left pedal, and therefore knows in which direction it is supposed to spin.

So there it is: with two acceleration components, one along each of the two directions orthogonal to the spindle, the Vector should be able to determine the direction to its center of rotation. Then based on whether it is a right or left pedal, it should be able to pick the one of two orthogonal directions in the rotation plane which corresponds to pedaling forward. Then it can determine which force component is moving the bike forward, or in the case of a fixed gear or tandem captain crank, possibly slowing it down.

No comments: