System ID experts

47 views
Skip to first unread message

Jason Moore

unread,
Dec 9, 2011, 12:52:48 PM12/9/11
to Single Track Vehicle Dynamics
Hi,

I was wondering any of you are system identification experts? I'm working with a linear grey box model of a closed loop bicycle and human controller with a large set of experimental data. We excited the the system with lateral perturbations and I now have pretty good results in fitting the model to our data. But there are at least a couple things I haven't quite figured out:

1. The grey box model optimization formulation with our 6 free parameters seems to have a lot of local minima. I've basically been giving a sweep of guesses based on manually fitting that work about half time. I'm looking for techniques in dealing with the local minima.

2. I'm interested in characterizing the process noise, i.e. human remnant, with a Kalman filter design. I have data for trials when the input is zero and feel like I can utilize it to characterize the noise, but my understanding of the subject is weak and haven't been able to put two and two together and make it work.

I'd love to chat about the specifics of my problem with anyone that may understand this really well.

This shows some of what I'm doing:

Jason

--
http://mae.ucdavis.edu/~biosport/jkm/
Sports Biomechanics Lab, UC Davis
Davis Bike Collective Minister, Davis, CA
BikeDavis.info
Office: +01 530-752-2163
Lab: +01 530-752-2235
Home: +01 530-753-0794

Andy Ruina

unread,
Dec 9, 2011, 1:07:38 PM12/9/11
to st...@googlegroups.com
Jason:

Time and again I've seen people claim they have local minima when they really have poorly converged optimizations.
I don't know anything about your case, but it is something to be looked out for.




--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.

 USA  cell:  +1 607 821-1442,    
 Skype:      andyruina









Jason Moore

unread,
Dec 9, 2011, 3:37:46 PM12/9/11
to st...@googlegroups.com
Is there some way to evaluate whether I have poor convergence vs a local minima?

I'm using canned optimization routines that are provided with Matlab's system id toolbox and don't know off hand how I'd extract the information needed to evaluate the situation.

Jason

Thomas Savarino

unread,
Dec 9, 2011, 3:57:24 PM12/9/11
to st...@googlegroups.com
I've had a lot of good luck with the function fminsearchbnd which is a
derivative free
minimization function. it tends to be a little more jumpy than
gradient searches, and
I fool around with bounds on the fitted parameters to include or
exclude regions
of the underlying search space.

best
ts

Andy Ruina

unread,
Dec 10, 2011, 3:33:41 AM12/10/11
to st...@googlegroups.com
In general people have better luck with SNOPT than with Matlab.

Then you have to, for example, after it gives you a supposed minimum,
drop the minimization software and look at the landscape in the
neighborhood of a supposed minimum. My guess is
that it is relatively flat in some direction(s), and maybe has
a kinked valley.

You might try your software on some test problems to see how well
it works. You can look up tricky optimizaton test functions.
Try for example

Z = |(x^2 + y^2 -1)| + e*x

where e = (say) 10^-6.

Andy Ruina

unread,
Dec 10, 2011, 3:36:54 AM12/10/11
to st...@googlegroups.com
More specifically to check:

  z = objective function

plot z vs r for radial lines in 100 random directions and see that
it is at a minimum at the supposed minimum.

Jason Moore

unread,
Dec 10, 2011, 3:33:15 PM12/10/11
to st...@googlegroups.com
@ Andy

Ok, I'll give that a try.

@ Thomas

I'm pretty sure the system id toolbox in Matlab uses a derivative free method, but I haven't attempted to bound the problem yet. I'll give that a shot too.

Thanks for the suggestions.

Jason

Tom Savarino

unread,
Dec 10, 2011, 4:09:20 PM12/10/11
to st...@googlegroups.com
Well, professor ruina has a great verification idea. I'm pretty sure that the bounded nelder mead thing in fminsearchbnd isn't in the standard Matlab distribution. 
Oh, it's also worthwhile studying the interplay between the accuracy of whatever differential equation solver you're using and the accuracy of the optimization. 
Be sure to tell us how you do.
One more thing, there has been some recent work in subspace reduction techniques for nonlinear systems that's worth examining
Hth
TS

Sent from my iPhone

Jason Moore

unread,
Dec 10, 2011, 4:18:14 PM12/10/11
to st...@googlegroups.com
Thomas,

I now realize after a google search that fminsearchbnd is a user contributed algorithm in the file exchange, I just assumed it was a built-in function. I'll look into it.

Jason

Papadopoulos, Jeremy

unread,
Dec 11, 2011, 11:21:01 PM12/11/11
to st...@googlegroups.com
Jason: I'm probably the opposite of an expert in this area. (Whatever that might mean.) But I have a caution or question: You are trying to fit a model to the data. Does the model contain, say, a delay (sensing delay, computation delay, actuation delay)?

Naively, I would worry that a defective underlying model might not do a very good job of fitting real data. I.e., suppose riders have variable delay, or variable gain, depending on what they are daydreaming about?

Jim Papadopoulos

________________________________
From: st...@googlegroups.com [st...@googlegroups.com] on behalf of Jason Moore [moore...@gmail.com]
Sent: Friday, December 09, 2011 11:52 AM
To: Single Track Vehicle Dynamics
Subject: [stvdy] System ID experts

Hi,

Jason

--
http://mae.ucdavis.edu/~biosport/jkm/
Sports Biomechanics Lab<http://biosport.ucdavis.edu>, UC Davis
Davis Bike Collective<http://www.davisbikecollective.org> Minister, Davis, CA
BikeDavis.info<http://BikeDavis.info>
Office: +01 530-752-2163<tel:530-752-2163>
Lab: +01 530-752-2235<tel:530-752-2235>
Home: +01 530-753-0794<tel:530-753-0794>

Jason Moore

unread,
Dec 12, 2011, 12:32:24 AM12/12/11
to st...@googlegroups.com
Jim,

Yes I am fitting a model to the data. As with any model, there are defects that can't capture everything that is going on in reality. The block diagram of the model I'm using is shown here: http://biosport.ucdavis.edu/research-projects/bicycle/human-operator-control. I can send you the preprint of the paper on it if you'd like. It doesn't have explicit delays, but does include a basic neuromuscular model for delays from sensing to actuation.

As far as the variable delay goes, the tasks that we had the riders perform didn't allow for any day dreaming. We attempted to force the human into a very repeatable control action by making the task difficult (i.e. keep your wheel on the line and if you are off the line return to it as fast as you can). I know that you have theories of the variable control systems that we employ when not in a very tight control task, but the experiments we did certainly didn't try to touch on any of that. Video of one of the treadmill experiments: http://mae.ucdavis.edu/~biosport/bhoftalk/videos/PullForce.ogg

Check out this graph: http://biosport.ucdavis.edu/blog/2011/12/09/pretty-good-system-identification-results and you can see that our model does in fact capture the essential dynamics during this type of task. I'm feeling confident in it more and more.

I don't have data for non-tight control, nor do I employ a model with time varying delay's or gains. That certainly a bigger problem to bite off.

Jason

Andy Ruina

unread,
Dec 12, 2011, 6:35:52 AM12/12/11
to st...@googlegroups.com
Jason:  Dec 12, 2011

At a glance your fit is good.  Without studying what you have done, my 
knee-jerk question is about over-fitting.  There is a famous quote from
Von-Karman, or someone like that, who said something like

  "Give me 5 parameters and I can sign my name"

Another version is

  "Give me 5 parameters and I can draw an elephant."

That you can fit isn't meaningful unless at least one of these things
is true, hopefully all three.

   a) You can assign meaning to the parameters.
   b) You can predict things outside of your fitting data set
      (most important).
   c) Your fit is kind of minimal.

Jason Moore

unread,
Dec 12, 2011, 12:30:29 PM12/12/11
to st...@googlegroups.com
I like the quotes and I will certainly keep them in mind. They reflect the desire for simplicity for gaining clearer understanding that I see in all of your work, which I admire.

For the three points:

a) I believe that we have this covered to a large degree. The control theoretic structure and the associated parameters have been chosen within a framework derived from the manual control community and the identified values are falling within that framework's bounds.

b) I'm aware of this and am working to improve my models so that they in fact predict a large portion of my data well. But I'm not there yet. I currently have some variability in the identified model parameters with respect to all data sets around a single speed with three different riders. I believe the variablity is much a function of my half working methods now as anything. As my identification techniques improve, I'm hoping that the model will become more reliable at predicting "all" the data I've taken. The original question to the list is part of my attempt to address this.

