[python] Thoughts on Python Stability

  • From: Peter Clouston <peter@xxxxxxxxxxxxx>
  • To: python@xxxxxxxxxxxxx
  • Date: Fri, 29 Jun 2012 18:57:09 +1200

Hi Everyone!

This is my first post here. I have followed the Python story with interest for a while. It is fascinating that a bike that breaks so many of the "rules" for bicycle stability can nevertheless be ridden (By some at least). Even though I am not a Python rider, I hope that this post may be of some use to those that are, or are about to be Python riders..

One argument, strongly advocated on the Python website, is that the reason that the Python can be ridden is the steering centering effect of the rider's weight. I am not arguing against this but I note that the part of the rider's weight that rests on the pedals has the opposite effect. Jurgen has also alluded to this but it is not mentioned very prominently on the Python websites.

The centering effect is technically "negative wheelflop" and is an automatic consequence of negative trail, since wheel flop is defined as Trail x sin(A) x cos(A), where "A" is the steering head angle. However, discussions on wheelflop in standard diamond frame (DF) bikes usually claim that positive wheelflop has a small but positive benefit for stability. Even if the Python's negative wheelflop was beneficial for stability, because it's effect is a constant for a given bike and rider and all other dynamic influences on steering increase with increasing speed, it will be fully significant at lower speeds only.

It may be that the Python is in fact quite unstable and can only really be ridden by riders of exceptional balance and trained reflexes. There is a case of a rear-wheel-steer bike of mathematically proven extreme instability that "nobody" could ride. It was therefore classified as truly unridable, until a circus acrobat got on and rode it away, no problems! Maybe the Python is a less extreme case of that phenomenon. (This is NOT a criticism of the Python, if you have one, can ride it and enjoy it, why not?)

Several people on this discussion board have posted saying that they were about to post a mathematical analysis of Python stability, either using JBike6 or something like Matlab. Maybe I've missed something but I've not seem any results here, so far. Anyhow, there are potential problems in doing this for the Python, or for any Moving Bottom Bracket (MBB) design. Pappadopolous has noted that JBike6 is probably a better model for standard recumbents than for DF bikes, because the rider does not move his weight relative to the frame, as happens with DF bikes (Body English). However, in MBB bikes, the effect of the part of the rider's weight that is on the pedals acts quite differently to the rest of the rider's weight. For the Python, I have already mentioned the opposite effect on wheel flop for instance. It would be hard to model this effect in JBike6 because the riders feet and lower legs are connected to the rest of him by the hips, which are neither rigid connections nor free-swinging ball-joints but something in between. Indeed the stiffness of the joints will vary, depending on how much effort the rider is putting in and also how relaxed he is. JBike6 would have to assume a rigid joint.

The JBike6 developers from the Cornell/Delft team have shown that a marginally unstable DF bike can be stabilised merely by putting a weight in the handlebar basket. The lower legs and feet of the Python rider have the same tendency. The effect will be less if the rider is tense, because this will cause him/her to act as a rigid body instead of a freely jointed one.

I should define what I (and JBike6) mean by a stable bike. I mean a bike that, without needing any input from the rider, will steer in such a way that it does not fall over (roll stability) and tends to track reasonably straight on rough ground (Yaw stability).

With positive trail, if the bike and rider start to fall over to either side, the imbalanced weight to one side will cause the bike to turn into the direction of fall. This turning results in centrifugal force that picks the bike and rider up again (Roll stability).

The bike must also recover from any disturbance of the front wheel (Yaw stability). If the front wheel is twitched to the left, the bike will of course tend to turn left. This is resisted by the inertia of the bike and rider, resulting in a an inertial torque to the right. In a bike with positive trail, the effect of a rightwards torque is to turn the steering right, thus canceling the original offset to the left. This is what caster action is. (I have seen caster "explained" as being due to the tyre contact patch being dragged behind the steering axis, but of course, unless you have the brakes on, tyres do not drag and even in braking the drag is directed through the steering axis and has no leverage to affect the steering.)

Since the Python has negative trail, as normally defined, it is unstable in both roll and yaw, unless the effect of the component of the weight on the bottom bracket can overcome the negative trail effects. On this list someone has already noted that the bike is easier to ride if the shoulders are firmly braced against the seat back. Some of this effect may be due to the reaction force of the feet on the bottom bracket tending to stretch the bike out, therefore straightening it. However, consider taking this to extremes, where the rider arches his back so all his weight is carried on the shoulders and feet. The weight on the shoulders is close to the rear wheel and thus has little effect on steering. All the rest of the weight is on the bottom bracket, forward of the steering axis. He will have changed the dynamics of the Python from those of a bike with negative trail to one where the effect is of quite a lot of positive trail!

Of course, it would be pretty darned hard to ride the bike with your body arched like that, Riding by planking seems like a lot of work! Also, the wheel flop would be huge, so this technique could only be useful in stabilising things in emergency at high speed.

Note that it is mostly the forces sideways to the plane of the bike frame that affect steering, especially at speed. Forces in line with the frame affect steering only though wheel flop, where the Python is OK. If the Python seat was designed so that it pivoted about a point above the rear hub and the front of the seat was supported but able to swing from side to side, the stability benefits of the "planking" technique I have described would be gained, without requiring effort from the rider and without upsetting the balanced wheelflop of the normal python. Perhaps Jurgen's Hammock type seat may allow some sideways movement at the hips? If so it may make his bike easier to ride than Pythons with conventional recumbent seats.

I have no idea whether having a pivoting seat would have a negative effect on steering and pedaling. Is anyone game to experiment? It won't be me alas, my bike building skills are nil, my legs are way too short for a Python and if I don't finish the new house soon my wife will have words to say1

Peter Clouston
============================================================

This is the Python Mailinglist

//www.freelists.org/list/python

Listmaster: Jurgen Mages jmages@xxxxxx

To unsubscribe send an empty mail to python-request@xxxxxxxxxxxxx
with 'unsubscribe' in the subject field.

============================================================

Other related posts: