[python] 'New Improved' Four Bar Linkage Analysis
- From: Michael Rienstra <ageless@xxxxxxxxxxxxx>
- To: python@xxxxxxxxxxxxx
- Date: Wed, 8 Sep 2004 10:03:04 -0700
Hello All,
I guess everyone is on vacation except for me! :)
So I made some new models, slightly more accurate than the last, and
here's what I came up with:
First, I'll define what's what:
The coordinate system has y running along the main front frame members,
and x is side-to-side (parallel to the wheel axis). Keep in mind that y
is at an angle relative to the ground.
G = ground link (under the seat, distance between the pivots attached
to the rear frame)
S = side links (connecting linkages, distance between pivots)
C = coupler link (distance between the pivots attached to the front
frame)
R = distance from the coupler link to the center of the wheel, this is
a constant and for the geometries I'm discussing it has a value of 33
cm (to allow a 520 mm / 24" wheel, although maybe I should rethink this
as it is very hard to find good tyres...).
R = 33 cm
Y = shortest distance along the y axis between G and C, I use this to
find the lengths of S and C (given G and Y), and I also measure it at
different steering angles to see how close the wheel will get to the
seat (Y always gets smaller when steering, so this could be a problem).
YDiff = the change in Y, i.e. how much shorter it got, meaning that the
coupler link and the trailing edge of the tyre are now closer to the
seat. Smaller is better. It is zero when the steering angle is zero by
definition.
VrOfy = the offset of the virtual pivot from the center of the wheel
along the y axis. It is zero when the steering angle is zero for the
geometries that I am looking at. As it increases (approaching the seat)
it mimics center pivot steering, which also means a slight
self-centering effect. In general (particularly at small steering
angles) smaller is probably better.
VrOfx = the offset of the virtual pivot from the center of the wheel
along the x axis. It is zero when the steering angle is zero for the
geometries that I am looking at. It can be seen as the x component of
the lever arm along which forces acting on the wheel in the y axis will
exert torque on the virtual pivot, causing unwanted steering. Smaller
is better.
AxOfy = The offset of the center of the wheel along the y axis. It is
zero when the steering angle is zero by definition. This is almost the
same thing as VrOfx, since forces acting on the wheel in the y axis
will be more likely to cause unwanted steering if the wheel moves
sharply back as the steering angle increases.It may just be another way
of measuring VrOfx, but as you will see they aren't 100% in agreement
with each other so I'm not entirely sure.
AxOfx = The offset of the center of the wheel along the x axis. It is
zero when the steering angle is zero by definition. I think this might
make the bike hard to steer, particularly at low speeds or when
stopped, because the wheel's contact patch has to move as the steering
angle changes. Of course, the normal Python has this same effect, only
to a greater degree (since you are swinging the contact patch through
an arc as you steer), and I haven't heard anyone complain about it, so
this might not be an issue. Still, smaller is probably better,
particularly when it comes to balancing at very low speeds or making
crazy parking lot maneuvers. The more I think about it, it seems like
this will just mean that your CoG will move and the tyres will stay
still -- I assume that this what happens when you steer the python
sharply when stopped -- it bends in the middle, so steering left will
move your weight to the right, rather than forcing the front wheel's
contact patch to move to the left (or I suppose since most of your
weight is in the front it would be more likely that the rear wheel's
contact patch would move to the left, but in any case your weight would
shift before either of those things would happen).
_______________
The three models I studies are as follows:
Narrow:
G = 10 cm
Y* = 25 cm
S = 25.1 cm
C = 5.7 cm
Square:
G = 25 cm
Y* = 25 cm
S = 25.6 cm
C = 14.2 cm
Short:
G = 25 cm
Y* = 10 cm
S = 10.4 cm
C = 19.2 cm
_______________
*: this is the value of Y when the steering angle is zero, it will
decrease as steering angle increases.
To make your own models, start with G and Y, and find S and C using the
following equations:
_______________
Here are the values I obtained for the three models. Keep in mind that
the margin of error is somewhat large, particularly for VrOfy & VrOfx,
although I measured pretty carefully, and these models were 6/10 of
actual size. The point is look for trends, but the numbers could be a
little off.
The first number is for a steering angle of 10 degrees, the second is
for a steering angle of 20 degrees.
Narrow:
YDiff = 1 cm - 6.4 cm
VrOfy = 1.5 cm - 9.1 cm
VrOfx = 12.2 cm - 18.6 cm
AxOfy = 1 cm - 2.4 cm
AxOfx = 0.5 cm - 2.4 cm
Square:
YDiff = 2.2 cm - 5.2 cm
VrOfy = 5 cm - 13.1 cm
VrOfx = 14.1 cm - 22.5 cm
AxOfy = 1.2 cm - 4.8 cm
AxOfx = 0.4 cm - 1.8 cm
Short:
YDiff = 3.5 cm - 7.5 cm
VrOfy = 15.7 cm - 28.8 cm
VrOfx = 18.5 cm - 21.2 cm
AxOfy = 2.2 cm - 6.3 cm
AxOfx = 1.5 cm - 6.8 cm
_______________
Whew! Those are the numbers... Maybe I'll try to figure out the margin
of error at some point, but not now! Sorry that the presentation isn't
more usable -- it would be better if they were in a table or something,
with all of the definitions off to the side, so that it wouldn't be
necessary to scroll up and down constantly in order to make comparisons
or find out what something means. Too bad most email programs don't
have an easy way to view two different parts of the same email
simultaneously (well, it's not that hard to do...).
So here's a rough analysis:
YDiff: Narrow is best at 10 degrees, but Square is better at 20
degrees. No clear trend, more data needed.
VrOfy: Narrow is best, followed by Square. Clear trend.
VrOfx = Narrow is best, followed by Square at 10 degrees, or Short at
20 degrees. A little hazy, but I think Narrow will remain the best when
more data is available.
AxOfy = Narrow is best, followed by Square. Pretty clear trend.
AxOfx = Square is best, followed by Narrow. Pretty clear trend.
Bottom Line: A relatively narrow linkage is looking like the best
option overall. Exactly how narrow depends on:
1) What sort of steering angle is considered acceptable: with the
Narrow geometry as given above, if the diameter of the pivot is 3 cm,
and the width of the side linkages is 2.5 cm, the maximum steering
angle is 37 degrees, which seems like plenty to me, particularly if the
wheelbase is keep fairly short. These numbers have some room to play
around with.
2) How big of a value of Y is considered acceptable: with Y = 25 cm /
10", the linkage will extend under the seat almost to the rear seat
attachment point, which isn't necessarily the absolute maximum, but it
seems like it would be structurally and aesthetically detrimental to go
any further. Shorter would be better.
_______________
I'd love to get feedback on this, as I'm hoping to start build a
prototype this week, although my tendency it to plan and plan and plan
and never actually get started!
Michael
Other related posts:
- » [python] 'New Improved' Four Bar Linkage Analysis