+ Reply to Thread
Page 1 of 4 1 2 3 ... LastLast
Results 1 to 10 of 37

Thread: Testing, Testing 1,2 ...

  1. #1
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Testing, Testing 1,2 ...

    Vehicle Quasi-Statics 101: Testing Your Sim Model And /Or Your Car
    This started life as a Word document so it kinda fell apart as it got pasted in here. Oops.

    OK, to establish some facts on these cars amongst all the claims, noise, religion and trivial pursuits, I want to submit a few procedures that can be used to MEASURE some significant design parameters of them. These procedures have been used industry wide to evaluate vehicle performance relative to design intent. Believe it or not, vehicles today are designed around a set of constraints, goals and specifications that are flowed down into hardware, as opposed to slapping some metal, plastic and rubber pieces together, hoping for the best and changing parts and adjustment holes until you run out of time.
    The first one is a simple but elegant way to measure the understeer of a car. The procedure has been called a Characteristic Speed Test or more simply a "C-Speed" test. That name used to be referenced when 'characteristic speed' was a favorite term. The Characteristic Speed is the speed of an understeering road vehicle at which the steering gain is 1/2 of the initial open loop gain. For the oversteering vehicle, there is a Critical Speed where, you guessed it, another factor with a 2 in it. The reason to know the approximate understeer of any vehicle is to gauge the sensitivity of steering and response bandwidth to variations and deviations in chassis, tire performance and operating speed parameters. Now I’m personally not a fan of using understeer/oversteer (tight or loose) because the metric doesn’t identify which end of the vehicle is at fault. In fact, you can ‘fix’ a vehicle in these conditions by manipulating the wrong end of the car.
    This procedure could be, can and should be used on simulations of handling to determine recognized metrics indicating potential and real performance as well as parking lot tests with all the bells and whistles working on a real live car. It’s also just a great way to see what the laugh factor of your simulation is.
    All you need is a yaw velocity or correct lateral acceleration signal and a forward speed signal, plus a tape measure to determine the wheelbase. You also need some way to hold the steering wheel fixed during each road test segment. We often used a seat belt pulled tight through the steering wheel rim to do this.
    The test utilizes the notion that the decreasing, increasing or unchanging curvature of a vehicle path as speed (hence lateral acceleration) increases with a fixed steering wheel angle is a direct indication of its understeer or oversteer gradient.
    In the good old days ('60's), a lunch box with a rate gyro and a fifth wheel were all that was needed to grab a car, head to a small test pad and get a plot on an analog paper sheet plotter to get a PFC measurement. The box had a built in analog multiplier to produce the lateral acceleration and a divider to produce curvature analog signals wired to the plotter. Even before that, a checker-boarded road and a movie camera were used to compute the speeds and yaw rates frame by frame. In the late '90's and 2000's, I used a VBOX to measure the two signals and reproduce values nearly identical to results from step, frequency response, and constant radius tests. Today, who knows what you guys will dream up.
    The procedure is as follows. I’m focused on the road test. A simulated test is a no brainer. (At least I can imagine that).
    Fix the steering wheel rigidly to the car body somehow and slowly and smoothly increase throttle until you reached a high lateral g level. Best to use a fixed transmission gear for automatic and manual cars for each data segment that can cover the desired range of g's without jerking the vehicle because of shifting.
    Run the test as multiple segments covering several different fixed steer angles and both turn directions. Yes, this is how you can measure the understeer of a boat.
    With the data piped into Matlab, Excel, Fortran, Basic or a calculator, you can finally get to the end of your search for the Holy Grail of your first New School Vehicle Dynamics report card.
    I’ve attached two summary examples, one to show it works and the other to show what you might find out. Sometimes the truth is stranger than fiction.
    First example is the use of a full blown nonlinear handling simulation throttled down to only a few linear constants which define a known, installed value of total vehicle understeer. I.e. I put into the simulation parameters that deliver the constant understeer response I want the data processing to deliver. I install specific values, turn the crank and compute the metrics I'm expecting from the simulation data. Yes, it works.
    Next, I up the ante with generic FSAE car parameters (171 kg.) and add a few likely nonlinear effects (steering compliance and some nonlinear tire data with some forward TLLTD). You can see some of the effects of steering compliance and TLLTD effects in the plotted results. BTW, I'm not trying to deal out a full blown FSAE car because I don't (want to) know how much geometric and deflection steer you have, but you might want to know it.
    Using both quasi-static simulation and road test results I'd bet we'd all want to see some results for a few sims (Danny ???) and some real track data (come on, cough it up). Once you have a tool like this, from simulation and road test, you will know exactly how to apply tuning and balancing changes to get a decent car. It should be obvious to you all that having a decent trustworthy and validated simulation cuts through all the lore and guesswork on the way to production of a really great vehicle.
    Anybody got Game ? If some of you are still awake after contemplating this technique, I will post a vehicle DYNAMICS test procedure to make you really look and sound professional. Remember, the Human Factors aspect of vehicle design and specification is just as important as durability, etc.
    Here's some data processing code in Matlab:
    %% Constant Steer Increasing Speed Test: The C-Speed Test Bill Cobb Vehicle Dynamics 101
    % Take out the trash: delete possible residue from previous activities:
    clear all
    % Get me some SIM or DAC data:
    csmp_read % get simulation data
    % Discard the startup transient if you have one:
    inx = find(TIME > 1); % skip any blips.
    URG = URG(inx); % yawrate * speed = ~ay(ss)
    YAWVEL = YAWVEL(inx); % deg/sec
    SPEED = SPEED(inx)*.277778; % Convert from km/hr to m/sec
    L = L(inx); % Don't start sweating, this is a sim artifact to transmit the wheelbase parameter
    % Turn the crank:
    wb = L/1000; % convert wheelbase to meters
    r = YAWVEL*pi/180; % convert yawrate to rad/sec
    radius = SPEED./r; % computed turn radius
    curvature = r./SPEED; % the math majors term for it
    b = spap2(2,4,URG,curvature); % Spline fit. Use polynomial if you don’t have spline toolbox.
    db = fnder(b); % derivative function
    d = fnval(db,URG); % evaluate the derivative over the range
    k = -wb.*d*180/pi; % understeer deg/g over the range
    plot(URG,k,'r', 'LineWidth',2);
    xlim([0 2.0]); ylim([-2 12])
    xlabel('Steady State Lateral Acceleration (g)')
    ylabel('Understeer (deg/g)')
    supertitle(['Characteristic Speed Test Results']) % this function is from the Matlab Users Group.
    title({[title2]},'Interpreter','none') % Use a title passed down from the sim
    sidetext(['Bill Cobb zzvyb6@yahoo.com'],'Interpreter','none');
    grid on
    href(0)
    vref(0)
    legend('Installed Understeer in this vehicle is 3.0 deg/g') % comment only for this example
    %legend('Understeer in this vehicle is from TLLTD and steer compliance')
    Attached Images

  2. #2
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Vehicle DYNAMICS 201 (Testing Your Sim Model or Your Car)

    To establish even more facts on these cars amongst all the claims, noise, religion and trivial pursuits, I offer another procedure that can be used to MEASURE some significant design parameters that indicate gains, bandwidth, response times and damping , you know TRANSIENT RESPONSE stuff. The ‘dynamics’ in Vehicle Dynamics. This one is a simple but elegant way to measure them. The procedure has been called a Frequency Response Test or more simply an "FR" test. It is a foundation procedure used in most Control Systems Engineering processes to synthesize and analyze all sorts of linear and (Yes) nonlinear electronic, mechanical and fluidic systems. Synthesize means we want to know: what are the properties of the components of a 'plant' such that under closed loop control, it achieves desired response characteristics? That implies we either can produce an appropriate and practical tire, suspension, steering and mass distributed vehicle given some constraints (total mass, wheelbase, etc., and some human factors requirements: max steering effort, max steering wheel rotation, lateral acceleration max and phase preference. These are items pertaining to Performance Engineering.

    This procedure could be, can and should be used on: simulations of handling to determine recognized Metrics that indicate potential and real performance and on-road tests with all the bells and whistles working on a real car. For simulations, it helps you pass the Laugh test.
    All you need are steer angle, speed, yaw velocity, corrected lateral acceleration and forward speed signals. A sideslip transduce is handy and useful but not absolutely necessary. The test utilizes the notion that the open-loop system (i.e. the car's vehicle dynamics) is compatible with the driver's sensation and strength abilities in closed loop control. An analogy often used in course work on this subject are music systems with speakers, amplifiers and media. All must complement each other to please a listener.

    The most common procedure is as follows: After the vehicle is washed and gassed and the tire pressures set, you head down a straight flat road at a constant designated speed (the faster you go, the more exciting it gets). With a fixed throttle or speed, you begin a maneuver referred to as a 'chirp' it's a frequency modulated constant amplitude steering wheel motion. Some drivers use modulated sine wave forms, others can do bang-bang pulse moves. You collect all your motion data hopefully at a reasonably high sample rate 50 - 100 Hz, for a length of time that produces a nice happy power of two number of scans per channel (like 512, 1024, 2048, 4096, you should be smart enough by now to appreciate this sequence). Doing this a number of times to get a half dozen or so 'segments' of this maneuver is typical for on the road tests and not necessary for simulations. This is done to calculate the transfer functions obtained from the data channels with an aura of confidence called 'coherence'. Coherence is simply the R2 correlation coefficient function for each frequency point member of the transfer function. We like high correlation coefficients because it indicates consistency for all the runs (segments) you made and that your car is a 'stationary' system (i.e. minimal time dependent parameters). Yes, yes, yes, tires warm up, shocks heat up and leak, you burn off some gas and your driver sweats quite a bit. But what was your coherence level? High or low? In reality, friction can be a game changer in coherence but that's a learning feature of this analysis. Friction is usually not your friend in high speed vehicle dynamics.

    OK, so now we turn a crank on the data and compute some transfer functions that indicate the amplification or attenuation of one data channel by another as well as the phase angle. Phase usually means 'lag' if it’s negative in Vehicle Dynamics and 'Holy Crap' if its positive'. A list of typical metrics calculated for these functions include 'Steering Sensitivity' gain, roll gain, yaw peak to steady state ratio (yaw damping), and lateral acceleration response time to name a few.
    From the steering sensitivity you compute the understeer, from the sideslip gain (if you have the signal) or the yaw velocity minus lateral acceleration phase difference) you compute the rear cornering compliance and the sum is then the front cornering compliance.
    That’s a LOT of useful information about a car, especially if you have a bad one and want produce a good one.
    To guide your test driver for producing the best possible chirp steer input, I've produced a tone signal they can hear on a cd or laptop.
    After a few practice runs, they usually get it just right for consistent amplitude, frequency sweep and duration.
    But what if your driver is an idiot or your Walmart parking lot test area is too full of texting shoppers? Then, there is an alternative procedure with a little more variability but much less trouble. You put in a finite pulse type steer input with a decent length steer hold-in. The PSD of the input (power at frequency) is very different, but you might get away with such and input. You certainly do in a simulation. The road test is harder because the driver’s attempt at a square wave can be slack.

    Here are two examples, one to show it works and the other to show what you might expect. Here I'm using a full blown nonlinear handling simulation throttled down to only a few linear constants which define a known total vehicle. I.e. I put into the simulation a few parameters, turn the crank and the data processing delivers the expected outputs. First, I do the simple primitive model followed by the Dream-On FSAE car.

    As some Einstein out there may imagine, the gain and phase plots produced by the data processing can be fit to analytic transfer functions (you know, complex numerator and denominator stuff). Once you have these, you can ask Matlab etc. to compute response times, damping, and natural and damped peak frequencies. THEN, if you can get this far, you won’t be waiting in line very long at the Human Resources hiring tent at a Job Fair. Remember, this is New School, it’s all about designing to specification in order to deliver required performance. Now go and check out the plots… All you need next is the appropriate metrics from these results in terms of Control Systems Engineering performance indicators.
    Anybody got Game ?

    Matlab code should follow. The Topic Manager thinks some of the Matlab statements are pictures and rejects the coding listing example.
    Attached Images

  3. #3
    Senior Member
    Join Date
    Sep 2004
    Location
    Huntington Beach, CA
    Posts
    335
    for posting the matlab code you might find the following BBCodes to be useful, {code} and {/code} (where you replace the braces {} with brackets [] ). it keeps the software from trying to get too smart with your code.

    as an example
    Code:
    insert code here
    '01-'06 Cal Poly Pomona

  4. #4
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Thank You for that Suggestion.

    But that didn't work. So, let's try another work-around...
    Take a look and the snip:
    Attached Images

  5. #5
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598
    Heres the transfer function fitting routines. This code was copied from my GUI function that does the FR data processing, hence references to the 'handles' structure. "Fit" is a Matlab routine that works with a pattern regression formula.

    Here are the fit-types:
    handles.roll_fit = fittype('(n0/sqrt(16*pi^4*d2^2*x^4+4*pi^2*x^2*(d1^2-2*d2)+1))','coeff',{'n0' 'd2' 'd1'});
    handles.yaw_fit = fittype('sqrt(4*pi^2*n1^2*x^2+n0^2)/sqrt(16*pi^4*d2^2*x^4+4*pi^2*x^2*(d1^2-2*d2)+1)','coeff',{'n1' 'n0' 'd2' 'd1'});
    handles.ay_fit = fittype('sqrt(16*pi^4*n2^2*x^4+4*pi^2*x^2*(n1^2-2*n0*n2)+n0^2)/sqrt(16*pi^4*d2^2*x^4+4*pi^2*x^2*(d1^2-2*d2)+1)','coeff',{'n2' 'n1' 'n0' 'd2' 'd1'});
    and the processing:

    % compute the xfer function parameters:
    handles.ssg = fit(handles.f,handles.ss_gain,handles.ay_fit,'star t',[.01 .015 handles.ss_gain(1) .01 .1]);
    handles.yawvg = fit(handles.f,handles.yawv_gain,handles.yaw_fit,'s tart',[handles.yawv_gain(1) .1 .01 .1]);
    handles.betag = fit(handles.f,handles.beta_gain,handles.yaw_fit,'s tart',[.5 handles.beta_gain(1) .005 .05 ]);
    handles.rollg = fit(handles.f,handles.roll_gain,handles.roll_fit,' start',[handles.roll_gain(1) .005 .04]);

  6. #6
    If I understand correctly, the end result of the analysis returns a series of decoupled linear transfer functions in the s-domain. This is useful because there is a wealth of vocabulary and techniques available to analyse the system once you get a plant model in the form of a transfer function.

    The resulting transfer functions are linear. However, I know that the tire behaves in a non-linear fashion. Lets say I want to characterize the limit behaviour of the vehicle and start working in the region where the tire forces start acting very strangely. Could I still apply the same concept where I apply a chirp steer input with a DC offset? Would the resulting transfer functions have any useful meaning?
    Last edited by turtle; 12-14-2015 at 11:25 PM. Reason: I should learn to grammar

  7. #7
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Yes !

    The technique you describe (step or chirp with dc offset) is the most common form of analyzing such behavior. Some people are disturbed by the use of "Linear Analysis" techniques on nonlinear systems, but a car's nonlinearities are all continuous except for friction. They are simply softening springs. So, testing in math or on the road about a fixed oiperating point (as you describe) still valuable. The downside of this is the amount of roadway needed to accomplish the test in real life. However it's perfect for testing the procedure at a circular or oval track.

    If you are clever, fortunate, ambitious or dedicated enough to make use of a vehicle handling simulation with nonlinear capabilities, it will be readily apparent that the nonlinearities won't interefere in your 'fingerprinting' of base car performance at any speed.

  8. #8
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Step By Step Testing

    Another jewel in the analysis and testing crown of simulations AND actual vehicles is the Constant Speed Step Test. The objective of this analysis is to characterize the response to steering up to the limit of capability by means of a series of incremental step steer inputs. A step (or actually a step-like) steer input is used to excite the yaw, sideslip roll and lateral acceleration responses of the vehicle. Traditionally performed by test drivers with the aid of steering wheel angular limiters, the availability of steering robots in the industry makes their use practical. Acquiring data for 10 - 15 runs in each turn direction pretty much defines the success or failure of the vehicle to live up to its handling design goals.

    A lot simpler step steer contraption/mechanism can be employed for FSAE cars. This test tends to require a lot of real estate to get a car up to speed, perform the maneuver, and return for another run. A large parking lot of the crossed runways at a small local airport have been used.
    Results consist of cross plots of steady state steer angle, yaw velocity, roll angle sideslip and response times (time to 90% of steady state value) for these response variables. Findings and learnings from these plots indicate desirable (and also undesirable) handling design factors. It is common to combine the step steer application with braking, acceleration and other disturbance inputs to quantize the stability characteristics of vehicles.
    This test procedure provides high value to simulation studies of a vehicle design before actual construction begins. Testing of actual beta or prototype builds should provide confirmation of a design’s intended behavior and probability of success. I imagine that Design Judges would be impressed by the presentation of results from any of these test procedures.

    Processing of data produced by simulation or actual tests is remarkably easy, although road test signals usually have enough confounding spurious trash content to bewilder and confuse even the most patient engineering technician. For that reason, I am a proponent of using software techniques to fit the raw data to equations which are the actual solution to the expected vehicle dynamics responses. This eliminates all the crapola resulting from road irregularities, tire imbalances and other force and moment offsets. The solution equations (found in any table of Inverse Laplace Transforms) consist of a few constants, an exponential and a cosine function. A few lines of Matlab code (for example) are all it takes to reduce the data, take some key derivatives, and compute gains, frequencies and damping factors over the range of lateral acceleration achieved. In the early 90’s, I used Lotus 1-2-3 and Fortran programs to do this same thing with quite a few more steps (Never did get the hang of Symphony, though).

    As a final comment, I note that discussions about ‘vehicle dynamics’ usually mention the ‘neutral’ car, ‘yaw damping’, and a few other code words for ‘I have X spurteze’. Well, here’s where all the dirty laundry gets hung out to dry. Your measured steering gain will show you under or over steer all the way out to the nerve endings of your driver. The response times and slope of response times vs. Ay will show you if you have enough tire on the car and if your TLLTD is set properly, and the presence of any overshoot in your simulated or road tested Ay, Yaw rate or Sideslip data channels will dispel any doubt about how ‘neutral’ your car and how ‘critically damped’ it is. Say it ain't so, Weezer.

    Here’s a slice of the data processing code that gets this job done:

    First is the generic fitting function. I even fit the steer channel to this to determine the quality of the step and the satisfactory timing of it. The 50% response level is used for time of steer initiation.

    function f=cr_fit(x,time)
    % step response function solutionn model.
    % might want to consider using abs(x(4)) to keep the fit consistent.
    % Matlab will try using + and - parameters.
    f=x(1) + x(2).*exp(-x(3).*time).*cos(2*pi.*x(4).*time + pi/180*x(5));

    Next is the production of coefficients using least squares curve fitting and the generation of the fitting function.

    Yaw velocity signal example:
    R0=[YAWVEL(end) 10*YAWVEL(end) 2*pi 1. -20] % initial coefficient guesses
    R=lsqcurvefit('cr_fit',R0,TIME,YAWVEL,[],[],options) % turn the crank
    R_fit=cr_fit(R,TIME); % comparison data
    plot(TIME,YAWVEL,TIME,R_fit) % make a comparison plot.

    Compute 90 percent response times (industry standard of time to 90 percent of steady state value:

    rsp=spline(TIME,R_fit-.9*R_fit); % spline the data shifted down 90 percent
    Tau_R=fnzeros(rsp); % compute the zero crossing of this shifted signal.

    Second verse, same as the first for Ay, Roll, Sideslip, Net Tierod Load, Wing Force, etc.

    AY results are in the figure.
    Attached Images

  9. #9
    Hey Bill, I'll have a crack at the simulation part of things.

    I did the characteristic speed test by starting at 18 km/h with 5 degrees of tire steering, then accelerating up to ~92 km/h at around 0.1g. I added some SAT compliance steer, but I can't say I know exactly how much Fy/SAT compliance steer we have. One day I'll get some proper K&C values...
    It seems posting properly sized images inline is far more difficult than this analysis, so all the images are attached as thumbnails.

    For the frequency response test I ran at 100 km/h with 3 degrees of steering. My post-processing leaves a little to be desired, but nevertheless they are there. I fit your given transfer functions to the data, but the roll gain transfer function seems to not play nicely with negative gains, so I left it as is.

    I hope to have some physical data for all of these tests at some point in the future, until then I guess it's up to you to figure out the simulation's laugh factor.


    Also thanks again, your posts are gold when it comes to vehicle dynamics, especially on topics where there is very little published literature.
    Attached Images
    Michael Geist
    Monash Motorsport

  10. #10
    Senior Member
    Join Date
    Mar 2008
    Location
    Brighton, MI
    Posts
    598

    Excellant Work.

    This analysis is A+++.
    There is no Laugh Factor needed for anything presented here. Your Sim results look like what I found from my own based on a few known and some guessed paramters. Your steer ratio is a bit lower than I chose which produces the higher steering gain. Also, "we" generally run Roll by Lateral Acceleration(g) instead of roll by steer, although your results have some eye opening features. And, It's typical to invert the signs of roll and sideslip in road testing so that the data acquisition screen size and resolution shows to the driver signals all going 'up' for right turns. (Just a convention).

    As for aligning torque compliance steer, this is always a stiffening spring mechanism. A simple but satisfactory model of the data for simulation purposes is a log function defined by just two parameters. First is the initial slope and second is the loading for 67% of the highest deflection. For production cars, the initial slope ranges from 0.3 to 3.0 deg per 100 Nm and the range factor can be 30 to 300 Nm. The 'best' cars are the 0.3 and 300 jobs: The most linear over the amount of MZ that can be generated. Here' a typical 'good' plot'. A 'bad' results can be soft and change quickly or even worse, be bi-linear, as in loose parts, really bad gear mounting, structural failure, and u-joints buckling.

    A typical good use for the C-Speed test is examining the effects or 'workings' of locked, or limited or selective limited slip drive differentiials. You will often see lurches in the understeer curves as the diff messes with curvature, especially when it grabs or lets go at inappropriate times and places. Aero effects are also well suited to studies with this test. A constant radius test is sometimes applied to these studies, but the effects turning on and off cause problems for the driver trying to "stay the course", so to speak.

    Now you have the opportunity to pull your Team out of the garage and into the Engineering Office. Now you can engage Team members specializing in Math descriptions of vehicle subsystems as analytic functions that are piped to your simulation. When approved in the Math, your hardware specialists can get to work with quite a bit fewer adjustment holes.

    So, if all these cars are so 'neutral' as the bookworm lore goes, why is your YawVelocity by Steer peak to steady state ratio ~1.133 ? (That translates to .819 damping factor? If this was a 'neutral' car, the damping factor would be close to 1.00 . Sup wit dat ?

    Great job. Show us a few more results from TLLTD shifts, a locker diff and maybe a comparison of peak YawVelocity gain frequency vs. Roll by Ay frequency and the speed where they might cross over. Then puzzle yourself with why the use of rear roll understeer in some cars at very high speed have oscillatory handling problems.

    Now if you could engage Z into designing a practical K&C mechanical device that could be used to obtain compliance steer and camber and geometric steer and camber for one axle at a time, you could form a company selling the data at all the events. I've actually used an old wheeel alignment machine to do this at an assembly plant. Maybe call your stuff MoreZ MeaZurementZ.

    I was hoping to have seen a submission by other simulationists (Hoy Goys...), but all I can imagine at this point is their product leaves something yet to be desired, or the focus on track evaluations eliminates the ability to perform SAE or ISO handling tests procedures.
    Attached Images

+ Reply to Thread
Page 1 of 4 1 2 3 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts