Trackstanding

From Bike Wiki
Jump to navigation Jump to search

What is track standing?

Track standing is a method used by bicycle riders to balance their bike while only moving a minimal distance. The idea behind track standing is that if you keep the front steering wheel at a constant angle, you can move forwards and backwards slightly forward and backwards to stay upright. When you have the angled steering wheel, moving forwards or backwards creates torques, due to the turning motion. Imagine that you are on a bike and the steering wheel is angled 30 degrees to the right. Moving forwards will apply torque CCW, while moving backwards will apply torque CW.

Track Standing Controller

For our control system for balance, the control variable was the steer angle rate. But here the steer angle will be held at a constant rate and the speed needs to be updated, so the acceleration becomes the control variable. The cost variables lean angle and lean angle rate still apply, however instead of steer angle we use velocity as the third cost variable. We want to minimize velocity, because the basis of track standing is moving very little to stay upright. The equation of motion of the track standing bicycle used for the LQR becomes:

EOMtrackstand.PNG


Testing

In our track standing development, we set the steer angle to be pi/6 radians. In our initial tests the bike would change velocity but would not go backwards. After doing some long term tests we noticed that the bike was slowing down to a single velocity value and continuing at that velocity. It was in a steady state solution where it would drive infinitely around in a circle since we fixed the steer angle.


We then edited the balance score equation, adding a distance formula term to check that the bike did not move far from the initial position. This term was scaled to 1/10 as to not be massive in magnitude compared to the other balance score terms such as lean angle. This worked much better and the bike had three different responses based on different LQR trained gains.

  • 1 - Go to a track standing state where it would switch between positive and negative velocities
  • 2 - Attempt to track stand, go backwards very fast and fall over
  • 3 - Negative velocity steady state

Below are some of the graphs created by animateBike (seeMATLAB code) for a successfully track standing test. To test this yourself, input runBicycleTest_trackstand(0,0,1,pi/6,0.09,0,0,[2370.466,805.513,99.422], 0,500,1). The lean angle started at an initial 0.09, before falling to about -0.07 and then flattening out to near 0. As seen in the acceleration commands, they fluctuate very quickly between negative and positive values to produce the track standing effect. The delta(steer angle) is constant. The lean rate fluctuates between positive and negative values as the acceleration switches from positive to negative values.

Trackstand.PNG


Problems

One problem we are currently facing is that the bike is turning about a quarter circle of radius 1.5 meters before reaching the trackstanding position. We plan to fix this by contraining the bike to a more tight area from its initial position. Another problem is that since the bike is modeled by an ideal physical model, once the bike has balanced, the bike could theoretically stop without falling. So in some models, once the bike has balanced, it slows down to really low speeds, this is not practical for the actual bike since the ground is not even and the bike won't be ideal. This also affects our LQR testing because our balance score could be skewed from unrealistic models. So to combat this, one idea is to add randomly assigned lean rate offsets throughout the test to simulate wind/ground abnormalities. Another idea is to model the bike accurately in ANSYS and run tests on ANSYS to get the most accurate test results.