Lane Keeping Optimisation to reduce Driver Work Load

Lane keeping is the one of the most basic and easy task done by the driver. It could be as simple as keeping the steering wheel steady on a straight road but even there, due to the external disturbances, the vehicle tends to drift from the lane. The naturalistic driving data can show that even if the road is perfectly straight, after some time interval the driver has to apply corrections to keep the lane. These time intervals to corrections are usually very small which means that driver has to constantly control the steering even on the straight road. The problem becomes even more complex when the road is curved.

The problem of lane keeping is based on the visual input from driver and extraction of information from the input. Control action then involves the steering input from the driver. In countries like USA, Canada or European countries, the lanes of the highways are wide. So while going on a straight road for large distances, the task of lane keeping (which requires minimal attention) becomes redundant and can be cumbersome for the drivers.

The aim of this project when I did that in 2013 was to understand the human driver’s way of controlling the steering in lane keeping and then replicate the control using the electronics so as to assist the driver in lane maintaining while reducing the work load on the driver and also preventing the lane departure and hence the crashes due to it. The main emphasis was on to increase the mean time to driver correction to reduce the load on the driver. To achieve this, optimum values of the steering correction and holding period were obtained to increase the mean time to drive correction while maintaining the vehicle within the lane.

The variable used for the control was yaw rate error which is based on the predicted kinematic control error at every instant. The yaw rate error is defined as a measure of conflict: the difference between current vehicle yaw rate and kinematic values required to be consistent with the forward lane boundary crossing.

Lane Keeping

Many highway accidents occur due to unintended lane departure caused by the drivers lack of attention. The main objective of lane keeping is to perform steering of the vehicle in order to keep it in the middle of the road in spite of changes in road conditions and other disturbances. The control system for lane keeping is usually designed to detect any difference between host vehicle and the reference line on the road with on-board sensors

There are two main types of systems being currently used:

  • Systems which warn the driver (lane departure warning, LDW) if the vehicle is leaving its lane (visual, audible, and/or vibration warnings)

Many solutions for lane keeping control have been presented in the literatures. For from PID solutions to fuzzy PD solutions, and sliding modes solutions. The problem of estimating lane geometry from computer vision images is also a big part of the problem. This could be accomplished by using a Kalman Filter to estimate the roadway geometry based on a model of the roadway and the vision measurements. Combining the measurements with a roadway model provides smooth estimates despite occasional gaps in the lane markings and outliers in the data obtained from image processing. Measurement of vehicle pitch and roll is used to compensate for camera motion and improves the estimates. As of the method, the most common method used for tracking lane depends upon time to lane crossing (TTLC)

Time To Lane Crossing

It works on the time a vehicle have before it crosses the lane. Sensed lane information (from various possible sensing technologies) combined with measurements of vehicle motion (e.g., vehicle velocity, acceleration, steering wheel displacements, etc.) is used to calculate the lane tracking margin (i.e., TTLC). Now if this TTLC is less than some experimentally determined threshold, then the lane keeping assist can come into play.

In this project, however, I used a separate technique called yaw rate estimation method to calculate the error instead of TTLC to maintain the lane. In this instead of calculating the time to lane cross, I calculated the maximum yaw rate of a vehicle to remain in the lane. If the vehicle’s yaw rate become greater than this then correction is required.

Online estimation methods can be developed, based on measurement of the driver steering angle and the lateral position information from the vision system, to estimate the driver state (i.e., alert, fatigued, asleep). Essentially the lane-keeping error, as seen by the vision system, is assumed to be the input to the driver block and the steering angle the driver block output.

Driver Model

Driving behaviours differ among different drivers. They differ in how they hit the gas and brake pedals, in the way they turn the steering wheel, and in how much distance they keep when following a vehicle. It is almost impossible to obtain the same action from a human operator even if all conditions are identical. Due to all these complications, modeling is difficult and time consuming.

It is often necessary to consider the role of the human (i.e., drivers and passengers) in the design of automotive systems. The driving function can be decomposed into three parts: navigation, path planning, and control.

Navigation deals with the overall selection of a route. Path planning deals with the recognition, decision, and selection of a path responding to traffic situations (e.g. overtaking). And the control process actuates the steering, acceleration/brake systems to follow the selected path determined by the two higher levels.

Driver and Vehicle model in closed loop control

A human driver has two major functions while controlling the vehicle. These are:

• Longitudinal control

• Lateral control

In longitudinal control, the setting of the accelerator pedal and the brake pedal are determined and suitable gears are chosen. Decisions are based on the distance between the leading vehicle and the approaching velocity. In lateral control case, steering wheel angle is manipulated. In this project I only dealt with Lateral Control.

The current driver models used for the lateral control have following important elements:

1- Preview:

Human driver looks ahead while lane keeping or while controlling the lateral motion of the vehicle. He does not look sideways to check for the lane except for times during parking when speed is low. He scans through future desired road path within a finite future distance when performing a driving task. This behavior is captured in the preview/predictive block. The term ‘preview’ refers to the driver’s ability to see the future desired path and ‘predictive’ refers to the driver’s ability to predict future vehicle response.

