slipstream-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Slipstream-devel] Rider upper body roll and translation


From: Dimitris Papavasiliou
Subject: Re: [Slipstream-devel] Rider upper body roll and translation
Date: Tue, 10 Jan 2012 12:35:21 +0200

Hey,

> I also tried applying my traction control hack, but that didn't help
> either. Traction control is too little too late, as it kicks in once the
> wobble causing shake has started. I just had a play with shifting up
> before the corner to see what exits are like without shifting. There's
> still a minor shake for me.

Actually a traction control of sorts should be able to remedy the
situation but it shouldn't be trying to control wheel blocking.  I
think what it should try to control is load transfer rate.  If it
detects large acceleration _rates_, which means fast transfer of load
it should try to prevent that.  When acceleration rises fast it should
apply a little brake, when it drops it should perhaps slip the clutch
a bit (assuming it drops due to back-torque, otherwise we'd be getting
into the realms of ABS).

I'm not sure this could be made to work but I think the problem is
load-related.  You're in a turn, you apply some torque on the steering
to keep the bike leaned at an angle and you have some small sideslip
at the front.  You switch gears and the load impulse from the engine
to the rearwheel causes a short sharp acceleration which unloads the
front so with the same torque on the steering the sideslip now rises.
When the suspension settles and you have load at the front once more
there's excessive sideslip at the front which initiates an
oscillation.

In fact if you want to investigate this you can get plots of the
front/rear wheel load and slip quantities with
-Oexamine="parts.rearwheel.state[n]" where front can be substituted
for rear and n can be 2 for slip, 3 for sideslip and 4 for load.  I'll
look into it when I find some time.  I'm working on the gearbox and
clutch right now, to make it a bit more realistic.

> I take it that the rider model is rigged in the same way as this paper
> where you got this '60 to ___ nm/rad' for the rider yaw stiffness? I'll
> have a peek in the code and try to figure out if the rider model works
> how I think it works.

More or less yes, only my rider has lateral translation freedom as
well.  Actually I'm not sure how correct the rider model is.  It works
like this: the rider pelvis say is connected through a slider to the
saddle.  This allows the upper body to slide out of the saddle
laterally.  Then then pelvis is connected to the upper body through a
universal joint which allows the upper body to lean and twist.  This
is more or less straightforward but here's a tricky part.  The upper
body is then connected through an "angular motor" to the steering
stems.  What this angular motor does is constrain the relative angular
velocities of the upper body and steering stem (and hence fork/wheel
assembly) to have some given difference and it does this by applying a
given amount of torque to the stem and reacting it on the rider.  I
use this in a sort of hackish way:  when you pull the mouse to some
side to apply a torque on the steering stem I set the velocity
difference target to plus or minus infinity depending on whether you
pulled the mouse to the left or right and the available torque
depending on your sensitivity and how far out you pulled the
rubber-band.  This correctly acts the torque on the stem and reacts it
on the driver.  I however do now realize that it probably doesn't
otherwise couple the stem and the rider.  It does not react wobble
from the stem to the rider nor does it react torque from rider twist
to the stem.  This probably explains why the upper body twists so
excessively (as can be seen with -Oexternal -Odrawvolumes
-Odrawjoints).  Looks like this has to be rethought.

> What frequency is the ODE loop of the sim run at? I've always wondered
> what effect that resolution has on the dynamics of a bike.

This is controlled by dymanics.stepsize and defaults to 0.001 or 1 ms.
 It can be easily changed, say with  -Orun="dynamics.stepsize=0.1" but
only for debugging purposes I suppose.  We can't support setting of
the stepsize by the user as it changes the simulation entirely and
breaks all replays in the process.

> Good find with the clutch, I'm sure that'll become very important as
> soon as you start thinking about slipper clutches.

Yes, certainly.  I'm hoping it will help here too, as all clutches are
slipper clutches for large enough loads.  Maybe it will serve to
truncate the acceleration impulse resulting from the gear transfer.  I
have this mostly implemented but it's still acting strange for reasons
unknown.  I also did a proper modeling of the gear-to-gear contact in
the gearbox instead of relying on some trickery I used before to
implement the gear ratio and resulting torque reduction.  Maybe this
will make a difference too but I doubt it.  We'll see as soon as I get
this damn thing to work.

> Whoops, a bit slack with my language there. I meant 'shake causing
> slide' instead of 'wobble causing shake'
> I think of them in this order;
> Weave ~ period 2s +
> Wobble ~ period 0.8 to 2s
> Shake ~ period 0.8s or less

> I don't know if that's consistent with how technical papers address
> them, works for me.

You're pretty close.  Actually there's only wobble and weave and it's
not only the oscillation frequency that sets them apart although it's
the most important difference.  Wobble is indeed faster and therefore
too fast for the chassis to react to.  It's an oscillation of the
front only.  Weave on the other hand is slower and concerns the
chassis as well.  You can read more here if you're interested,
particularly under "Modes":

http://en.wikipedia.org/wiki/Bicycle_and_motorcycle_dynamics#Lateral_motion_theory

D.

> On Mon, 2012-01-09 at 12:48 +0200, Dimitris Papavasiliou wrote:
>> Hey Simon,
>>
>> Happy new year and all that.
>>
>> > None of that playing around helped the head shaking at all. I looked
>> > online for some sort of description of steering damper rates. I couldn't
>> > find anything.
>>
>> Didn't help at all huh?  I'll have a go too but it looks like we'll
>> have to fiddle with the transmission to fix this.  Discussion with a
>> friend has revealed a problem that might be related.  The way I model
>> the clutch is as if it's mounted _after_ the gearbox.  I knew that but
>> didn't think much about it since it seemed to be working and it was
>> pretty convenient.  The problem is though that, in order to work like
>> this, the clutch has to be able to transmit all the torque present at
>> the countershaft which is much more than the torque produced at the
>> crankshaft, as much as 10 times as much.  It also means that, since
>> the clutch has to be able to transmit all the torque present under
>> first gear, it will never slip, except perhaps when downshifting from
>> second to first, but in any case it will probably transmit impulses
>> like the ones described in previous emails to the rear wheel when an
>> actual set might not have.  Perhaps mounting it properly before the
>> gearbox will have no effect at all.  We'll have to investigate.
>>
>> > Attached is something I probably shouldn't have been playing with, but
>> > was a lot of fun.
>>
>> Hey, that's pretty cool.  Did you model that yourself or did you find
>> it somewhere?  If you're going down that way though, we'll need
>> technical know-how on skinning, inverse kinematics and the like.  Just
>> a warning. :)
>>
>> On the matter of models, I've tried to start work on mounting them but
>> I'll need to make some changes, basically on the way they're
>> rotated/positioned.  I'll explain in more detail in a post to the
>> mailing list with various other model-related matters but what I
>> wanted to ask for now is whether you've made any changes to the
>> motorcycle model since you mailed me your .blend file.  If you did
>> mail me your last version, heck better mail it to me anyway.  We'll
>> have to find a way to work on the models concurrently.  Blender should
>> have features to support this I suppose.  I'll look into it.
>>
>> I'll get back to you with some comments on the models soon.
>>
>> Dimitris
>>
>> > On Wed, 2011-12-28 at 17:40 +0200, Dimitris Papavasiliou wrote:
>> >> Hello,
>> >>
>> >> > I have just had a decent play on today's CVS, and with the suggested
>> >> > values there is still significant head-shaking going on. Mostly it is a
>> >> > wheelie/gear change coming out of a bend that turns into a ridiculous
>> >> > head-shake down a straight. I've got my rider yaw as 70nm/rad and
>> >> > 7nms/rad. I'm thinking I'll need to turn up that damping.
>> >>
>> >> Yes that's a situation not addressed by these control systems.  I
>> >> think the problem is entirely gearbox-related unless you actually
>> >> wheelie while turning.  If you simply unload the front then the
>> >> systems seem to be effective at avoiding large sideslip angles.  You
>> >> can try that out by disabling both sytems (setting a negative value
>> >> for load thresholds and a very high value for sideslip thresholds) and
>> >> trying to stand the bike up under full throttle when exiiting a turn.
>> >>  Without the sideslip angle limiter I get very nasty headshakes that
>> >> way.
>> >>
>> >> I would generally say that the damping/stiffness coefficients for the
>> >> rider should be considered ok.  The reason is that the bike seems to
>> >> be stable provided you don't allow very high sidesip angles to
>> >> develop.  If you do allow this then it will tankslap but it would in
>> >> real life also.  Of course if there's no other way and the game is
>> >> rendered unplayable we'll have to resort to fixing it via the driver
>> >> (and in that case it helps more to set the lateral translation
>> >> stiffness of the driver body ridiculously high, say at 100kn/m) but
>> >> perhaps it's worth exploring other areas of tuning.
>> >>
>> >> One particular area I've been wanting to check out is the supension
>> >> setup.  As you can see in the diagrams in the previous email when you
>> >> shift up the acceleration is momentarily increased as an impulse is
>> >> transfered from the crankshaft to the rear wheel loading it and
>> >> unloading the front.  This is bad enough (and can perhaps be mitigated
>> >> by better modeling of the gearbox) but it's probably made worse by the
>> >> fact that it doesn't get damped enough by the suspension thus leading
>> >> to a short oscillation of fore-aft load.  Perhaps better
>> >> compression/rebound damping values can improve the situation.  Let me
>> >> know if you have any luck.
>> >>
>> >> > Attached is setup, session recording and a screenshot of the thing going
>> >> > down again as I quit. I was on a really good run of it working properly,
>> >> > too.
>> >> > Resolution has been fine since.
>> >> > This is a real long recording, with a huge off track excursion, so it'll
>> >> > be a good test of the replay technology.
>> >>
>> >> I'm having trouble compiling Techne here at home so I can't test these
>> >> right now.  I'll give them a go when I return.
>> >>
>> >> Dimitris
>> >>
>> >> > On Sat, 2011-12-24 at 22:09 +0200, Dimitris Papavasiliou wrote:
>> >> >> Hello,
>> >> >>
>> >> >> > I hope that you mean that the peak lateral force is at 0.025, or else
>> >> >> > your steering torque cut off will be occurring before peak lateral
>> >> >> > traction is reached.
>> >> >>
>> >> >> Uh yes, missed a zero there again.  The correct number is indeed 0.025.
>> >> >>
>> >> >> Dimitris
>> >> >
>> >
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]