c) I haven't addressed this yet. I'm guess what you mean by this, is that the model structure chosen to fit the data must not be of higher order or complexity than needed to explain the essential dynamics. Two things that we have done that come mind are that our control theoretic model and bicycle model are relatively simple. I'm currently using the Whipple model and a 6 parameter control model. You can probably go with something simpler, but would certainly have to neglect some of the dynamics. I haven't tried simpler control models, nor any simpler bicycle models. I have tried some lower order black models for the identification and have had some success with slightly lower order models, so that certainly may mean that a simpler model can be used (but keep in mind the black box models have a large number of free parameters, as I'm only working with 6). I also have just a few runs for the same experiment except that the rider's eyes are closed (cutting off the tracking and heading feedback), which certainly will lend itself to simpler model.

So a question for the list:

If you had quality data for three riders tracking a line on a gym floor with measured lateral disturbances (200+ perturbations total) that describe the complete state of the system.* What would you do with it? What kind of model would you try to fit, if any? What techniques would you use to make some sense of it?

* This certainly may not be your ideal experiment, but hypothetically, if you had to, what would you attempt?

With that said, all the data is available on my website if anyone would like to try other techniques with it. For example, Peter de Lange just finished his thesis where he made use of some different system id techniques with success. For now, all I can try is what I know about, but I'm certainly up for other ideas.

Jason

Andy Ruina

unread,
Dec 12, 2011, 12:48:27 PM12/12/11
to st...@googlegroups.com
Jason:  Dec 12, 2011

Thanks for you nice preamble (2nd sentence below). Its what I
aspire to, anyway.

I sense that you are properly sensitive to the issues I named (meaning
of parameters, simplicity of fit, prediction-quality of fit).

I like your question "what would you do if you had an infinite amount
of perfect data?"  A similar question I like to ask is "what would
you do if you had a computer that was 10^50 times faster?"  Seems like
one shouldn't be allowed to proceed unless one can answer those questions.

The vague but useless answer to your question is:
 Try a lot of models, and try to simplify each of
them to get a pareto front of fit vs complexity. Then pick the model, fit and
complexity that works best!  OK, really you don't want best fit but predictive
ability.  Here simplicity is your friend.  I think over-complex 
over-fitting often compromises prediction ability.

Pedagogical example.  Take the curve y = x^2.  Then add random noise to y for
100 values of x.  Then take half of the data and  fit it with polynomials of degrees 1,2,3,...50. Then see how accurately each of the fits predicts the other
half of the data.  While your original 50-point fit gets better and better as you add
terms, the prediction will get worse and worse.



-Andy

Papadopoulos, Jeremy

unread,
Dec 13, 2011, 7:38:52 PM12/13/11
to st...@googlegroups.com
Jason, thanks for the links and impressive fits.

I'm glad you are alert to the non-tight vs tight distinction -- the latter I guess is where the crossover model should work. [I'm guessing the former represents 99.9% of normal bike riding, but of course it has no bearing on ability to recover from or avoid a sudden, bad situation.]

I have nothing to contribute to your methodology which is beyond me.

As you mention the Whipple model, I do wonder: what if the tires substantially modified the steering torque? I would think you'd want to do some riding with no external disturbances, to see if steer torque and steer angle are accurately related by the model. If they weren't, the model would not be the right thing to use.... right?

Jim P.


Jason Moore

unread,
Dec 15, 2011, 5:19:58 PM12/15/11
to st...@googlegroups.com
Jim,

On Tue, Dec 13, 2011 at 4:38 PM, Papadopoulos, Jeremy <papado...@uwstout.edu> wrote:
Jason, thanks for the links and impressive fits.



I'm glad you are alert to the non-tight vs tight distinction -- the latter I guess is where the crossover model should work. [I'm guessing the former represents 99.9% of normal bike riding, but of course it has no bearing on ability to recover from or avoid a sudden, bad situation.]

99.9% is bold claim. This is surely debatable. Here are my thoughts on whether we do this pulsive control as you describe or something else:

Even if you have these day dreaming moments while riding a bike, where it is pretty much "open loop", you still have to employ control at these sporadic moments and that control has to be governed by some law, which crossover type models may be a good choice.

I'm not sure I'm even on board with the sporadic control theory* because I don't necessarily believe that the bicycle + rider is ever open loop stable. Meaning that we have to employ some form of control at all times. This control can certainly, and may be dominated by, learned unconscious control which is taken care of in our spinal cord, but it is still control which is governed by some model, which seems more probable to me to be continuous. If we assume learned control is happening in the background you may believe that there is some kind of sporadic, pulsive control when the situation demands that we need more than our learned control can offer. I tend to believe that there is a continuous shift from learned control to conscious control, not a discontinuous jump as I interpret from your ideas.

These kinds of theories surely need to be tested. I find that there is little evidence for the pulsive control but a lot for a more continuous framework.

Does anyone know of any work on just a human standing or sitting? Do we have a constantly activated control system that makes sure we don't fall over? Or is it more like control is enacted only when when our lean angle reaches some threshold?

*btw I haven't studied the Doyle work yet or the work you've done to explain it
 



I have nothing to contribute to your methodology which is beyond me.



As you mention the Whipple model, I do wonder: what if the tires substantially modified the steering torque? I would think you'd want to do some riding with no external disturbances, to see if steer torque and steer angle are accurately related by the model. If they weren't, the model would not be the right thing to use.... right?

I think this test you describe would only be true in the case without a human rider. For a given steer torque applied by the rider if you compare the measured roll and steer to the roll and steer predicted by the Whipple model with the same measured steer torque you are not guaranteed to get matches. This is not only because the tire model might be bad, but because of many other things including but not limited to: noise (human remnant and other noise) in the inputs and the outputs, a bad human model or other deficiencies in the Whipple model such as rider rigidity. To properly test what you suggest would require eliminating the human from the system and applying steer torque via a a motor (i.e. a robotic bicycle). This is precisely what Luke is working on here and unfortunately these kind of results are not available yet to characterize how "good" the Whipple model is. The best assumption I can make is based off of work like Jodi's MS thesis which says the Whipple model predicts the motion of rider-less torque free bicycle between 4 and 6 m/s and trying to make good modeling assumptions, of which it certainly may be a good idea to entertain a tire model.
 



Jim P.





--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.


Jason

--
http://mae.ucdavis.edu/~biosport/jkm/

Papadopoulos, Jeremy

unread,
Dec 15, 2011, 7:31:27 PM12/15/11
to st...@googlegroups.com
Hi Jason,

Thanks for your patience in responding. I will snip and answer back selectively, for easy reading:

Subject: Re: [stvdy] System ID experts

Jim,

>99.9% is bold claim. This is surely debatable.

I feel I have to say something to get serious attention. I think that when I ride my bike to work 45 minutes, there are no more than 10 seconds when I really try to steer precisely, between two cars or threading a rapid series of potholes. OK, 10sec/2700sec is .4%, so 99.6%. Well, each time I start from rest I have a little skilled balancing for 2 sec. But the rest of the time, I am not aware of doing anything. What might that mean?

>Here are my thoughts on whether we do this pulsive control as you describe or something else:

I have thought at length about 'pulsivity' and I am not wedded to it for non-tight control. It just looks like an easy explanation. Along the lines of how we throw a ball, how much feedback control is exerted in the 0.2-0.4 seconds of hand acceleration?

If we are going to make a quick move, I guess it should be open loop. But the lazy person might apply a more moderate torque for an open-loop period to change roll angle. Still hard to make the case that much feedback is operating, unless you are cornering in a pack and striving to maintain a 6" gap to your neighbor.


>Even if you have these day dreaming moments while riding a bike,
>where it is pretty much "open loop", you still have to employ control
>at these sporadic moments and that control has to be governed by
>some law, which crossover type models may be a good choice.

Umm -- on the face of it, that does not seem convincing. The sporadic control can be a gross correction, with no attempt to make it precise. E.g., wandering off the road in a car, wrench the wheel a little, and then make subsequent corrections only if needed. (Narrow lane.)

Isn't it true that the crossover model is only a representation of human behavior near the limit of performance?

>I'm not sure I'm even on board with the sporadic control theory* because
>I don't necessarily believe that the bicycle + rider is ever open loop stable.

Well, I think this is a great point. I think if we have a rigidified rider and hard tires the whipple model might be reasonable. But with a real rider, a dead person can't sit up, so of course a free-torso system can't be stable. And as soon as a person controls their torso, they are of course affecting (controlling) the bike.

>Meaning that we have to employ some form of control at all times.

I don't really buy that. Or at least, there are many versions of this idea.
For example, suppose we have an internal program for sitting upright.
Running that program shouldn't necessarily be charged against the bicycling activity.
Maybe once that program runs, the bike is either stable, OR (like the whipple model) it is simply
HEAVILY damped in roll. In that case, you observe the roll angle once in a while, and occasionally apply
some pressure with a roughly appropriate total steering impulse.

>This control can certainly, and may be dominated by, learned
>unconscious control which is taken care of in our spinal cord,
>but it is still control which is governed by some model, which
>seems more probable to me to be continuous.

Philosophically, I have fallen away from the continuous idea
because of the obvious delays. In my experience, only when
really needing to exert tight control do I have any sense of *continually*
processing input and producing output. Otherwise, my idea and sometimes
sensation is of discrete sampling with reaction when a threshold is exceeded.


>These kinds of theories surely need to be tested. I find that
>there is little evidence for the pulsive control but a lot for a more continuous framework.

