[python] Re: Thoughts on Python Stability

  • From: Patrick van Gompel <patrick_van_gompel@xxxxxxxxxxx>
  • To: <python@xxxxxxxxxxxxx>
  • Date: Fri, 29 Jun 2012 12:35:11 +0200

Indeed an interesting subject. I'm not into maths, but I would like to add a 
few things.
Your definition of a stable bike is based on common bikes I think. For example: 
most common bikes can be driving with no hands on the handles, but I wouldn't 
dare to cycle with my Python without at least one feet on the pedal. So I 
guess, without input from a rider the Python steering is not so stable. So -as 
already mentioned- I think you can't leave the rider out of the story.

> > 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?)
Of course this is subjective, but I don't consider driving a (properly built) 
Python more difficult than a normal bike. On what information would you base 
the idea that driving a Python is hard or would take exceptional balance and 
trained reflexes? Sure, it takes quite a bit of time to learn cycling on a 
Python, but so did a bicycle.
I think the idea of a Python being 'unstable' comes from a combination of 
things. The bikes are home-built and some are harder to drive than others. But 
I think the main thing is that most people already knew how to cycle a normal 
bike. Driving a Python is quite different from that I think, because you steer 
with your feet/body and it takes time for your body-mind to adopt to that.

> > 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!
Yes, I have done this. I can just stretch myself against the top of my seat (I 
usually do this to take a different sitting position). The Python will of 
course straight out and you can't really steer, but it does help against sudden 
wheelflop, for example when you hit bumbs. Going downhill while freewheeling is 
easier for me when I push both pedals than when I just touch them.
I don't agree that the weight on the rear wheel has no effect on steering, but 
people with luggage in the back might add to this. Not sure why the weight on 
the rear would change either in your example. Though, the contact point of the 
shoulders-seat relative to the bike would matter. When the front and back 
contact points have a greater distance inbetween, the stretching would need 
less force I think.

Something else I think is often overlooked, is the combination of leaning and 
steering. When cycling a normal bike while you are leaning into a corner, the 
CoG (relative to the tire contact points) doesn't change much when you steer. 
But when driving a Python it does. If you increase your steering while leaning 
into a corner, the CoG will move outwards and up (of course, you will adjust 
the leaning at the same moment accordingly which again will affect the CoG).

Your legs are too short for a Python? Euhm, you don't have to build one with 
28" wheels. Just take 20" or something like that. Even kids are able to cycle 
Pythons ;-)

Greetings,
Patrick



> Subject: [python] Re: Thoughts on Python Stability
> From: noll@xxxxxxxxx
> Date: Fri, 29 Jun 2012 10:15:04 +0200
> To: python@xxxxxxxxxxxxx
> 
> 
> 
> An interesting read, Peter! I've always thought of myself as being the most 
> flexible part of the python's frame while riding it. Examining the behaviour 
> of the bike is not very meaningful unless you at the same time analyse how 
> the rider behaves. Riding (controlling) the python is a matter of continuous 
> stiffening and loosening the joints and muscles, similar to riding a unicycle.
> 
> 
> Olaf 
> 
> 
> 
> 29 jun 2012 kl. 08:57 skrev Peter Clouston:
> 
> > 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.
> > 
> > ============================================================
> > 
> 
> ============================================================
> 
> 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: