Project

Vehicle handling and Modelling of 2DOF Bicycle model

Handling

The cornering behaviour of the vehicle is an important performance mode which is equated to handling. The term handling implies to the responsiveness of a vehicle to driver input. Handling is usually a closed-loop system which means that the driver observes the road, vehicle direction or position, and corrects his input to achieve the desired motion. For the purpose of the study, the driver is eliminated and it becomes an open-loop system, where only the vehicle's response to steering inputs is taken into consideration. The main objective of this Handling is to study the behaviour of various design parameters to a given input.

Steady-state Handling: Low-Speed Cornering

At low speeds (parking ), there will be no lateral acceleration so the tyres need not develop lateral forces. All the tyres roll with zero slip angle and also they turn about a common point called the turn centre to avoid scrub. This turn-centre lies on the projection of the rear axle.

Steady-state - means the behaviour of the system does not change with time or changes very slowly (quasi-static). Example: constant velocity, constant radius etc. The k&c testing is done very slowly (quasi-static) so that the damping can be ignored.

transient-state - means the behaviour of the system changes with time and parameters like response time, oversteer etc become relevant.

When a car is making a turn then the inner wheel turns at an angle of `delta_i `and the outer tyre turns at an angle of `delta_o `

`delta_o = L/(R+t/2)`

`delta_i = L/(R+t/2)`