What would you offer as evidence for continuous control, for example of a standing still person?
As opposed to a detection of threshold exceedance, and setting into motion a distinct corrective.

Oops, I see I am anticipating your words here!

>Does anyone know of any work on just a human standing or sitting?
>Do we have a constantly activated control system that makes sure
>we don't fall over? Or is it more like control is enacted only when
>when our lean angle reaches some threshold?

A lot of work has been done, and I think Andy is pretty familiar with the ideas.

>*btw I haven't studied the Doyle work yet or the work you've done to explain it

Nor have I, sadly. It just seems really relevant!


>I think this test you describe would only be true in the case without a human rider.
>For a given steer torque applied by the rider if you compare the measured roll and
>steer to the roll and steer predicted by the Whipple model with the same measured
>steer torque you are not guaranteed to get matches. This is not only because the
>tire model might be bad, but because of many other things including but not limited
>to: noise (human remnant and other noise) in the inputs and the outputs, a bad human
>model or other deficiencies in the Whipple model such as rider rigidity.

Model deficiencies: I totally agree. That is why I believe in your approach of rigidifying
the rider. But that is all subject to test: rigidify the rider, pump the tires hard, measure
the steer torque, and see if steer angle and roll angle are accurately predicted.

Human remnant noise: I don't agree at all!! If that is just an input steer torque,
measure it.

Wind noise: must avoid.

Bottom line, I claim it is possible to test the goodness of the whipple model as long as the rider is rigidified. Unfortunately, I bet it is not all that good when tires are 'normally' loaded.

>To properly
>test what you suggest would require eliminating the human from the system and
>applying steer torque via a a motor (i.e. a robotic bicycle). This is precisely what
>Luke is working on here

Don't have to eliminate the human, just rigidify and measure the torque input accurately.


>The best assumption I can make is based off of work like Jodi's MS thesis
>which says the Whipple model predicts the motion of rider-less torque free
>bicycle between 4 and 6 m/s and trying to make good modeling assumptions,
>of which it certainly may be a good idea to entertain a tire model.

Those words sound like something I advocated, because indeed his bicycle had relatively
undeformed tires and no floppy rider.

I think the NEED for a tire model should best be SHOWN by testing with tires loaded to real-world levels. Luke's bike is one way, but a rigidified human rider is another.

Jason, thanks for engaging, and please be assured that I am openminded about possible logical errors in my 'worldview'!

Regards
Jim P.

Andy Ruina

unread,
Dec 16, 2011, 5:18:10 AM12/16/11
to st...@googlegroups.com
Jim:

I am not all into the details of this conversation. But let me add a couple
quick thoughts.

Not having any awareness of actively balancing says _Nothing_ about what advanced controls
you may be using. You are not aware of balancing when standing and that requires a busy
feedback look. You are not aware of the incredible neural processing to recognize a face,
and that is probably much more advance a sensory process than is involved in bicycle
balance. People walk robustly, and I don't see how they could possibly do that without
a busy feedback loop. But I don't sense this in action at all when I walk. Remember
that fruitflies can fly pretty well. And maybe fruitfly flight control is about as
hard as human walking or biking control. What awareness do you think the fruitfly
has of its control in normal commuting flight?


BTW, there is a whole literature about how people stand still. I went to a whole meeting
basically about that. Perhaps some people know how people stand still, candidates
are people named Kimmel (in Maryland) and Peterka (in Oregon). But there was certainly
no concensus about how it is done or if, for example, there are two regimes: one for
near vertical and one for large excursions. Same for how people balance sticks
on their finger tips.

If you bike guys (Davis, Delft) do a good job I can well imagine you would be advancing
the state of the art. On the other hand I think you should know the Kimmel and Peterka
stuff well before you publish anything. Both nice smart fellows, by the way.


-Andy

> --
> You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
> To post to this group, send email to st...@googlegroups.com.
> To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.
>

-Andy Ruina, ru...@cornell.edu, http://ruina.tam.cornell.edu

Papadopoulos, Jeremy

unread,
Dec 16, 2011, 2:16:25 PM12/16/11
to st...@googlegroups.com

Dear Andy,

