Project

Study of Transient Handling Response of a Vehice Using Bicycle Model in OCTAVE

Introduction: The cornering behaviour of a motor vehicle is an important phenomena which is equated with handling. \'Handling\' is a loose term meant to imply the responsiveness of a vehicle to driver input or the ease of control. It is essentially a measure of a vehicle-driver combination meaning that the driver observes the vehicle direction or position and corrects his input to achieve the desired motion. The driver provides intelligence to the \'driver-vehicle\' entity while the vehicles develop maneuvering forces. For the purpose of characterizing a vehicle, open-loop behaviour which is vehicle response to specific steering inputs is used. The objective is to understand the directional response behaviour of the vehicle and how various design parameters influence this. A 2-DOF Model known as the Bicycle Model is an elementary representation of the automobile which takes into account only 2 degrees of freedom- Yaw and Lateral Speed. Both steady-state and transient-state responses can be studied using this model of the vehicle. Transient system is one whose behaviour changes with time and parameters like response time, over-shoot time etcetra become relevant. The Bicycle Model has the following assumptions built into it:

  • No lateral load transfer
  • No longitudinal load transfer
  • No roll or pitch motions
  • Linear range tyres
  • No chassis or suspension compliance effects

In the image above: u is the total velocity of the vehicle (longitudinal and lateral)

v is the lateral speed

r is the yaw rate

`delta` is the steering angle

`alpha_f` and `alpha_r` are the front and rear slip angles

`beta` is the body side-slip angle

The transient equations take into consideration both the lateral speed and the yaw rate. The equations for the front and rear slip angles to account for these two parameters get modified as:

`alpha_f` = `delta_f``-` `tan-1((v+a*r)/u)`

`alpha_r` = `delta_r``-` `tan-1((v+b*r)/u)`

The force and moment balance equations are represented in state-space form below,

`[[(dv)/(dt)],[(dr)/(dt)]]` = `[[(-C_(αf) + C_(αr))/(m*u),(b*C_(αr)- a*C_(αf))/(m*u) - u],[(b*C_(αr)- a*C_(αf))/(I_(zz)*u),-(a^2*C_(αf) + b^2*C_(αr))/(I_(zz)*u)]]``[ [v], [r] ]` +` [ [C_(alphaf)/m], [a*C_(alphar)/I_(zz)]][delta_f]`

There are three outputs for this model: yaw rate (r), lateral speed(v) and lateral acceleration(`(dv)/(dt)`)

`[Y_(yaw rate)]` = `[[0,1]]``[[v],[r]]` `+` `[0]``delta`

`[Y_(s)]` = `[[1,0]]``[[v],[r]]` `+` `[0]``delta`

`[Y_(a)]` = `[[(-C_(αf) + C_(αr))/(m*u),(b*C_(αr)- a*C_(αf))/(m*u) - u]]` `+ u*[[0,1]]`

Derivative Notation of the Bicycle Model: The derivatives are slopes of force/moment curves against motion variables `beta`, r and `delta`. They relate forces and moments to small variations of the variables mentioned. In this model, they can be considered separately, but, as a group these variables define the unbalanced forces and moments arising out of the tyres. The derivative notation idea has been borrowed from aerospace engineering and was applied to automotive in the 1940s.

The equations describing the derivative notation of the bicycle model are:

`m*u*((dbeta)/(dt)) + m*u*r` = `(C_(alphaf) + C_(alphar))*beta` `+` `(((a*C_(alphaf) - b*C_(alphar))/u)*r` `-` `C_(alphaf)*delta`

`I_(zz)*((dr)/(dt))` = `(a*C_(alphaf) - b*C_(alphar))*beta` `+` `(((a^2*C_(alphaf) + b^2*C_(alphar))/u)*r` `-` `a*C_(alphaf)*delta`

Physical Significance of the derivative notation: The terms on the right-hand side of the equation hold importance since they can be used to study the response of the system. Of the 6 derivatives mentioned above, yaw damping is of the most relevance to automobiles. Nevertheless, it is important to mention what each of those derivatives above mean in the context of automobiles.

Yawing Moment Derivatives:

a) Control Moment Derivative, `N_(delta) = a*C_(alphaf)*delta`

It is the proportionality factor between the yawing moment and the steering angle. It increases with the cornering stiffness of the front tires and their distance from the CG. The control moment derivative is always positive

b) Yaw Damping Derivative, `N_r = ((a^2*C_(alphaf) + b^2*C_(alphar))/u)*r`

It is the proportionality factor between the yawing moment and the yawing velocity of the vehicle. Yaw damping is always negative, hence the term damping in the linear range of tyres. It is exactly analogous to an angular viscous damper i.e it tries to reduce the yawing velocity.

c) Static Directional Stability (Under Steer/Over Steer) Derivative,

`N_(beta)`= `a*C_(alphaf) - b*C_(alphar)`

It is the difference between the moments about the CG produced by the rear and front wheels. With a positive `N_(beta)`, the vehicle is always trying to align itself, hence under-steer.

Lateral Force Derivatives:

a)Control Force Derivative, `Y_delta = C_(alphaf)`: It is the proportionality factor between side force due to steering and the steer angle and is always positive.

b) Damping in side slip derivative, `Y_beta = C_(alphaf) + C_(alphar)`

It is similar to the slope of lateral force vs slip angle curve for the entire vehicle where there is a linear zone, translational zone and a sliding zone.

c) Lat force/yaw coupling derivative,`Y_r = (a*C_(alphaf) - b*C_(alphar))/u`

This is the side force due to yaw velocity. It arises from the difference in lateral tyre forces that comprise the yaw damping derivative.

OCTAVE MODELLING for Front Wheel Steer: The equations for transient handling can be implmented in OCTAVE to study the response of yaw, lateral speed and lateral acceleration using steering weave test. The steering input given is (5°, 7hz sine input) and the sine response for lateral speed, yaw rate and lateral accelration are plotted.

  • Steady state yaw gain - between the sine response and the frequency response plot

  • Yaw gain at 7hz - between the sine reponse and the frequency response plot

The bicycle model was simulated for a passenger car and a F-1 Car, both at a speed of 90m/s:

%Transient Simulation of Lateral Speed, Lateral Acceleration and Yaw Rate using 2DOF Bicycle Model

%Parameters for Passenger Car
a=  2.92; %Distance between CG and front axle (ft)
L=  8.33; %Wheel Base(ft)
m=  2000*0.65; %mass (lb)
Iz= 8158.84; %yaw moment of inertia (lb-ft/s^2)      
Caf=13752; %cornering stiffnes-front axle (N/rad)
Car=11460; %cornering stiffness- rear axle (N/rad)

%Parameters for F-1 Car
%a=  5.71; %Distance between CG and front axle (ft)
%L=  9.52; %Wheel Base(ft)
%m=  1719*0.4; %mass (lb)
%Iz=  6256.56; %yaw moment of inertia (lb-ft/s^2)      
%Caf= 62228; %cornering stiffnes-front axle (lb/rad)
%Car= 96608; %cornering stiffness- rear axle (lb/rad)

u= 65.62; %ft/sec

b=L-a;%distance between CG and rear axle 

A=[-(Caf+Car)/(m*u),   ((b*Car-a*Caf)/(m*u))-u;
    (b*Car-a*Caf)/(Iz*u), -(a^2*Caf+b^2*Car)/(Iz*u)]; %System Matrix
    
B=[Caf/m; a*Caf/Iz]; %Input Matrix
 
C_lat=[1 0]; D_lat=0; %Output Matrix Lateral Speed
C_yaw=[0 1]; D_yaw=0; %Output Matrix Yaw Rate
C_acc= [-(Caf+Car)/(m*u),   ((b*Car-a*Caf)/(m*u))-u] + u*[0,1];%Output Matrix Lateral Acceleration
D_acc=B(1);

C=[C_lat; C_yaw; C_acc]; %Combining the output matrix into one matrix
D=[D_lat;D_yaw; D_acc];  %Combining the feed-forward matrix

t=[0:0.01:6];
U=(5*pi/180)*sin(7*2*pi*t); %5 degree,7Hz sine steering input 
%U=pi/180*sin(0.5*2*pi*t);  %1 degree,0.5Hz sine steering input

sys=ss(A,B,C,D); %state space representation
Y=lsim(sys,U,t); %Linear simulation which generates sinusoidal input

sys.inputname={\'steering\'};
sys.outputname={\'lateral speed\';\'yaw\';\'lateral acc\'};

[mag,w]=bodemag(sys({\'yaw\'},\'steering\'));
loglog((w/6.28),[mag],\'linewidth\',3);
grid on
set (gca,\'fontsize\',16,\'fontweight\',\'bold\')
title(\'Yaw Rate/Steer Angle Frequency Response- Passenger Car\');
xlabel(\'Frequency (Hz)\');
ylabel(\'Yaw Rate (deg/sec)\');
hold on

figure(2) %Step Response
step(sys);
hold on

%Sine Response for lateral speed input
figure(3) 
subplot(2,1,1)
grid on
plot(t,Y(:,1),\'r\',\'linewidth\',2);
set(gca,\'fontweight\',\'bold\')
title(\'Lateral Speed Sine Response- Passenger Car\',\'fontsize\',15)
xlabel(\'Time (sec)\');
ylabel(\'Lateral speed (ft/sec)\')
hold on

%Sine Response for yaw rate
subplot(2,1,2) 
grid on
plot(t,Y(:,2)*180/pi,\'r\',\'linewidth\',2);
set(gca,\'fontweight\',\'bold\')
title(\'Yaw Rate Sine Response- Passenger Car\',\'fontsize\',15)
xlabel(\'Time (sec)\');
ylabel(\'Yaw Rate (deg/sec)\')
hold on


%Sine response for lateral acceleration
figure(4)
subplot(2,1,1) 
grid on
plot(t,Y(:,3),\'r\',\'linewidth\',2);
set(gca,\'fontweight\',\'bold\')
title(\'Lateral Acceleration Sine Response- Passenger Car\',\'fontsize\',14)
xlabel(\'Time (sec)\');
ylabel(\'Lateral Acceleration (ft/sec^2)\')
hold on

%Sine response for steering
subplot(2,1,2) 
grid on
plot(t,U*180/pi,\'r\',\'linewidth\',2);
set(gca,\'fontweight\',\'bold\')
title(\'Steering Angle- Passenger Car\',\'fontsize\',15)
xlabel(\'Time (sec)\');
ylabel(\'Steering Angle(deg)\') 

 
  • The step response given to the system and their corresponding sine responses can be co-related using the above graphs.
  • A `5°, 7 Hz` sine input was given as the steering angle input which co-relates to the response obtained in the \'Steering Angle- F1 Car\' plot where the peak steer angle is 5°.
  • Yaw Rate Sine vs Step Response: As can be seen above, the steady state value of the yaw step response is around 7 °/sec which is the same as sine response for yaw rate
  • Lateral Acceleration Sine vs Step Response: Since the step response is in radians it needs to be converted to degrees to co-relate with the corresponding sine response. After conversion the step response comes to be around 7.33`(ft)/sec^2` which is the same as the sine response of lateral acceleration
  • The step response given to the system and their corresponding sine responses for the passenger car can be co-related using the above graphs.
  • The step response for passenger car is unstable and has a greater overshoot and steady state value than that for the F1 Car. The responses take larger time to stabilise to a steady-state value.
  • A `5°, 7 Hz` sine input was given as the steering angle input which co-relates to the response obtained in the \'Steering Angle- Passenger Car\' plot where the peak steer angle is 5°.
  • Yaw Rate Sine vs Step Response: As for the passenger the steady-state yaw response is close to 0.5 °/sec which corresponds to the sine response of yaw rate.
  • Lateral Acceleration Sine vs Step Response:The step response calculated for the passenger car after converting the value to radians is close to 0.73 `(m)/sec^2`which corresponds to the magnitude of sine response of the lateral acceleration plot.

OCTAVE MODELLING for Four Wheel Steer: An All Wheel Steer or Four Wheel-Steer vehicle is capable of steering with all the 4 wheels. The main purpose of implementing such a setup is to reduce the turning radius that would let the vehicle easily get through tight spaces. With an In-Phase 4WS rear wheel lag during high-speed turning can also be reduced which will lead to a quicker vehicle response. There are two modes of 4WS:

In-Phase Turn: At high speed, turning the rear wheels through an angle opposite to front wheels might lead to vehicle instability and is thus unsuitable. Another driving manoeuvre that frequently becomes cumbersome and even dangerous is changing lanes at fairly high speeds. Although this is less steering intensive, this does not require a lot concentration from the driver since he has to judge the space and vehicles behind him. Crab Mode or in-phase turn simplifies this action by letting the rear wheels turn along the same direction as front wheels.

Counter-Phase Turn: At Slow Speeds rear wheels turn in direction opposite to that of front wheels. This mode is used for navigating through hilly areas and in congested city where better cornering is required for U-turn and tight streets with low turning circle.

The equation for 2WS is modified to incorporate rear-wheel steering into the input matrix. The equation thus becomes:

`[[(dv)/(dt)],[(dr)/(dt)]]` = `[[(-C_(αf) + C_(αr))/(m*u),(b*C_(αr)- a*C_(αf))/(m*u) - u],[(b*C_(αr)- a*C_(αf))/(I_(zz)*u),-(a^2*C_(αf) + b^2*C_(αr))/(I_(zz)*u)]]``[ [v], [r] ]` + `[[C_(alphaf)/m,C_(alphar)/m],[a*C_(alphaf)/I_(zz),-b*C_(alphar)/I_(zz)]][[delta_f],[delta_r]]`

By incorporating rear-wheel steering angle,`delta_r` in the input matrix it becomes possible to control the body side-slip angle `(beta)`, by maintaining a suitable ratio of `(delta_f)/(delta_r)`

There are two characterisitcs of 4WS which makes it both effective as well as undesirable for cars that operate at high speeds:

  • At steady state, rear wheel steering is as effective in generating vehicle yaw rate as front wheel steering
  • At high frequencies, lateral acceleration produced by rear-wheel steering exhibits a non-minimum phase response. This is why rear-wheel steering cannot be used for vehicle that operate at higher speeds.

For Steady State Yaw Rate: r is constant, thus, `(dr)/(dt)=0`

Taking this initial condition, the equation for FWS becomes:

r= -A-1 *B*`delta_f` (eq 1)

`[[v_(ss)],[r_(ss)]] = (-1/det(abs(A)))[[-(C_(alphaf)*a^2-C_(alphar)*b^2)/(I_(zz)*u), u-(b*C_(alphar)-a*C_(alphaf))/(m*u)],[(a*C_(alphaf)-b*C_(alphar))/(I_(zz)*u),-(C_(alphaf)+C_(alphar))/(m*u)]] [[C_(alphaf)/m],[a*C_(alphaf)/I_(zz)]]*[delta_f]`

Solving this equation gives,

`abs(r_(ss)/delta_f)= abs((L*C_(alphaf)*C_(alphar))/(det(A)*m*I_(zz)*u))`

Likewise, the equation for RWS using eq.1 becomes:

`[[v_(ss)],[r_(ss)]] = (-1/det(abs(A)))[[-(C_(alphaf)*a^2-C_(alphar)*b^2)/(I_(zz)*u), u-(b*C_(alphar)-a*C_(alphaf))/(m*u)],[(a*C_(alphaf)-b*C_(alphar))/(I_(zz)*u),-(C_(alphaf)+C_(alphar))/(m*u)]] [[C_(alphar)/m],[-b*C_(alphaf)/I_(zz)]]*[delta_r]`

`abs(r_(ss)/delta_r)= abs(-(L*C_(alphaf)*C_(alphar))/(det(A)*m*I_(zz)*u))`

The steady-state yaw gain is thus effective for both FWS and RWS. The equations formulated for 4WS is implemented in OCTAVE to study their characteristics with the help of bode plots.

%Four Wheel Steering

a=  1.14; %Distance between CG and front axle
L=  2.54; %Wheel Base
m=  1000; %mass (kg)
Iz= 1400; %yaw moment of inertia (kg-m/s^2)
Caf=2400.0*57.2958; %cornering stiffnes-front axle (N/rad)
Car=2000*57.2958; %cornering stiffness- rear axle (N/rad)
u0=20; %m/s 
g=9.81;%m/s^2

b=L-a; %Distance of CG from rear axl

A=[0, 1, u0, 0; 
  0, -(Caf+Car)/(m*u0), 0, ((b*Car-a*Caf)/(m*u0))-u0;
  0, 0, 0, 1; 
  0, (b*Car-a*Caf)/(Iz*u0), 0, -(a*a*Caf+b*b*Car)/(Iz*u0)]; %System Matrix

B_2ws=[0; Caf/m; 0; a*Caf/Iz]; %Input matrix for FWS
B_rws=[0; Car/m; 0; -b*Car/Iz];%Input Matrix for RWS

C_r=[0,0,0,1]; %Output Matrix for Yaw Rate
C_v=[0,1,0,0]; %Output Matrix for Lateral Speed
C_acc=A(2,:)+u0*[0,0,0,1]; %Output Matrix for Lateral Acceleration

%Bode Plots
w=logspace(-1,2,50);

%Defining 6 systems for yaw rate,lat speed and lat acc for FWS and RWS
sys1=ss(A,B_2ws,C_r); %Yaw Rate for FWS
sys2=ss(A,B_rws,C_r); %Yaw Rate for RWS
sys3=ss(A,B_2ws,C_v); %Lateral Speed for FWS
sys4=ss(A,B_rws,C_v); %Lateral Speed for RWS
sys5=ss(A,B_2ws,C_acc,B_2ws(2)); %Lateral Acceleration for FWS
sys6=ss(A,B_rws,C_acc,B_rws(2)); %Lateral Acceleration for RWS

[m_2ws_r,p_2ws_r]=bode(sys1,0,1,w);
[m_rws_r,p_rws_r]=bode(sys2,0,1,w);
[m_2ws_v,p_2ws_v]=bode(sys3,0,1,w);
[m_rws_v,p_rws_v]=bode(sys4,0,1,w);
[m_2ws_acc,p_2ws_acc]=bode(sys5,1,w);
[m_rws_acc,p_rws_acc]=bode(sys6,1,w);

figure(1)
subplot(211) 
loglog(w,m_2ws_r,\'linewidth\',2,w,m_rws_r,\'-\',\'linewidth\',2);
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\'); 
title(\'Yaw rate gain\',\'fontsize\',14,\'fontweight\',\'bold\')
legend(\'FWS\',\'RWS\',\'location\',\'northeast\')
hold on

subplot(212)
semilogx(w,p_2ws_r,\'linewidth\',2,w,p_rws_r-180,\'-\',\'linewidth\',2)
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\'); 
title(\'Yaw Rate phase (deg)\',\'fontsize\',14,\'fontweight\',\'bold\');
legend(\'FWS\',\'RWS\')
hold on

figure(2)
subplot(221)
loglog(w,m_2ws_v,\'linewidth\',2,w,m_rws_v,\'-\',\'linewidth\',2);
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\'); 
title(\'Lateral Speed Gain\',\'fontsize\',14,\'fontweight\',\'bold\')
legend(\'FWS\',\'RWS\',\'location\',\'northeast\')
hold on

subplot(222)
semilogx(w,p_2ws_v-180,\'linewidth\',2,w,p_rws_v,\'-\',\'linewidth\',2)
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\'); 
title(\'Lateral Speed phase (deg)\',\'fontsize\',14,\'fontweight\',\'bold\');
legend(\'FWS\',\'RWS\',\'location\',\'west\')

subplot(223)
loglog(w,m_2ws_acc,\'linewidth\',2,w,m_rws_acc,\'-\',\'linewidth\',2);
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\'); 
title(\'Lateral Acceleration Gain\',\'fontsize\',14,\'fontweight\',\'bold\')
legend(\'FWS\',\'RWS\')

subplot(224)
semilogx(w,p_2ws_acc,\'linewidth\',2,w,p_rws_acc-180,\'-\',\'linewidth\',2)
xlabel(\'Freq (rad/sec)\',\'fontsize\',14,\'fontweight\',\'bold\');
title(\'Lateral acc phase (deg)\',\'fontsize\',14,\'fontweight\',\'bold\');
legend(\'FWS\',\'RWS\',\'location\',\'west\')



  • As is evident from the plot below the yaw rate gain and phase is the same for both FWS and RWS thus validating the relation derived using steady state yaw rate.
  • Lateral Speed and Lateral Acceleration are out of phase for FWS and RWS. The phase difference for lateral speed between FWS and RWS is 160°. The gain plot for lateral acceleration highlights the characteristic of RWS where there is a non minimum phase response meaning that instead of reacting in the direction of steering input, the rear wheels may turn in the opposite direction before stabilising and responding to the intended direction. The phase plot shows that the lateral acceleration for FWS and RWS are out of phase by 180° which can lead to stability issues.
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.