Net steer angle `(delta) = L/(R)` `to` Ackermann angle`

Steady-state Handling: High-Speed Cornering

During high-speed cornering along with steer angle, slip angle is also taken into consideration. The slip angles of the front and rear wheels are different. Due to the generation of slip angles, lateral forces are also generated. The generated force is directly proportional to the slip angle. The proportionality constant is referred to as tire stiffness `C_(alphaf) `. The slip angle of the front wheel is `alpha_f` and the slip angle of the rear wheel is `alpha_r`

Ackermann angle

`delta = L/R(180/pi) + alpha_f - alpha_r`

`alpha_f` = slip angle at the front wheel

`alpha_r`= slip angle at the rear wheel

`F_(yf)cos(delta_f) + F_(yr) = (Mu^2)/r` `to` Force balance equation

`F_(yf)cos(delta_f)*b - F_(yr)*c = I_(zz)* dot(r)` `to` Moment balance equation

`dot(r)` = yaw rate (deg/sec)

At steady state `dot(r)` = 0

`F_(yf) = F_(yr)*c/b` or `F_(yr) = F_(yf)*b/c`

`F_(yf) + F_(yf)*b/c = (Mu^2)/r`

`F_(yf)` = `(M*c)/L` *`(u^2)/R`

=`(Wc)/L *(u^2/(Rg))`

`(Wc)/L = W_f``to` static weight distribution in the front axle (no load transfer).

`F_(yf) = W_f * (u^2/(Rg))` = `C_(alphaf) * alpha_f`

`F_(yr) = W_r * (u^2/(Rg))` = `C_(alphar) * alpha_r`

`alpha_f` = `W_f/C_(alphaf) *(u^2/(Rg))`

`alpha_r` = `W_r/C_(alphar) *(u^2/(Rg))`

`delta = 57.3*(L/R) +( W_f/C_(alphaf) - W_r/C_(alphar)) *(u^2/(Rg))`

if `alpha_f = alpha_r` = 0; `to` then it is 100% Ackermann - Neutral steer

`alpha_f > alpha_r` `to` then it will cause Understeer effect

`alpha_f < alpha_r` `to` then it will cause Oversteer effect

`( W_f/C_(alphaf) - W_r/C_(alphar)) = k`

`delta = 57.3*(L/R) +k *(u^2/(Rg))`

`delta = 57.3*(L/R) +k * a_y`

`k * a_y` is called understeer gradient (deg/g)

Neutral steer:

On a constant radius turn, no change in steer angle is required as the speed is varied. The steering angle will always be equal to the Ackermann angle. Physically, neutral steer implies that the lateral force at the CG causes an identical increase in slip angle at both front and rear tyres.

`k = ( W_f/C_(alphaf) - W_r/C_(alphar)) `

`W_f/C_(alphaf) = W_r/C_(alphar)` so k = 0;

Understeer:

On a constant radius turn, the steering angle will have to increase with speed in proportion to the lateral acceleration. In this case, the lateral acceleration at the CG causes a higher slip at the front tyres that that of the rear. So the front wheels must be steered at a greater angle to maintain the radius of the turn.

`W_f/C_(alphaf) > W_r/C_(alphar)` so k > 0;

`delta > 57.3 (L/R)`

In Understeer the rear wheel has more grip than that of front wheel

Oversteer:

On a constant radius turn, the steering angle will have to decrease with the speed in proportion to the lateral acceleration. In this case, the lateral acceleration at the CG causes a higher slip at the rear tyres that at the front. So the front wheels must be steered at a smaller angle to maintain the radius of the turn.

`W_f/C_(alpha_f) < W_r/C_(alpha_r)` so k < 0;

`delta < 57.3 (L/R)`

In Oversteer the front wheel has more grip than that of the rear wheel

Characteristic speed is the speed at which the steering angle required to negotiate the turn is twice the Ackermann angle.

`delta = 2*57.3*(L/R)`

`2*57.3 * L/R = 57.3 * (L/R) + Ka_(y)`

= `57.3 * (L/R) + K * u_(char)^2/(R*g)`

`u_(char) = sqrt ((57.3 *L*g)/k)`

Critical speed iis the speed at which the steering angle required to negotiate the turn becomes zero.

`delta = 0`

`-57.3 * (L/R) = ka_y`

`u_(crit) = sqrt((-57.3 *L*g)/k)`

Steady State Handling: Body Side Slip Angle

At any point on the vehicle, a sideslip angle is defined as the angle between the longitudinal axis and the local direction of travel. The body side slip angle is defined at the CG.

`delta = l/(rho_s)`

Side slip `(beta_s )= l_r/(rho_s)` `to` `l_r/l*delta`

`delta = l/(f) + beta_f - beta_r`

`beta + beta_r = l_r/delta`

` beta = l_r/delta - beta_r`

State Space Representation :

`dx_1/dt = a_(11) + a_(12)x_2+b_1v(t)`

`dx_2/dt = a_(21) + a_(22)x_2+b_2v(t)`

`y = c_1x_1 +c_2x_2+d_1v(t)`

`((dotx_1),(dotx_2)) = [[a_(11),a_(21)],[a_(21),a_(22)]] ((x_1),(x_2))+((b_1),(b_2))*v(t)`

`y = [[c_(1),c_2]][(x_1),(x_2)] + d_1*v(t)`

`x_1` and `x_2` are called state variables

A = `[[a_(11),a_(21)],[a_(21),a_(22)]]` `to` System matrix

B = `((b_1),(b_2))``to` Input matrix

C = `[[c_(1),c_2]]``to` Output matrix

D = `d_1` `to` feed forward matrix

Transient Handling: 2 DOF Bicycle Model

The bicycle model is an elementary representation of the automobile which takes into account only two degrees of freedom - yaw and lateral speed

The following assumptions were made in Transient Handling

  • No lateral load transfer (because load transfer depends on CG and track width)
  • No longitudinal load transfer
  • No roll or pitch motions
  • Linear range tyres (Adhesion region)
  • Constant forward velocity
  • No chassis or suspension compliance effects

Consider a 2 DOF bicycle (vehicle) is taking a right turn. It has a lateral velocity 'v', yaw rate `r` and forward velocity `u`. The vehicle experiences lateral velocities on both front and rear wheels also the yaw rate at the front wheel is given by `a*r` and at the rear wheel is given by `b*r`. The forces at front and rear wheels are given by `F_(yf) and F_(yr)`

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

`alpha_r` = `delta_r - atan((v-b*r)/u)` ; (`delta_r = 0`)

Force balance equation

`F_(yf) + F_(yr) = m*(dotv + u*r)`

Moment balance equation

`a*F_(yf) - b*F_(yr) = I_z*dotr`;

(`dotr` = yaw acceleration and `I_z` = mass inertia )

The cornering force on the wheels is given by

`F_y = C_(alpha)*alpha`

`C_(alpha)` = cornering stiffness

`alpha `= slip angle

`C_(alpha f)*(delta_f - (v+a*r)/u)` + `C_(alpha r)*(- (v-b*r)/u)` = `m(dotv + ur)`

`a*C_(alpha f)*(delta_f - (v+a*r)/u)` + `b*C_(alpha r)*(- (v-b*r)/u)`= `I_z*dotr`

Rearranging the terms in matrix form

`d/dt((v),(r)) = [[-((c_(alphaf)+c_(alphar))/(m*u)),(b*c_(alphar) - a*c_(alphaf))/(m*u)],[(bc_(alpha)r-ac_alphaf)/(I_zu),-(a^2c_(alphaf)+b^2c_(alphar))/(I_zu)]]((v),(r))` + `[(c_(alphaf)/m),((ac_(alphar))/(I_z))] * delta_f`

The above matrix is in the form of

`dotx = Ax +Bu`

Where

`[[-((c_(alphaf)+c_(alphar))/(m*u)),(b*c_(alphar) - a*c_(alphaf))/(m*u)],[(bc_(alpha)r-ac_alphaf)/(I_zu),-(a^2c_(alphaf)+b^2c_(alphar))/(I_zu)]]` `to` System matrix A

`[(c_(alphaf)/m),((ac_(alphar))/(I_z))]``delta_f` `to` Input matrix

Output matrix

lateral speed

c = [ 1 0 ] D = 0

yaw rate

c = [ 0 1 ] D = 0

Lateral acceleration

`dot(v)+ur`

c = A(1,:) + u*[0 1] D = B(1)

2 DOF Bicycle Model - Derivative Notation

If a vehicle is moving with a forward velocity u and at a slip angle `beta`, then it can be resolved into 2 components.

`u*cos(beta)` and `u*sin(beta)`

Lateral velocity v = `u*sin(beta)`

Lateral acceleration `dotv` = `u*dotbeta*cos(beta)`. since beta is very small it can be approximated to `beta`.

`dotv = u*dot(beta)`

Lateral force Y = `m[dot(v)+u*r]`

= `m[u*dot(beta)+u*r]`

= `m*u[dot(beta) + r]`

Yaw moment N = `I_(zz) *dor(r)`

`m*u*dot(beta)+m*u*r = (c_f+c_r)*beta + ((ac_f - bc_r)/u)r - c_fdelta`

`I_(zz)dot(r) = (ac_f - bc_r)beta + ((a^2c_f + b^2c_r)r)/(u) - ac_fdelta`

`Y_beta`= `(c_f+c_r)`

`Y_r`=`((ac_f - bc_r)/u)`

`Y_(delta)`= -`c_f`

`N_beta`=`(ac_f - bc_r)`

` N_r`=`((a^2c_f + b^2c_r)r)`

`N_(delta)` =`-ac_f`

Yawing Moment Derivatives

1. Control moment derivative `N_(delta)`

It is a proportionality factor between Yawing moment and steering angle. It increases with the cornering stiffness of the front tyres and their distance from the CG.

2. Yaw damping derivative `N_r`

It is a proportionality factor between the yawing moment and the yawing velocity of the vehicle. Analogous to a viscous damper - It tries to reduce the yawing velocity

3. Static directional stability US/OS derivative `N_beta`

It is the difference between the moments about the CG, produced by the rear and front wheels. It is similar to spring between the velocity vector and chassis centreline. If `N_beta`is positive then it will cause Understeer (US) and if it is negative it will cause oversteer(OS).

Lateral force Derivatives

1. Control force derivative `Y_(delta)`

It is the proportionality factor between the side force and steer angle.

2. Damping in side slip derivative `Y_(b)`

Similar to the slope of lateral force vs slip angle curve for the entire vehicle

3. Lateral force/yaw coupling derivative `Y_(r)`

Side force due to yaw velocity. Arises from the difference in lateral tyre forces that comprise `N_r`

Derive an expression for Natural frequency

Laplace transform

`S*m*ubeta(s)+ mur(s) = (c_f+c_r)beta(s) + (ac_f-bc_r)/u r(s) - c_fdelta(s)`

`SI_(zz)r(s) = (ac_f - bc_r)beta(s) + ((a^2c_f + b^2c_r)r)/(u) r(s) - ac_fdelta(s)`

Rearranging the above equations in matrix form

`[[MuS - Y_(beta),M*u-Y_r],[-N_(beta),SI_(zz)-N_r]][(beta(s)),(r(s))]=[(Y_(delta)),(N_(delta))]delta(s)`

Characteristic equation determinant`abs(A)` = 0 to find the eigen values/ natural frequencies

`(Mus*I_(zz))S^2 - (Mu*N_r + Y_(beta)*I_(zz))S +(Y_(beta)*N_r + N_(beta)M*u - Y_rN_(beta))`

The above equaton is analogous to `AS^2 + BS+c` or

`S^2 +2zetaomega_nS+omega_n`

`omega_n = sqrt(k/m)`

Yaw natural frequency = `(Y_(beta)*N_r + N_(beta)M*u - Y_rN_(beta))/(Mu*I_(zz)) = (KT)/(I_(zz))`

Damping ratio:

`zeta = C/(2sqrt(KI)) = C/(2sqrt(KI)*sqrt(I/I)) = C/(2Iomega_n)`

`zeta = -[(N_r)/(I_z) + Y_(beta)/(m*u)][1/2*omega_n]`

Response time: It is the time taken to reach 90 % of its steady-state

`Z_r = (M*u*N*delta)/(Y_(delta)N_(beta)+Y_(beta)N_(delta)`(time in seconds)

Damped frequency `omega = omega_n*sqrt(1-zeta^2)`

Matlab/Octave program for Transient simulation of lateral speed, lateral acceleration and Yaw rate for Passenger cars, FWD cars and F1 cars.

% Simulate yaw rate and lateral accel. response
clear all
close all
clc

%a   = 1.14;		% distance c.g. to front axle (m) 
%L   =  2.54;		% wheel base (m)
%m   =  1500;		% mass (kg)
%Iz  =  2420;		% yaw moment of inertia (kg-m^2)
%Caf =  54000*2;	% cornering stiffness--front axle (N/rad)
%Car = 47000*2;	% cornering stiffness-- rear axle (N/rad)


%FWD car
a   = 0.89;		% distance c.g. to front axle (m) 
L   =  2.54;		% wheel base (m)
m   =  905;		% mass (kg)
Iz  =  1127;		% yaw moment of inertia (kg-m^2)
Caf =  61171*2;	% cornering stiffness--front axle (N/rad)
Car = 50976*2;	% cornering stiffness-- rear axle (N/rad)
u = 17.88 %m/sec
%
%%F1 car
%a   = 1.74;		% distance c.g. to front axle (m) 
%L   =  2.9;		% wheel base (m)
%m   =  780;		% mass (kg)
%Iz  =  865;		% yaw moment of inertia (kg-m^2)
%Caf =  138401*2;	% cornering stiffness--front axle (N/rad)
%Car = 214865*2;	% cornering stiffness-- rear axle (N/rad)
%u = 27 %m/sec




b=L-a;     g=9.81; 
Kus = m*b/(L*Caf) - m*a/(L*Car);  % (rad/(m/sec^2))
figure
u_char = (L/Kus)^0.5;	% understeer vehicle
%u = 20;


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)];
B=[Caf/m; 	a*Caf/Iz];
C_lat = [1 0]; D_lat = 0;		% Lateral speed
C_yaw = [0 1]; D_yaw = 0;		% Yaw rate 
C_acc=A(1,:) + u*[0,1];	
D_acc = B(1);				% Lateral acceleration

C = [C_lat; C_yaw; C_acc];
D = [D_lat; D_yaw; D_acc];

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

%Y=lsim(A,B,C,D,U,t)		% Note small lsim

sys = ss(A,B,C,D);
Y=lsim(sys,U,t);
sys.inputname={'steering'};

sys.outputname={'lat';'yaw';'acc'};

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

figure(2)
step(sys);

figure(3)
subplot(2,2,1)
plot(t,Y(:,1),'r','linewidth',3);

title('Lateral Speed','fontsize',18)
xlabel('time (sec)','fontsize',18)
ylabel('Lateral speed (m/sec)','fontsize',18)

subplot(2,2,2)
grid on;
plot(t,Y(:,2)*180/pi,'r','linewidth',3);
title('Yaw Rate','fontsize',18)
xlabel('time (sec)','fontsize',18)
ylabel('Yaw rate (deg/sec)','fontsize',18)

subplot(2,2,3)
grid on;
plot(t,Y(:,3),'r','linewidth',3);
title('Lateral Acceleration','fontsize',18)
xlabel('time (sec)','fontsize',18)
ylabel('Lat. Accel.(m/sec^2)','fontsize',18)

subplot(2,2,4)
grid on;
plot(t,U*180/pi,'r','linewidth',3);
title('Steering Angle','fontsize',18)
xlabel('time (sec)','fontsize',18)
ylabel('Steering (deg)','fontsize',18)

Four-wheel steering:

All-wheel steering or 4 wheels steering is a process where the rear wheels are actively steered during the turning maneuver. There are two types of modes of operation

1. In phase steering (over 45 - 50 kmph)

Front and rear wheels turn in the same direction and the car moves sideways or 'crabs' to provide good high-speed stability

2. Counter-phase (Out of phase) steering (under 45-50 kmph)

Front and rear wheels turn in the opposite direction and provide a tighter radius at low speeds

For two-wheel steering

`d/dt((v),(r)) = [[-((c_(alphaf)+c_(alphar))/(m*u)),(b*c_(alphar) - a*c_(alphaf))/(m*u)],[(bc_(alpha)r-ac_alphaf)/(I_zu),-(a^2c_(alphaf)+b^2c_(alphar))/(I_zu)]]((v),(r))` + `[(c_(alphaf)/m),((ac_(alphar))/(I_z))] * delta_f`

For four-wheel steering

`d/dt((v),(r)) = [[-((c_(alphaf)+c_(alphar))/(m*u)),(b*c_(alphar) - a*c_(alphaf))/(m*u)],[(bc_(alpha)r-ac_alphaf)/(I_zu),-(a^2c_(alphaf)+b^2c_(alphar))/(I_zu)]]((v),(r))` + `[[c_(alphaf)/m,c_(alphar)/m],[(ac_(alphaf))/(I_z),(-bc_(alphar))/(I_z)]][(delta_f),(delta_r)]`

1. At stead state, rear wheel steering is as effective in generating vehicle yaw rate as front wheel steering.

2. At high frequencies, lateral acceleration produced by RWS exhibits a non minimum phase response.This is the reason RWS is not used for vehicles that operate at high speeds.

Steady-state Yaw gain :

r is constant ; therefore `dotr` = 0

0 = `Ax + B*delta_f`

x = `A^-1*B*delta_f`

`[(v_(ss)),(b_(ss))] = -1/(detabs(A))*[[-((c_(alphaf)*a^2+c_(alphar)*b^2)/(I_z*u_0)),u_0-(b*c_(alphar) - a*c_(alphaf))/(m*u_0)],[(ac_(alpha_f)-bc_alphar)/(I_zu_0),-(c_(alphaf)+c_(alphar))/(m*u_0)]]((c_(alphaf)/m),((a*(c_(alpha_r)))/I_z))delta_f`

clear all
close all
clc

% Four wheel steering

a = 1.14; l = 2.54; b = l-a;
g = 9.81; u0 = 20.0;
m = 1000; Iz = 1400.0;
Caf = 2400.0*57.2958; Car = 2000*57.2958;

%System matrix
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)];
    
% Input matrix for 2WS
B_2ws = [0; Caf/m; 0; -b*Car/Iz];

% Input matrix for RWS
B_rws = [0; Car/m; 0; -bCar/Iz];

%output matrices
C_r = [0,0,0,1];  C_v = [0, 1, 0, 0];
C_acc-A(2,:)+ u0*[0,0,0,1];

%bode plots
w = logspace(-1,2,50);

sys1 = ss(A,B_2ws,C_r); %yaw rate, 2ws
sys2 = ss(A,B_rws,C_r); %yaw rate, rws
sys3 = ss(A,B_2ws,C_v); %Lat.Speed, 2ws
sys4 = ss(A,B_2ws,C_r); %Lat.Speed, rws
sys5 = ss(A,B_2ws,C_acc,B_2ws(2)); %Lat.acceleration, 2ws
sys6 = ss(A,B_rws,C_acc,B_rws(2)); %Lat.acceleration, 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,0,1,w);
[m_rws_acc,p_rws_acc] = bode(sys6,0,1,w);

subplot(321), loglog(w,m_2ws_r,w,m_rws,r,'-');
xlabel('Freq (rad/sec)'); title('Yaw rate gain');
legend('Fws','Rws')

subplot(322), semilogx(w,p_2ws_r,w,p_rws_r-180,'-');
xlabel('Freq (rad/sec)'); title('Yaw rate phase (deg)');
legend('Fws','Rws')


subplot(323), loglog(w, m_2ws_v,w,m_rws_v,'-');
xlabel('Freq (rad/sec)'); title('Lat. speed gain');
legend('Fws','Rws')



subplot(324), semilogx(w,p_2ws_v-180,w,p_rms_v ,'-');
xlabel('Freq (rad/sec)'); title('Lat. speed phase (deg)');
legend('Fws','Rws')


subplot(325), loglog(w, m_2ws_acc,w,m_rws_acc,'-');
xlabel('Freq (rad/sec)'); title('Acc gain');
legend('Fws','Rws')


subplot(326), semilogx(w,p_2ws_acc,w,p_rms_acc-180 ,'-');
xlabel('Freq (rad/sec)'); title('Lat. speed phase (deg)');
legend('Fws','Rws')
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.