Yes, you are surely right. But seems to me we can conclude something from the fact that (a) sensing-computing-actuating delay is inescapable (b) there is some distinction between un-noticeable control (riding on a 10-ft wide path) and conscious, tight control (riding on a 4" wide stripe).

Isn't it fair to say that on the narrow path we are more attentive, and do things more quickly, and can have less reliance on letting a learned response play out? Or in other words, that whatever 'advanced' controls we use in the wide-path or 'easy' activities, they are not high-gain or rapid?

This should at least suggest that there are distinctly different modes of controlling a bike, of which Jason and others are arguably studying the former (and normally much less used).

JMP


________________________________________
From: st...@googlegroups.com [st...@googlegroups.com] on behalf of Andy Ruina [ru...@cornell.edu]
Sent: Friday, December 16, 2011 4:18 AM
To: st...@googlegroups.com


Subject: Re: [stvdy] System ID experts

Jim:

Andy Ruina

unread,
Dec 16, 2011, 4:53:05 PM12/16/11
to st...@googlegroups.com
Jim et al:

I agree that attentive tight-tolerance riding feels different than lower tolerance
subconscious balancing. Whether this is a mode change or just a slight improvement that
crosses into consciousness I wouldn't bet on one way or another. My guess, not strongly
felt, is that it is not a big change in system behavior. But it will be great when
we know more.

-Andy

Papadopoulos, Jeremy

unread,
Dec 16, 2011, 6:26:35 PM12/16/11
to st...@googlegroups.com
Jason:

The idea I now feel comfortable with (but it is derived from a rigid bike model so leaves out all postural dynamics) is that of 'apparent roll damping' -- that after any disturbance by steer input (possibly intentional) or by wind, the stable weave mode drops the roll rate approximately to zero, leaving the bike nearly balanced (in a steady turn) with slowly growing or decaying capsize. Automatically having the roll rate damp in this way seems tailor-made for occasional or generally uncalibrated steer inputs, because the result is so benign -- at worst an inappropriate turn radius.

For a system like that, in which steer torque correlates to roll rate, it is hard to see a question of balancing -- most riding would be a matter of altering roll angle to achieve approximately desired path curvature.

Jim

________________________________________
From: st...@googlegroups.com [st...@googlegroups.com] on behalf of Andy Ruina [ru...@cornell.edu]

Sent: Friday, December 16, 2011 3:53 PM

Jason Moore

unread,
Dec 16, 2011, 7:39:48 PM12/16/11
to st...@googlegroups.com
Andy,

I found Peterka's work but can't find anything from Kimmel. My google keywords must not be good guesses. Do you have any information or links to him?

Jason

Jason Moore

unread,
Dec 16, 2011, 8:00:24 PM12/16/11
to st...@googlegroups.com
On Thu, Dec 15, 2011 at 4:31 PM, Papadopoulos, Jeremy <papado...@uwstout.edu> wrote:
Hi Jason,

Thanks for your patience in responding. I will snip and answer back selectively, for easy reading:





Subject: Re: [stvdy] System ID experts

Jim,

>99.9% is bold claim. This is surely debatable.

I feel I have to say something to get serious attention. I think that when I ride my bike to work 45 minutes, there are no more than 10 seconds when I really try to steer precisely, between two cars or threading a rapid series of potholes. OK, 10sec/2700sec is  .4%, so 99.6%. Well, each time I start from rest I have a little skilled balancing for 2 sec. But the rest of the time, I am not aware of doing anything. What might that mean?

I agree that it feels like we don't do any control for the majority of the time when we are just cruising from point A to B. But I don't think that it means we aren't doing control, or that it the control is encompassed in one framework or the other. I think it only means that we don't need conscious thought for the actual control actions that are happening.
 

>Here are my thoughts on whether we do this pulsive control as you describe or something else:

I have thought at length about 'pulsivity' and I am not wedded to it for non-tight control. It just looks like an easy explanation. Along the lines of how we throw a ball, how much feedback control is exerted in the 0.2-0.4 seconds of hand acceleration?

If we are going to make a quick move, I guess it should be open loop. But the lazy person might apply a more moderate torque for an open-loop period to change roll angle. Still hard to make the case that much feedback is operating, unless you are cornering in a pack and striving to maintain a 6" gap to your neighbor.

Like I said earlier, I more on board with feedback happening *all* the time. Although I couldn't point you to any proof.
 
>Even if you have these day dreaming moments while riding a bike,
>where it is pretty much "open loop", you still have to employ control
>at these sporadic moments and that control has to be governed by
>some law, which crossover type models may be a good choice.

Umm -- on the face of it, that does not seem convincing. The sporadic control can be a gross correction, with no attempt to make it precise. E.g., wandering off the road in a car, wrench the wheel a little, and then make subsequent corrections only if needed. (Narrow lane.)

Isn't it true that the crossover model is only a representation of human behavior near the limit of performance?

I'm not sure that that is a given about the crossover model.
 

>I'm not sure I'm even on board with the sporadic control theory* because
>I don't necessarily believe that the bicycle + rider is ever open loop stable.

Well, I think this is a great point. I think if we have a rigidified rider and hard tires the whipple model might be reasonable. But with a real rider, a dead person can't sit up, so of course a free-torso system can't be stable. And as soon as a person controls their torso, they are of course affecting (controlling) the bike.

>Meaning that we have to employ some form of control at all times.
I don't really buy that. Or at least, there are many versions of this idea.
For example, suppose we have an internal program for sitting upright.
Running that program shouldn't necessarily be charged against the bicycling activity.
Maybe once that program runs, the bike is either stable, OR (like the whipple model) it is simply
HEAVILY damped in roll. In that case, you observe the roll angle once in a while, and occasionally apply
some pressure with a roughly appropriate total steering impulse.

I agree that this is a control strategy and can surely work, but some kind of nice experimental validation of this is needed. Of all the data I've seen whether hands on riding or hands off, the steer angle and roll angle are very jittery which seems to lead me to believe we are constantly correcting. I never have seem smooth values and the occasional correcting, but maybe I've never done the right experiment, or I'm viewing the data wrong.
Ok, agreed. I think I spoke too soon about the human remnant. I had convinced myself for some reason. I'm going to run these simulations with respect to my measured input data to check the Whipple model validation.
 

>To properly
>test what you suggest would require eliminating the human from the system and
>applying steer torque via a a motor (i.e. a robotic bicycle). This is precisely what
>Luke is working on here

Don't have to eliminate the human, just rigidify and measure the torque input accurately.


>The best assumption I can make is based off of work like Jodi's MS thesis
>which says the Whipple model predicts the motion of rider-less torque free
>bicycle between 4 and 6 m/s and trying to make good modeling assumptions,
>of which it certainly may be a good idea to entertain a tire model.

Those words sound like something I advocated, because indeed his bicycle had relatively
undeformed tires and no floppy rider.

I think the NEED for a tire model should best be SHOWN by testing with tires loaded to real-world levels. Luke's bike is one way, but a rigidified human rider is another.


There are a few potential model deficiencies with the Whipple model and my rigidified rider experiments. One being the tire model, the other is the rider's arm motion and the third is how well I estimate the physical parameters of the bicycle/rider. Currently, the steer torques I measured are higher than the ones predicted by the Whipple model for a given roll and steer. Any one of these issues Iisted could contribute to the higher steer torques with the tire and arm model more likely candidates. Our riders' torso and legs are rigidly affixed to the frame but the arms still move when controlling the bicycle. Turns out that simply adding the inertial effects of the arms is significant and pushes capsize eigenmode from mildly unstable to very unstable.

I'm working on checking the outputs of the Whipple model and Whipple model with arms with respect to the experimental steer torque I measured. As far as a tire model goes, I don't have one easily available to check things with, but would welcome anyone that wants to look into that or can provide a tire model.

 
Jason, thanks for engaging, and please be assured that I am openminded about possible logical errors in my 'worldview'!

Regards
Jim P.


Jason
 
--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.

Jason Moore

unread,
Dec 16, 2011, 8:05:20 PM12/16/11
to st...@googlegroups.com
That surely seems plausible to me, but most likely restricted to the rigid rider case. I'm caught up on thinking about how the inertia effects of the moving arms invalidate that though.

I'm not sure that I will have the time to explore it now, as my dissertation deadline is rapidly approaching and I don't really have the right kind of data to corroborate these kinds of theories.

Jason

Andy Ruina

unread,
Dec 17, 2011, 3:35:44 AM12/17/11
to st...@googlegroups.com
Here is one Tim Kiemel paper, sorry about the spelling error.

Papadopoulos, Jeremy

unread,
Dec 17, 2011, 2:30:03 PM12/17/11
to st...@googlegroups.com
Jason, thanks for the responses, here are brief rejoinders:

________________________________


>Like I said earlier, I more on board with feedback happening *all*
>the time. Although I couldn't point you to any proof.

Isn't it true that the crossover model is only a representation of human behavior near the limit of performance?

>I'm not sure that that is a given about the crossover model.

Well, I'm not smart enough (yet) to understand it. But I think in several explanations, I have recurringly seen a statement like (or that I interpret like): "Near the boundary of system stability, the human operator asymptotic behavior seems to take a simple form that makes system behavior approximate 1/s", or something like that. The clear idea that I got is that as humans try hard, with various kinds of plant to control, they do their best to shape it into a certain form, and "the result 'at the crossover' (I thought maybe that meant, 'at the stability boundary') can be characterized by a simple form." This is probably near some fairly consistent upper frequency limit...

If you don't think this is right I will put in some library time to find the sources for that hazy recollection.

>I agree that this is a control strategy and can surely work, but
>some kind of nice experimental validation of this is needed.
>Of all the data I've seen whether hands on riding or hands off,
>the steer angle and roll angle are very jittery which seems to
>lead me to believe we are constantly correcting. I never have
>seem smooth values and the occasional correcting, but maybe
>I've never done the right experiment, or I'm viewing the data wrong.

AMEN AND HALLELUJAH! This is the discussion that I feel is needed. I don't know the answers. I haven't noticed the most relevant details. I don't know a way to prove or decide. What I was hoping from you and others, and I feel you have done it here, is an acknowledgement that some of the fairly big questions are not really settled. (Whereas, some others probably ARE settled, by your work or Weir's work...) So we need to dig around in the muck of ignorance in search of a little more clarity.


>Ok, ... I think I spoke too soon about the human remnant. I had


>convinced myself for some reason. I'm going to run these simulations
>with respect to my measured input data to check the Whipple model
>validation.

As long as there is no wind...!

>There are a few potential model deficiencies with the Whipple model
>and my rigidified rider experiments. One being the tire model, the other
>is the rider's arm motion

Do you mean the contribution of the rider's arms as passive elements, namely
inertia, damping, and load-stiffening? Or something more sophisticated?
I am happy to explore with you potentially reasonable mechanical approximations
to the impedance 'added' by the arms, as I have given it some thought.

>and the third is how well I estimate the physical parameters of the bicycle/rider.

Well, THIS seems like it could be a fruitful area for parameter 'fitting',
along with critical review of the thought process. In that arena, it could be good to add
masses to the handlebar ends, to see if they show up in the coefficients as expected. Or to
use a torque motor to apply a simple balancing program while the rider or the
pile of bricks is inactive.

>Currently, the steer torques I measured are higher than the ones
>predicted by the Whipple model for a given roll and steer.

I invite you to share some of that data and seek input. Higher by a factor,
or is there a 'transfer function' i.e. higher in some frequency ranges with
some phase shift?

>Any one of these issues Iisted could contribute to the higher
>steer torques with the tire and arm model more likely candidates.
>Our riders' torso and legs are rigidly affixed to the frame but the
>arms still move when controlling the bicycle. Turns out that
>simply adding the inertial effects of the arms is significant and
>pushes capsize eigenmode from mildly unstable to very unstable.

GREAT TO KNOW!!!!! That is a major result in my mind.
Would be very interested to hear how you made that model.

On the other hand, capsize is the simplest mode to predict, so should
be a piece of cake to attribute and wrap this up.

>I'm working on checking the outputs of the Whipple model and
>Whipple model with arms with respect to the experimental steer
>torque I measured. As far as a tire model goes, I don't have one
>easily available to check things with, but would welcome anyone
>that wants to look into that or can provide a tire model.

You could resolve some things quickly by giving the rider a fixed hand support, and allowing steering through
the fingertips. If the problem goes away then you know the cause for sure.
Jim P.

Jason Moore

unread,
Dec 17, 2011, 8:01:03 PM12/17/11
to st...@googlegroups.com
More line by line responses :)

On Sat, Dec 17, 2011 at 11:30 AM, Papadopoulos, Jeremy <papado...@uwstout.edu> wrote:
Jason, thanks for the responses, here are brief rejoinders:

________________________________
>Like I said earlier, I more on board with feedback happening *all*
>the time. Although I couldn't point you to any proof.

Isn't it true that the crossover model is only a representation of human behavior near the limit of performance?

>I'm not sure that that is a given about the crossover model.

Well, I'm not smart enough (yet) to understand it. But I think in several explanations, I have recurringly seen a statement like (or that I interpret like): "Near the boundary of system stability, the human operator asymptotic behavior seems to take a simple form that makes system behavior approximate 1/s", or something like that. The clear idea that I got is that as humans try hard, with various kinds of plant to control, they do their best to shape it into a certain form, and "the result 'at the crossover' (I thought maybe that meant, 'at the stability boundary') can be characterized by a simple form." This is probably near some fairly consistent upper frequency limit...

If you don't think this is right I will put in some library time to find the sources for that hazy recollection.

I asked Ron Hess your question and this was his response:

"Not really.  I can describe the dynamics of the human at various "crossover" frequencies and various performance levels.  It's true, that it has been verified in many laboratory and vehicle control tasks where good performance was required."

So it doesn't seem that your recollection is necessarily fact. It'd be nice to find some references that say this more explicitly.
 

>I agree that this is a control strategy and can surely work, but
>some kind of nice experimental validation of this is needed.
>Of all the data I've seen whether hands on riding or hands off,
>the steer angle and roll angle are very jittery which seems to
>lead me to believe we are constantly correcting. I never have
>seem smooth values and the occasional correcting, but maybe
>I've never done the right experiment, or I'm viewing the data wrong.

AMEN AND HALLELUJAH! This is the discussion that I feel is needed. I don't know the answers. I haven't noticed the most relevant details. I don't know a way to prove or decide. What I was hoping from you and others, and I feel you have done it here, is an acknowledgement that some of the fairly big questions are not really settled. (Whereas, some others probably ARE settled, by your work or Weir's work...) So we need to dig around in the muck of ignorance in search of a little more clarity.


>Ok, ... I think I spoke too soon about the human remnant. I had
>convinced myself for some reason. I'm going to run these simulations
>with respect to my measured input data to check the Whipple model
>validation.

As long as there is no wind...!

I've played around with checking this and it seems to be that a given measured steer torque that controlled the real system will not necessarily stabilize the Whipple model. So simulating the Whipple model seems to always blow up, but sometimes with "bad" initial condition estimates it will be stable but the comparisons of the experimental outputs with the simulation outputs is poor due to bias. But I'm not sure how to choose the right initial conditions. I was hoping that this would be easy to check, but it may not be. I'm probably won't spend much time on this, as Luke will be tackling specifically with better data very soon.
 

>There are a few potential model deficiencies with the Whipple model
>and my rigidified rider experiments. One being the tire model, the other
>is the rider's arm motion

Do you mean the contribution of the rider's arms as passive elements, namely
inertia, damping, and load-stiffening? Or something more sophisticated?
I am happy to explore with you potentially reasonable mechanical approximations
to the impedance 'added' by the arms, as I have given it some thought.

I add passive arms with spherical joints at the shoulders and the hand to handlebar grip connection. Revolutes at the elbows. I then constrain them to basically hang down. It's similar to a model Arend presented at the conference in Delft. See my rough explanation here: http://moorepants.github.com/dissertation/extensions.html#rider-arms

If you have thoughts on an arm model that may be more realistic, I'm interested.
 

>and the third is how well I estimate the physical parameters of the bicycle/rider.

Well, THIS seems like it could be a fruitful area for parameter 'fitting',
along with critical review of the thought process. In that arena, it could be good to add
masses to the handlebar ends, to see if they show up in the coefficients as expected. Or to
use a torque motor to apply a simple balancing program while the rider or the
pile of bricks is inactive.

>Currently, the steer torques I measured are higher than the ones
>predicted by the Whipple model for a given roll and steer.

I invite you to share some of that data and seek input. Higher by a factor,
or is there a 'transfer function' i.e. higher in some frequency ranges with
some phase shift?

From a preliminary glance it seems to be be higher by a factor. The data is available for use on my website. If you want a csv file of a particular run, just let me know what run number and I'll send it. I'll send you the Whipple parameters I estimated too. Run details are here: http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table

But this graph basically shows the bad torque predictions: http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table Look at the tDelta curve.
 

>Any one of these issues Iisted could contribute to the higher
>steer torques with the tire and arm model more likely candidates.
>Our riders' torso and legs are rigidly affixed to the frame but the
>arms still move when controlling the bicycle. Turns out that
>simply adding the inertial effects of the arms is significant and
>pushes capsize eigenmode from mildly unstable to very unstable.

GREAT TO KNOW!!!!! That is a major result in my mind.
Would be very interested to hear how you made that model.

On the other hand, capsize is the simplest mode to predict, so should
be a piece of cake to attribute and wrap this up.

 

>I'm working on checking the outputs of the Whipple model and
>Whipple model with arms with respect to the experimental steer
>torque I measured. As far as a tire model goes, I don't have one
>easily available to check things with, but would welcome anyone
>that wants to look into that or can provide a tire model.

You could resolve some things quickly by giving the rider a fixed hand support, and allowing steering through
the fingertips. If the problem goes away then you know the cause for sure.

Good idea, but I'm in writing mode write now. Something like that will probably have to wait till I'm done with my dissertation and somewhere else.
 
Jim P.


--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.

Papadopoulos, Jeremy

unread,
Dec 17, 2011, 10:42:54 PM12/17/11
to st...@googlegroups.com
Jason: hoping to converge with fewer responses each time!

>I asked Ron Hess your question and this was his response:
>"Not really. I can describe the dynamics of the human at various "crossover" frequencies
>and various performance levels. It's true, that it has been verified in many laboratory and
>vehicle control tasks where good performance was required."
>So it doesn't seem that your recollection is necessarily fact.
>It'd be nice to find some references that say this more explicitly.

OK, that's a big one for me. I'm honored that Ron took the time to think it over. I'll put that issue in my queue.

What is "A" crossover frequency, I thought there was only "ONE" for a given plant.


>I've played around with checking this and it seems to be that a given measured steer torque
>that controlled the real system will not necessarily stabilize the Whipple model. So simulating
>the Whipple model seems to always blow up, but sometimes with "bad" initial condition estimates
>it will be stable but the comparisons of the experimental outputs with the simulation outputs is
>poor due to bias. But I'm not sure how to choose the right initial conditions. I was hoping that
>this would be easy to check, but it may not be. I'm probably won't spend much time on this,
>as Luke will be tackling specifically with better data very soon.

Errrr --- This is a good place for the diff eq experts to jump in. Does one validate a differential equation by looking
at the solution, or is it better to simply check whether the highest order derivative is instantaneously quite accurate.

I can see the issue that putting the measured torque as an open loop input into the Whipple
model could have an increasing divergence as time progressed, including a blowup
if the hands free model is not stable at that speed.

So maybe the better question is: for given state (steer and steer rate; lean and lean rate)
what are the steer acceleration and roll acceleration? That could either be with applied steer
torque or with no applied steer torque -- just use the measured torque.

If the equations are applicable, the linear relation between state plus torque, and the two output variables,
should be linear with coefficients constant at a given speed. Seems like many seconds of data should
permit a strong test of this idea. Then if the linear model DOES match most data, are the coefficients
close to predictions from the equations of motion?

Of course, WHERE the torque is measured (middle of steerer, or top of steerer below handlebars, or
applied to handlebars) changes the equations a little. If you imagine a flywheel disk
mounted either above or below the torque sensor, the measured torque for a given bicycle
motion will change. More complex conditions if the sensor is below the handlebar, and the handlebar has a mass
offset from the steer axis....


>I add passive arms with spherical joints at the shoulders and the hand to handlebar grip connection.
>Revolutes at the elbows. I then constrain them to basically hang down. It's similar to a model Arend
>presented at the conference in Delft. See my rough explanation here:
> http://moorepants.github.com/dissertation/extensions.html#rider-arms
>If you have thoughts on an arm model that may be more realistic, I'm interested.

I guess I have to read that.....


>From a preliminary glance it seems to be be higher by a factor. The data is available for use on my website.
>If you want a csv file of a particular run, just let me know what run number and I'll send it. I'll send you the
>Whipple parameters I estimated too. Run details are here:
> http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table
> But this graph basically shows the bad torque predictions:
> http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table
>Look at the tDelta curve.

Aargh, more work if I want to be responsible! Thanks for the links.

>See: http://moorepants.github.com/dissertation/extensions.html#rider-arms

MORE? (MOORE?)


OK, many thanks, this is very fruitful for me.

Jim

Andy Ruina

unread,
Dec 18, 2011, 6:13:52 AM12/18/11
to st...@googlegroups.com

On Dec 18, 2011, at 12/18/11 | 5:42 AM , Papadopoulos, Jeremy wrote:

Jason wrote:
>> I've played around with checking this and it seems to be that a given measured steer torque
>> that controlled the real system will not necessarily stabilize the Whipple model. So simulating
>> the Whipple model seems to always blow up, but sometimes with "bad" initial condition estimates
>> it will be stable but the comparisons of the experimental outputs with the simulation outputs is
>> poor due to bias. But I'm not sure how to choose the right initial conditions. I was hoping that
>> this would be easy to check, but it may not be. I'm probably won't spend much time on this,
>> as Luke will be tackling specifically with better data very soon.

Jim responded:


> Errrr --- This is a good place for the diff eq experts to jump in. Does one validate a differential equation by looking
> at the solution, or is it better to simply check whether the highest order derivative is instantaneously quite accurate.

I am not that expert, the the class of expertise would be system identification, not ODEs.
For a system that is passively unstable, or nearly so, the usual approach of simulating forwards
in time and looking at the errors (or trying to minimize them if doing, rather than checking,
system ID) can't work.