2 -Neuro- muscular delay:

When driver sees a conflict, it takes preventive measures to resolve it. If there is a possible road departure, the driver changes the steering angle to keep the vehicle in the lane but there is a time lag between the observation of conflict and application of preventive measures. So, a delay is added in the model to compensate for the reaction time of the driver

In my model, I included the preview as it is an important factor. The neuromuscular delay was not added for the sake of simplicity.

Work Load

Lack of attention to relevant driving events is one of the main factors in traffic accidents and the concept of distraction is frequently used to refer to this lack of attention or to attending to something irrelevant. The result of distraction is an impaired capacity to process relevant information because of perceptual inefficiency and/or inadequate response selection. Attention is necessary for conscious perception but engaging in events unrelated to driving could also directly affect decision processes, producing incorrect or late response selection. With regard to attentional capture, distraction can be:

1- Exogenous — produced by external objects or events irrelevant to driving

2- Endogenous — produced by the driver’s own thoughts or cognitive activity unrelated to the driving task.

The implications of exogenous distraction on driving are different from those of endogenous distraction because, in addition to attention capture, exogenous distraction usually captures the gaze, which means withdrawing it from the road ahead.

The emphasis here in this work was on to reduce the work load of the driver. When a driver is going on a straight highway road, the primary task is to stay on the road. The attention required from the driver is very less. Still the driver has to remain attentive most of the time to prevent road departure. I was trying to find the optimum steering angle and holding time such that to increase the time between the corrections so as to reduce the mental load.

Lateral Dynamics Model

The lateral dynamics model used for the study was the dynamic bicycle model as explained my previous post

Yaw Rate Error

Yaw Rate Error is more informative and more accurate measure of driving situations than the simpler kinematic TTLC. Time to Lane Cross is only loosely related to the closed loop control of vehicle motion. For example, a very small TTLC can represent either a critical case where the vehicle is about to depart the lane and requires a large correction, or it could be a case where the vehicle is close to the lane boundary but with small lateral velocity requiring only a small correction. The YRE represents the severity of the possible lane departure in a natural way, accounting for current position, path direction, and path curvature. So the yaw rate error is more effective measure to use in lane keeping control.

Yaw Rate Error Method

In figure, the lateral vehicle control relative to a single “conflict point” P is considered. This is presumed to be on the right lane boundary, so the yaw rate should be no more than for the critical case shown; the vehicle point Q required to pass to the left of P, while here it just intersects with P. Using polar coordinates (ϕ , d), ϕ is the azimuth angle and d is the distance-to-target, both computed relative to the velocity vector at the reference point Q. This in turn is oriented at an angle ϕ0 relative to the vehicle axes, and if we assume Q to be at the outside edge of the front right tire, then ϕ0 is very roughly equal to the steering angle at the right front wheel. Assuming the vehicle path is in the form of a circular arc, we find that the critical case occurs when the turning radius R satisfies the equation

The limiting yaw rate condition on the vehicle is then

This defines the maximum yaw rate of the vehicle to avoid conflict with a right boundary point. Similarly, we can define the maximum yaw rate for the left boundary.

Geometry for calculating the yaw rate error


max y , min y : lane boundaries

y : lateral displacement

α1,α2 : this is equal to azimuthal angle for right and left boundary

u0T : preview distance

ψ : yaw angle

The preview time of 2 seconds is selected. The term in the above diagram shows the preview distance. In other words driver looks ahead this distance in order to determine the possible lane departure in future. Now here the lane boundaries are considered. The controller checks for the conflict on both left and the right boundary and sends the control signal accordingly to maintain the vehicle in the lane. It is assumed that both the conflicts can never happen together. In other words the yaw rate error cannot be there for both the boundaries simultaneously. Also in the final model, the vehicle boundaries are included to make it more realistic


The controller here tries to mimic the human behavior in lane keeping. Human Driver follows the pulsed open loop -closed loop strategy to keep the lane. Whenever there is a chance of lane departure, human makes a constant correction and while making the correction he does not look for the next lane departure. It is only after some holding time (during which constant correction is being made), driver looks for possible future conflicts.

The controller here tries to follow the human approach in maintaining the lane. Whenever the yaw rate exceeds the maximum yaw rate, error is generated. This error is the input to the controller and the output is the steering angle at the wheels. The actual steering model is neglected.


1. Whenever there is conflict with any of the boundary, an error signal is generated. The error signal is positive if there is conflict with the right boundary and negative if the conflict is with the left boundary

2. This error causes the controller to generate a constant drive signal whose sense of direction (sign) is based on the error signal sign.

3. This drive signal K is generated for a constant period of time T (holding time) to compensate for the error.

4. During time T, The controller does not monitor the road or in other words during this time T the loop behaves as an open loop with constant input K.