A) SYSTEM ID FOR UNSTABLE SYSTEMS
Two approaches that I have thought of, and again I don't know the subject well, are below.
One semi-expert listened to what I wrote below a couple of months ago and used it when he was similarly stumped with
system ID for an unstable system. The two ideas are so natural that they both must be
standard practice in some community.

1) Look at how well the ODE is satisfied at every instant in time
and try to minimize that error. If the ODE is written as a single nth order equation this is
equivalent to Jim's idea of seeing how well you predict the highest order term.

2) Take a set of data and analyze it like this. Start one simulation at each data point.
Integrate forward in time from each. Take the difference between the simulated free variables
and the data. This much is what Jason did already. But now multiply by a weighting function
that discounts the future. This could be an exponential decay, a gaussian or a box function.
If the weighting function decays very fast this method is equivalent to (1) above. But if
it is substantially non-zero for some reasonable time into the future, it gives more weight
to fitting the difficult (unstable) modes. But you kill off the unstable divergence problem.
The divergence is still there between the simulation and the data, but in your measurement of
the error it is killed off by the weighting function.


Finally, it seems to me that you should NOT be using a Whipple model with set measured parameters.
Rather you should be fitting the coefficients in the Whipple model (the K's, C and M) as part
of your system ID. Then you can, for your curiosity, see how close that is to your more directly
measured Whipple model. I think Jim was saying that also, but I am not sure.

Jason Moore

unread,
Dec 20, 2011, 2:09:59 AM12/20/11
to st...@googlegroups.com
On Sat, Dec 17, 2011 at 7:42 PM, Papadopoulos, Jeremy <papado...@uwstout.edu> wrote:
Jason: hoping to converge with fewer responses each time!

>I asked Ron Hess your question and this was his response:
>"Not really.  I can describe the dynamics of the human at various "crossover" frequencies
>and various performance levels.  It's true, that it has been verified in many laboratory and
>vehicle control tasks where good performance was required."
>So it doesn't seem that your recollection is necessarily fact.
>It'd be nice to find some references that say this more explicitly.

OK, that's a big one for me. I'm honored that Ron took the time to think it over. I'll put that issue in my queue.

What is  "A" crossover frequency, I thought there was only "ONE" for a given plant.


The crossover model is with regards to the compensator plus the plant. That is, you adjust the compensator to get the desired crossover frequency for the whole system.
 

>I've played around with checking this and it seems to be that a given measured steer torque
>that controlled the real system will not necessarily stabilize the Whipple model. So simulating
>the Whipple model seems to always blow up, but sometimes with "bad" initial condition estimates
>it will be stable but the comparisons of the experimental outputs with the simulation outputs is
>poor due to bias. But I'm not sure how to choose the right initial conditions. I was hoping that
>this would be easy to check, but it may not be. I'm probably won't spend much time on this,
>as Luke will be tackling specifically with better data very soon.

Errrr --- This is a good place for the diff eq experts to jump in. Does one validate a differential equation by looking
at the solution, or is it better to simply check whether the highest order derivative is instantaneously quite accurate.

I can see the issue that putting the measured torque as an open loop input into the Whipple
model could have an increasing divergence as time progressed, including a blowup
if the hands free model is not stable at that speed.

So maybe the better question is: for given state (steer and steer rate; lean and lean rate)
what are the steer acceleration and roll acceleration? That could either be with applied steer
torque or with no applied steer torque -- just use the measured torque.

If the equations are applicable, the linear relation between state plus torque, and the two output variables,
should be linear with coefficients constant at a given speed. Seems like many seconds of data should
permit a strong test of this idea. Then if the linear model DOES match most data, are the coefficients
close to predictions from the equations of motion?


Understood, I can look into that.
 
Of course, WHERE the torque is measured (middle of steerer, or top of steerer below handlebars, or
applied to handlebars) changes the equations a little. If you imagine a flywheel disk
mounted either above  or below the torque sensor, the measured torque for a given bicycle
motion will change. More complex conditions if the sensor is below the handlebar, and the handlebar has a mass
offset from the steer axis....


My sensor is in the steer column. I think I properly calculated the "steer torque" from the torque measured in the steer column with these equations:

 

>I add passive arms with spherical joints at the shoulders and the hand to handlebar grip connection.
>Revolutes at the elbows. I then constrain them to basically hang down. It's similar to a model Arend
>presented at the conference in Delft. See my rough explanation here:
> http://moorepants.github.com/dissertation/extensions.html#rider-arms
>If you have thoughts on an arm model that may be more realistic, I'm interested.

I guess I have to read that.....


>From a preliminary glance it seems to be be higher by a factor. The data is available for use on my website.
>If you want a csv file of a particular run, just let me know what run number and I'll send it. I'll send you the
>Whipple parameters I estimated too. Run details are here:
> http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table
> But this graph basically shows the bad torque predictions:
> http://biosport.ucdavis.edu/research-projects/bicycle/instrumented-bicycle/run-information-table


>Look at the tDelta curve.

Aargh, more work if I want to be responsible! Thanks for the links.

>See: http://moorepants.github.com/dissertation/extensions.html#rider-arms

MORE? (MOORE?)


OK, many thanks, this is very fruitful for me.

Jim
--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.

Jason Moore

unread,
Dec 20, 2011, 2:21:38 AM12/20/11
to st...@googlegroups.com
Andy,

Makes sense, but the system id folks seem to minimize the error on outputs other than the higher order terms. You often don't measure angular accelerations directly and minimizing with respect to directly measured angular rates is less affected by noise. I'll think about this more.
 

2) Take a set of data and analyze it like this.  Start one simulation at each data point.
Integrate forward in time from each.  Take the difference between the simulated free variables
and the data.  This much is what Jason did already.  But now multiply by a weighting function
that discounts the future.  This could be an exponential decay,  a gaussian or a box function.
If the weighting function decays very fast this method is equivalent to (1) above.  But if
it is substantially non-zero for some reasonable time into the future, it gives more weight
to fitting the difficult (unstable) modes. But you kill off the unstable divergence problem.
The divergence is still there between the simulation and the data, but in your measurement of
the error it is killed off by the weighting function.


I don't understand this right off. What do you multiply by the weighting function?
 

Finally, it seems to me that you should NOT be using a Whipple model with set measured parameters.
Rather you should be fitting the coefficients in the Whipple model (the K's, C and M) as part
of your system ID. Then you can, for your curiosity, see how close that is to your more directly
measured Whipple model.   I think Jim was saying that also, but I am not sure.


Ok, I should be able to identify the coefficients easy enough and compare to the coefficients generated from the measured parameters.
 


-Andy Ruina,  ru...@cornell.edu, http://ruina.tam.cornell.edu
 USA  cell:  +1 607 821-1442,
 Skype:      andyruina



Thanks for the tips. I'll revisit this and see what kind of results I get.

Jason
 







--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.

Andy Ruina

unread,
Dec 20, 2011, 4:09:25 AM12/20/11
to st...@googlegroups.com
Jason:

 Comments up here at the top.

1)  Outputs is what I mean.  The terms on the left side of the ODES are the
    outputs.  If you write the system as one high order system then the highest order
    derivative is one of the outputs, and since you only have one output then,  that is
    what you use as error.  More generally you can look at all of the outputs and
    their errors (say, if you write the equations as a system of 1st order odes).

2)  I mean to take as the error the following thing.

        E(t_0) = \int_{t_0}^\infty    \{ simulated output - measured output\}^2 \cdot  f(t-t_0)  dt

  where some candidate weight functions are

     f(x)  =    exp (-c x)    where c is bigger than any positive eigenvalue
                boxcar        that ends at x_1, a time interval of your choosing
                exp (- c x^2) where sqrt(1/c) is a characteristic time inverval of your choosing.


     And to maximize use of your data you  should really take as your error

     \sum  E(t_0)          over all available times in your data

  and of course \infty really means the end of your data set, or any time significantly
  longer than the characteristic time in your weighting function. Altogether you can write
  this as a convolution of your instantaneous error and the weight function.

  Also, you need not use the {}^2 as your instantaneous error.  You could use |{}|, for example, if you
thought that was more appropriate.  Or even {}^n to a higher power (robust control people
like to use lim n->\infty, that is, the max value of the error in the interval).

  And you can use all of your outputs and sum.  Or a weighted sum. Or just the output
of greatest interest to you. That is

     \theta  or
     \delta  or
     a_1 \theta + b_1 \theta  or
     a_1 theta + a_2\thetadot + a_3 \thetaddot + b_1\delta + b_2\deltadot + b_3\deltatddot.

Let me know if any of this is not clear.


-Andy

Jason Moore

unread,
Jan 22, 2012, 8:26:48 PM1/22/12
to st...@googlegroups.com
Jim, Andy and others,

I finally got some basic checks on the validity of the Whipple model working: http://biosport.ucdavis.edu/blog/whipple-model-validity

The basic finding seems to be that for a given state trajectory, the Whipple model requires a much smaller steer torque than the steer torque measured in my experiments (i.e. the Whipple model is poor for a bicycle with rider). The inadequate tire model is the most likely culprit.

We're thinking about some ways to address this with respect to the human control identification problem that may not require working out the kinks in a first principles tire model, but if anyone has an easy way to provide an state and input matrix for a bicycle/motorcycle model with a realistic tire model given a set of model parameters (minus the tire ones), I'd love to see if that model accounts for some or all of the steer torque to roll/steer discrepancies that I'm seeing.

Jason

Andy Ruina

unread,
Jan 23, 2012, 1:29:22 AM1/23/12
to st...@googlegroups.com
Jason:    January 23, 2012

  This is all very good and clear but I don't quite understand it.  Some
comments/questions.

1) In all of the curves you show you take the torque as input and then integrate
forward in time to get the angles vs time, using the best fit for the initial conditions. In your previous emails you seemed unable to do this because the equations were unstable so you got divergences.  How did you get around this?


2) Have you tried the opposite, and tried to calculate the torque and then make
the comparison at the level of the torque?  I realize this takes smoothing
and differentiation, but you seem to have pretty good data.  I am not saying
it is so, but I would like to be assured that the natural bike instability
is not contaminating your fits.


3) Assuming your conclusions hold up, I think your wording at the end is a bit
too strong.  The Whipple model equations seem to be good, but the Whipple physical
meaning of the parameters seems to be not accurate. 

But I would still want to check even that.  For example have you played with
trail, something tricky to measure or even define when there is extended contact,
as a free parameter?  If you want to take the masses and geometry as given
and use your data for tire-model identification, I think you might want to
do that anyway, as well as putting in a viscous contact torque that scales with
1/v.   At least these are two tire-model terms that fit into the Whipple model.

More than that, and you have to leave the Whipple dynamics equations, I believe,
and put in lateral ground motions (slip) for which you have to reformulate
the dynamics equations a bit.

  All in all it's a great project.

-Andy

Jason Moore

unread,
Jan 23, 2012, 2:10:44 AM1/23/12
to st...@googlegroups.com
Andy,

On Sun, Jan 22, 2012 at 10:29 PM, Andy Ruina <ru...@cornell.edu> wrote:
Jason:    January 23, 2012

  This is all very good and clear but I don't quite understand it.  Some
comments/questions.

1) In all of the curves you show you take the torque as input and then integrate
forward in time to get the angles vs time, using the best fit for the initial conditions. In your previous emails you seemed unable to do this because the equations were unstable so you got divergences.  How did you get around this?

In my first attempts I was wrongly trying to impose initial conditions (i.e. ones that cause the system to blow up). I didn't understand what I was doing. So now, I integrate forward in time with the measured steer torque, but search for the set of initial conditions that give the best least squares fit on of the model outputs compared to the measured outputs. In this case, you can find a set of initial conditions which give a stable output for the supplied torque input. So the instability I originally brought up previously seems to be a non-issue.
 


2) Have you tried the opposite, and tried to calculate the torque and then make
the comparison at the level of the torque?  I realize this takes smoothing
and differentiation, but you seem to have pretty good data.  I am not saying
it is so, but I would like to be assured that the natural bike instability
is not contaminating your fits.

I haven't done that yet. Will do.
 


3) Assuming your conclusions hold up, I think your wording at the end is a bit
too strong.  The Whipple model equations seem to be good, but the Whipple physical
meaning of the parameters seems to be not accurate.

Fair enough. I haven't really considered the view that the physical parameters could be anything other than what we specified them to be. That's a good point.
 
 

But I would still want to check even that.  For example have you played with
trail, something tricky to measure or even define when there is extended contact,
as a free parameter?  If you want to take the masses and geometry as given
and use your data for tire-model identification, I think you might want to
do that anyway, as well as putting in a viscous contact torque that scales with
1/v.   At least these are two tire-model terms that fit into the Whipple model.

We discussed something similar internally here. It does seem like some very simple "tire" models can be introduced to account for the discrepancy. I'll report back after working with that some.
 

More than that, and you have to leave the Whipple dynamics equations, I believe,
and put in lateral ground motions (slip) for which you have to reformulate
the dynamics equations a bit. 

  All in all it's a great project.

Thanks.

Jason

btw - Your past student, Manoj, visited two weeks ago and we had some great discussions. We talked at length about this project and he was very helpful.

Andy Ruina

unread,
Jan 23, 2012, 2:22:21 AM1/23/12
to st...@googlegroups.com
Jason: January 23, 2012

I'll interleave here, but leave out the things for which I have
no new comments.


On Jan 23, 2012, at 01/23/12 | 9:10 AM , Jason Moore wrote:
> Andy,
>

> On Sun, Jan 22, 2012 at 10:29 PM, Andy Ruina <ru...@cornell.edu> wrote:
> Jason: January 23, 2012
>
> This is all very good and clear but I don't quite understand it. Some
> comments/questions.
>
> 1) In all of the curves you show you take the torque as input and then integrate
> forward in time to get the angles vs time, using the best fit for the initial conditions. In your previous emails you seemed unable to do this because the equations were unstable so you got divergences. How did you get around this?
>
> In my first attempts I was wrongly trying to impose initial conditions (i.e. ones that cause the system to blow up). I didn't understand what I was doing. So now, I integrate forward in time with the measured steer torque, but search for the set of initial conditions that give the best least squares fit on of the model outputs compared to the measured outputs. In this case, you can find a set of initial conditions which give a stable output for the supplied torque input. So the instability I originally brought up previously seems to be a non-issue.


Let's say that you are in a regime where the Whipple model is unstable.
The problem would not be removed by your approach here, just delayed.
That is, if you simulated long enough you would have the same issues you
have previously. You just minimize them in the short run by fishing for
good initial conditions.

Now if your integration time is short enough, which yours seems to be,
then maybe all is maybe fine. But that your best initial conditions are
actually a poor match at t=0 seems to indicate a problem.

I would prefer if you model fit wasn't based on long integration times but on
a short window, as per my email of some weeks ago, or on the instantaneous
fit to the equations, which a calculation of torques from measured angles
would do (note that you have to calculate a lean torque also which hopefully
will be close to zero).


> btw - Your past student, Manoj, visited two weeks ago and we had some great discussions. We talked at length about this project and he was very helpful.

A smart thoughtful creative and helpful guy, in my experience.

Åland phone: +358 40 778-3435
USA phone: 607 821-1442 (forwards to Finland, no charge)
Skype: andyruina

Arend Schwab - 3ME

unread,
Jan 23, 2012, 3:03:07 PM1/23/12
to st...@googlegroups.com
Hi Jason,

I have been reading your post on the system identification and Andy's reply. Your guess is that its mainly tires that you are missing. Instead of starting from total darkness, have you considered adding tires to your model? For the tire model you only need a lateral slip coefficient, some initial guesses on this are in Roland, Kyle or recently Dressel.

Yours,

-Arend L. Schwab

a.l.s...@tudelft.nl
http://bicycle.tudelft.nl/schwab/
06 2852 7539

Season's Greetings http://bicycle.tudelft.nl/schwab/Xmas2011/

-----Original Message-----
From: st...@googlegroups.com [mailto:st...@googlegroups.com] On Behalf Of Andy Ruina
Sent: Monday, January 23, 2012 8:22 AM
To: st...@googlegroups.com
Subject: Re: [stvdy] System ID experts

Jason: January 23, 2012

--

Jason Moore

unread,
Jan 23, 2012, 3:17:18 PM1/23/12
to st...@googlegroups.com
Arend,

I've thought about it, but as you know I'm trying to reach some basic results in the next couple of months for turning in my dissertation. I'm a bit reluctant to delve into adding any more complex tire models due to my rapidly approaching deadline and my lack of knowledge of the subject. I'm also not confident that just lateral slip would be the torque generator that I'm missing. Lateral slip would also add degrees of freedom to the model, but as my black box type 4th order bicycle model fits show, the measured behavior can be accurately described by a 4th order system. None-the-less I will increase the model complexity in some way to account for this. I'll probably try some simpler "tire" model as Andy suggested first and then move on to more complex ones if needed.

If you or anyone else has access to a working Whipple + tire model, I'll happily try it. It will take me some time to develop the tire models and verify that I've got the model built correctly. I would need something that could give me a numerical state space description of the model for a given speed and set of parameters.

Jason

Arend Schwab - 3ME

unread,
Jan 23, 2012, 3:34:13 PM1/23/12
to st...@googlegroups.com

Hi Jason,

 

I understand your concern about complex tire modeling but I’m proposing a very simple model: Flateral=Ca*alpha where alpha is the slip angle i.e. the angle between the wheel rolling direction and the velocity of the wheel, see f.i. Pacejka for a proper definition. So you add only one degree of freedom and only one constant Ca. You could consider adding also a tire model at the rear but I would start with only the front.

 

With the instruments you and Luke have it will be super easy to get your linearized Whipple model plus one extra degree of freedom for the lateral motion of the front wheel, right?