5. After time T the controller again checks :


no error — continue at the previous steering angle

error from same boundary — make another constant correction and repeat steps 2,3 and 4

error in different direction — make constant correction in other direction and repeat steps 2,3 and 4

Simulink Model

Model Parameters

Following parameters are used in the study:

Without any disturbance the system was able to follow the lane effectively for the following parameters. The road is four meter wide and vehicle is two meter. The disturbance is modeled as the white noise such that the vehicle having zero initial conditions (ie in the middle of the lane, heading straight and without having any yaw rate) leaves the lane in 4–5 second on an average in the presence of noise only in open loop.

Open loop Lane departure in presence of Disturbance only

As shown in the graph the time to lane departure is around 5 seconds. This value of disturbance is used for further calculations in closed loop system.

Now various values of K (constant steering input) and T (holding time) are tried in order to obtain their optimum values to increase the time between the corrections. As the time between corrections varies largely, the histogram of the time between the corrections is plotted and the highest value in the histogram is taken as the measure. All the values are plotted for 100 seconds.

For T=0.5s the most favourable results are obtained when K = 0.4 deg. As seen from the graphs below the time between corrections is about 1.1 seconds.

For Holding Time (T) = 0.5 s. a) Vehicle Path vs Time b) Histogram of time between corrections

For T=0.75s the most favourable results are obtained when K = 0.3 deg.

for Holding Time (T) = 0.75 s. a) Vehicle Path vs Time b) Histogram of time between corrections

As seen from the histogram nothing could be deduced from the highest value as all the values are comparable. We take the average value of around 1.2 seconds. The number of corrections is still high.

For T=1s the most favourable results are obtained when K = 0.3 deg. As seen from the graphs below the time between corrections is about 1.4 seconds. The number of corrections is decreased.

for Holding Time (T) = 1 s. a) Vehicle Path vs Time b) Histogram of time between corrections

For T=1.15s the most favourable results are obtained when K = 0.3 deg. As seen from the graphs below the time between corrections is about 1.5 seconds. The number of corrections is further decreased.

for Holding Time (T) = 1.15 s. a) Vehicle Path vs Time b) Histogram of time between corrections

For other values of K, either the time between corrections is high or the lane keeping is not satisfactory. For values of T >1.15 seconds the lane departure is very critical even for the low values of K

Effect of other parameters

  • Changing the longitudinal speed: It has been found that changing the longitudinal speed has considerable effect. When the speed of the vehicle is decreased to 15 m/s, the time between corrections is increased. For T = 1s and K = 0.3 deg
for speed = 15m/ s. a) Vehicle Path vs Time(s) b) Histogram of time between corrections

The time between the corrections is increased to 2 seconds. Also there is less number of corrections. When the speed is increased to a much larger value like u = 40 m/s the lane keeping behaviour becomes extremely poor.

-Changing the preview time

The default value of preview time for all the cases above is taken as 2 seconds. When the preview time is increased for about 3 seconds, keeping steering input K =0.3, holding time T = 0.5 s and other parameters as same, following results are obtained:

for preview time = 3 s. a) Vehicle Path vs Time(s) b) Histogram of time between corrections

As expected the lane keeping properties become extremely well as the driver is making corrections for the conflicts which are very much ahead in time. There is very little deflection of vehicle boundaries from the initial value. The time between corrections has become worse. This is because the corrections are very small in magnitude but number of corrections is large.


The study shows that as the holding period increases, the time between correction increases but after a certain value the lane keeping of the vehicle becomes poor. So the holding period can be increased up to a certain value only. Also better results are obtained with the lesser value of steering input. The value of steering input should be around 0.3–0.4 degree to obtain good results. The optimum values obtained for the speed of 20m/s are T = 1.15 seconds and K = 0.3 deg. The time between corrections for these values is around 1.4 seconds and the number of corrections is less. As the speed of the vehicle is decreased the time between corrections is increased to two seconds for all other values constant. So lower values of speed give better performance. As the speed increases, the time between correction decreases and after certain speed it is impossible to follow the lane even with very small steering input. This maximum limiting speed comes out to be 40 m/s. The variation of preview time does not cause any improvement in the time between corrections but the lane keeping properties become very good. The vehicle remains on the lane with very small deflections.

In this study, an assumption is made that the steering input does not depend upon the amount of error. The error may be large or may be small. But for any error, same steering input is generated. Using a steering input related to amount of error can improve performance. In fact most of the human drivers many times make a steering correction which is based upon the amount of conflict. Future work may include using the steering input which depends upon the amount of error.


T. Gordon, A. Blankespoor, M. Barnes, D. Blower, P. Green, L. Kostyniuk. Yaw rate error — a dynamic measure of lane keeping control performance for the retrospective analysis of naturalistic driving data. University of Michigan Transportation Research Institute Michigan, USA, Paper Number 09–0326.

Written while listening to The Local Train

Vehicle Dynamics | Self Driving Cars | Comedy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store