Jason Moore

unread,
Jan 23, 2012, 3:42:14 PM1/23/12
to st...@googlegroups.com
You're right, that model is simple and relatively painless to add. I'm just looking for the easiest path to my graduation :) But you hold the a third of the key, so I guess I'll have to build your model :)

I'll report back with the results...

Jason

Andy Ruina

unread,
Jan 23, 2012, 4:52:49 PM1/23/12
to st...@googlegroups.com
Arend: January 24, 2012

Wouldn't lateral slip destroy the form of the equations? Wouldn't a
viscous torsional contact damping be a simpler term to put in? Also,
taking the trail as a fit variable (because the contact patch is long)?

I am not saying these two things are best, but they are the easiest
to plug in, aren't they? If they don't work, then the next term in
the tire model is a lateral slip. But isn't the structure of the Whipple
equations then destroyed?

-Andy

Arend Schwab - 3ME

unread,
Jan 23, 2012, 5:23:31 PM1/23/12
to st...@googlegroups.com
Hi Andy,

Yes, assuming only scrub torque at the tire can be modeled by adding viscous torsional damping and that's only adding terms in the Whipple equation but I got the impression from Jason that the Whipple equations were not enough to fit his data. Modeling lateral tire slip adds an extra degree of freedom to the Whipple model, the structure is extended.

Jason Moore

unread,
Jan 23, 2012, 5:41:09 PM1/23/12
to st...@googlegroups.com
I meant to express the opposite. I think that a 4th order model can certainly capture the dynamics that I measured. The model can probably be parameterized almost identically to the Whipple model. I'm primarily seeing differences in the coefficients of the steer equation, in particular the stiffness coefficients. From that observation, it seems that fiddling with the Whipple parameters some or adding some additional stiffness parameters could improve the match.

Jason

Arend Schwab - 3ME

unread,
Jan 23, 2012, 5:59:24 PM1/23/12
to st...@googlegroups.com

Hi Jason,

 

Hum, so you think the tire adds mainly spin torque stiffness and little spin torque damping? Note that the rider can add considerable stiffness by stiffening up his arms.

Jason Moore

unread,
Jan 23, 2012, 6:55:48 PM1/23/12
to st...@googlegroups.com
Arend,

That is great point. The fact that the rider can do this may be playing a larger role than I would have expected. I'm going to think about that, maybe adding stiffness terms in the arm joints and identifying them would be a place to start.

Here is an example result of computing the inputs (roll and steer torque) from the measured outputs (steer/roll coords, rates, accels). As Andy proposed and I'm leaning to agree now, this is probably a more accurate comparison than my simulation attempts were.


Notice that the Whipple model under predicts the steer torque still, but the model with passive moving arms is closer to predicting steer torque.

Jason

Andy Ruina

unread,
Jan 24, 2012, 1:29:41 AM1/24/12
to st...@googlegroups.com
Jason:



This "torque-error" view might be more immune from problems due to 
system instability.  But the vanilla (determined by tape measure etc rather
than dynamic fitting)  Whipple model still doesn't fit that well.

Presumably you get a better fit still with the "identified" model?

Again, I wonder how big an improvement you could get by just identifying
(using your system ID instead of a tape measure) 

a) the trail?
b) trail and a viscous contact friction (scaled with 1/v if you want to use
   the same model at different speeds)?

-Andy

Teerhuis, A.P. (Arjan)

unread,
Jan 24, 2012, 3:56:20 AM1/24/12
to st...@googlegroups.com
Hi there,
 
I am reading your conversation with great interest, because now you're mentioning the bridge between theory and practice, something I like!
You say that your measured steering torque differs from the modeled torque (or likewise: if you replay your experiment on your model using the actual measured steering torque, your model motion is significantly different from the measured motions).
 
You also mention tires: which may indeed be the case.
Tyre dynamics is a difficult area of dynamics, it took me 2-3 years of fooling around, but now I fully understand "tire-logics" (combined/uncombined slip forces, self aligning moments, transients, trail, etc...)
 
As you may recall from my presentation in Delft 2010, I modelled a motorcycle in Matlab/SimMechanics. Both the geometry and the masses/inertias were determined properly and the tyres were measured seperately in a special tyre measuring device. From the tyre measurements, a simulink-model is made using Pacejka's Magic Formula. Bolting all masses, joints, tyres and forces/moments together in SimMechanics, I could replay my measured experiments.
 
On the motorcycle, I measured steering angle, steering torque, forward velocity (from wheelspeed sensors) and a 6-DOF inertial measurement-unit (3 accels, 3 gyros).
 
Using ONLY the measured steering-torque as a feedforward on my SimMechanics model, together with a weak PID-velocity controller on the measured speed, my model behaved EXACTLY the same as my experiment! Not only during steady-state but also the transients were captured correctly, as seen from the 6-DOF IMU (of course, after a while due to integration drift there is divergence, but then you only add a very weak feedback controller on the steering-torque).
 
Most important: the steering angle of the experiment and my model was EXACTLY the same, which can ONLY be accomplished by having a good tyre model!!!
 
(the driver may add extra stiffness, but regardless of such a time-varying nonlinear phenomenom, the resulting torque is measured anyhow in my steering torque sensor, so i don't need to model human stiffnesses..., I automatically measure the effects of that)
 
When neglecting terms from the tyre model (for example neglecting overturning moment Mx, selfaligning moment Mz) you immediately see a significant difference in the resulting steering angle and the overall motions of the motorcycle.
 
To me it became clear that Fy, Mx & Mz should always be taken into account in a (motor/bi)cycle model.
(to show its relevance, perform the following measurement: at standstill move the handlebars around in a sinusoidal way and log the steering angle and steering torque: the torque will certainly be non-zero)
 
Also if you have a front wheel forward offset, or your steering rotational axis is oriented under an angle, the lateral tyre force Fy will result in a moment around your steering axis, which may actually be the main cause of your steering-torque difference.
 
I know I am not into all the dynamics details of the bicycle/whipple model, I am a more practical guy, but I hope I have helped you, only a little bit.
 
best regards,
Arjan Teerhuis
 

Research Scientist
Department Integrated Safety
Technical Sciences / Automotive
T: +31 (0)88 86 65772
F: +31 (0)88 86 68862



From: st...@googlegroups.com [mailto:st...@googlegroups.com] On Behalf Of Jason Moore
Sent: dinsdag 24 januari 2012 0:56

Jason Moore

unread,
Jan 24, 2012, 5:19:23 AM1/24/12
to st...@googlegroups.com
Andy,

I didn't use the identified model in this torque error view because I have no estimate for the roll torque terms in the B matrix. It's not immediately apparent to me how I should handle that.

It'll take me a little time to set up the parameterization of the Whipple model with trail and the contact friction.

Jason

Jason Moore

unread,
Jan 24, 2012, 5:23:35 AM1/24/12
to st...@googlegroups.com
Arjan,

I just read the paper you submitted to the Delft conference. The fits are impressive. The paper doesn't go into much detail about how you do it. I'm curious what happens to your feedforward simulation without the "light" steer torque PID feedback to track the measured roll angle. You say that it isn't needed because the resulting steer torque matches your measured steer torque so well. So why do you have it? It isn't clear to me how you can get the feedforward simulations to be stable.

Jason
linkedin-logo.jpg
TNO.png

Andy Ruina

unread,
Jan 24, 2012, 5:24:11 AM1/24/12
to st...@googlegroups.com
Do you mean the applied roll torques?  Aren't those zero?

Jason Moore

unread,
Jan 24, 2012, 5:30:35 AM1/24/12
to st...@googlegroups.com
Yes, the actual applied roll torques are zero. But I'm not sure how to estimate the B matrix entries associated with the roll torque if the input is zero.

Jason

kyle

unread,
Feb 2, 2012, 3:54:02 PM2/2/12
to st...@googlegroups.com
You've probably seen this, but in case not?

William Patterson

unread,
Feb 2, 2012, 7:36:19 PM2/2/12
to st...@googlegroups.com
I presume the error signal is generated by the hands which feel the "fork flop".

Bill

On Thu, Feb 2, 2012 at 12:54 PM, kyle <ky...@snowcrest.net> wrote:
You've probably seen this, but in case not?

--



--
Ride your bike to go somewhere. Don't go somewhere to ride,

http://www.calpoly.edu/~wpatters/
http://www.recumbents.com/wisil/trail.asp


Jason Moore

unread,
Feb 2, 2012, 8:13:22 PM2/2/12
to st...@googlegroups.com
Bill,

I think he actually feeds back roll rate from a rate gyro and uses a PID controller to apply a given steer torque or steer angle. He explains it in this video: http://youtu.be/mT3vfSQePcs

Jason

--
You received this message because you are subscribed to the Google Groups "Single Track Vehicle Dynamics" group.
To post to this group, send email to st...@googlegroups.com.
To unsubscribe from this group, send email to stvdy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/stvdy?hl=en.
Reply all
Reply to author
Forward
0 new messages